【HackTheBox】Instant：Writeup

# 概要

HackTheBox「Instant」のWriteupです。

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

# User Flag

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

```
$ nmap -Pn -sVC -T4 -A -p- -oN nmap_result 10.10.11.37
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 31:83:eb:9f:15:f8:40:a5:04:9c:cb:3f:f6:ec:49:76 (ECDSA)
|_  256 6f:66:03:47:0e:8a:e0:03:97:67:5b:41:cf:e2:c7:c7 (ED25519)
80/tcp open  http    Apache httpd 2.4.58
|_http-title: Did not follow redirect to http://instant.htb/
```

ポートの稼働状況が分かりました。

|ポート|サービス|バージョン|
|:-:|:-:|:-:|
|22|ssh|OpenSSH 9.6p1|
|80|http|Apache httpd 2.4.58|

ドメインを`/etc/hosts`に追加し、Webサイトにアクセスします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/50664b47-aa47-72f5-3a04-584103024e96.png)

ダウンロードボタンから`instant.apk`をダウンロード出来ました。
`jadx-gui`でapkファイルを解析します。

https://github.com/skylot/jadx?tab=readme-ov-file

ソースコードから`mywalletv1.instant.htb`というサブドメインを発見しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/2da713d1-c551-ef1a-a878-4cf460cdf9c8.png)

また、`AdminActivites`からトークンも得られました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/4e95511d-0e59-2cd0-5314-f39a179e6aec.png)

リクエストヘッダーにトークンを設定し、`/api/v1/view/profile`へアクセスすると管理者のプロフィールを閲覧出来ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/039a1455-ed54-d663-b9bf-9ee979ab4dd6.png)

さらにサブドメインの検索をすると、サブドメイン`swagger-ui.instant.htb`を発見しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/a643d102-a52e-b341-b4f1-148d7dd20c81.png)

アクセスし、APIのドキュメントを入手できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/5c62e63b-1b80-e73e-e89e-c620e0dac16b.png)

`/api/v1/admin/view/logs`のレスポンスから`1.log`と`shirohige`アカウントの情報を得られました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/907893bb-5544-ae08-fc7f-91fae0bbb38c.png)

`/api/v1/admin/read/log?log_file_name=1.log`にアクセスし、`1.log`の内容を閲覧出来ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/97b6784d-ed53-3230-7a4e-bcc715e1c0f7.png)

パストラバーサルの悪用に成功し、SSHの秘密鍵を入手できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/9e711e27-8a9d-cb35-4fb9-06f70ad6bcc6.png)

`shirohige`アカウントにSSH接続し、ユーザーフラグを入手できました。

```
$ ssh -i id_rsa shirohige@instant.htb
shirohige@instant:~$ cat user.txt 
51a3079abfe7fcf71319e80c1874c722
```

# Root Flag

`/opt/backups/Solar-PuTTY/sessions-backup.dat`ファイルを発見しました。

```
$ ls -la /opt/backups/Solar-PuTTY/sessions-backup.dat 
-rw-r--r-- 1 shirohige shirohige 1100 Sep 30 11:38 /opt/backups/Solar-PuTTY/sessions-backup.dat
```

Solar Puttyのセッション情報が入ったファイルのようですが、中身は暗号化されています。

https://www.solarwinds.com/free-tools/solar-putty

