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

HTB htb-easy 未分類

Hack The BoxのBeepのウォークスルーです。難易度はeasyとなっています。
※本記事はサイバー犯罪を助長するものではありません。悪用は厳禁です。

HTB Beep ウォークスルー

サマリー

local shell取得まで

ターゲットポート:TCP 443 (https), TCP 80 (http)
脆弱性:Elastixサービスに内在しているLocal FIle Inclusionの脆弱性「Elastix 2.2.0 – ‘graph.php’ Local File Inclusion」
この脆弱性により、SSHのrootユーザのパスワードを入手することができた。
local権限を取得したユーザ:root

privilege Escalation取得まで

脆弱性:必要なし。

Information Gathering

ポートスキャン

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

nmapの結果、上画像の通り、様々なTCPポートが開いていることが分かりました。その中でもまずはTCPポート80番(http)に着目しました。

firefoxを使用し、ターゲットへhttpアクセス

firefoxを使用し、httpアクセスした所、httpsにリダイレクトされました。また、以下のようなサイトへ接続しました。

「Elastix」に関するなんらかのログインページのようです。そのため、この「Elastix」に何か脆弱性が内在していないかを調べることにしました。

Elastixの脆弱性調査

「Elastix」の脆弱性を調査した所、以下のような脆弱性が見つかりました。

この時点では「Elastix」のバージョンは不明であったため、見つかった脆弱性を上から試していきました。(バージョンが違うため、攻撃が成功しないかもしれませんが、とりあえず試してみることにしました。)
その結果、「Elastix 2.2.0 – ‘graph.php’ Local File Inclusion」の脆弱性で成果がありました。

この脆弱性は、Local File Inclusion(LFI)に関するもので、特定のURLを記入することで、ターゲット内のパスワードを入手することができるものでした。
特定の文字列はこちらです。

この脆弱性を使った攻撃がうまくいきそうでしたので、このままこの方向で、local-shellの取得を目指すことにしました。

Local shellの取得

Elastixに内在するLFIを利用した攻撃

「Elastix 2.2.0 – ‘graph.php’ Local File Inclusion」を利用した結果、以下の通りパスワードの取得に成功しました。

気になったのは「ARI_ADMIN_PASSWORD=jEhdIekWmdjE」という文言でした。どうやらこのパスワードはadminパスワードとして使用されているようです。そのため、このパスワードを他のTCPポートのサービスで使いまわしている可能性を考えました。着目したのはTCPポート22番(SSH)です。

SSHによるログイン試行

とりあえず、ユーザをデフォルト設定で有名な「root」とし、SSHでターゲットに接続してみることにしました。(もしユーザ「root」がだめなら、ユーザ「admin」等の別のユーザ名でも試してみるつもりでした。)
実際に接続を試した所、以下のようなエラーメッセージが返ってきました。

ターゲットのサーバで使用している暗号鍵が古いため、SSH接続ができないエラーのようでした。こちらを参考に、古い暗号鍵に対応した形でSSH接続を試してみることにしました。


その結果、デフォルトユーザ「root」、パスワード「jEhdIekWmdjE」でログインすることができました。rootユーザのshellを取得したため、privilege Escalationは必要ありませんでした。

flagを探す

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


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