Slapdash Safeguards

にわか仕込みのセキュリティ

ADの情報収集の網羅性にOPSECを求めるのは間違っているだろうか

こんな感じの気持ち(https://aniani.me/danmachi/より)

以前に試したSOAPHound

確かにLDAPじゃなくてADWSで情報収集するので、OPSEC的に良い感じ。だがどうにかもっと網羅性があるものが無いかと、見つけたSOAPy

ただしSOAPyはデフォルトの網羅的LDAPクエリセットがある訳じゃないので、網羅性は自分のLDAPクエリ次第であった。

結局のところ、OPSECを求めるなら網羅性を求めるのは間違っているのは理解した。

それでも、網羅性とOPSECの共棲を私は望んでいます。何か良い情報あればください。

SOAPy

SOAPyとADWS周りの話は以下にまとまっているので読むべし。
SoaPy:ADWSを介したActive Directory環境の安定的な列挙 | IBM
Make Sure to Use SOAP(y) - An Operators Guide to Stealthy AD Collection Using ADWS - SpecterOps


開発中のgithubリポジトリはこれ。
github.com

基本的には、ADWS経由でLDAPクエリを実行するツールになる。いくらか、デフォルトLDAPクエリが用意されているようだが、使い方は自分次第。

BOFHoundを経由することで、BloodHoundにインジェスト可能なデータを作成できる。

SOAPyのインストール

git clone https://github.com/logangoins/SOAPy.git
cd SOAPy
pipx install .


ちゃんと、git cloneしてpipxする。
pipx install soapyでインストールできるかかなと思って試したら、全然違う何かがインストールされた。(全然違う何かだった。分からん。)

動作確認

$ soapy        

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

usage: soapy [-h] [--debug] [--ts] [-H nthash] [--users] [--computers] [--groups] [--constrained] [--unconstrained] [--spns] [--asreproastable] [--admins] [--rbcds] [-q query] [-f attr,attr,...] [-dn distinguishedname] [-p]
             [--rbcd source] [--spn value] [--asrep] [--account account] [--remove] [--addcomputer [MACHINE]] [--computer-pass pass] [--ou ou] [--delete-computer MACHINE] [--disable-account MACHINE] [--dns-add FQDN]
             [--dns-modify FQDN] [--dns-remove FQDN] [--dns-tombstone FQDN] [--dns-resurrect FQDN] [--dns-ip IP] [--ldapdelete] [--allow-multiple] [--ttl TTL] [--tcp]
             connection

Perform AD reconnaissance and post-exploitation through ADWS from Linux

positional arguments:
  connection            domain/username[:password]@<targetName or address>

options:
  -h, --help            show this help message and exit
  --debug               Turn DEBUG output ON
  --ts                  Adds timestamp to every logging output.
  -H, --hash nthash     Use an NT hash for authentication

Enumeration:
  --users               Enumerate user objects
  --computers           Enumerate computer objects
  --groups              Enumerate group objects
  --constrained         Enumerate objects with msds-allowedtodelegateto
  --unconstrained       Enumerate objects with TRUSTED_FOR_DELEGATION
  --spns                Enumerate accounts with servicePrincipalName set
  --asreproastable      Enumerate accounts with DONT_REQ_PREAUTH set
  --admins              Enumerate high privilege accounts
  --rbcds               Enumerate accounts with msDs-AllowedToActOnBehalfOfOtherIdentity set
  -q, --query query     Raw query to execute on the target
  -f, --filter attr,attr,...
                        Attributes to select, comma separated
  -dn, --distinguishedname distinguishedname
                        The root object's distinguishedName for the query
  -p, --parse           Parse attributes to human readable format

Writing:
  --rbcd source         Write/remove RBCD (source computer)
  --spn value           Write servicePrincipalName value (use --remove to delete)
  --asrep               Write DONT_REQ_PREAUTH flag (asrep roastable)
  --account account     Account to perform operations on
  --remove              Remove attribute value based on operation
  --addcomputer [MACHINE]
                        Create a computer account in AD (optional MACHINE name)
  --computer-pass pass  Password for the new computer account (optional).
  --ou ou               DN of the OU where to create the computer (optional).
  --delete-computer MACHINE
                        Delete an existing computer account
  --disable-account MACHINE
                        Disable a computer account (set AccountDisabled)
  --dns-add FQDN        Add A record (FQDN). Requires --dns-ip
  --dns-modify FQDN     Modify/replace A record (FQDN). Requires --dns-ip
  --dns-remove FQDN     Remove A record (FQDN). Requires --dns-ip unless --ldapdelete
  --dns-tombstone FQDN  Tombstone a dnsNode (replace with TS record + set dNSTombstoned=true)
  --dns-resurrect FQDN  Resurrect a tombstoned dnsNode
  --dns-ip IP           IP used with dns add/modify/remove
  --ldapdelete          Use delete on dnsNode object (when used with --dns-remove)
  --allow-multiple      Allow multiple A records when adding
  --ttl TTL             TTL for new A record (default 180)
  --tcp                 Use DNS over TCP when fetching SOA serial

SOAPyをちょっと使ってみよう

試しにいくつかコマンド実行する。
コマンドの動作確認は、CRTEのLabで。

例えば、msds-allowedtodelegatetoが付いてるアカウントを探す--constrained

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --constrained --ts   

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 00:34:09] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 00:34:10] [*] Using query: (msds-allowedtodelegateto=*)
[2026-01-17 00:34:10] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
givenName: app
codePage: 0
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=techcorp,DC=local
dSCorePropagationData: 20250214122938.0Z, 20210108135035.0Z, 16010101000001.0Z
uSNChanged: 2852863
instanceType: 4
nTSecurityDescriptor: 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
logonCount: 40
name: appsvc
badPasswordTime: 0
pwdLastSet: 132545874357656011
servicePrincipalName: appsvc/us-jump.us.techcorp.local
objectClass: top, person, organizationalPerson, user
badPwdCount: 0
sAMAccountType: 805306368
lastLogonTimestamp: 133911841475871011
uSNCreated: 1942030
sn: svc
objectGUID: 4F66BB3A-D07E-40EB-83AE-92ABCB9FC04C
whenCreated: 20210108135035.0Z
userAccountControl: 16843264
cn: appsvc
countryCode: 0
primaryGroupID: 513
whenChanged: 20250508132227.0Z
msDS-AllowedToDelegateTo: CIFS/us-mssql.us.techcorp.local, CIFS/us-mssql
lastLogon: 133911843497812542
distinguishedName: CN=appsvc,CN=Users,DC=us,DC=techcorp,DC=local
sAMAccountName: appsvc
objectSid: S-1-5-21-210670787-2521448726-163245708-4601
lastLogoff: 0
displayName: app svc
accountExpires: 9223372036854775807
userPrincipalName: appsvc
--------------------
logonCount: 553
codePage: 0
objectCategory: CN=Computer,CN=Schema,CN=Configuration,DC=techcorp,DC=local
isCriticalSystemObject: FALSE
operatingSystem: Windows Server 2019 Standard
uSNChanged: 2896401
instanceType: 4
nTSecurityDescriptor: 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
name: US-MGMT
badPasswordTime: 0
pwdLastSet: 132067882470397041
servicePrincipalName: WSMAN/US-Mgmt, WSMAN/US-Mgmt.us.techcorp.local, TERMSRV/US-MGMT, TERMSRV/US-Mgmt.us.techcorp.local, RestrictedKrbHost/US-MGMT, HOST/US-MGMT, RestrictedKrbHost/US-Mgmt.us.techcorp.local, HOST/US-Mgmt.us.techcorp.local
objectClass: top, person, organizationalPerson, user, computer
badPwdCount: 0
sAMAccountType: 805306369
lastLogonTimestamp: 134129472825164277
uSNCreated: 12964
objectGUID: 6F7957B5-D229-4D00-8778-831AA4D9AFAC
localPolicyFlags: 0
whenCreated: 20190705081727.0Z
userAccountControl: 4096
cn: US-MGMT
countryCode: 0
primaryGroupID: 515
whenChanged: 20260115104122.0Z
msDS-AllowedToDelegateTo: cifs/US-MSSQL.us.techcorp.local, cifs/US-MSSQL
operatingSystemVersion: 10.0 (17763)
dNSHostName: US-Mgmt.us.techcorp.local
dSCorePropagationData: 20250214122938.0Z, 20190730123519.0Z, 20190710160003.0Z, 20190710160003.0Z, 16010714223649.0Z
lastLogon: 134131015530292647
distinguishedName: CN=US-MGMT,OU=Mgmt,DC=us,DC=techcorp,DC=local
msDS-SupportedEncryptionTypes: 28
sAMAccountName: US-MGMT$
objectSid: S-1-5-21-210670787-2521448726-163245708-1105
lastLogoff: 0
accountExpires: 9223372036854775807
--------------------

