はじめに
これは、Hack The Box二十五番勝負 Advent Calendar 2020 5日目の記事です。
サマリ
- 対戦相手:Valentine
- 対戦日時:2020年12月4日 21:00 - 22:45
- 結果:敗北
- 主な敗因:
- 通算成績:5戦1勝4敗
対戦相手
今回の対戦相手は「Valentine」です。 www.hackthebox.eu
Walkthrough
※以下、解法に関するネタバレです。
自分でやったこと
情報収集
- nmap
上記の結果から、Heartbleedが侵入経路であると確信しました(してしまいました)。この判断が性急でした。
ちなみに、証明書のSubjectを見て valentine.htb
であることを確認しました。どこかよそのWriteupで見たことがあったので、 /etc/hosts
をいじって valentine.htb
が 10.10.10.79
に解決されるようにして、ブラウザで valentine.htb
へアクセスを試行しました。結果的にはIPアドレスでアクセスした時と同じコンテンツが表示されたので、この問題には全く関係ありませんでした。
侵入
- Heartbleed
http://127.0.0.1/decode.php
に対して、Base64でハッシュ化された文字列をPOSTしているようだった。- 文字列をハッシュすると
heartbleedbelievethehype
という文字列が出現した。 - 取得したパケットに他にも情報が含まれていないか調べてみたが、特段見つからなかった。時間を費やし過ぎた。
hype
というのが「誇大広告」という意味のようで、もしかしてフェイクということか?などと考えていた。
残りの手順
Writeupは公式のものを参考にしています。
侵入
- Dirbusterを使って
/dev
を発見する。hype_key
というファイルがある。
- Writeupによるとそれが
hype
というユーザーでSSHログインできる秘密鍵のようだが、そのままでは使えなかったので、Cyberchefで変換(from hex)すると、見慣れた秘密鍵ファイルになった。 - パスフレーズがかかっていて、それが
heartbleedbelievethehype
だった。 - ホームディレクトリに
user.txt
がなくてちょっと焦ったが、find . -name "user.txt"
してデスクトップにあることを確認した。own user。
権限昇格
ps aux
すると、rootのtmuxセッションプロセスがあることが分かる。tmux -S /.devs/dev_sess/
してセッションにアタッチする。whoami
すると、rootユーザーだった。own root。
KPT(Keep-Problem-Try)
Keep
- Heartbleed→パケットを取りながらエクスプロイトする、が割にスムーズにできたのは良かったと思う。
Problem
Try
- 週末にもう1回チャレンジする。
- 次はぜったいディレクトリ列挙を、Dirbusterでする。