偵察/スキャン
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にアクセスすると以下のページが表示されます。
「Open a New Ticket」ではメールアドレスを入力して質問を投稿でき、「Check Ticket Status」ではメールアドレスとTicket Numberで状況が確認できるもののようです。
アクセス取得
「Open a New Ticket」でチケットを登録してみます。
チケットを登録すると上記のメッセージが表示されます。
中ほどのメッセージではさらに情報を追加したい場合に送信可能と思われるメールアドレスが表示されます。
上記で自動作成されたメールアドレスを使用してMattermostでアカウントを作成してみます。
その後、最初に登録したチケットのステータスを確認するとMattermostの登録情報が送付され、アクセス可能と思われるURLが取得できます。
上記で得られたURLにアクセスしてみます。
上記のチャットではサーバへのアクセス情報が投稿されています。
@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を実行します。
/opt/mattermost/configディレクトリにある「config.json」にはMattermostの構成情報が記載されていります。
データベース接続情報は次のとおりです。
上記をもとにデータベースへ接続してみます。
mattermostで使用しているデータベース内に「Users」というテーブルがあります。
上記より、ユーザ名とパスワードを取得してみます。
hash値の形式より-m 3200を指定します。
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に移行します。
参考にさせていただいたサイト
貴重な情報をありがとうございます。