VulnHubのKioptrix: 2014 (#5)をやってみたよ~!
VulnHubのKioptrix: 2014 (#5)をやってみたよ~!ということでやっていく。
https://www.vulnhub.com/entry/kioptrix-2014-5,62/
まずは対象VMのアドレスの取得から。
アドレスをゲットできたらNmapでポースキャン。
80番ポートと8080番ポートでhttpが稼働中のようなのでアクセスしてみる。
まずは80番ポートから。
ソースにページ情報を発見。
アクセスしてみる。
なにやらよくわからないページが表示された。
このページの内容自体にはヒントになりそうなものはなさそう。
ちなみに8080番ポートは権限が足りずアクセス拒否された。
niktoとdirbを使ってディレクトリ探索を実施。
どちらの結果にも、次のステップに進むための有益な情報は含まれていなかった。
どうしようかしばらく右往左往した。
アドレスにバージョン情報っぽい数列が含まれていたのでひょっとしたらと思い調べると、先程表示したpChartのページは、pChartというライブラリによってホストされているらしいことがわかった。
アホっぽい言い回しだが重要な収穫だ。
さっそくsearhsploitで調べてみるとやはり脆弱性情報があった。
このテキストによるとDirectory TraversalとCross-Site Scriptingの脆弱性があるらしい。
記述を参考にアドレスを打ち込んでみると、確かにディレクトリ内容が表示された。
またXSSも再現できた。
ただ、これらの情報からKioptrixVMへの侵入に繋がりそうな直接の情報は得られなかった。
ここで、すこし迷った。
次の一手は、ディレクトリトラバーサルとXSSの脆弱性を調整しさらなる情報窃取をすることだ。
はて、どうすればいいのだろうか。
わかっていることはFreeBSD上でApacheが動いているということだ。
ディレクトリトラバーサルの脆弱性を利用し、他のファイルも見てみたい。できればクレデンシャルが含まれたファイルがあればそれがいい。
とはいえ、ダイレクトな情報が出てくるとは考えにくいので、まずはFreeBSDにApacheをインストールしたときのデフォルトのディレクトリ構造を調べることにした。
そういう向きで検索をかけると次のサイトがヒットした。
https://www.freebsd.org/doc/handbook/network-apache.html
これによると、FreeBSDのApacheは設定ファイルを以下のディレクトリに作成するらしい。
/usr/local/etc/apache2
x
/httpd.conf
ディレクトリトラバーサルの脆弱性を利用し、このファイルを見てみよう。次の画像が得られたhttpd.conの内容だ。
Apacheでは、各ページごとの設定をこのhttpd.confファイルに記述していく。
次のサイトを参考にしながら調査していった。
https://r7kamura.hatenablog.com/entry/20110222/1298371277
調査の結果、ページ最下部に記述されていた次の画像の部分が、8080番ポートへのアクセスを制限していることがわかった。
これによると、user-agentがMozilla/4.0でなければ8080番ポートにはアクセスできない。
さっそくcurlコマンドで、user-agentのオプションを調整してアクセスしてみよう。
8080番ポートにアクセスするとphptaxへのリンクが張ってあることがわかる。
分かりやすいようにページをダウンロードし、実際にブラウザ上に表示させてみる。
再度curlを使って、phptax/へアクセスするとさらにリンクが貼ってあるがこの先に接続はできなかった。
ページをダウンロードし表示させてみる。
おそらくphptax配下にもなにかページがある。
phptaxは、dirbが使うワードリストから漏れているので、再度dirbで新しく見つかったページphptax配下を探ってみる。
phptax配下にいくつかページが有ることが確認できた。
次の画像はphptax/readme/index.htmlをcurlでダウンロードし、ブラウザ上で表示させたもの。
ここにきてphptaxなるものが、なんらかのサービスであることがわかった。
ページ名だとばかり思っていたが、pChartと同じ轍を踏んでしまった。
さて、気を取り直してsearchsploitで脆弱性情報を照会する。
一番上に表示されたRubyファイルを見てみる。
Metasploit Frameworkで使用可能ということなので楽をさせてもらうことにする。
msfconsoleを開き、searchコマンドで先程の脆弱性を検索する。
useコマンドで指定。
オプションを表示し必要項目を埋める。
exploit!
うまく刺さったようだ。
ここからはFreeBSDの脆弱性を突くことで権限昇格を狙っていく。
まずはOS情報から脆弱性をサーチ。
見つかった脆弱性をKioptrixVMにアップロードする。
wgetコマンドがKioptrixVMになかったのでnetcatを使う。
最初にKali側でファイルを指定してやり、
KioptrixVM側でnetcatコマンドを使ってダウンロードする。
rootに移動し、
フラッグゲット!やったぜ!
flagで述べられているように、Kioptrix:2014はテクニカルな部分はほぼ一本道だが、その道を見つけるまでの検索力を問う問題だった。
Thanks to the author of Kioptrix for this CTF!