--tsをつけると実行のタイムスタンプがついて、-pを使うと数値だけで分かりにくいのが分かりやすくなったりする。

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --constrained --ts -p

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 00:34:19] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 00:34:20] [*] Using query: (msds-allowedtodelegateto=*)
[2026-01-17 00:34:20] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
givenName: app
codePage: 0
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=techcorp,DC=local
dSCorePropagationData: 2025-02-14T07:29:38-05:00, 2021-01-08T08:50:35-05:00, 1600-12-31T19:03:59-04:56:02
uSNChanged: 2852863
instanceType: 4 flags: OBJECT_WRITABLE
logonCount: 40
name: appsvc
badPasswordTime: none/never
pwdLastSet: 2021-01-08T13:50:35.765602+00:00
servicePrincipalName: appsvc/us-jump.us.techcorp.local
objectClass: top, person, organizationalPerson, user
badPwdCount: 0
sAMAccountType: 805306368 flags: SAM_GROUP_OBJECT, SAM_ALIAS_OBJECT
lastLogonTimestamp: 2025-05-08T13:22:27.587102+00:00
uSNCreated: 1942030
sn: svc
objectGUID: 4F66BB3A-D07E-40EB-83AE-92ABCB9FC04C
whenCreated: 2021-01-08T08:50:35-05:00
userAccountControl: 16843264 flags: NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD, TRUSTED_TO_AUTH_FOR_DELEGATION
cn: appsvc
countryCode: 0
primaryGroupID: 513 Well known group: Domain Users
whenChanged: 2025-05-08T09:22:27-04:00
msDS-AllowedToDelegateTo: CIFS/us-mssql.us.techcorp.local, CIFS/us-mssql
lastLogon: 2025-05-08T13:25:49.781254+00:00
distinguishedName: CN=appsvc,CN=Users,DC=us,DC=techcorp,DC=local
sAMAccountName: appsvc
objectSid: S-1-5-21-210670787-2521448726-163245708-4601
lastLogoff: none/never
displayName: app svc
accountExpires: none/never
userPrincipalName: appsvc
--------------------
logonCount: 553
codePage: 0
objectCategory: CN=Computer,CN=Schema,CN=Configuration,DC=techcorp,DC=local
isCriticalSystemObject: FALSE
operatingSystem: Windows Server 2019 Standard
uSNChanged: 2896401
instanceType: 4 flags: OBJECT_WRITABLE
name: US-MGMT
badPasswordTime: none/never
pwdLastSet: 2019-07-05T08:17:27.039704+00:00
servicePrincipalName: WSMAN/US-Mgmt, WSMAN/US-Mgmt.us.techcorp.local, TERMSRV/US-MGMT, TERMSRV/US-Mgmt.us.techcorp.local, RestrictedKrbHost/US-MGMT, HOST/US-MGMT, RestrictedKrbHost/US-Mgmt.us.techcorp.local, HOST/US-Mgmt.us.techcorp.local
objectClass: top, person, organizationalPerson, user, computer
badPwdCount: 0
sAMAccountType: 805306369 flags: SAM_GROUP_OBJECT, SAM_ALIAS_OBJECT
lastLogonTimestamp: 2026-01-15T10:41:22.516428+00:00
uSNCreated: 12964
objectGUID: 6F7957B5-D229-4D00-8778-831AA4D9AFAC
localPolicyFlags: 0
whenCreated: 2019-07-05T04:17:27-04:00
userAccountControl: 4096 flags: WORKSTATION_TRUST_ACCOUNT
cn: US-MGMT
countryCode: 0
primaryGroupID: 515 Well known group: Domain Computers
whenChanged: 2026-01-15T05:41:22-05:00
msDS-AllowedToDelegateTo: cifs/US-MSSQL.us.techcorp.local, cifs/US-MSSQL
operatingSystemVersion: 10.0 (17763)
dNSHostName: US-Mgmt.us.techcorp.local
dSCorePropagationData: 2025-02-14T07:29:38-05:00, 2019-07-30T08:35:19-04:00, 2019-07-10T12:00:03-04:00, 2019-07-10T12:00:03-04:00, 1601-07-14T17:40:47-04:56:02
lastLogon: 2026-01-17T05:33:37.036244+00:00
distinguishedName: CN=US-MGMT,OU=Mgmt,DC=us,DC=techcorp,DC=local
msDS-SupportedEncryptionTypes: 28
sAMAccountName: US-MGMT$
objectSid: S-1-5-21-210670787-2521448726-163245708-1105
lastLogoff: none/never
accountExpires: none/never
--------------------

nTSecurityDescriptorの部分は解釈する機能が付いていないようで、消えてる。

TRUSTED_FOR_DELEGATIONを探す--unconstrained。出力が多いなら—filter

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --unconstrained --ts -p --filter "sAMAccountName,userAccountControl"

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 00:45:16] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 00:45:17] [*] Using query: (userAccountControl:1.2.840.113556.1.4.803:=524288)
[2026-01-17 00:45:17] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
sAMAccountName: US-WEB$
userAccountControl: 528384 flags: WORKSTATION_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION
--------------------
sAMAccountName: US-DC$
userAccountControl: 532480 flags: SERVER_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION
--------------------

servicePrincipalNameのあるユーザアカウントを確認する—spn。ちゃんと有効なアカウントだけにフィルターされている。

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --spns --ts --filter "sAMAccountName,servicePrincipalName"

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 00:47:53] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 00:47:54] [*] Using query: (&(&(servicePrincipalName=*)(UserAccountControl:1.2.840.113556.1.4.803:=512))(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))
[2026-01-17 00:47:54] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
servicePrincipalName: USSvc/serviceaccount
sAMAccountName: serviceaccount
--------------------
servicePrincipalName: appsvc/us-jump.us.techcorp.local
sAMAccountName: appsvc
--------------------

ldap queryを使うときは、--query-q

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(objectClass=computer)' --ts --filter "sAMAccountName"

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 00:54:21] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 00:54:21] [*] Using query: (objectClass=computer)
[2026-01-17 00:54:21] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
sAMAccountName: US-DC$
--------------------
sAMAccountName: US-EXCHANGE$
--------------------
sAMAccountName: US-MGMT$
--------------------
sAMAccountName: US-HELPDESK$
--------------------
sAMAccountName: US-MSSQL$
--------------------
sAMAccountName: US-MAILMGMT$
--------------------
sAMAccountName: US-WEB$
--------------------
sAMAccountName: US-ADCONNECT$
--------------------
sAMAccountName: jumpone$
(snip)

SOAPyとSharpHoundの情報収集比較???

いくらか試してみたが、結局SharpHoundやADExplorerのときみたいな網羅性は再現できなかった。

これってそもそもOPSECのためのツールなのにノイズが沢山発生するような作業になる網羅性ってことをするのは矛盾しているって話であると重々理解いたしました。

ただし、一応頑張ってみた記録もあるので見たければどうぞ↓

何か比較を頑張った記録

SOAPyとSharpHoundの情報収集の比較をしたいが、でもSOAPyだと全部まとめてみたいなデフォルトクエリ無い。

自分でldapクエリを考えて投げないといけない。

1つ目のクエリ「ドメインのよくある情報とADCS系取得」

とりあえずのドメイン情報とADCS系取得?

soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(|(samAccountType=805306368)(samAccountType=805306369)(samAccountType=268435456)(samAccountType=268435457)(samAccountType=536870912)(samAccountType=536870913)(objectClass=domain)(objectClass=organizationalUnit)(objectClass=container)(objectClass=groupPolicyContainer)(objectClass=foreignSecurityPrincipal))' -dn 'DC=us,DC=techcorp,DC=local' | tee data/us-techcorp.log

soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(|(objectClass=certificationAuthority)(objectClass=pKIEnrollmentService)(objectClass=pKICertificateTemplate)(objectClass=msPKI-Enterprise-Oid)(objectClass=container))' -dn 'DC=us,DC=techcorp,DC=local' | tee data/us-techcorp_adcs.log


取得したログはBOFHoundで変換する。

python3 -m venv bofhound
source ./bofhound/bin/activate
pip3 install bofhound


いざ、変換!!!

$ bofhound -i ./data --zip                                        

 _____________________________ __    __    ______    __    __   __   __   _______
|   _   /  /  __   / |   ____/|  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |__   |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |   __|  |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |     |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/  |__|     |__|  |___\_\________\_\________\|__| \___\|_________\

                            << @coffeegist | @Tw1sm >>
    
