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

HTB htb-easy

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

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

Summary

local shell取得まで

ターゲットポート:TCP 6379(redis)
脆弱性:ターゲットでは「redis」サービスが動作していた。このサービス経由でSSH用の鍵を登録し、local-shellを取得した。
local権限を取得したユーザ:「redis」

privilege Escalation取得まで

脆弱性:ターゲット上ではWebmin 1.910 – ‘Package Updates’ Remote Command Executionの脆弱性が内在していた。これを利用し、rootのshellを取得した。
root権限を取得したユーザ:root

Information Gathering

ポートスキャン

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

nmapの結果、上画像の通り、様々なTCPポートが開いていることが分かりました。
この中からredis(6379)を調査していくことにしました。

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

以下コマンドで、ターゲットのredisサービスに接続しました。

redis-cli -h 10.10.10.160

redisサービスの中を確認した所、ssh用の「authorized_keys」が登録されていないことが分かりました。

そこで、新たにssh用の「authorized_keys」を登録することで、reverse-shellが取得できないかを試すことにしました。

local shellの取得

ターゲットにSSH用の鍵を登録する

まず以下コマンドでssh用の鍵を作成しました。

ssh-keygen -t rsa -f test

鍵作成後は、以下コマンドで、公開鍵の前後に改行を加えました。
これは、メモリに書き込む際に誤動作を避けるために実施しています。

(echo -e "\n\n"; cat test.pub; echo -e "\n\n") > test1.txt

作成した鍵を「crack」という鍵名で、ターゲットにセットします。

続いて「redis-cli」を使用して、「crack」をssh用の鍵として登録しました。
「/lib/redis」の下に「.ssh」フォルダを作成しているため、sshのユーザは「redis」になります。

sshでターゲットにログインすることができました。

Privilege Escalation

Privilege Escalationのための脆弱性調査

Privilege Escalationのための脆弱性調査を開始した所、鍵ファイルを見つけました。また、「/home」ディレクトリから、ユーザ「Matt」が存在することが分かりました。

おそらくこの鍵は、「Matt」もしくは「root」ユーザのssh鍵だと考えられました。
しかし、sshで接続試行は失敗しました。

そこでssh2johnを使用し、鍵ファイルからハッシュ値を作成しました。

また、johnを使用して、ハッシュ値から以下パスワードを見つけました。

computer2008

見つけたパスワードを使用して「Matt」ユーザに移行することができました。

Webadminの脆弱性を利用した攻撃

見つけた以下クレデンシャル情報ですが、webadminサービス(TCPポート番号:10000)のログインにも利用できました。

UserID:Matt Password:computer2008

初期nmapの結果webadminのバージョンは「1.910」であることが分かっていました。
このバージョンの脆弱性として、Webmin 1.910 – ‘Package Updates’ Remote Command Executionを見つけました。

こちらの脆弱性を利用して、「root」のShellを取得できました。

flagを探す

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

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

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