Metasploit



Предыдущая | Следующая

Metasploit Project — проект, посвящённый информационной безопасности. Создан для предоставления информации об уязвимостях, помощи в создании сигнатур для IDS, создания и тестирования эксплойтов. Наиболее известен проект Metasploit Framework — удобная платформа для создания и отладки эксплойтов. Кроме того, проект включает в себя базу опкодов, архив шеллкодов и информацию по исследованиям информационной безопасности.

Metasploit был создан в июле 2003 года. Версия 1.0 была написана на языке Perl и содержала псевдографический интерфейс на базе curses. Автором выступал HD Moore. При работе над второй (2.x) версией к HD Moore присоединился Мэтт Миллер и несколько добровольцев. Третья версия была полностью переписана на Ruby, её разрабатывала компания Metasploit LLC (основанная разработчиками в 2006 году). В 2008 году лицензия Metasploit Framework была сменена с проприетарной на BSD. В 2009 фирма Rapid7, занимающаяся управлением уязвимостями, объявила о приобретении Metasploit, популярного открытого программного пакета двойного назначения для проведения тестов на проникновение. Некоммерческая версия утилиты по-прежнему будет доступна для всех желающих.

Как и коммерческие аналоги, бесплатная версия Metasploit может быть использована как системными администраторами и специалистами по безопасности для защиты компьютерных систем, так и хакерами-взломщиками или скрипткиддиc для получения несанкционированного доступа к удаленным системам.

 

Metasploit Framework

Инструмент для создания, тестирования и использования эксплойтов. Позволяет конструировать эксплойты с необходимой в конкретном случае «полезной нагрузкой» ( payloads ), которая выполняется в случае удачной атаки, например, установка shell или VNC сервера. Также фреймворк позволяет шифровать шеллкод, что может скрыть факт атаки от IDS или IPS. Для проведения атаки необходима информация об установленных на удаленном сервере сервисах и их версии, то есть нужно дополнительное исследование с помощью таких инструментов, как nmap или nessus.

База опкодов

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

 

Вступление


В 2003 году, хакеру, известному как «HD Moore», пришла идея разработать инструмент для быстрого написания эксплоитов. Так был рожден хорошо известный во всех кругах проект Metasploit. Первая версия фреймфорка была написана на языке Perl, содержавшая псевдографический интерфейс на базе библиотеки curses.

К 2007 году разработчики консолидировались, основав компанию Metasploit LLC; в это же время проект полностью переписали на Ruby и, частично на Си, Python и Ассемблер.

В октябре 2009 года, проект Metasploit был приобретен компанией Rapid7 с условием, что HD Moore останется техническим директором фреймворка, на что согласилась компания Rapid7.

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

Metasploit позволяет имитировать сетевую атаку и выявлять уязвимости системы, проверить эффективность работы IDS/IPS, или разрабатывать новые эксплоиты, с созданием подробного отчета. В народе его даже успели прозвать “хакерским швейцарским ножом”.

Благодаря переписанному, в основном на ruby, коду фреймворка, он остается кроссплатформенным, то есть не имеет конкретной привязки ни к какой ОС. HD Moore как-то продемонстрировал запуск Msfconsole на часах с linux прошивкой.

На сегодняшний день Metasploit содержится в нескольких linux-дистрибутивах:

— Kali linux (kali.org);
— Backtrack linux (backtrack-linux.org (поддержка прекращена));
— Pentoo (pentoo.ch);
— BlackArch (www.blackarch.org);
— Backbox (backbox.org).

С момента приобретения Фреймфорка, многое изменилось.
Например, появились PRO и Community версии, а в 2010 году, более упрощенная версия для «малоквалифицированных» пользователей — Metasploit Express.

Инструмент имеет несколько конфигураций:

1) Командная оболочка (msfconsole);
2) Веб-интерфейс (Metasploit Community, PRO и Express);
3) Графическая оболочка (Armitage, и более продвинутая версия — Cobalt strike).
 

Фреймворк: практика


Если у вас все еще нет Метасплоита — не беда, скачать его можно на официальном сайте metasploit.com.
Стоит отметить, что msf корректно работает только с базой PostgreSQL.