[02:23:17] INFO     Parsed 436 LDAP objects                                                                                                                                                                                                 
[02:23:17] INFO     Parsed 0 local group/session objects                                                                                                                                                                                    
[02:23:17] INFO     Sorting parsed objects by type...                                                                                                                                                                                       
[02:23:17] INFO     Parsed 77 Users                                                                                                                                                                                                         
[02:23:17] INFO     Parsed 51 Groups                                                                                                                                                                                                        
[02:23:17] INFO     Parsed 29 Computers                                                                                                                                                                                                     
[02:23:17] INFO     Parsed 1 Domains                                                                                                                                                                                                        
[02:23:17] INFO     Parsed 0 Trust Accounts                                                                                                                                                                                                 
[02:23:17] INFO     Parsed 7 OUs                                                                                                                                                                                                            
[02:23:17] INFO     Parsed 26 Containers                                                                                                                                                                                                    
[02:23:17] INFO     Parsed 7 GPOs                                                                                                                                                                                                           
[02:23:17] INFO     Parsed 0 Enterprise CAs                                                                                                                                                                                                 
[02:23:17] INFO     Parsed 0 AIA CAs                                                                                                                                                                                                        
[02:23:17] INFO     Parsed 0 Root CAs                                                                                                                                                                                                       
[02:23:17] INFO     Parsed 0 NTAuth Stores                                                                                                                                                                                                  
[02:23:17] INFO     Parsed 0 Issuance Policies                                                                                                                                                                                              
[02:23:17] INFO     Parsed 0 Cert Templates                                                                                                                                                                                                 
[02:23:17] INFO     Parsed 0 Schemas                                                                                                                                                                                                        
[02:23:17] INFO     Parsed 0 Referrals                                                                                                                                                                                                      
[02:23:17] INFO     Parsed 0 DNS nodes                                                                                                                                                                                                      
[02:23:17] INFO     Parsed 1 Unknown Objects                                                                                                                                                                                                
[02:23:17] INFO     Parsed 0 Sessions                                                                                                                                                                                                       
[02:23:17] INFO     Parsed 0 Privileged Sessions                                                                                                                                                                                            
[02:23:17] INFO     Parsed 0 Registry Sessions                                                                                                                                                                                              
[02:23:17] INFO     Parsed 0 Local Group Memberships                                                                                                                                                                                        
[02:23:17] INFO     Parsed 3988 ACL relationships                                                                                                                                                                                           
[02:23:17] INFO     Created default users                                                                                                                                                                                                   
[02:23:17] INFO     Created default groups                                                                                                                                                                                                  
[02:23:17] INFO     Resolved group memberships                                                                                                                                                                                              
[02:23:17] INFO     Resolved delegation relationships                                                                                                                                                                                       
[02:23:17] INFO     Resolved OU memberships                                                                                                                                                                                                 
[02:23:17] INFO     Linked GPOs to OUs                                                                                                                                                                                                      
[02:23:17] INFO     Assigned IP addresses to computers                                                                                                                                                                                      
[02:23:17] INFO     JSON files written to current directory                                                                                                                                                                                 
[02:23:17] INFO     Files compressed into bloodhound_20260117_022317.zip


?????少なく無いか?????

前回のに比べたら心配しかない。

$ unzip -l bloodhound_20260117_022317.zip
Archive:  bloodhound_20260117_022317.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     7296  2026-01-17 02:23   domains_20260117_022317.json
   162556  2026-01-17 02:23   computers_20260117_022317.json
   328548  2026-01-17 02:23   users_20260117_022317.json
   198896  2026-01-17 02:23   groups_20260117_022317.json
    22612  2026-01-17 02:23   ous_20260117_022317.json
    51586  2026-01-17 02:23   containers_20260117_022317.json
    14596  2026-01-17 02:23   gpos_20260117_022317.json
---------                     -------
   786090                     7 files


zipの中身がまるでLegacy用のファイルセットのようだが。大丈夫じゃないですよね。

このままBloodHound CEにインジェストしようとしたが、何故かzipのままアップロードしてもインジェストが上手くいかなかったので解凍してから1つずつアップロードした。

1つ目のLDAPクエリの取得情報

やはり、ADExplorerのときに比べると明らかにデータが少ない。

ACEsとRelationshipsが圧倒的に少ない。

もしかしたら数値上少ないだけで、実際はよくある攻撃を網羅できているかもしれないが、珍しいものを見逃してしまうのも違うよなぁ。

ちょっと確認してみたら、ドメイントラストやADCS系(見ればわかる)が欠けている。適当なldapクエリだけだとダメか。

2つ目のクエリ「ドメイン情報全部?とADCS系取得、Shema全部?」

こんな感じ。

soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(objectClass=*)' -dn 'DC=us,DC=techcorp,DC=local' | tee data2/us-techcorp.log
 
soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(|(objectClass=pKICertificateTemplate)(objectClass=certificationAuthority)(objectClass=pKIEnrollmentService)(objectClass=msPKI-Enterprise-Oid)(objectClass=container))' -dn 'CN=Configuration,DC=techcorp,DC=local' | tee data2/us-techcorp2.log
 
soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(objectClass=*)' -dn 'CN=Schema,CN=Configuration,DC=techcorp,DC=local' | tee data2/us-techcorp3.log


(objectClass=*)でより網羅的な感じにした。

bofhoundで変換

$ bofhound -i ./data2 --zip

 _____________________________ __    __    ______    __    __   __   __   _______
|   _   /  /  __   / |   ____/|  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |__   |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |   __|  |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |     |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/  |__|     |__|  |___\_\________\_\________\|__| \___\|_________\

                            << @coffeegist | @Tw1sm >>
    
[02:23:22] INFO     Parsed 5259 LDAP objects                                                                                                                                                                                                
[02:23:22] INFO     Parsed 0 local group/session objects                                                                                                                                                                                    
[02:23:22] INFO     Sorting parsed objects by type...                                                                                                                                                                                       
[02:23:22] INFO     Parsed 77 Users                                                                                                                                                                                                         
[02:23:22] INFO     Parsed 51 Groups                                                                                                                                                                                                        
[02:23:22] INFO     Parsed 29 Computers                                                                                                                                                                                                     
[02:23:22] INFO     Parsed 1 Domains                                                                                                                                                                                                        
[02:23:22] INFO     Parsed 2 Trust Accounts                                                                                                                                                                                                 
[02:23:22] INFO     Parsed 7 OUs                                                                                                                                                                                                            
[02:23:22] INFO     Parsed 314 Containers                                                                                                                                                                                                   
[02:23:22] INFO     Parsed 7 GPOs                                                                                                                                                                                                           
[02:23:22] INFO     Parsed 1 Enterprise CAs                                                                                                                                                                                                 
[02:23:22] INFO     Parsed 1 AIA CAs                                                                                                                                                                                                        
[02:23:22] INFO     Parsed 1 Root CAs                                                                                                                                                                                                       
[02:23:22] INFO     Parsed 1 NTAuth Stores                                                                                                                                                                                                  
[02:23:22] INFO     Parsed 3 Issuance Policies                                                                                                                                                                                              
[02:23:22] INFO     Parsed 36 Cert Templates                                                                                                                                                                                                
[02:23:22] INFO     Parsed 4535 Schemas                                                                                                                                                                                                     
[02:23:22] INFO     Parsed 0 Referrals                                                                                                                                                                                                      
[02:23:22] INFO     Parsed 0 DNS nodes                                                                                                                                                                                                      
[02:23:22] INFO     Parsed 60 Unknown Objects                                                                                                                                                                                               
[02:23:22] INFO     Parsed 0 Sessions                                                                                                                                                                                                       
[02:23:22] INFO     Parsed 0 Privileged Sessions                                                                                                                                                                                            
[02:23:22] INFO     Parsed 0 Registry Sessions                                                                                                                                                                                              
[02:23:22] INFO     Parsed 0 Local Group Memberships                                                                                                                                                                                        
[02:23:23] INFO     Parsed 6494 ACL relationships                                                                                                                                                                                           
[02:23:23] INFO     Created default users                                                                                                                                                                                                   
[02:23:23] INFO     Created default groups                                                                                                                                                                                                  
[02:23:23] INFO     Resolved group memberships                                                                                                                                                                                              
[02:23:23] INFO     Resolved delegation relationships                                                                                                                                                                                       
[02:23:23] INFO     Resolved OU memberships                                                                                                                                                                                                 
[02:23:23] INFO     Linked GPOs to OUs                                                                                                                                                                                                      
[02:23:23] INFO     Resolved domain trusts                                                                                                                                                                                                  
[02:23:23] INFO     Built CA certificate chains                                                                                                                                                                                             
[02:23:23] INFO     Resolved enabled templates per CA                                                                                                                                                                                       
[02:23:23] WARNING  Could not resolve CA hosting computer: Techcorp-DC.techcorp.local                                                                                                                                                       
[02:23:23] INFO     Resolved hosting computers of CAs                                                                                                                                                                                       
[02:23:23] INFO     Assigned IP addresses to computers                                                                                                                                                                                      
[02:23:23] INFO     JSON files written to current directory                                                                                                                                                                                 
[02:23:23] INFO     Files compressed into bloodhound_20260117_022323.zip


