TryHackMe Writeup:Agent Sudo

# はじめに
今回も難易度`Easy`のルーム`Agent Sudo`のwriteupを書いていきたいと思います．

# Task1:Author note
マシンを起動するだけですね．

# Task2:Enumerate
## ポートスキャン
とりあえずいつも通りポートスキャンします．
`sudo nmap -p- -vv -T4 -O -sV 10.10.4.106`
![Pasted image 20240228101801.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/7468fe74-9c88-4c89-3e2a-8f3f26a48284.png)
80番，21番，22番の3つのポートが開いているみたいですね．(sshとhttpとftp)

# ディレクトリ探索
`sudo gobuster dir -u 10.10.4.106 -w /usr/share/wordlists/dirb/common.txt -o gobuster_dir.log`
特に何もありませんね．wordlistも変えてみましたが特に使えそうな情報は得られませんでした．
![Pasted image 20240228102219.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/6b006048-adb8-83ff-d9de-afbcb471e953.png)

## ブラウザから接続
Firefoxで該当のサイトに接続してみます．
![Pasted image 20240228102359.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/b740ca89-c23f-15ec-f698-683f17c4000a.png)
`How you redirect yourself to a secret page?`に関してヒントを見ると`xxxx-xxxxx`
とあったのでこのページにある`user-agent`かなと思ったら，やっぱりそうでした．

`What is the agent name?`についてもヒントは`You might face problem on using Firefox. Try 'user agent switcher' plugin with user agent: C`とのことでした．
最後のCって何ですかね？

`user agent switcher`とはということで，そもそも`user agent`とは利用者が利用しているOSやブラウザのことらしいです．

Burpsuiteを使ってみます．
`Burpsuite`を起動→`Proxy`タブを`intercept is on`にして，ブラウザを開きます．
![Pasted image 20240228105924.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/6876af44-b790-1977-b427-2c93686448b1.png)
ここのアドレスバーの部分にIPアドレスを入力します．
![Pasted image 20240228110001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/df4ccb52-358b-fdfe-5c3c-f4ab031ec07d.png)
このような画面が出てきます．右側に`User-Agent`という項目があります．
ここを任意の値に変更できます．ヒントに`user agent: C`とあったのでここを`C`にして`Forward`します．するとページの内容が変わりましたね．
![Pasted image 20240228110202.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/dcaede89-1aaa-0482-93e7-bc00d69a5ea2.png)
エージェント名は`chris`のようです．

# Task3：Hash cracking and brute-force
FTPパスワードについてです．
とりあえず`Anonymous`でログインできるか試してみます．
`sudo hydra -l anonymous -P /usr/share/wordlists/password.txt 10.10.4.106 ftp`
![Pasted image 20240228112428.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/6a81b3ca-30db-ff4e-b48a-aeec190314d3.png)
特になさそうです．
次に先ほどの`chris`で試してみます.
![Pasted image 20240228112721.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/2833a7ab-3441-d183-d97e-b58b81eef019.png)
パスワードは`crystal`ですね.
最初から`chris`で試すべきでした．

これでFTPにログインしてみます．
![Pasted image 20240228112930.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/5bc39b7d-4238-8cd9-6016-82d8e1fe2c19.png)
![Pasted image 20240228113008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/ee024c56-9d11-784c-da15-28a89d6915a8.png)
３つのファイルがありますね．
＊このファイルがダウンロードできないなぁと思ったらローカルの権限ミスでした．いつもこれに引っかかります…

`get`コマンドでダウンロードします．
![Pasted image 20240228114443.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/a829b2a6-954c-c9f5-9c02-28bd6743edab.png)
こういう画像がダウンロードできました．
`To_agentJ.txt`はこんな感じです．
![Pasted image 20240228113130.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/3e5d23e4-3662-4d0e-1e72-d588e1ada4f9.png)
パスワードは偽の画像の中にあるよ見たいな感じですね．

`Zip file password`のヒントを見るとJohnをあります．「Agent J」というのはJohnのことなんですかね？

