Статья Знакомство с PowerShell Empire Framework

И так привет колеги. Сегодня я хотел бы немного Вас ознакомить с прекрасным ,по моему скромному мнению, продуктом PowerShell Empire Framework.

PowerShell Empire Framework - это агент для пост эксплуатации windows систем,написанный полностью на павершеле (серверная часть на питона а клиентская на павершеле,по этому легко поднять серверную часть на том же Kali Linux) и имеет в себе огромный функционал. Как я заметил что помимо того , что он используется для пост эксплуатации ( повышение привилегий, закрепленния в системе) он активно так очень используется и для активного фишинга,обхода антивируса и эксплуатации уязвимостей и одна из главных фишок - отлично используется для атак на Домен Контролеры. Конечно я все это хочу вам рассказать))) но сегодня мы слегка ознакомимся с интерфейсом фреймворка и базовы самые моменты)

Вобщем поехали)
Первым делом качаем:
Код:
git clone https://github.com/adaptivethreat/Empire.git
Запускаем
1.PNG


Смотрим help

2.PNG


Как и в любой клиент серверной программе сначала нам предстоит настроить listener(наш ip адрес и порт на котором мы будем встречать соединение с удаленной windows системы)
Идем в listener и смотрим командой options перечень параметров которые нам доступны для изменения:
3.PNG

Командой set Name можем задать имя нашему листенеру,аналогично можем указать порт и ip адрес.
Далее посмотрим какие есть векторы експлуатации клиенской части (stagers)
командой usestager и двойным нажатием клавиши tab
4.PNG

Как видите тут довольно таки большой выбор.Есть как dll injection,hta,Rubber Ducker,макросы и т.д.
Ну для ознакомления мы используем стейжер launcher - который создаст нам однострочную команду для powerhsell которую нужно будет запустить на стороне жертвы.

5.PNG

Вводим команды
Код:
usestager launcher
set Listener DarkNode
execute
Надеюсь понятно что usestager launcher - говорим какой стейжер будет юзать.
set Listener указываем на каком листенере будем встречать коннект.
execute - сгенерировать команду
На вывод получаем нашу команду:
6.PNG


Дальше запускаем эту команду на стороне жертвы и ловим соединение (В отличии от метасплоита там сессии называют в большинстве случаев метерпретер сессии ,а в импери (Empire) агентами)
И вот к нам прилетает агент)
7.PNG
8.PNG

Командой list agents - посмотреть список агентов
rename - можно переименовать имя агента(так по дефолту оно рандомное) - это не обизательно,больше для удобства просто.
interact - мигрировать в сессию агента (аналогично как session -i в метасплоите)

Дальше у нас открывается очень много функционала,изучаем команду help:
9.PNG


И еще перечень модулей можно посмотреть командой
usemodule "и нажать клавишу таб [tab]"
10.PNG


Так для примера возьмем модуль тролинга и выведем сообщение об ошибке с нужным нам текстом на стороне жертвы
11.PNG
12.PNG


Установка Powershell Empire на Кали Линукс


Всем спасибо)) Продолжения следует) Хех)
 
Последнее редактирование:
Скоро все это перестанет работать т.к. майкрософт отказывается включать powershell в коробку. В последних версия Windows 10 его уже нет, ps оставят только на серверных операционных системах
 
upload_2017-9-25_4-21-56.png


Почему не определяет команды ?)
[doublepost=1507890244,1506302531][/doublepost]Вышла обнова 15 часов назад, 2.2 версия) Чекайте update лист:

