Jerry 日本語でウォークスルー Hack The Box Machine:
Hack The BoxのJerryのウォークスルー・ライトアップ(walkthrough/writeup)です。難易度はeasyとなっています。
※本記事はサイバー犯罪を助長するものではありません。悪用は厳禁です。
目次
HTB Jerry ウォークスルー・ライトアップ
サマリー
local shell取得まで
ターゲットポート:TCP 8080 (http)
脆弱性:ターゲットではhttpで「Apache Tomcat/7.0.88」が動作していた。Tomcat – Remote Code Execution via JSP Upload Bypass (Metasploit) (CVE-2017-12617)の脆弱性を利用し、local-shellを取得した。
local権限を取得したユーザ:「nt authority\system」(Administrator権限)
privilege Escalation取得まで
脆弱性:「nt authority\system」はAdministrator権限を所有していた。そのため、privilege Escalationの必要は無かった。
root権限を取得したユーザ:なし
Information Gathering
ポートスキャン
それでははじめます。まずはターゲット上で動作しているTCPポートをnmapで探します。nmapについてはこちらを参照ください。
nmapの結果、上画像の通り、TCPポート番号8080(http)が開いていることが分かりました。
最初のnmapの結果では、TCPポート番号8080(http)以外に空いているポートは見当たりませんでした。
そのため、まずはターゲットのhttpサービスについて、深く調査していくことにしました。
ターゲットのhttpサービス調査
まず、firefoxを利用し、ターゲットにhttpアクセスしてみました。その結果、以下サイトにつながりました。
「Apache Tomcat/7.0.88」と表示されています。
右側の「Manager App」をクリックした所、以下の通り認証のポップアップが表示されました。
認証に何度も失敗した所、以下の画面が表示されました。その中で、ユーザ名「tomcat」、パスワード「s3cret」という文言が見当たりました。(tomcatのデフォルトパスワードと推測しました。)
ユーザ名「tomcat」、パスワード「s3cret」を先ほどの認証で入力した所、認証を突破できました。以下の通り、「/manager」に接続しました。
この段階で、「Apache Tomcat/7.0.88」経由でターゲットのlocal-shellを取得する方法を検討することにしました。
Local shellの取得
「Apache Tomcat/7.0.88」の脆弱性調査
「Apache Tomcat/7.0.88」の脆弱性を調査した所、Tomcat – Remote Code Execution via JSP Upload Bypass (Metasploit) (CVE-2017-12617)が見つかりました。
Tomcat – Remote Code Execution via JSP Upload Bypass (CVE-2017-12617)を利用した攻撃
ただし、こちらの脆弱性を利用するためには、先程の「Manager App」の認証情報(ユーザIDとパスワード)が必要でした。
先程入手したユーザ名「tomcat」、パスワード「s3cret」を利用し、こちらを参考に、以下の通り実際に攻撃を実施しました。

その結果、以下の通りlocal-shellを取得できました。取得したユーザは、「nt authority\system」(Administrator権限)のため、
Privilege Escalationは必要ありませんでした。

flagを探す
Administratorのデスクトップに「2 for the price of 1.txt」というファイルがありました。
そちらの中身を確認した所、「user.txt」と「root.txt」が見つかりました。
余談:マシンタイトルJerryについて
マシンタイトルのJerry(ジェリー)ですが、Tomcat(「トムとジェリー」のTom-cat)が由来なんですかね?
Jerryのマシンのアイコンもネズミっぽいのでそんな感じがします。
以上で、Jerryのウォークスルーが完了です。