すごい増えた。やっぱ1つ目は全然足りてなかったわ。

zipの中身にADCS系も入ってる。

$ unzip -l bloodhound_20260117_022323.zip 
Archive:  bloodhound_20260117_022323.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     7721  2026-01-17 02:23   domains_20260117_022323.json
   167574  2026-01-17 02:23   computers_20260117_022323.json
   362456  2026-01-17 02:23   users_20260117_022323.json
   198896  2026-01-17 02:23   groups_20260117_022323.json
    22612  2026-01-17 02:23   ous_20260117_022323.json
   458793  2026-01-17 02:23   containers_20260117_022323.json
    14596  2026-01-17 02:23   gpos_20260117_022323.json
     3730  2026-01-17 02:23   enterprisecas_20260117_022323.json
     1977  2026-01-17 02:23   aiacas_20260117_022323.json
     1937  2026-01-17 02:23   rootcas_20260117_022323.json
     1629  2026-01-17 02:23   ntauthstores_20260117_022323.json
     3633  2026-01-17 02:23   issuancepolicies_20260117_022323.json
    89538  2026-01-17 02:23   certtemplates_20260117_022323.json
---------                     -------
  1335092                     13 files


ファイル構成は良さそうな感じ。

では、インジェスト。

2つ目のクエリのインジェスト結果

ACEsとRelationshipsが圧倒的に少ないのは変わらず。

ただし、こっちはドメイントラストやフォレストトラストを確認できた。

ADCS系のファイルがあったからか以前と同じようなESC1とかも確認した。

ACEsとRelationshipsが圧倒的に少ないのは変わらずだが、一応良くなっている。

以前と比較した網羅性観点では、まだまだ?

3つ目のクエリ「ドメインのよくある情報とADCS系取得」

2つ目のものに少し追加。何かもう何を追加すればよく分からんくて迷走してる感があるが、とりあえずやってみた。

soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(objectClass=*)' -dn 'CN=Sites,CN=Configuration,DC=techcorp,DC=local' | tee data3/sites.log

# GPOやSID関連
soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(objectClass=*)' -dn 'CN=Windows NT,CN=Services,CN=Configuration,DC=techcorp,DC=local' | tee data3/windowsnt.log

# NetServices
soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(objectClass=*)' -dn 'CN=NetServices,CN=Services,CN=Configuration,DC=techcorp,DC=local' | tee data3/netservices.log

# DFS-Configuration
soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 -q '(objectClass=*)' -dn 'CN=DFS-Configuration,CN=Services,CN=Configuration,DC=techcorp,DC=local' | tee data3/dfs.log


変換

$ bofhound -i ./data3 --zip

 _____________________________ __    __    ______    __    __   __   __   _______
