家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

【Hack The Box】Delivery

偵察/スキャン

nmapでスキャンします。

┌──(kali㉿kali)-[~]
└─$ nmap -P0 -sC -sV -A -p- 10.10.10.222
Starting Nmap 7.93 ( https://nmap.org ) 
Nmap scan report for delivery.htb (10.10.10.222)
Host is up (0.18s latency).
Not shown: 65532 closed tcp ports (conn-refused)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 9c40fa859b01acac0ebc0c19518aee27 (RSA)
|   256 5a0cc03b9b76552e6ec4f4b95d761709 (ECDSA)
|_  256 b79df7489da2f27630fd42d3353a808c (ED25519)
80/tcp   open  http    nginx 1.14.2
|_http-title: Welcome
|_http-server-header: nginx/1.14.2
8065/tcp open  unknown
| fingerprint-strings: 
|   GenericLines, Help, RTSPRequest, SSLSessionReq, TerminalServerCookie: 
|     HTTP/1.1 400 Bad Request
|     Content-Type: text/plain; charset=utf-8
|     Connection: close
|     Request
|   GetRequest: 
|     HTTP/1.0 200 OK
|     Accept-Ranges: bytes
|     Cache-Control: no-cache, max-age=31556926, public
|     Content-Length: 3108
|     Content-Security-Policy: frame-ancestors 'self'; script-src 'self' cdn.rudderlabs.com
|     Content-Type: text/html; charset=utf-8
|     Last-Modified: Fri, 14 Oct 2022 13:19:57 GMT
|     X-Frame-Options: SAMEORIGIN
|     X-Request-Id: 333qzqpxdtbtxdk6gtr4xh6iuo
|     X-Version-Id: 5.30.0.5.30.1.57fb31b889bf81d99d8af8176d4bbaaa.false
|     Date: Fri, 14 Oct 2022 13:57:53 GMT
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned 

TCP22,80,8065が開いていることがわかりました。
TCP/8065は、Mattermostというオープンソースのチャットサービスで使用されているポートのようです。

 

ブラウザでアクセスすると以下のような画面が表示されます。

ブラウザでアクセスした様子

サイトには以下のようなメッセージが書かれています。

メール関連のすべてのサポートを受けるのに最適な場所
アカウントについては、ヘルプデスクをご覧ください

 

また、dirbでは以下のページが見つかりました。

┌──(kali㉿kali)-[~]
└─$ gobuster vhost -u http://delivery.htb -w /home/kali/subdomains-top1million-110000.txt -t 150
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:          http://delivery.htb
[+] Method:       GET
[+] Threads:      150
[+] Wordlist:     /home/kali/subdomains-top1million-110000.txt
[+] User Agent:   gobuster/3.1.0
[+] Timeout:      10s
===============================================================
Found: helpdesk.delivery.htb (Status: 200) [Size: 4933]
===============================================================

helpdesk.delivery.htbにアクセスすると以下のページが表示されます。

helpdeskアクセスイメージ

「Open a New Ticket」ではメールアドレスを入力して質問を投稿でき、「Check Ticket Status」ではメールアドレスとTicket Numberで状況が確認できるもののようです。

 

アクセス取得

「Open a New Ticket」でチケットを登録してみます。

チケット登録成功

チケットを登録すると上記のメッセージが表示されます。
中ほどのメッセージではさらに情報を追加したい場合に送信可能と思われるメールアドレスが表示されます。

 

上記で自動作成されたメールアドレスを使用してMattermostでアカウントを作成してみます。

Mattermostログイン画面

 

その後、最初に登録したチケットのステータスを確認するとMattermostの登録情報が送付され、アクセス可能と思われるURLが取得できます。

チケット新規登録

 

上記で得られたURLにアクセスしてみます。

Mattermostのチャット画面

 

上記のチャットではサーバへのアクセス情報が投稿されています。

@developers Please update theme to the OSTicket before we go live. Credentials to the server are maildeliverer:Youve_G0t_Mail!

11:30 PM

Also please create a program to help us stop re-using the same passwords everywhere.... Especially those that are a variant of "PleaseSubscribe!"

上記をもとにSSHのアクセスするとログインできました。

アクセス成功

特権昇格

linpeas.shを実行します。

linpeas.sh実行結果より

/opt/mattermost/configディレクトリにある「config.json」にはMattermostの構成情報が記載されていります。
データベース接続情報は次のとおりです。

SQL接続情報

 

上記をもとにデータベースへ接続してみます。

データベース接続

mattermostで使用しているデータベース内に「Users」というテーブルがあります。

Usersテーブルの中身

上記より、ユーザ名とパスワードを取得してみます。

rootのハッシュ値取得

 

hash値の形式より-m 3200を指定します。

hashcat.net

hasucatでパスワード解析します。

 

┌──(kali㉿kali)-[~]
└─$ cat pass.txt 

PleaseSubscribe!

┌──(kali㉿kali)-[~]
└─$ hashcat -m 3200 hash.txt pass.txt -r /usr/share/hashcat/rules/best64.rule 
hashcat (v6.2.6) starting
OpenCL API (OpenCL 3.0 PoCL 3.0+debian  Linux, None+Asserts, RELOC, LLVM 13.0.1, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
============================================================================================================================================
* Device #1: pthread-AMD Ryzen 3 3100 4-Core Processor, 2156/4377 MB (1024 MB allocatable), 4MCU
Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 72
Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 77
Optimizers applied:
* Zero-Byte
* Single-Hash
* Single-Salt
Watchdog: Hardware monitoring interface not found on your system.
Watchdog: Temperature abort trigger disabled.
Host memory required for this attack: 0 MB
Dictionary cache built:
* Filename..: pass.txt
* Passwords.: 1
* Bytes.....: 17
* Keyspace..: 77
* Runtime...: 0 secs
The wordlist or mask that you are using is too small.
This means that hashcat cannot use the full parallel power of your device(s).
Unless you supply more work, your cracking speed will drop.
For tips on supplying more work, see: https://hashcat.net/faq/morework
Approaching final keyspace - workload adjusted.           
$2a$10$VM6EeymRxJ29r8Wjkr8Dtev0O.1STWb4.4ScG.anuu7v0EFJwgjjO:PleaseSubscribe!21
                                                          
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 3200 (bcrypt $2*$, Blowfish (Unix))
Hash.Target......: $2a$10$VM6EeymRxJ29r8Wjkr8Dtev0O.1STWb4.4ScG.anuu7v...JwgjjO
Time.Started.....: Sun Dec 18 22:46:03 2022 (2 secs)
Time.Estimated...: Sun Dec 18 22:46:05 2022 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (pass.txt)
Guess.Mod........: Rules (/usr/share/hashcat/rules/best64.rule)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:       13 H/s (1.61ms) @ Accel:4 Loops:32 Thr:1 Vec:1
Recovered........: 1/1 (100.00%) Digests (total), 1/1 (100.00%) Digests (new)
Progress.........: 21/77 (27.27%)
Rejected.........: 0/21 (0.00%)
Restore.Point....: 0/1 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:20-21 Iteration:992-1024
Candidate.Engine.: Device Generator
Candidates.#1....: PleaseSubscribe!21 -> PleaseSubscribe!21

 

hashcutでrootに移行します。

root権限取得

 

参考にさせていただいたサイト

貴重な情報をありがとうございます。

0xdf.gitlab.io

www.secjuice.com