Library Writeup
boot2root machine for FIT and bsides guatemala CTF
Libraryはブルートフォース攻撃と特権昇格を行いマシンのrootアクセスを取得するシンプルなroomとなっています
ゴールまで必要なもの
・user.txt
・root.txt
Task1
・user.txt
はじめにnmapを使用しポートのスキャンを実行します。より詳細な情報が欲しいので-sVと-vvオプションを使用します。以下がコマンドになります。
nmap -sV -vv 10.10.218.50
・-sV -> バージョン検出スキャン
・-vv ->詳細表示
スキャンの結果からHttpとSSHのポートを発見することができました。
.
Httpのポートがオープンしているのでgobusterとcommon.txtを使用して隠しフォルダを探してみます。
gobuster dir -u 10.10.218.50 -w /usr/share/wordlists/dirb/common.txt
・-u -> スキャン対象のURLを指定
・-w -> 使用するワードリストを指定
興味深いディレクトリはimagesとrobots.txtになります。この二つのファイルとホームページをwebから見てみることにします。
meliodasというユーザがいることが確認できます。
このユーザ名をrockyouというヒントを使いSSH接続を試みます。
Hydraというブルートフォース攻撃用のツールを使います。
hydraを使用するとiloveyou1がパスワードであることがわかり接続することができました。
hydra -l meliodas -P /usr/share/wordlists/rockyou.txt ssh://10.10.218.50
・-l -> ユーザ名
・-P -> パスワードのリスト
lsコマンドで確認するとuser.txtを発見することができました。
Task2 root.txt
sshで接続することができたので、次は特権昇格を目指していきたいと思います。
sudo -l
・-l -> 自分がどのコマンドをsudo権限で実行できるか
bak.pyファイルのみsudo権限で実行できることがわかります。
スクリプトに対する書き込みは禁止になっているので既存のスクリプトを消去し
新しいスクリプトを作成することにします。
Pythonスクリプトを作成し、それを bak.py という名前で保存します。作成されるスクリプトは、Pythonの pty モジュールを利用して、新しい擬似端末を生成し、その中で /bin/sh シェルを起動するという動作を行います。
echo -> 文字列を出力するコマンド
pty -> 擬似端末を操作するモジュール
sudo python /home/meliodas/bak.py
スクリプトを実行するとroot権限で入ることができ、rootフォルダに入るとお目当てのroot.txtを見つけることができました。