|   _   /  /  __   / |   ____/|  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
|  |_)  | |  |  |  | |  |__   |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
|   _  <  |  |  |  | |   __|  |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
|  |_)  | |  `--'  | |  |     |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
|______/   \______/  |__|     |__|  |___\_\________\_\________\|__| \___\|_________\

                            << @coffeegist | @Tw1sm >>
    
[02:23:27] INFO     Parsed 5286 LDAP objects                                                                                                                                                                                                
[02:23:27] INFO     Parsed 0 local group/session objects                                                                                                                                                                                    
[02:23:27] INFO     Sorting parsed objects by type...                                                                                                                                                                                       
[02:23:27] INFO     Parsed 77 Users                                                                                                                                                                                                         
[02:23:27] INFO     Parsed 51 Groups                                                                                                                                                                                                        
[02:23:27] INFO     Parsed 29 Computers                                                                                                                                                                                                     
[02:23:27] INFO     Parsed 1 Domains                                                                                                                                                                                                        
[02:23:27] INFO     Parsed 2 Trust Accounts                                                                                                                                                                                                 
[02:23:27] INFO     Parsed 7 OUs                                                                                                                                                                                                            
[02:23:27] INFO     Parsed 314 Containers                                                                                                                                                                                                   
[02:23:27] INFO     Parsed 7 GPOs                                                                                                                                                                                                           
[02:23:27] INFO     Parsed 1 Enterprise CAs                                                                                                                                                                                                 
[02:23:27] INFO     Parsed 1 AIA CAs                                                                                                                                                                                                        
[02:23:27] INFO     Parsed 1 Root CAs                                                                                                                                                                                                       
[02:23:27] INFO     Parsed 1 NTAuth Stores                                                                                                                                                                                                  
[02:23:27] INFO     Parsed 3 Issuance Policies                                                                                                                                                                                              
[02:23:27] INFO     Parsed 36 Cert Templates                                                                                                                                                                                                
[02:23:27] INFO     Parsed 4535 Schemas                                                                                                                                                                                                     
[02:23:27] INFO     Parsed 0 Referrals                                                                                                                                                                                                      
[02:23:27] INFO     Parsed 0 DNS nodes                                                                                                                                                                                                      
[02:23:27] INFO     Parsed 83 Unknown Objects                                                                                                                                                                                               
[02:23:27] INFO     Parsed 0 Sessions                                                                                                                                                                                                       
[02:23:27] INFO     Parsed 0 Privileged Sessions                                                                                                                                                                                            
[02:23:27] INFO     Parsed 0 Registry Sessions                                                                                                                                                                                              
[02:23:27] INFO     Parsed 0 Local Group Memberships                                                                                                                                                                                        
[02:23:28] INFO     Parsed 6494 ACL relationships                                                                                                                                                                                           
[02:23:28] INFO     Created default users                                                                                                                                                                                                   
[02:23:28] INFO     Created default groups                                                                                                                                                                                                  
[02:23:28] INFO     Resolved group memberships                                                                                                                                                                                              
[02:23:28] INFO     Resolved delegation relationships                                                                                                                                                                                       
[02:23:28] INFO     Resolved OU memberships                                                                                                                                                                                                 
[02:23:28] INFO     Linked GPOs to OUs                                                                                                                                                                                                      
[02:23:28] INFO     Resolved domain trusts                                                                                                                                                                                                  
[02:23:28] INFO     Built CA certificate chains                                                                                                                                                                                             
[02:23:28] INFO     Resolved enabled templates per CA                                                                                                                                                                                       
[02:23:28] WARNING  Could not resolve CA hosting computer: Techcorp-DC.techcorp.local                                                                                                                                                       
[02:23:28] INFO     Resolved hosting computers of CAs                                                                                                                                                                                       
[02:23:28] INFO     Assigned IP addresses to computers                                                                                                                                                                                      
[02:23:28] INFO     JSON files written to current directory                                                                                                                                                                                 
[02:23:28] INFO     Files compressed into bloodhound_20260117_022328.zip 


ちょっと増えたけど、何だかなぁ。

$ unzip -l bloodhound_20260117_022328.zip
Archive:  bloodhound_20260117_022328.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     7721  2026-01-17 02:23   domains_20260117_022328.json
   167574  2026-01-17 02:23   computers_20260117_022328.json
   362456  2026-01-17 02:23   users_20260117_022328.json
   198896  2026-01-17 02:23   groups_20260117_022328.json
    22612  2026-01-17 02:23   ous_20260117_022328.json
   458793  2026-01-17 02:23   containers_20260117_022328.json
    14596  2026-01-17 02:23   gpos_20260117_022328.json
     3730  2026-01-17 02:23   enterprisecas_20260117_022328.json
     1977  2026-01-17 02:23   aiacas_20260117_022328.json
     1937  2026-01-17 02:23   rootcas_20260117_022328.json
     1629  2026-01-17 02:23   ntauthstores_20260117_022328.json
     3633  2026-01-17 02:23   issuancepolicies_20260117_022328.json
    89538  2026-01-17 02:23   certtemplates_20260117_022328.json
---------                     -------
  1335092                     13 files


インジェスト

3つ目のLDAPクエリ結果のインジェスト結果

ACEsとRelationshipsは2つ目と変わらず。

2つ目の結果と大きくことなる点は分からなかった。

これ以上やる意味無いと思ったので諦め。

そりゃあSharpHoundのLDAPクエリを研究して同じものをやれば同じ結果を取得できるだろうが、そこまで来るとノイズ多すぎて、そもそも何のためにLDAPじゃなくてADWS(SoaPy)使っているのか意味不明では?

あと、試して分かったのはSOAPyは残念ながらデータ量が多すぎるとパースできない。というかADWSが大きなxmlを返してきて、SOAPyで使用してるパーサー(ライブラリ?)が対応してない感じ?

SOAPyで大事な情報だけ個別に収集しよう

ここまでいろいろ頑張ったが、やっぱりSOAPyの目的ってADWS経由で検知回避しつつ情報収集するっていうこと。

だから、何度も言うが網羅性を考えたLDAPクエリを考えるって、ノイズの多い結果を招くから変なことだ。

なので最後によく使いそうな個別LDAPクエリを考えてみた。

なお、今回試した環境に無かったものは実行例無し。

Kerberoast可能なユーザアカウント: (&(samAccountType=805306368)(servicePrincipalName=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(&(samAccountType=805306368)(servicePrincipalName=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))' --filter "sAMAccountName,servicePrincipalName"

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[*] Connecting to 192.168.1.2 for resource:Enumeration
[*] Using query: (&(samAccountType=805306368)(servicePrincipalName=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
[*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
servicePrincipalName: USSvc/serviceaccount
sAMAccountName: serviceaccount
--------------------
servicePrincipalName: appsvc/us-jump.us.techcorp.local
sAMAccountName: appsvc
--------------------

ASREProast可能なユーザアカウント: (&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=4194304))

Domain Adminsのユーザ一覧:(&(samAccountType=805306368)(memberOf=CN=Domain Admins,CN=Users,DC=us,DC=techcorp,DC=local))

実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(&(samAccountType=805306368)(memberOf=CN=Domain Admins,CN=Users,DC=us,DC=techcorp,DC=local))' --filter "sAMAccountName"

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[*] Connecting to 192.168.1.2 for resource:Enumeration
[*] Using query: (&(samAccountType=805306368)(memberOf=CN=Domain Admins,CN=Users,DC=us,DC=techcorp,DC=local))
[*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
sAMAccountName: Administrator
--------------------
sAMAccountName: decda
--------------------

ドメイン内で管理者権限を持つオブジェクト: (adminCount=1)

実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(adminCount=1)' --filter "sAMAccountName,objectCategory"

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[*] Connecting to 192.168.1.2 for resource:Enumeration
[*] Using query: (adminCount=1)
[*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: krbtgt
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Domain Controllers
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Domain Admins
--------------------
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: decda
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Read-only Domain Controllers
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Key Admins
--------------------
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: exchangeadmin
--------------------
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Administrator
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Administrators
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Print Operators
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Backup Operators
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Replicator
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Server Operators
--------------------
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=techcorp,DC=local
sAMAccountName: Account Operators
--------------------

Unconstrained Delegation: (userAccountControl:1.2.840.113556.1.4.803:=524288)

実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(userAccountControl:1.2.840.113556.1.4.803:=524288)' --filter "sAMAccountName,userAccountControl" --ts -p

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 21:59:35] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 21:59:36] [*] Using query: (userAccountControl:1.2.840.113556.1.4.803:=524288)
[2026-01-17 21:59:36] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
sAMAccountName: US-WEB$
userAccountControl: 528384 flags: WORKSTATION_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION
--------------------
sAMAccountName: US-DC$
userAccountControl: 532480 flags: SERVER_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION
--------------------

Constrained Delegation: (msDS-AllowedToDelegateTo=*)

実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(msDS-AllowedToDelegateTo=*)' --filter "sAMAccountName,msDS-AllowedToDelegateTo,userAccountControl" --ts -p

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 22:24:23] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 22:24:24] [*] Using query: (msDS-AllowedToDelegateTo=*)
[2026-01-17 22:24:24] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
msDS-AllowedToDelegateTo: CIFS/us-mssql.us.techcorp.local, CIFS/us-mssql
sAMAccountName: appsvc
userAccountControl: 16843264 flags: NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD, TRUSTED_TO_AUTH_FOR_DELEGATION
--------------------
msDS-AllowedToDelegateTo: cifs/US-MSSQL.us.techcorp.local, cifs/US-MSSQL
sAMAccountName: US-MGMT$
userAccountControl: 4096 flags: WORKSTATION_TRUST_ACCOUNT
--------------------


Protocol Transition(TRUSTED_TO_AUTH_FOR_DELEGATION)有効か、Kerberos Onlyかどうかもチェックすべし。

Resource-Based Constrained Delegation: (msDS-AllowedToActOnBehalfOfOtherIdentity=*)

実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(msDS-AllowedToActOnBehalfOfOtherIdentity=*)' --filter "sAMAccountName,msDS-AllowedToActOnBehalfOfOtherIdentity" --ts -p

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 22:02:22] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 22:02:23] [*] Using query: (msDS-AllowedToActOnBehalfOfOtherIdentity=*)
[2026-01-17 22:02:23] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
msDS-AllowedToActOnBehalfOfOtherIdentity: AQAEgHAGAAAAAAAAAAAAABQAAAAEAFwGLQAAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJqwQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJrAQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ3gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ3wQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ4AQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ4QQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ4gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ4wQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ5AQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ5QQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ5gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ5wQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ6AQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ6QQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ6gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ6wQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ7AQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ7QQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ7gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ7wQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ8AQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ8QQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ8gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ8wQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ9AQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ9QQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ9gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ+AQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ+QQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ+gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ+wQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ/AQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ/QQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ/gQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJ/wQAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJAAUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJAQUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJAgUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJAwUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJBAUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJBQUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJBgUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJCgUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJCwUAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJDAUAAAECAAAAAAAFIAAAACACAAA= DACL ACE SIDs: S-1-5-21-210670787-2521448726-163245708-1195 S-1-5-21-210670787-2521448726-163245708-1196 S-1-5-21-210670787-2521448726-163245708-1246 S-1-5-21-210670787-2521448726-163245708-1247 S-1-5-21-210670787-2521448726-163245708-1248 S-1-5-21-210670787-2521448726-163245708-1249 S-1-5-21-210670787-2521448726-163245708-1250 S-1-5-21-210670787-2521448726-163245708-1251 S-1-5-21-210670787-2521448726-163245708-1252 S-1-5-21-210670787-2521448726-163245708-1253 S-1-5-21-210670787-2521448726-163245708-1254 S-1-5-21-210670787-2521448726-163245708-1255 S-1-5-21-210670787-2521448726-163245708-1256 S-1-5-21-210670787-2521448726-163245708-1257 S-1-5-21-210670787-2521448726-163245708-1258 S-1-5-21-210670787-2521448726-163245708-1259 S-1-5-21-210670787-2521448726-163245708-1260 S-1-5-21-210670787-2521448726-163245708-1261 S-1-5-21-210670787-2521448726-163245708-1262 S-1-5-21-210670787-2521448726-163245708-1263 S-1-5-21-210670787-2521448726-163245708-1264 S-1-5-21-210670787-2521448726-163245708-1265 S-1-5-21-210670787-2521448726-163245708-1266 S-1-5-21-210670787-2521448726-163245708-1267 S-1-5-21-210670787-2521448726-163245708-1268 S-1-5-21-210670787-2521448726-163245708-1269 S-1-5-21-210670787-2521448726-163245708-1270 S-1-5-21-210670787-2521448726-163245708-1272 S-1-5-21-210670787-2521448726-163245708-1273 S-1-5-21-210670787-2521448726-163245708-1274 S-1-5-21-210670787-2521448726-163245708-1275 S-1-5-21-210670787-2521448726-163245708-1276 S-1-5-21-210670787-2521448726-163245708-1277 S-1-5-21-210670787-2521448726-163245708-1278 S-1-5-21-210670787-2521448726-163245708-1279 S-1-5-21-210670787-2521448726-163245708-1280 S-1-5-21-210670787-2521448726-163245708-1281 S-1-5-21-210670787-2521448726-163245708-1282 S-1-5-21-210670787-2521448726-163245708-1283 S-1-5-21-210670787-2521448726-163245708-1284 S-1-5-21-210670787-2521448726-163245708-1285 S-1-5-21-210670787-2521448726-163245708-1286 S-1-5-21-210670787-2521448726-163245708-1290 S-1-5-21-210670787-2521448726-163245708-1291 S-1-5-21-210670787-2521448726-163245708-1292
sAMAccountName: US-HELPDESK$
--------------------


ちょっと見にくい

gMSA: (objectClass=msDS-GroupManagedServiceAccount)

実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(objectClass=msDS-GroupManagedServiceAccount)' --filter "sAMAccountName,objectClass,msDS-GroupMSAMembership" --ts -p  

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 22:42:36] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 22:42:36] [*] Using query: (objectClass=msDS-GroupManagedServiceAccount)
[2026-01-17 22:42:36] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
objectClass: top, person, organizationalPerson, user, computer, msDS-GroupManagedServiceAccount
sAMAccountName: jumpone$
msDS-GroupMSAMembership: AQAEgEAAAAAAAAAAAAAAABQAAAAEACwAAQAAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJmiEAAAECAAAAAAAFIAAAACACAAA=
--------------------


nTSecurityDescriptorを解析しないとどのアカウントやグループに確認権限があるのか分からん。

$ cat dec_ntsecdesc.py 
import base64
import struct

# msDS-GroupMSAMembership
data = base64.b64decode("AQAEgEAAAAAAAAAAAAAAABQAAAAEACwAAQAAAAAAJAD/AQ8AAQUAAAAAAAUVAAAAw5SODBZBSpaM7roJmiEAAAECAAAAAAAFIAAAACACAAA=")

from impacket.ldap.ldaptypes import SR_SECURITY_DESCRIPTOR

sd = SR_SECURITY_DESCRIPTOR(data)
for ace in sd['Dacl'].aces:
    print(ace['Ace']['Sid'].formatCanonical())
$ python dec_ntsecdesc.py
S-1-5-21-210670787-2521448726-163245708-8602


S-1-5-21-210670787-2521448726-163245708-8602は、何なのか。

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(objectSid=S-1-5-21-210670787-2521448726-163245708-8602)' --filter "sAMAccountName,objectClass" --ts 

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 22:40:30] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 22:40:31] [*] Using query: (objectSid=S-1-5-21-210670787-2521448726-163245708-8602)
[2026-01-17 22:40:31] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
objectClass: top, person, organizationalPerson, user
sAMAccountName: provisioningsvc
--------------------


あとは、該当アカウントやグループにログオンしてmsDS-ManagedPasswordのバイナリを読んで、変換してパスワード取得する。

sMSA: (objectClass=msDS-ManagedServiceAccount)

LAPS対象コンピュータ: (|(ms-Mcs-AdmPwdExpirationTime=*)(msLAPS-PasswordExpirationTime=*))

旧LAPSも込み。
実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(|(ms-Mcs-AdmPwdExpirationTime=*)(msLAPS-PasswordExpirationTime=*))' --filter "sAMAccountName,ms-Mcs-AdmPwdExpirationTime,msLAPS-PasswordExpirationTime,nTSecurityDescriptor" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 22:51:24] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 22:51:25] [*] Using query: (|(ms-Mcs-AdmPwdExpirationTime=*)(msLAPS-PasswordExpirationTime=*))
[2026-01-17 22:51:25] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
sAMAccountName: US-MAILMGMT$
ms-Mcs-AdmPwdExpirationTime: 134151754454390160
nTSecurityDescriptor: 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
--------------------


旧LAPS含めchemaIDGUIDの確認

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(|(lDAPDisplayName=msLAPS-Password)(lDAPDisplayName=msLAPS-EncryptedPassword)(lDAPDisplayName=msLAPS-EncryptedPasswordHistory)(lDAPDisplayName=ms-Mcs-AdmPwd)(lDAPDisplayName=ms-Mcs-AdmPwdExpirationTime))' --filter "lDAPDisplayName,schemaIDGUID" -dn "CN=Schema,CN=Configuration,DC=techcorp,DC=local" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 23:11:00] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 23:11:01] [*] Using query: (|(lDAPDisplayName=msLAPS-Password)(lDAPDisplayName=msLAPS-EncryptedPassword)(lDAPDisplayName=msLAPS-EncryptedPasswordHistory)(lDAPDisplayName=ms-Mcs-AdmPwd)(lDAPDisplayName=ms-Mcs-AdmPwdExpirationTime))
[2026-01-17 23:11:01] [*] Using distingushedName: CN=Schema,CN=Configuration,DC=techcorp,DC=local
--------------------
schemaIDGUID: cqPrHZcIX0aFqtMDdCOJ9g==
lDAPDisplayName: ms-Mcs-AdmPwd
--------------------
schemaIDGUID: Dtesnyqa20SokML38WFFlw==
lDAPDisplayName: msLAPS-Password
--------------------
schemaIDGUID: j1N97VUAKEWV+TfTnYnAxA==
lDAPDisplayName: msLAPS-EncryptedPassword
--------------------
schemaIDGUID: GNYi8RkDWkWFp6vYKpb1oQ==
lDAPDisplayName: ms-Mcs-AdmPwdExpirationTime
--------------------
schemaIDGUID: fQ/jNa0uGUmGTFzTghwZEg==
lDAPDisplayName: msLAPS-EncryptedPasswordHistory
--------------------


GUIDを変換。ここではms-Mcs-AdmPwdだけ必要だったのでそれだけ。

$ cat dec_schemaIDGUID.py 
import base64
import struct

def base64_to_guid(b64):
    data = base64.b64decode(b64)
    return "{:08x}-{:04x}-{:04x}-{:02x}{:02x}-{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}".format(
        struct.unpack('<I', data[0:4])[0],
        struct.unpack('<H', data[4:6])[0],
        struct.unpack('<H', data[6:8])[0],
        data[8], data[9], data[10], data[11], data[12], data[13], data[14], data[15]
    )

# ms-Mcs-AdmPwd
print(base64_to_guid("cqPrHZcIX0aFqtMDdCOJ9g=="))
$ python dec_schemaIDGUID.py
1deba372-0897-465f-85aa-d303742389f6


てか、実際のスキーマGUIDは環境によって異なる場合があるからスキーマから直接取得するのが確実なんですね。知らんかった。

dec_ntsecdesc_for_laps.py

$ cat dec_ntsecdesc_laps.py 
import base64
import struct
from impacket.ldap.ldaptypes import SR_SECURITY_DESCRIPTOR

# 既知のGUID(必要に応じて追加)
KNOWN_GUIDS = {
    "1deba372-0897-465f-85aa-d303742389f6": "ms-Mcs-AdmPwd (Legacy LAPS)",
#    "d3b27743-1c6e-40e3-b524-63415b1c1c1c": "msLAPS-Password",
#    "e87f7f7e-9e97-4f3a-b5f7-2c8c2d0d2f2e": "msLAPS-EncryptedPassword", 
    "00000000-0000-0000-0000-000000000000": "All Properties",
}

# AccessMaskの解釈
ACCESS_FLAGS = {
    0x00000001: "CREATE_CHILD",
    0x00000002: "DELETE_CHILD",
    0x00000004: "LIST_CONTENTS",
    0x00000008: "SELF",
    0x00000010: "READ_PROPERTY",
    0x00000020: "WRITE_PROPERTY",
    0x00000040: "DELETE_TREE",
    0x00000080: "LIST_OBJECT",
    0x00000100: "EXTENDED_RIGHT",
    0x00010000: "DELETE",
    0x00020000: "READ_CONTROL",
    0x00040000: "WRITE_DACL",
    0x00080000: "WRITE_OWNER",
    0x001F01FF: "FULL_CONTROL",
}

def parse_mask(mask):
    if mask == 0x001F01FF:
        return ["FULL_CONTROL"]
    flags = []
    for flag, name in ACCESS_FLAGS.items():
        if flag != 0x001F01FF and mask & flag:
            flags.append(name)
    return flags if flags else [hex(mask)]

def bytes_to_guid(b):
    if len(b) != 16:
        return None
    # GUIDはリトルエンディアンの混合形式
    return "{:08x}-{:04x}-{:04x}-{:02x}{:02x}-{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}".format(
        struct.unpack('<I', b[0:4])[0],
        struct.unpack('<H', b[4:6])[0],
        struct.unpack('<H', b[6:8])[0],
        b[8], b[9], b[10], b[11], b[12], b[13], b[14], b[15]
    )

data = base64.b64decode("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")


sd = SR_SECURITY_DESCRIPTOR(data)

print("=" * 80)
print("DACL ACEs")
print("=" * 80)

for i, ace in enumerate(sd['Dacl'].aces):
    ace_data = ace['Ace']
    sid = ace_data['Sid'].formatCanonical()
    mask = ace_data['Mask']['Mask']
    ace_type = ace['TypeName']
    
    print(f"\n[ACE {i}]")
    print(f"  Type: {ace_type}")
    print(f"  SID: {sid}")
    print(f"  AccessMask: {hex(mask)} -> {parse_mask(mask)}")
    
    # Object ACEの場合、ObjectTypeとInheritedObjectTypeを取得
    if 'ObjectType' in ace_data.fields and ace_data['ObjectType'] != b'':
        guid = bytes_to_guid(ace_data['ObjectType'])
        guid_name = KNOWN_GUIDS.get(guid, "Unknown")
        print(f"  ObjectType: {guid} ({guid_name})")
    
    if 'InheritedObjectType' in ace_data.fields and ace_data['InheritedObjectType'] != b'':
        guid = bytes_to_guid(ace_data['InheritedObjectType'])
        guid_name = KNOWN_GUIDS.get(guid, "Unknown")
        print(f"  InheritedObjectType: {guid} ({guid_name})")
$ python dec_ntsecdesc_laps.py|grep -B5 ms

[ACE 21]
  Type: ACCESS_ALLOWED_OBJECT_ACE
  SID: S-1-5-21-210670787-2521448726-163245708-1116
  AccessMask: 0x110 -> ['READ_PROPERTY', 'EXTENDED_RIGHT']
  ObjectType: 1deba372-0897-465f-85aa-d303742389f6 (ms-Mcs-AdmPwd (Legacy LAPS))
--

[ACE 22]
  Type: ACCESS_ALLOWED_OBJECT_ACE
  SID: S-1-5-10
  AccessMask: 0x20 -> ['WRITE_PROPERTY']
  ObjectType: 1deba372-0897-465f-85aa-d303742389f6 (ms-Mcs-AdmPwd (Legacy LAPS))

S-1-5-21-210670787-2521448726-163245708-1116にREADとか権限あると判明。

権限あるSIDをチェック

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(objectSid=S-1-5-21-210670787-2521448726-163245708-1116)' --filter "sAMAccountName,objectClass" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 23:06:22] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 23:06:23] [*] Using query: (objectSid=S-1-5-21-210670787-2521448726-163245708-1116)
[2026-01-17 23:06:23] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
objectClass: top, group
sAMAccountName: studentusers
--------------------

今のユーザがLAPSパスワードを確認できるなら、ms-Mcs-AdmPwd, msLAPS-Password, msLAPS-EncryptedPasswordか確認。

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(ms-Mcs-AdmPwd=*)' --filter "sAMAccountName,ms-Mcs-AdmPwd" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 22:08:56] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 22:08:57] [*] Using query: (ms-Mcs-AdmPwd=*)
[2026-01-17 22:08:57] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
ms-Mcs-AdmPwd: RUegI]c{+IX5Pc
sAMAccountName: US-MAILMGMT$
--------------------

ユーザアカウントのdescriptionにpassとかキーワード含まれていないか: (&(samAccountType=805306368)(description=*pass*))

ドメインコントローラ: (&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=8192))

実行例

$ soapy  us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=8192))' --filter "sAMAccountName,dNSHostName" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 22:18:04] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 22:18:05] [*] Using query: (&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=8192))
[2026-01-17 22:18:05] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
dNSHostName: US-DC.us.techcorp.local
sAMAccountName: US-DC$
--------------------

該当ユーザがどのようなグループに含まれているか: (member:1.2.840.113556.1.4.1941:=CN=studentuserXXX,CN=Users,DC=us,DC=techcorp,DC=local)

実行例

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(member:1.2.840.113556.1.4.1941:=CN=studentuserXXX,CN=Users,DC=us,DC=techcorp,DC=local)' --filter "sAMAccountName,distinguishedName" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 23:44:35] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 23:44:36] [*] Using query: (member:1.2.840.113556.1.4.1941:=CN=studentuserXXX,CN=Users,DC=us,DC=techcorp,DC=local)
[2026-01-17 23:44:36] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
distinguishedName: CN=StudentUsers,CN=Users,DC=us,DC=techcorp,DC=local
sAMAccountName: studentusers
--------------------
distinguishedName: CN=Managers,CN=Users,DC=us,DC=techcorp,DC=local
sAMAccountName: managers
--------------------
distinguishedName: CN=MaintenanceUsers,CN=Users,DC=us,DC=techcorp,DC=local
sAMAccountName: maintenanceusers
--------------------

ADCS系: (|(objectclass=pkiCertificateTemplate)(objectclass=CertificationAuthority)(objectClass=pkiEnrollmentService)(objectclass=msPKI-Enterprise-Oid))

実行例

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(|(objectclass=pkiCertificateTemplate)(objectclass=CertificationAuthority)(objectClass=pkiEnrollmentService)(objectclass=msPKI-Enterprise-Oid))' -dn 'CN=Configuration,DC=techcorp,DC=local' --filter "distinguishedName" --ts 

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-17 23:58:00] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-17 23:58:01] [*] Using query: (|(objectclass=pkiCertificateTemplate)(objectclass=CertificationAuthority)(objectClass=pkiEnrollmentService)(objectclass=msPKI-Enterprise-Oid))
[2026-01-17 23:58:01] [*] Using distingushedName: CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=User,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=UserSignature,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=SmartcardUser,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=ClientAuth,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=SmartcardLogon,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=EFS,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=Administrator,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=EFSRecovery,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=CodeSigning,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=CTLSigning,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=EnrollmentAgent,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=EnrollmentAgentOffline,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=MachineEnrollmentAgent,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=Machine,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=DomainController,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=WebServer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=CA,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=SubCA,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=IPSECIntermediateOnline,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=IPSECIntermediateOffline,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=OfflineRouter,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=CEPEncryption,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=ExchangeUser,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=ExchangeUserSignature,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=CrossCA,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=CAExchange,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=KeyRecoveryAgent,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=DomainControllerAuthentication,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=DirectoryEmailReplication,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=Workstation,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=RASAndIASServer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=OCSPResponseSigning,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=KerberosAuthentication,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=WDAC,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=Users,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=ForAdminsofPrivilegedAccessWorkstations,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=25.93EB8F78C71D8C203DC3FD19755FF4D1,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=26.B1831BE1E2E5954195BE714F2A7C5BD1,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=27.5CC12ECDFA35058BCE4830AD7B783432,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=28.E6D4C7929501D0C673B35403FA65E353,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=29.6E61B69ABC9EA0A7A0663F869E3624D4,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=30.559C10C869AFF64281A22DA82F6B93E9,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=31.F420AFBD955E5359449A97E8669EB721,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=32.89EE138321D55896ECA7279E9F086FE1,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=33.F151CB26AB9C26C0D44F28D740AEB083,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=400.212C52C91E6D8B5628BABF13CBBCD073,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=401.3BB64D93BBBFEA111C04C4F75E7E70CB,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=402.12E1E9A6C0DA39890485D35AFC47A539,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=9703063.209C417CF3E7CFF58B6E421367FD669F,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=2457001.4264A0482EF54F429314A4FCEFE437A3,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=16575009.BBA658188D71102FFD934316383D37F7,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=5449309.968A54371E5D536301980C43B2A9A8F4,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=12808357.71562F0591E59F7FA8A8D3D65DD44347,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=TECHCORP-DC-CA,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=TECHCORP-DC-CA,CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------
distinguishedName: CN=TECHCORP-DC-CA,CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=techcorp,DC=local
--------------------

パスワードポリシーとか: (objectClass=domain)

実行例

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(objectClass=domain)' --ts -p

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-18 02:28:50] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-18 02:28:50] [*] Using query: (objectClass=domain)
[2026-01-18 02:28:50] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
rIDManagerReference: CN=RID Manager$,CN=System,DC=us,DC=techcorp,DC=local
objectCategory: CN=Domain-DNS,CN=Schema,CN=Configuration,DC=techcorp,DC=local
msDS-NcType: 0
systemFlags: -1946157056 flags: CANNOT_MOVE, CANNOT_RENAME, CANNOT_DELETE
minPwdAge: -864000000000
dSCorePropagationData: 1600-12-31T19:03:58-04:56:02
uASCompat: 1
uSNChanged: 2900047
instanceType: 13 flags: HEAD_OF_NAMING_CONTEXT, OBJECT_WRITABLE, NAMING_CONTEXT_HELD
creationTime: 134129477488358022
pwdHistoryLength: 24
ms-DS-MachineAccountQuota: 10
subRefs: DC=DomainDnsZones,DC=us,DC=techcorp,DC=local
lockoutDuration: -18000000000
name: us
nextRid: 1000
msDS-AllUsersTrustQuota: 1000
repsTo: AgAAAAAAAAD4AQAAAAAAAF0XfR8DAAAAXRd9HwMAAAAAAAAA2AAAACABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJmt4vkrHl5Lpb+XGqj4GJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAEAABgAAAAAAAAAkAAAAAAAAAAAAAAAZgA5AGUAMgBhAGQAOQA5AC0AMQBlADIAYgAtADQAYgA1AGUALQBhADUAYgBmAC0AOQA3ADEAYQBhADgAZgA4ADEAOAA5ADQALgBfAG0AcwBkAGMAcwAuAHQAZQBjAGgAYwBvAHIAcAAuAGwAbwBjAGEAbAAAAAAAZgA5AGUAMgBhAGQAOQA5AC0AMQBlADIAYgAtADQAYgA1AGUALQBhADUAYgBmAC0AOQA3ADEAYQBhADgAZgA4ADEAOAA5ADQALgBfAG0AcwBkAGMAcwAuAHQAZQBjAGgAYwBvAHIAcAAuAGwAbwBjAGEAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
objectClass: top, domain, domainDNS
isCriticalSystemObject: TRUE
otherWellKnownObjects: B:32:683A24E2E8164BD3AF86AC3C2CF3F981:CN=Keys,DC=us,DC=techcorp,DC=local, B:32:1EB93889E40C45DF9F0C64D23BBB6237:CN=Managed Service Accounts,DC=us,DC=techcorp,DC=local
fSMORoleOwner: CN=NTDS Settings,CN=US-DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=techcorp,DC=local
msDS-IsPartialReplicaFor: CN=NTDS Settings,CN=TECHCORP-DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=techcorp,DC=local
uSNCreated: 7777
nTMixedDomain: 0
msDS-ExpirePasswordsOnSmartCardOnlyAccounts: TRUE
replUpToDateVector: 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
modifiedCountAtLastProm: 0
dSASignature: AQAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgLFctsfsp0Wllgzv8LZUQA==
modifiedCount: 1
objectGUID: 59EF1C1C-D7B6-4838-9302-A645B3913249
dc: us
whenCreated: 2019-07-05T03:48:21-04:00
msDS-Behavior-Version: 7
msDS-PerUserTrustTombstonesQuota: 10
gPLink: [LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=us,DC=techcorp,DC=local;0]
masteredBy: CN=NTDS Settings,CN=US-DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=techcorp,DC=local
minPwdLength: 7
whenChanged: 2026-01-15T05:49:08-05:00
auditingPolicy: AAE=
msDS-IsDomainFor: CN=NTDS Settings,CN=US-DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=techcorp,DC=local
lockoutThreshold: 0
pwdProperties: 1
distinguishedName: DC=us,DC=techcorp,DC=local
serverState: 1
forceLogoff: -9223372036854775808
lockOutObservationWindow: -18000000000
objectSid: S-1-5-21-210670787-2521448726-163245708
msDs-masteredBy: CN=NTDS Settings,CN=US-DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=techcorp,DC=local
wellKnownObjects: B:32:6227F0AF1FC2410D8E3BB10615BB5B0F:CN=NTDS Quotas,DC=us,DC=techcorp,DC=local, B:32:F4BE92A4C777485E878E9421D53087DB:CN=Microsoft,CN=Program Data,DC=us,DC=techcorp,DC=local, B:32:09460C08AE1E4A4EA0F64AEE7DAA1E5A:CN=Program Data,DC=us,DC=techcorp,DC=local, B:32:22B70C67D56E4EFB91E9300FCA3DC1AA:CN=ForeignSecurityPrincipals,DC=us,DC=techcorp,DC=local, B:32:18E2EA80684F11D2B9AA00C04F79F805:CN=Deleted Objects,DC=us,DC=techcorp,DC=local, B:32:2FBAC1870ADE11D297C400C04FD8D5CD:CN=Infrastructure,DC=us,DC=techcorp,DC=local, B:32:AB8153B7768811D1ADED00C04FD8D5CD:CN=LostAndFound,DC=us,DC=techcorp,DC=local, B:32:AB1D30F3768811D1ADED00C04FD8D5CD:CN=System,DC=us,DC=techcorp,DC=local, B:32:A361B2FFFFD211D1AA4B00C04FD7D83A:OU=Domain Controllers,DC=us,DC=techcorp,DC=local, B:32:AA312825768811D1ADED00C04FD8D5CD:CN=Computers,DC=us,DC=techcorp,DC=local, B:32:A9D1CA15768811D1ADED00C04FD8D5CD:CN=Users,DC=us,DC=techcorp,DC=local
msDS-PerUserTrustQuota: 1
maxPwdAge: -36288000000000
--------------------

MSSQLインスタンス: (servicePrincipalName=MSSQLSvc/*)

実行例

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(servicePrincipalName=MSSQLSvc/*)' --filter "sAMAccountName,servicePrincipalName,distinguishedName,objectClass" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-18 00:10:15] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-18 00:10:16] [*] Using query: (servicePrincipalName=MSSQLSvc/*)
[2026-01-18 00:10:16] [*] Using distingushedName: DC=us,DC=techcorp,DC=local
--------------------
servicePrincipalName: MSSQLSvc/us-mssql.us.techcorp.local, WSMAN/US-MSSQL, WSMAN/US-MSSQL.us.techcorp.local, TERMSRV/US-MSSQL, TERMSRV/US-MSSQL.us.techcorp.local, RestrictedKrbHost/US-MSSQL, HOST/US-MSSQL, RestrictedKrbHost/US-MSSQL.us.techcorp.local, HOST/US-MSSQL.us.techcorp.local
distinguishedName: CN=US-MSSQL,CN=Computers,DC=us,DC=techcorp,DC=local
objectClass: top, person, organizationalPerson, user, computer
sAMAccountName: US-MSSQL$
--------------------

ドメイントラスト: (objectClass=trustedDomain)

実行例

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(objectClass=trustedDomain)' --filter "name,trustDirection,trustType,trustAttributes,trustPartner,flatName,securityIdentifier" -dn "CN=System,DC=us,DC=techcorp,DC=local" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-18 00:11:40] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-18 00:11:41] [*] Using query: (objectClass=trustedDomain)
[2026-01-18 00:11:41] [*] Using distingushedName: CN=System,DC=us,DC=techcorp,DC=local
--------------------
flatName: TECHCORP
securityIdentifier: S-1-5-21-2781415573-3701854478-2406986946
trustAttributes: 32
trustPartner: techcorp.local
trustDirection: 3
trustType: 2
name: techcorp.local
--------------------
flatName: EU
securityIdentifier: S-1-5-21-3657428294-2017276338-1274645009
trustAttributes: 4
trustPartner: eu.local
trustDirection: 3
trustType: 2
name: eu.local
--------------------

フォレストトラスト(親ドメインから): (objectClass=trustedDomain)

foreignSecurityPrincipal(ちゃんと確認してないがこれで上手くいくはず): (&(objectClass=foreignSecurityPrincipal)(name=S-1-5-21-*))

実行例

$ soapy us.techcorp.local/studentuserXXX:'XXXXXXXXXXXXXXXXXXXX'@192.168.1.2 --query '(&(objectClass=foreignSecurityPrincipal)(name=S-1-5-21-*))' --filter "name,distinguishedName,memberOf" -dn "CN=ForeignSecurityPrincipals,DC=us,DC=techcorp,DC=local" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-18 00:18:55] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-18 00:18:56] [*] Using query: (&(objectClass=foreignSecurityPrincipal)(name=S-1-5-21-*))
[2026-01-18 00:18:56] [*] Using distingushedName: CN=ForeignSecurityPrincipals,DC=us,DC=techcorp,DC=local
[-] No objects found
--------------------


ご存知の通り、今のドメインオブジェクトが外部ドメインに権限を持つかは、そのドメインで確認しなければならない。

ShadowCredential Attackが可能か: (lDAPDisplayName=msDS-KeyCredentialLink)

msDS-KeyCredentialLink属性が存在するならできるとという判断
実行例

$ soapy us.techcorp.local/studentuser149:'nfd3ZWEsCzrA6H8S'@192.168.1.2 --query '(lDAPDisplayName=msDS-KeyCredentialLink)' --filter "lDAPDisplayName,schemaIDGUID" -dn "CN=Schema,CN=Configuration,DC=techcorp,DC=local" --ts

███████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
██╔════╝██╔═══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
███████╗██║   ██║███████║██████╔╝ ╚████╔╝ 
╚════██║██║   ██║██╔══██║██╔═══╝   ╚██╔╝  
███████║╚██████╔╝██║  ██║██║        ██║   
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝        ╚═╝  

@_logangoins
github.com/jlevere

[2026-01-18 00:20:18] [*] Connecting to 192.168.1.2 for resource:Enumeration
[2026-01-18 00:20:19] [*] Using query: (lDAPDisplayName=msDS-KeyCredentialLink)
[2026-01-18 00:20:19] [*] Using distingushedName: CN=Schema,CN=Configuration,DC=techcorp,DC=local
--------------------
schemaIDGUID: D9ZHW5BgskCfNypN6I8wYw==
lDAPDisplayName: msDS-KeyCredentialLink
--------------------


気になるようであれば、こべつでWindows Server 2016以降のドメイン機能レベルとか、PKINITとか確認しても良い。

色々と迷走したが、個人的にはOPSECを大事にしたい

網羅性とか考えてみたり、何か途中変な感じになったりしたが、大事にしたいのはOPSEC。

網羅性は実力でもぎもぎフルーツ。