+- Version 2.2 Master Release
+ - Update crontab to work hourly #667
+ - Update keylogger to log to disk on server side by @clr2of8
+ - Fix macro launcher #681
+ - Fixes vbscript string literal quoting. #702
+ - Add option to host a stager payload in the http listener @424f424f
+ - Add @enigma0x3 Token Manipulation script as a BypassUAC module @424f424f
+ - Hide true host name when using domain fronting #730 @clr2of8
+ - Fixed custom proxy config in launcher code #728 @dirkjanm
+ - generate_upload function added to Stagers #722 @hightopfade
+ - Aes kerberoast #725 @elitest
+ - DBX Improvements (SOCKS, Hide window via WindowHandler) #721 @IljaSchumacher
+ - Improved ScriptBlock logging bypasses #740 @cobbr_io
+ - Slack Integration - Notification for new Agents #737 @dchrastil
+ - Improve Get-ChromeDump #734 @ThePirateWhoSmellsOfSunFlowers
+ - Fix Eternal Blue Issue #656
+ - Merge Invoke-Kerberoast: Print hashes only. Formatting with a text editor is no longer required. #663
+ - Fix Macro syntax error per @utkusen issue #664
+ - Fix Better powershell install, obfuscation bug fixes, fixed vbs/macro launchers #686 @cobbr
+ - Fix creds manual add parsing with whitespace in password
+ - Fix validate length parameter attribute for Invoke-PSInject.ps1d

Всем Prof1t!
 
  • Нравится
Реакции: <~DarkNode~>
А есть ли возможность сделать чтобы при коннекте агента,автоматически подгржался заданный скрипт?Допустим скрипт закрепления в системе через виндовский кронтаб?Либо загрузка и запуск сторонних файлов?
[doublepost=1508236245,1508080232][/doublepost]Никто не сталкивался с

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/root/Empire//lib/listeners/http_com.py", line 588, in handle_post
dataResults = self.mainMenu.agents.handle_agent_data(stagingKey, requestData, listenerOptions, clientIP)
File "/root/Empire/lib/common/agents.py", line 1376, in handle_agent_data
dataToReturn.append((language, self.handle_agent_staging(sessionID, language, meta, additional, encData, stagingKey, listenerOptions, clientIP)))
File "/root/Empire/lib/common/agents.py", line 1326, in handle_agent_staging
slackToken = listenerOptions['SlackToken']['Value']
KeyError: 'SlackToken'
 
Посмотреть вложение 11747

Почему не определяет команды ?)
[doublepost=1507890244,1506302531][/doublepost]Вышла обнова 15 часов назад, 2.2 версия) Чекайте update лист:

У меня такая же ерунда )

(Empire) > listeners
[!] No listeners currently active
(Empire: listeners) > options
*** Unknown syntax: options
(Empire: listeners) >

Подскажите кто нибудь,где нужно подпилить,чтобы заработало ? )
 
Синтаксис изменился. Я уверен, что вы не создали листенера. Чтобы создать, проделайте следующие действия : ./empire - listeners - uselistener(пробел + TAB) и у Вас откроется выбор между листенерами.
Я создал http. Если нужен http, то пишете uselistener http. Далее info (покажет настройки листенера) если ничего не нужно менять (к примеру порт, хост) то пишите execute и будет Вам счастье. После back. info http. И получите информацию о листенере http.
 
  • Нравится
Реакции: Baruh50 и <~DarkNode~>
Ребят, подскажите, пожалуйста: как правильно обновлять скачанные с гитхаба пакеты?
вот вышла новая версия Empire, старую, получается, нужно снести и загрузить новую? или есть более правильный способ?)
 
Кто не в курсе, вышла новая версия 2.3, обновили модули, исправили проблемы, добавили пару модулей. У меня есть такой вопрос: можно ли сделать какое-то уведомление о подключении агента ? Звуковой сигнал или всплывающее окошко ?)
 
Ребят, подскажите, пожалуйста: как правильно обновлять скачанные с гитхаба пакеты?
вот вышла новая версия Empire, старую, получается, нужно снести и загрузить новую? или есть более правильный способ?)
Код:
[LIST=1]
[*]cd Ваша_Папка_С_Empire 

[*]git pull
[/LIST]
Как то примерно так
1.PNG
 
