Перейти к основному содержимому

Active Directory и типовые сервисы

Инженеру

Раздел 8.10, шаг 8 из 9. Предыдущий — эксплуатация; далее — pivot и отчёты.


Active Directory — модель угроз

Active Directory (AD) — служба каталогов Microsoft: пользователи, группы, компьютеры, Group Policy, Kerberos, LDAP. Компромисс AD часто означает компромисс всей организации (Domain Admin → все рабочие станции, файловые серверы, почта).

Ключевые сущности:

СущностьРоль
DomainГраница аутентификации corp.local
DC (Domain Controller)Хранит NTDS.dit, выдаёт TGT/TGS
OUОрганизационные unit для GPO
SPNService Principal Name — привязка сервиса к учётке
TrustСвязь между доменами / лесами

Пентест AD только в lab (GOAD, HackTheBox Pro Labs, собственный DC) или internal engagement с письменным scope.


Kerberos и NTLM — теория для пентестера

Kerberos (порт 88)

  1. AS-REQ — пользователь просит TGT у KDC.
  2. AS-REP — TGT зашифрован hash пароля пользователя.
  3. TGS-REQ — запрос билета на сервис (CIFS, HTTP).
  4. TGS-REP — service ticket.

Атаки (lab / scope):

АтакаСуть
KerberoastingЗапрос TGS для SPN с weak service account password → offline crack
AS-REP RoastingUser без pre-auth → hash offline
Golden TicketПодделка TGT при компромиссе krbtgt hash
Silver TicketПодделка TGS для одного сервиса
Pass-the-TicketИмпорт украденного ticket

Инструменты: Rubeus, Impacket (GetUserSPNs.py, ticketer.py).

NTLM

Challenge-response; hash NTLMv2 можно перехватить (Responder) или relay:

АтакаУсловие
Pass-the-HashHash + SMB без plaintext
NTLM RelaySMB signing off, no EPA
CoercingPetitPotam, PrinterBug → auth на атакующего

Защита: SMB signing, LDAP signing, EPA, отключение NTLM где возможно.


BloodHound и перечисление AD

BloodHound (SharpHound collector + Neo4j graph) визуализирует пути к Domain Admin:

# На Kali — ingest JSON с Windows host (lab)
bloodhound-python -u user -p 'Password1' -d corp.local -ns 192.168.56.10 -c All

В UI ищут Shortest Paths to Domain Admins. Типовые edges:

  • GenericAll на user → reset password.
  • WriteDACL → shadow credentials.
  • MemberOf → nested groups.
  • HasSession → creds на workstation admin.

BloodHound отвечает «куда идти дальше», не «авто-взлом».


Типовые сетевые сервисы

После recon и nmap пентестер встречает повторяющийся набор портов.

ПортСервисЧто проверять
22SSHWeak keys, PermitRootLogin, known CVE
23TelnetPlaintext — critical finding
25/587SMTPVRFY, open relay
53DNSZone transfer, cache snooping
80/443HTTP(S)Веб-пентест ст. 4
135/445SMBSigning, null session, EternalBlue-class
3389RDPNLA, BlueKeep-class, brute
5985/5986WinRMCred reuse
1433MSSQLsa empty, xp_cmdshell
3306MySQLweak root, UDF
5432PostgreSQLtrust auth misconfig
6379Redisno auth → write cron
27017MongoDBno auth exposed
9200Elasticsearchopen index

SMB / Windows file sharing

enum4linux -a 192.168.56.101
smbclient -L //192.168.56.101 -N
crackmapexec smb 192.168.56.0/24 -u user -p pass --shares

CrackMapExec (CME / NetExec) — Swiss army knife для AD lab: spray passwords, exec, dump SAM.

SSH

ssh-audit 192.168.56.101
hydra -l root -P small.txt ssh://192.168.56.101 -t 4

Проверка: ключи вместо пароля, AllowUsers, fail2ban.

RDP

nmap -p3389 --script rdp-enum-encryption 192.168.56.101
hydra -l administrator -P pass.txt rdp://192.168.56.101

Blue Team: NLA, MFA (RD Gateway), ограничение по IP.

FTP / TFTP

Anonymous upload → webshell path; TFTP на Cisco — config leak.

Databases

Redis без auth:

redis-cli -h 192.168.56.101 INFO
# lab only — write cron for reverse shell

PostgreSQL trust в pg_hba.conf — подключение без пароля с «доверенной» сети.


Атаки на пароли в контексте сервисов

См. ст. 5 для hashcat/Hydra. Здесь — стратегия:

СтратегияИнструментРиск
Password sprayingCME, SprayLockout — 1–2 попытки на user
Credential stuffingУтечки + HydraToS breach sites
Default credsVendor docsLow hanging fruit
Offline crackhashcat NTDS, WPAПосле dump

Spraying — один пароль Winter2026! на всех users с паузой; не классический brute «aaa, aab».

Lockout policy

Перед spraying на AD узнайте Account lockout threshold у заказчика. В ROE часто лимит 3 попытки на весь engagement.


Веб + AD — связка

Многие атаки начинаются с веба:

  • ASPX ViewState с weak machine key → RCE.
  • LDAP injection в login → bypass.
  • NTLM relay через HTTP auth к SMB.

Internal web apps на *.corp.local без WAF — цель после foothold.


Linux vs Windows post-foothold (preview)

WindowsLinux
whoami /priv, systeminfoid, uname -a
net user /domain/etc/passwd
Mimikatz / sekurlsa/etc/shadow if root
Autoruns, servicescron, systemd

Детали privesc — ст. 9.


Практическое задание

  1. Разверните GOAD или HTB «Active» machine (lab).
  2. bloodhound-python или SharpHound → один path to DA в UI.
  3. На Metasploitable: перечислите SMB, MySQL, SSH; один weak service.
  4. Password spray одним паролем на 3 учётных записи (lab) с документированием lockout policy.

Связанные материалы


См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").