Granny 日本語でウォークスルー Hack The Box Machine:

HTB htb-easy

Hack The BoxのGrannyのウォークスルー・ライトアップ(walkthrough/writeup)です。難易度はeasyとなっています。
※本記事はサイバー犯罪を助長するものではありません。悪用は厳禁です。

HTB Grandpa ウォークスルー・ライトアップ

サマリー

前回実施したGrandpaにかなり近い印象を受けました。Grandpaのウォークスルーはこちらに記載しています。

local shell取得まで

ターゲットポート:TCP 80 (http)
脆弱性:ターゲットのhttpでは「Microsoft Internet Information Services (IIS) ver 6.0」が動作していた。IIS ver6.0にはMicrosoft IIS 6.0 – WebDAV ‘ScStoragePathFromUrl’ Remote Buffer Overflow(CVE-2017-7269)が内在していた。
この脆弱性により、local-shellを取得した。
local権限を取得したユーザ:nt authority\network

privilege Escalation取得まで

脆弱性:Microsoft 「MS10-15」
root権限を取得したユーザ:nt authority\system

Information Gathering

ポートスキャン

それでははじめます。まずはターゲット上で動作しているTCPポートをnmapで探します。nmapについてはこちらを参照ください。

nmapの結果、上画像の通り、TCPポート番号80(http)が開いていることが分かりました。また、「Microsoft IIS httpd 6.0」という文言から、「Microsoft Internet Information Services (IIS) 」がターゲットでは動作しているのではと推測できます。

IISについて調査した所、2021年8月時点でIISの最新バージョンは10.0です。ターゲットのIISのバージョンは6.0のため、古いバージョンの印象を受けました。そのため、まず古いIISのバージョンに脆弱性が内在している可能性を調査することにしました。このあたりはGrandpaと同じ展開ですね。

IIS6.0の脆弱性調査

ターゲットのIIS6.0に内在している脆弱性を調査していきました。

色々使えそうな脆弱性がありそうでした。その中でも、Microsoft IIS 6.0 – WebDAV ‘ScStoragePathFromUrl’ Remote Buffer Overflow(CVE-2017-7269)を利用してみることにしました。

Local shellの取得

(CVE-2017-7269)を利用した攻撃

こちらを参考に、実際に攻撃してみました。※一度ターゲットの再起動が必要でした。おそらく別の方が既に攻撃済みで、サーバーがハンギングしていたようで、私の攻撃スクリプトがうまく動作しなかったようです。

その結果、local-shellを取得できました。取得したlocal-shellは「nt authority\network」です。

「nt authority\network」ではフラッグが入手できなかった。

ただしここで1つ問題が起こりました。

ローカルユーザ名は「Lakis」、rootユーザは「Administrator」であることは分かりました。しかし、これらのディレクトリに移動しようとした所、「Access is denied.」が表示され、移動することができませんでした。どうやら、「nt authority\network」では、ディレクトリへのアクセス権限が無いようです。
そのため、privilege escalation(特権昇格)の検討をすることにしました。

Privilege Escalation

Privilege Escalationに利用できそうな脆弱性調査

まずは、ツール「local_exploit_suggester」を使用し、privilege Escalationに利用できそうな脆弱性を調査していきました。

その結果、複数の脆弱性が見つかりました。今回は、Microsoft 「MS10-15」を利用することにしました。

「MS10-15」を利用した攻撃

こちらを参考に、実際に攻撃してみました。

しかし、エラー「Rex::Post::Meterpreter::RequestError 1054: Operation failed: Access is denied.」が発生しました。
そのため、プロセスをmigrateし、再度実施することにしました。

今度はうまくいきました。ユーザ「nt authority\system」(root権限)を取得できました。

flagを探す

user.txtは「Lakis」ユーザのディスクトップ上にありました。root.txtは「Administrator」ユーザのディスクトップ上にありました。

以上で、Grannyのウォークスルーが完了です。

前回のGandpaとほぼ同様のやり方でfalgが取れたので、一部説明を省略しています。ご了承ください。