先ほどダウンロードした画像をexiftoolで見てみます．
`cutie.png`のほうを見てみると
![Pasted image 20240228114645.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/c2904cdb-a1bd-be44-591f-96c10808534c.png)
何か埋め込まれてるみたい？ですね．
`Warning: [minor] Trailer data after PNG IEND chunk`は画像が変更されている可能性を示すようです．

ここから何か取り出せないかなと思ったのですがわからなかったので，`binwalk`を使います．

`binwalk -e cutie.png`
![Pasted image 20240228124008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/c4aafaf2-52f9-3626-48d9-3b98b092679a.png)
zipファイルが取得できました．
![Pasted image 20240228124030.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/bccd76f2-d700-6bcd-b38f-c6b09e25b1c0.png)

開こうとするとパスワードを求められます．
![Pasted image 20240228124243.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/e64c4acb-2801-e41b-5d51-78d145a3e128.png)

john the ripperで解析します．
参考：https://qiita.com/chebo_taro/items/a8e8323ccb0716be7a72

`zip2john 8702.zip > credential.hash`
![Pasted image 20240228124736.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/0dd6f941-1bd4-bcb7-ebfa-cbb3f613337b.png)
パスワードは`alien`ですね．

これでzipファイルを解凍します．
![Pasted image 20240228124835.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/01e09b82-208f-f1ab-11b0-940131855f94.png)
`QXJlYTUx`は何かのパスワード？ハッシュですかね．
steghideコマンド試してみます．
`steghide -sf cute-alien.jpg`
パスワードに`QXJlYTUx`入れてみます．違いました．

とりあえず検索してみたらbase64関連みたいですね．
デコードしてみます．
`echo 'QXJlYTUx' | base64 -d`
![Pasted image 20240228142945.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/d6a4f42a-ce0d-16c6-859a-ef5e8fc64a9c.png)
'Area51'というのが出てきました．
これが問題のsteg passみたいですね．

これをもう一度steghideに試してみます．
![Pasted image 20240228143831.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/151f0ad6-bb46-077b-b3a6-0ced322a1bc8.png)
message.txtが得られました．
![Pasted image 20240228144014.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/f1793722-1cc5-6f00-69ce-fbde32737319.png)
jamesのログインパスワードがわかりましたね．
SSHのログインパスワードですかね？

## Capture the user flag
先ほどのパスワードを使ってSSHでログインしてみます．
`ssh james@10.10.90.235`
![Pasted image 20240228144454.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/248d192d-f2ca-7e5f-1c03-66973a792999.png)

`user_flag.txt`が見つかりました．
`What is the incident of the photo called?`とのことなのでscpでコピーしてきます．
`scp james@10.10.90.235:Alien_autospy.jpg ./` 
![Pasted image 20240228144813.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/aa8bd961-ee64-a613-0569-94bb7aa1c15f.png)

画像が手に入りました．
これをgoogle画像検索してみるとロズウェル事件というキーワードが引っ掛かりました．
「ロズウェル事件・foxnews」で調べると`Roswell alien autopsy`というのが引っ掛かりました．これが答えです．

## Task5：Privilege escalation
いつも通り`sudo -l`で，rootで実行できるコマンド確認
![Pasted image 20240228151726.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/7a6a314e-b102-9c5c-612f-46cdf0728103.png)
これをネットで調べてみると，
https://www.jpcert.or.jp/newsflash/2019101601.html
こういう脆弱性があるみたいですね．
上のサイトを参考に`sudo -u#-1 /bin/bash`
![Pasted image 20240228152345.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/3aa538fb-95a7-6647-c833-7f29c2e8f1f8.png)
これで権限昇格できましたね．

`/root/root.txt`に最後の答えがあります．
Agent Rが誰かについてもこの中に書いてあります．


## おわりに
このルームは個人的に今までのルームで一番解いて楽しかったですね．
特に権限昇格できたときとかめっちゃ楽しいです．
今回はロズウェル事件がテーマということで`alien`だったり'area51'などUFOにまつわるキーワードがいくつか出てきてましたね．
＊'area51'に関しては僕は知りませんでした．