はじめに
今回はWebサーバーで用いられているミドルウェアのバージョン情報から既知の脆弱性を探し、そこからWebサーバー内の情報を奪取する章になります。
Ready, set, elf.
What is the version number of the web server?
Webサーバーのバージョン番号は何ですか?
まずはnmapを使って、開いているポートを調べます。
|
|
4つのポートが開いていることが確認できます。
8080ポートにブラウザからアクセスすると、Apache Tomcatが用いられていることが確認できます。
そのバージョン番号を回答して終了です。
What CVE can be used to create a Meterpreter entry onto the machine? (Format: CVE-XXXX-XXXX)
このマシンにMeterpreterのエントリーを作成するために使用できるCVEは何ですか?
最初にTomcatのバージョンが分かったので、既知の脆弱性がないか調査します。
調査方法はなんでもいいですが、ここではAttackerKBを使って軽く調べてみます。
Tomcatのバージョンを検索して見ると、それっぽいCVEが発見できるので、そのCVE番号を入力して終了です。
What are the contents of flag1.txt
flag1.txtの内容は何ですか
今回の問題では文章中に「Metasploit Frameworkを適切に設定し」とあるので、Metasploit Frameworkを使っていきます。
Metasploit Frameworkの使い方に慣れていない人は、TryHackMeのこちらのRoomを先に終わらせることで、大体の使い方を学べます。
まずはMetasploitを起動して、CVE検索をします。
|
|
該当するものが一つ出てくるので、それを使います。
Search結果の番号でも指定できます。
|
|
設定をするために、infoを見て何を設定しなければいけないか確認します。
|
|
今回は、「RHOSTS」と「TARGETURI」を設定します。
TARGETURIに含まれているCGIスクリプトは、本文中に記述されています。
|
|
設定ができたら、infoを確認し適切に設定できているかを確認した後、exploitしていきます。
|
|
これでWebサーバーのリモートコード実行が可能になったため、flag1.txtの中身を確認して終了です。
|
|
おわりに
今回はWebサーバーのバージョン情報から既知の脆弱性を調査して、そこからリモートコード実行しました。
Metasploit Frameworkを使えば難しいことを考えずにコマンドを打っていくだけでRCEできてしまいます。
Webアプリケーション開発者などは、Webサーバー内部のミドルウェアのバージョン情報が外部から見えないような設定が必要です。