TryHackMe RootMe writeup
RootMeのwriteupです。
Task 1 Deploy the machine
Deploy the machine
マシンを立ち上げるだけです。
Task 2 Reconnaissance
Scan the machine, how many ports are open?
nmapで調査します。次の問題に答えるために、-sのオプションをつけてサービスも検索します。
What version of Apache is running?
一つ前の調査で確認できます。
What service is running on port 22?
これも2つ前の調査で確認できますね。
Find directories on the web server using the GoBuster tool.
gobusterを使えとのことなので、gobusterで調べてみます。
What is the hidden directory?
BurpSuiteでディレクトリ構造を見てみると、cssとjsはありそうですね。
上記で出てきたあるディレクトリにアクセスするとアップロード用のページが表示されました。これが隠しページのようですね。
Task 3 Getting a shell
user.txt
リバースシェルスクリプトが入ったPHPをアップロードしてみます。
アップロードできなかったようです。
ファイル名をphp5に変えてアップロードしてみます。
アップロード成功したようです!
拡張子がphpだけチェックされていて、甘いチェック機構だったようですね。。
/uploads/ディレクトリを見てみると先ほどアップロードしたphpがありました。
ここで、ローカルでncコマンドで待ち構えてブラウザからphpを実行してみると、
リバースシェルが獲得できました!
user.txtについて聞かれているので、 find / -name "user.txt"
を実行すると見つかりました。
これを見てみると、フラグをGETできました。
Task 4 Privilege escalation
Search for files with SUID permission, which file is weird?
下記コマンドでサーチします。
find / -type f -a \( -perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2> /dev/null
pythonが使えそうです。
Find a form to escalate your privileges.
次に、特権昇格できる方法を下記のサイトで調べます。
python > SUIDで調べてみると、下記のコマンドが使えそうです。
/usr/bin/python -c 'import os; os.execl("/bin/sh", "sh", "-p")'
root.txt
打ってみると・・・rootに昇格できました。
後はroot.txtを調べてフラグGETです!