После того как мы загрузили пакет, откроем консоль и выполним следующее:

1) cd Download/ (перейдем в каталог загрузок);
2) chmod +X metasploit-latest-linux-installer.run (даем права на запуск);
3) sudo ./metasploit-latest-linux-installer.run (запускаем графическую установку).

Установка Metasploit

(Более подробная документация по установке находится на сайте Metasploit).

В качестве краткого описания ознакомимся с основными понятиями, а также рассмотрим некоторые команды MSF.

Exploit — Фрагмент кода, использующий уязвимость в ПО или ОС для выполнения атаки на систему.
Module — Модуль, автоматизирующий процесс какой-либо атаки.
Shellcode — Шеллкод. Используется как полезная нагрузка эксплойта, обеспечивающая доступ к командной оболочке ОС.
Payload — Полезная, или смысловая нагрузка. Это код, который выполняется после успешного выполнения атаки. Видов нагрузки в msf немало.
«Stager» — Нагрузка, разбитая на части. Устанавливая соединение, шелл подгружается полностью.
«Reverse shell» — Бэкконнект шел.
«Meterpreter» — Пожалуй, один из популярных, если не самый популярный шелл. Имеет кучу возможностей: миграцию в процессы; XOR-шифрование, для обхода IDS и антивирусов; два вида dll-инжекции и т.д. Также можно выбрать «metsvc» нагрузку, что зальет и пропишет meterpreter как сервис. Более подробно о meterpreter можно почитать в статьях, ссылки на которые будут в конце статьи.
 

Закончим небольшой экскурс по meterpreter’у и перейдем к консоли msf.


use — Выбор эксплоита
search — Поиск. Команда поиска более расширена; если вы забыли точное название или путь расположения эксплоита, она способна отобразить всю имеющуюся информацию
show options — Просмотр параметров для настройки. После выбора эксплоита, вы можете посмотреть какие опции доступны для настройки
show payload — Просмотр полезных нагрузок. Msf содержит множество полезных нагрузок; воспользовавшись этой командой можно также посмотреть рекомендуемые нагрузки для конкретного эскплоита или ОС
info — Просмотр подробной информации о полезной нагрузке
(info payload_name)
set — Установка параметров. Команда set устанавливает нужные параметры, например, RHOST(remote) и LHOST(local), или полезную нагрузку
(set PAYLOAD windows/shell/reverse_tcp)
check — Проверка хоста на уязвимость
exploit — Запуск сплоита. Когда цель выбрана и все возможное настроено, остается только завершающий этап — команда exploit

Также стоит отметить малоизвестную, но полезную фичу msf — возможность создания resource-скриптов. Сам resource-скрипт представляет из себя текстовый файл, содержащий последовательность команд для выполнения; также он позволяет выполнить ruby код.
Эти файлы очень удобны, и позволяют практически полностью автоматизировать без того легкий процесс тестирования. Например, это может пригодится для автоматического запуска сервера, либо очистки “мусора”.
 

Заключение


Уязвимость RDP протокола позволяет выполнит код на удаленной системе. Рассмотрим эксплоит ms12_020, приводящий к BSOD.

Сплоит располагается по адресу auxiliary/dos/windows/rdp/ms12_020_maxchennelids:

image

Выбрав сплоит, настроим его. Достаточно указать удаленный хост:

image
image
Как мы можем наблюдать на скриншоте выше, сессия установлена.

Правильно отработанный сплоит приводит к подобной картине:

image
По умолчанию, в нынешних версиях Windows RDP протокол не включен. Так что вам следует его предварительно включить
 

Ссылки


www.metasploit.com — Официальный сайт Метасплоита
www.offensive-security.com/metasploit-unleashed/Main_Page — Официальная документация по metasploit
www.rapid7.com/products/metasploit/editions-and-features.jsp — Сравнение версий metasploit
www.exploit-db.com — Крупнейшая в сети база паблик эксплоитов
www.offensive-security.com/metasploit-unleashed/Meterpreter_Basics — Документация по Meterpreter
github.com/darkoperator/MSF-Installer — Скрипт автоматической установки metasploit
community.rapid7.com/docs/DOC-2100 — Подробная установка metasploit (linux)