1.nmapなので攻撃対象のサーバーを調べる
今回は2017年に話題となった、Tomcatの脆弱性(CVE-2017-12617他)をれいにします。
CVE-2017-12617
本脆弱性はTomcatにおいて書き込み可能な設定(readonly パラメータを false に設定し、HTTP PUT リクエストを受け付け可能としている場合)となっている状態のもののみが影響を受けるもので、細工したリクエストを送信されることで、遠隔から任意のコードをされてしまう恐れがあります。
readonlyパラメータをfalseと設定されている場合には、PUTとDELETEメソッドを受け付けるようになっているため、htmlなどのコンテンツをアップロードすることは可能ですが、本来であればJSPファイルなどのファイルはTomcatの仕様上アップロードすることはできません。
しかしながら、本脆弱性を利用し、細工したリクエストを送信することで、この制限を迂回して、任意のJSPファイルをPUTリクエストでアップロードすることが可能となってしまいます。
これを利用し、Webshellのような指定したLinuxコマンドを実行するようなJSPファイルをアップロードすることで、リモートよりTomcatアプリケーションの動作権限にて任意のコマンドを実行されてしまう危険性があります。
2.https://www.exploit-db.com/に行き、 exploit codeをダウンロードする。
3.以下のコマンドで攻撃コードを実行する。
実行後、コマンドを入力できるようになり、コマンドを通じでフラグを取得できます。
python 42966.py -u 攻撃先URL -pwn