Ты крут, лайк) приду домой, попробую )
Ну это касается не только Empire , а любого софта установлено командой git clone.
[doublepost=1510223836,1510223618][/doublepost]
Кто не в курсе, вышла новая версия 2.3, обновили модули, исправили проблемы, добавили пару модулей. У меня есть такой вопрос: можно ли сделать какое-то уведомление о подключении агента ? Звуковой сигнал или всплывающее окошко ?)
Реализовать можно , как минимум командой notify-send.Попробую реализовать и отпишу что и где в каком скрипте нужно дописать.
 
Ну это касается не только Empire , а любого софта установлено командой git clone.
[doublepost=1510223836,1510223618][/doublepost]
Реализовать можно , как минимум командой notify-send.Попробую реализовать и отпишу что и где в каком скрипте нужно дописать.
хорошо, жду!)
[doublepost=1510242333][/doublepost]
Ну это касается не только Empire , а любого софта установлено командой git clone.
[doublepost=1510223836,1510223618][/doublepost]
Реализовать можно , как минимум командой notify-send.Попробую реализовать и отпишу что и где в каком скрипте нужно дописать.
Dakr, у тебя работает модуль ChromeDump? У меня не создает файл с паролями. Запускается задача и на этом все..
 
П
хорошо, жду!)
[doublepost=1510242333][/doublepost]
Dakr, у тебя работает модуль ChromeDump? У меня не создает файл с паролями. Запускается задача и на этом все..
Проверим, если не будет работать - напишем разработчикам ;))
 
там всего 2 параметра, выбрать агента и куда данные записать, у меня нет в 2.2 не работал модуль и сейчас в 2.3 не хочет, так же и с firefox
 
Напиши мне в тг.
Напиши адрес телеги мне в лс, доступ к профилю у тебя закрыт..
[doublepost=1510489730,1510245498][/doublepost]В общем хочу поделится опытом работы с Empire и паролями из хром, может кому пригодится. Из сообщений выше видно, что задача взять паролями запускалась, но ничего не создавалось. Первой ошибкой было указание директории на локальном компе. Путь к созданию файла нужно указывать на атакованной машине. Я к примеру указывал просто в каталог C (C:\paroliki.txt). Второе, Empire не берет паролики, если сам хром запущен. Поэтому kill PID (номер процесса chrome.exe) чтобы посмотреть список процессов : ps Можно запускать (run). Еще хочу отметить, чтобы пытался на атакованной машине удалить файл в котором содержится пробел, мне писало ошибку. Решение это взять файл в кавычки. Пример : del "paroliki paroliki.txt".

Если в вкратце то выглядит так, после подключения к агенту:
usemodule collection/ChromeDump
set OutFile C:\paroliki.txt
run

Еще не маловажный факт. При правах системы, у меня не получилось взять. Только с правами юзера. Все аналогично и с модулем для мозилы. В документе будут: логин, пароль, адрес сайта и блин история)) Всем prof1t!
 
привет всем,подскажите пожалуйста, при установке Empire, когда вводишь команду ./setup_database.py появляется вот эта строчка:
[>] Enter server negotiation password, enter for random generation... что здесь нужно ввести?
 
привет всем,подскажите пожалуйста, при установке Empire, когда вводишь команду ./setup_database.py появляется вот эта строчка:
[>] Enter server negotiation password, enter for random generation... что здесь нужно ввести?
Что хочешь. Можешь просто Enter жмакнуть.
 
Что хочешь. Можешь просто Enter жмакнуть.
если нажимаю enter то выводит это
root@kali:/apps/Empire/setup# ./setup_database.py

[>] Enter server negotiation password, enter for random generation:
Traceback (most recent call last):
File "./setup_database.py", line 130, in <module>
)''')
sqlite3.OperationalError: table "agents" already exists
root@kali:/apps/Empire/setup#
 
если нажимаю enter то выводит это
root@kali:/apps/Empire/setup# ./setup_database.py

[>] Enter server negotiation password, enter for random generation:
Traceback (most recent call last):
File "./setup_database.py", line 130, in <module>
)''')
sqlite3.OperationalError: table "agents" already exists
root@kali:/apps/Empire/setup#
Ты следовал инструкции в статье ?
 
Мы в соцсетях:

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