【VulnHub】 vulnOSv2 - walkthrouth
VulnHubの VulnOSv2 を実施
VulnOSは侵入テストのスキルを向上させるために仮想イメージとしてまとめられた一連の脆弱なオペレーティングシステムです。
- これはバージョン2です
そこまで難易度が高くない問題とのこと
初期偵察
・netdiscoverでIPアドレスを特定
netdiscover -r 192.168.23.0/24
IPアドレスは192.168.23.131
・公開されているポートを確認
nmap -sV -p- -A -n 192.168.23.131
以下の情報を取得
・Webページにアクセスしてみる
ページをたどっていき"Documentation"のページを見ると、
ソースコードに文字列が記載されている。
よく見ると反転することで管理画面へのアクセス(jabcd0cs)と
ユーザ/パスワード(guest/guest)が記載されている
・記載されているドキュメント管理ページにアクセスしguest/guestでログイン
ログイン後のページを見るとOpendocMan v1.2.7であることがわかった。
OpendocMan v1.2.7のexploitコードを検索したところexploitdbにあるPoCが引っ掛かった。
侵入
SQLに関連する調査ツールsqlmapを使用する。
dbとtableの一覧を調査する。
投入コマンド
sqlmap -u "http://192.168.23.131/jabc0cs/ajax_udf.php?q=1&add_value=odm_user" --dbs --level5 --risk3
※オプションにlevel5を指定する必要があった デフォルトはlevel0
・sqlmapの結果
dbの一覧
tableの一覧 ※一部抜粋
・"db:jabcd0cs"にある"table:odm_user"からユーザ情報が得られそうなので中身を参照
投入コマンド
sqlmap -u "http://192.168.23.131/jabc0cs/ajax_udf.php?q=1&add_value=odm_user" -D jabcd0cs -T odm_user --dump
webminユーザとguestユーザのpasswordハッシュを得ることができた。
・webminユーザのユーザ名とハッシュ値からパスワードを解読
passwordハッシュはMD5であった。
MD5は以下のようなサイトで簡単に解読できてしまう。
サイトで確認するとwebmin1980であった。
・得られたパスワードはOpendocMainのパスワードであったが
パスワードの使いまわしに期待して、sshでログインしてみる
ログイン成功
・ログインできたのでSUIDで権限昇格できそうなコマンドがあるか確認
投入コマンド
find / -perm -u=s -type f 2 >/dev/null
to
特に権限昇格に使えそうなものはなかったLinux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation
上記のページがヒット、下記脆弱性をつくexploitコードが存在する