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

HTB htb-easy

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

HTB Bank ウォークスルー・ライトアップ Hack The Box

Summary

local shell取得まで

ターゲットポート:TCP 80(http)
脆弱性:ターゲットにはファイルがアップロードできる機能があった。この機能を利用してreversse-shell用のファイルをアップロードし、
local-shellを取得した。
local権限を取得したユーザ:「chris」

privilege Escalation取得まで

脆弱性:ターゲット上には、SUIDが付与されたスクリプトが存在した。こちらを利用し、「root」権限を取得した。
root権限を取得したユーザ:root

Information Gathering

ポートスキャン

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

nmapの結果、上画像の通り、様々なTCPポート番号が開いていることが分かりました。
まず、httpから調査していくことにしました。

ターゲットのhttpサービス調査(TCPポート番号80)

IPアドレス宛にfirefoxでアクセスしても、うまくwebページが表示動作されませんでした。
そこで、「/etc/hosts」に以下を追加しました。

10.10.10.29 bank.htb

ドメイン名は、マシン名から「bank.htb」としています。
ドメイン名「bank.htb」に対してfirefoxでアクセスした所、以下ログインページが表示されました。

続いて、gobusterを使用して、ターゲットの「bank.htb」のディレクトリを調査していきました。

その結果、様々なディレクトリを見つけました。この中で「uploads」と「balance-transfer」を後ほど使用しました。

まず、「balance-transfer」にアクセスしました。すると、以下の通り、様々な文字列が見つかりました。
この文字列にアクセスすると、暗号化されたユーザのアカウント情報が表示されました。

上記画像の「Size」をクリックすると、1つだけファイルサイズが小さい物が見つかりました。
ファイル名が「68576…」で始まっているものです。

ファイル名「68756…」にアクセスした所、以下が表示されました。
どうやら暗号化に失敗しているようです。クレデンシャル情報が見つかりました。

Email: chris@bank.htb  Password: !##HTBB4nkP4ssw0rd!##

見つけたクレデンシャル情報を使用して、冒頭のログインページにアクセスしました。
すると、「christos」としてログインできました。


このサイトを調査した所、以下の通りファイルをアップロードできる機能を見つけました。

そこで、reverse-shell用のファイルをアップロードする方針で、localshellの取得を試みました。

local shellの取得

reverse-shell用のファイルをアップロードする

まずは、reverse-shell用のファイルを以下の通り用意しました。ファイル名は「shell.php」としています。

このファイルを、先程の機能からアップロードを試みましましたが、失敗しました。
ページソースを確認した所、以下記載が見つかりました。

[DEBUG] I added the file extension .htb to execute as php for debugging purposes only [DEBUG](意訳:デバック目的で「php」を実行したい時は、ファイルの拡張子を「.htb」にしてくださいね)

上記記載に従い、「shell.php」を「shell.htb」にリネームしました。

今度は失敗することなく、「shell.htb」がアップロードできました。
(「choose file」から「shell.htb」を選択し、「Submit」でアップロードしました。)

multi handlerを仕掛けてから、以下にアクセスした所、local-shellを取得できました。

Privilege Escalation

Privilege Escalationのための脆弱性調査

続いてPrivilege Escalationのための脆弱性を調査していきました。
linpeasを使用して調査しました。
すると、SUIDが設定されているものとして「/var/htb/bin/emergency」を見つけました。

「/var/htb/bin/emergency」を実行した所、「root」のshellが取得できました。

flagを探す

user.txtは「/home/chris」にありました。
root.txtは「/root」直下にありました。

以上で、Bankのウォークスルーは終了です。

今まで記事にしたHack The Boxのマシンは以下にまとめています。