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

HTB htb-easy

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

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

Summary

local shell取得まで

ターゲットポート:TCP 22(ssh),80 (http),443(https)
脆弱性:ターゲットのhttpsサービスでは、HeartBleedの脆弱性が内在しており、この脆弱性を利用してlocal-shellを取得した。
※ターゲットでは
local権限を取得したユーザ:「hype」

privilege Escalation取得まで

脆弱性:「オペレーティングシステム用の端末多重接続ソフトウェア」であるtumuxがroot権限で実行できるようになっていた。
root権限を取得したユーザ:root

Information Gathering

ポートスキャン

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

nmapの結果、上画像の通り、TCPポート番号ssh(22),80(http),443(https)が開いていることが分かりました。
また、ターゲットのコモンネームが「valentine.htb」であることも分かりました。
まずは、「hosts」ファイルに「valentine.htb」を追加しました。

sudo vim /etc/hosts

ターゲットのhttpサービス調査

firefoxでhttpアクセスした所、以下サイトにつながりました。

上記サイトのロゴはHeartBleedのロゴにもの凄く似ていました。
この情報を頭の片隅において、httpの調査を続けていきました。

ディレクトリを調査した所、いくつか興味深いものが見つかりました。「/dev」「/encode」「decode」などです。

「/dev」にアクセスした所、「hype_key」(あるkeyファイル)と「notes.txt」を見つけました。
「notes.txt」は以下のような内容でした。

Fix decoder/encoder before going live.(意訳:システム稼働前にdecoder/encoderを直す)

上記文言から、先ほど見つけた「decode/encode」フォルダを調査した所、以下を見つけました。
どうやら上記の「decoder/encoder」とはこれを指すようです。「直す」という文言から、この「decoder/encoder」関連には不具合や脆弱性が内在しているかもしれません。

ターゲットのhttpsサービス調査

続いてhttps(TCPポート番号443)の調査をしていきました。
最初に試したことは、ロゴが似ていたHeartBleedの脆弱性調査です。
その結果以下の通り、「HeartBleed」の脆弱性が内在していることが分かりました。

そのため、local-shellの取得に「HeartBleed」を利用する方針で考えることにしました。

local-shellの取得

HeartBleedを利用した攻撃

こちらの攻撃スクリプトheartbleed.pyを使用しました。その結果、以下の通り、パスワードのようなものを見つけました。

見つけた文字列を先ほど見つけた「decoder」でデコードした所、パスワード「heartbleedlievethehype」を見つけることができました。

ターゲットへのSSHアクセス

見つけたパスワードの利用先を探していった所、SSHアクセスでヒットしました。
まず、httpの調査で見つけた「hype_key」(keyファイル)をダウンロードしました。

ダウンロードした「hype_key」を以下コマンドでrsaのprivate keyに変換しました。

cat hype_key | xxd -r -p > hype_key.rsa

「hype_key」からユーザ名を「hype」と推測しました。
「パスフレーズ」に以下を使用した所、SSHアクセスに成功しました。

heartbleedlievethehype

Privilege Escalation(特権昇格)

Privilege Escalationの脆弱性調査

linpeasを使用し、ターゲットの脆弱性を調査していきました。
自分のマシンでSimpleHTTPServerを仕掛けた後に、ターゲットでlinpeas.shをダウンロードしました。

python -m SimpleHTTPServer 


linpeasを実行した所、以下がハイライトされていました。

/usr/bin/tmux -S /.devs/dev_sess

Wikipediaによると、tumuxは「オペレーティングシステム用の端末多重接続ソフトウェア」とのことです。

こちらをroot権限で実行できるようでした。(run by rootという記載がありました。)

実際に試した所、root権限を取得できました。

flagを探す

user.txtは「hype」ディレクトリのデスクトップにありました。root.txtは「/root」ディスクトップの直下にありました。

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