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

HTB htb-easy

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のマシンは以下にまとめています。