Traceback 日本語でウォークスルー Hack The Box Machine:
Hack The BoxのTracebackのウォークスルー・ライトアップ(walkthrough/writeup)です。難易度はeasyとなっています。
※本記事はサイバー犯罪を助長するものではありません。ハッキングやクラック等の悪用は厳禁です。
目次
HTB Traceback ウォークスルー・ライトアップ Hack The Box
Summary
local shell取得まで
ターゲットポート:TCP 22(ssh)、80(http)
脆弱性:ターゲットにはバックドアスクリプトが仕掛けられていた。これを利用し、local-shellを入手した。
local権限を取得したユーザ:「webadmin」
privilege Escalation取得まで
脆弱性:ターゲット上では「/etc/update-motd.d/」が書き換え可能であった。これを利用してroot権限を取得した。
root権限を取得したユーザ:「sysadmin」→「root」
Information Gathering
ポートスキャン
それでははじめます。まずはターゲット上で動作しているTCPポートをnmapで探します。nmapについてはこちらを参照ください。
nmapの結果、上画像の通り、TCPポート番号22(ssh)と80(http)が開いていることが分かりました。
まず、httpから調査していくことにしました。
ターゲットのhttpサービス調査(TCPポート番号80)
firefoxを使ってターゲットにアクセスしました。すると以下が表示されました。
どうやら、ターゲットは既に何者かにハッキングを受けた後のようでした。
This site has been owned. I have left a backdoor.(意訳:このサイトは既にクラックしました。私はバックドアを残してますよ)
ハッキングを実施した何者かが、「バックドア」を残しているようです。これを探していくことにしました。
このサイトのページソースを確認した所、以下が見つかりました。
Some of the best web shells that you might need (意訳:あなたは「web shells」が必要なんだよ)
なにやらバックドア用の「web shells」が仕掛けられているような気配がしました。
バックドア用の「web shells」を探した所、こちらを見つけました。
こちらで紹介されていた「web shells」名をリスト化し、gobusterを使用しました。
するとターゲット上に「smevk.php」が仕掛けられていることが分かりました。
ターゲットの「smevk.php」にアクセスした所、以下が表示されました。
git-hub上のsmevk.phpにデフォルトパスワードの記載がありました。
ID:admin Password:admin
こちらのデフォルトパスワードを使用した所、ログインに成功しました。
local shellの取得
バックドア「smevk.php」を使用する
「smevk.php」へのログインに成功したので、こちらを使用してlocal-shellを取得することにしました。
「smevk.php」自体は色々なことが実行できそうなのですが、reverse-shell用のファイルをアップロードする方針にしました。
まず以下の通り、msfvenomを使用してreverse-shell用のファイルを作成しました。(shell.phpという名前で作成しています。)
続いて「smvk.php」から「shell.php」をアップロードしました。
msfconsoleでmulti-handlerを仕掛けてから、firefoxでターゲット上の「shell.php」にアクセスした所、
local-shellの取得に成功しました。
取得したshellは、ユーザ「webadmin」でした。
Privilege Escalation
Privilege Escalationのための脆弱性調査
「sudo -l」を実行しました。その結果、「webadmin」ユーザは、「sysadmin」として「/home/sysadmin/luvit」が実行できるようです。
こちらを参考に、「luvit」経由で「sysadmin」のshellを取得しました。
linpeasを使用した所、「/etc/update-motd.d/」が書き込み可能であることが分かりました。
これはSSHのログイン時に実行されるものでした。
自分のマシン上で以下コマンドを使い、SSH用の鍵を作成しました。
ssh-keygen -t rsa -f id_rsa
次に「id_rsa.pub」の内容を、ターゲットのユーザ「sysadmin」の「authorized_keys」として登録しました。

登録した鍵で、SSHすることができました。
「/etc/update-motd.d/」経由でrootのshellを取得する
「sysadmin」ユーザでSSHログインすることができたので、「/etc/update-motd.d/」を書き換えることにしました。
以下の通り、「/etc/update-motd.d/」直下の「00-header」を追記しました。
追記内容としては、「sysadmin」ユーザの「authorized_key」を「root」ユーザのSSH鍵として登録するものでした。
再度、「sysadmin」としてSSHでログインしました。
※これで、「root」ユーザのSSH鍵が登録されたはずです。
「sysadmin」ユーザのSSH鍵を利用した所、「root」ユーザでSSHログインに成功しました。
flagを探す
user.txtは「/home/sysadmin」にありました。
root.txtは「/root」直下にありました。
以上で、Tracebackのウォークスルーは終了です。
今まで記事にしたHack The Boxのマシンは以下にまとめています。
Hack The Box Machine: 日本語でWriteup/Walkthrough まとめ – mopenten
Hack The Boxのウォークスルー・ライトアップ(walkthrough/writeup)のまとめです。 いままで記事にしたマシンを一覧にしています。 Hack The Box 日本語でWriteup/Walkth […]