TryHackMe Writeup:Cyborg

# はじめに
今回はTryHackMeの難易度Easyのルーム「Cyborg」のWriteupを書きたいと思います．
なんか強そうなルーム名ですね．

# Task1
これはマシンを起動するだけですね．

# Task2
おなじみのマシンに侵入して`user.txt`と`root.txt`を見つけてね．ということみたいです．

## ポートスキャン
いつも通りまずポートスキャンです．
`sudo nmap -p- -vv -T4 -O -sV 10.10.242.182`
![Pasted image 20240227134333.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/1e9600ca-c738-20df-1834-35a4c2e3db29.png)
22番でsshが，80番でhttpが動いているみたいですね．これで1問目と2問目は解けますね．

## ディレクトリ探索
次はディレクトリ探索です．
`sudo gobuster dir -u 10.10.242.182 -w /usr/share/wordlists/dirb/common.txt -o gobuster_dir.log`
![Pasted image 20240227135610.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/3a724f5f-2c6b-2f1b-c579-f4193703db0c.png)
`admin`と`etc`というディレクトリがあるみたいですね．

## ブラウザで接続
まずは`/etc`から見てみます．
![Pasted image 20240227135701.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/41e5c49d-f90e-8ff7-473e-ec72487d4159.png)
![Pasted image 20240227135743.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/fe5c36c9-6e1e-74ca-89a0-3a7dd5de3f06.png)
こんな感じになってました．
`passwd`には`music_archive:$apr1$BpZ.Q.1m$F0qqPwHSOG50URuOVQTTn.`という文字列が書かれていました．hash-identifierで調べるとMD5らしいです．
このハッシュの部分を書きだします．
`echo <ハッシュ値> > hash.txt`

john the ripperで解析します．
`john -w /usr/share/wordlist/rockyou.txt hash.txt`

＊ここで当てはまるもパスワードがなく，1時間ほど使いましたが上手くいかないので他の方のwriteupを見て解析結果だけ見ました．(使ってるwordlist同じなのになんで出なかったんだろ…わかる方いますか？)

`squid.conf`は以下のような内容でした.
これは特に使わなかったですね．
```
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
```

続いて`/admin`を見てみます．
![Pasted image 20240227140008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/606fb154-d2fe-874b-8763-49b4a4ee07e0.png)
管理画面っぽいものが出てきました．
上のバーのところに`Archive→Download`という項目から`archive.tar`がダウンロードできるのでこれを解凍してみます．
`tar -xvf archive.tar`
![Pasted image 20240227151026.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/c892d5ab-12c7-298c-b99e-03f082a7b808.png)
何かいろいろ入ってますね．
`README`を見てみると
![Pasted image 20240227143433.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/7e2ac506-14d5-51a2-5e00-8ecac9e6a228.png)
`borgbackup`というのを使ってるみたいですね．
BorgBackupとは高速にバックアップが行えるツールのことのようです．
これを何とかして復元していきます．
`borg list home/field/dev/final_archive`
ここでパスワードを求められるので，先ほどの`john`で解析したパスワードを入力します．
![Pasted image 20240227215119.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/f95649fe-6c3f-feb7-af26-1cb9b345dabe.png)
`music_archive`というのがありますね．
`mkdir music_archive`
`borg mount ./home/field/dev/final_archive::music_archive ./music_archive`で復元します．

＊この時`borg mount not available: no FUSE support, BORG_FUSE_IMPL=pyfuse3.`というエラーに苦戦しました．[ここ](https://github.com/borgbackup/borg/releases)を参考に`pip install pkgconfig`したらいけました．

復元後，`alex`というディレクトリがあります．
`user.txt`を探してみます．
`find ./ -name user.txt`
ありませんね．

それぞれのディレクトリを見ていくと`Document/note.txt`に
![Pasted image 20240227215815.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/ac5bf16e-6d5c-792a-dbef-28590a918e1f.png)
がありました．sshのパスワードですかね？

やってみます．
`ssh alex@10.10.160.224`でパスワードは上のもの．
![Pasted image 20240227220005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/f01c1006-4b56-3ed3-fd6c-069bbb58dc9b.png)
入れましたね．

## Privilege escalation
ヒントに`There might be an interesting file running as root.`とあったので`sudo -l`を試してみます．
![Pasted image 20240227220721.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/dc706615-41d8-f064-696f-b6e48bfbdfc3.png)
`backup.sh`がパスワード無しで実行できるみたいですね．
中身を見てみると実行時に`-c`オプションの後にコマンドを与えるとそれがrootとして実行されるようです．
`chmod 777 /etc/mp3backups/backup.sh`
`/etc/mp3backups/backup.sh -c /bin/bash`
これでrootに昇格できました．
flagは`/root/root.txt`にあります．
＊コマンド入力しても出てこないなと思ったら`exit`したらまとめて出てきました笑
![Pasted image 20240227223513.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3015493/e344f68f-0ed6-1427-c15d-6ee47a57bcfe.png)

# 終わりに
ハッシュ解析のところは初めてにしては文字列を見ただけでハッシュかなと考えることができたのは成長かなと思います．
それにしてもなんで解析できなかったのかは不明です．何かわかる人いたら教えてほしいです．
ルーム名のCyborgはborgbackupとかかってるんですかね？笑