```/opt/backups/Solar-PuTTY/sessions-backup.dat
ZJlEkpkqLgj2PlzCyLk4gtCfsGO2CMirJoxxdpclYTlEshKzJwjMCwhDGZzNRr0fNJMlLWfpbdO7l2fEbSl/OzVAmNq0YO94RBxg9p4pwb4upKiVBhRY22HIZFzy6bMUw363zx6lxM4i9kvOB0bNd/4PXn3j3wVMVzpNxuKuSJOvv0fzY/ZjendafYt1Tz1VHbH4aHc8LQvRfW6Rn+5uTQEXyp4jE+ad4DuQk2fbm9oCSIbRO3/OKHKXvpO5Gy7db1njW44Ij44xDgcIlmNNm0m4NIo1Mb/2ZBHw/MsFFoq/TGetjzBZQQ/rM7YQI81SNu9z9VVMe1k7q6rDvpz1Ia7JSe6fRsBugW9D8GomWJNnTst7WUvqwzm29dmj7JQwp+OUpoi/j/HONIn4NenBqPn8kYViYBecNk19Leyg6pUh5RwQw8Bq+6/OHfG8xzbv0NnRxtiaK10KYh++n/Y3kC3t+Im/EWF7sQe/syt6U9q2Igq0qXJBF45Ox6XDu0KmfuAXzKBspkEMHP5MyddIz2eQQxzBznsgmXT1fQQHyB7RDnGUgpfvtCZS8oyVvrrqOyzOYl8f/Ct8iGbv/WO/SOfFqSvPQGBZnqC8Id/enZ1DRp02UdefqBejLW9JvV8gTFj94MZpcCb9H+eqj1FirFyp8w03VHFbcGdP+u915CxGAowDglI0UR3aSgJ1XIz9eT1WdS6EGCovk3na0KCz8ziYMBEl+yvDyIbDvBqmga1F+c2LwnAnVHkFeXVua70A4wtk7R3jn8+7h+3Evjc1vbgmnRjIp2sVxnHfUpLSEq4oGp3QK+AgrWXzfky7CaEEEUqpRB6knL8rZCx+Bvw5uw9u81PAkaI9SlY+60mMflf2r6cGbZsfoHCeDLdBSrRdyGVvAP4oY0LAAvLIlFZEqcuiYUZAEgXgUpTi7UvMVKkHRrjfIKLw0NUQsVY4LVRaa3rOAqUDSiOYn9F+Fau2mpfa3c2BZlBqTfL9YbMQhaaWz6VfzcSEbNTiBsWTTQuWRQpcPmNnoFN2VsqZD7d4ukhtakDHGvnvgr2TpcwiaQjHSwcMUFUawf0Oo2+yV3lwsBIUWvhQw2g=
```

脆弱性を調べると、`4.0.0.47`以前のバージョンでは、エクスポートされたデータを復号できるようです。

https://hackmd.io/@tahaafarooq/cracking-solar-putty

復号には下記ツールを使用しました。

https://github.com/VoidSec/SolarPuttyDecrypt

コマンドを実行するとエラーが出力され、データファイルをインポートする際のパスワードも必要なようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/08f82488-b581-ebea-c2d9-2abe5c27bb07.png)

Solar Puttyにセッションファイルをインポートする際も、パスワードを要求されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/2fd60e1f-04df-0ac7-90d1-e650e2ba7d7c.png)

パスワードのクラックには下記ツールを使用しました。

https://github.com/ItsWatchMakerr/SolarPuttyCracker/tree/main

ツールを実行し、パスワードが`estrella`だと分かりました。

```
$ python SolarPuttyCracker.py -w /usr/share/wordlists/rockyou.txt ../sessions-backup.dat
   ____       __             ___         __   __          _____                 __            
  / __/___   / /___ _ ____  / _ \ __ __ / /_ / /_ __ __  / ___/____ ___ _ ____ / /__ ___  ____
 _\ \ / _ \ / // _ `// __/ / ___// // // __// __// // / / /__ / __// _ `// __//  '_// -_)/ __/
/___/ \___//_/ \_,_//_/   /_/    \_,_/ \__/ \__/ \_, /  \___//_/   \_,_/ \__//_/\_\ \__//_/   
                                                /___/                                         
Trying to decrypt using passwords from wordlist...
Decryption successful using password: estrella
[+] DONE Decrypted file is saved in: SolarPutty_sessions_decrypted.txt
```

再度パスワード付きで復号ツールを実行すると、`root`のパスワードを得られました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3005822/7413d312-df8a-7747-fef0-20ce5a17b1d3.png)

得られたパスワードでrootに昇格でき、ルートフラグを入手できました。

```
shirohige@instant:~$ su root
Password: 
root@instant:/home/shirohige# cat /root/root.txt 
6739a624098204ab94164ba546311225
```