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

HTB htb-easy

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

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

Summary

local shell取得まで

ターゲットポート:TCP 6697(UnrealIRCd)
脆弱性:ターゲットには、「UnrealIRCd」が動作していた。これにはBackdoor Command Executionの脆弱性が内在していた。この脆弱性を利用して、local-shellを入手した。
local権限を取得したユーザ:「ircd」

privilege Escalation取得まで

脆弱性:ターゲットには、rootユーザに昇格できるスクリプトが内在していた。このスクリプトを利用し、root権限を取得した。
root権限を取得したユーザ:root

Information Gathering

ポートスキャン

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

nmapの結果、上画像の通り、様々なTCPポートが開いていることが分かりました。
まずはhttpサービスから調査していくことにしました。

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

まずは、httpでfirefoxにアクセスしました。その結果、以下サイトに接続しました。

サイトの中に以下の記載がありました。

「IRC is almost working!!!」(意訳:IRCが動いているよ!!!)

初期nmapでTCPポート6697,8067(UnrealIRCd)が動いていることを確認していました。
そのため、このIRCサービスを調査することにしました。

また、この黄色の顔画像が「irked.jpg」であることも分かりました。

UnrealIRCdの脆弱性調査

UnrealIRCdの脆弱性を調査した結果、UnrealIRCd 3.2.8.1 – Backdoor Command Execution (Metasploit)を見つけました。

local-shellの取得

「UnrealIRCd」の脆弱性を利用した攻撃

こちらを参考にターゲットへ攻撃してみました。


攻撃の結果、「ircd」ユーザのshellを取得できました。
※以下コマンドを使用して、プロンプトを分かりやすくしています。

python3 -c 'import pty;pty.spawn("/bin/bash")'

Privilege Escalation

Privilege Escalationのための脆弱性調査

取得した「ircd」ユーザで、ターゲット内を調査していきました。
その結果、「/home」に「djmardov」というディレクトリを見つけました。
ここから「djmardov」というユーザが存在するのではという推測をしました。
また、「user.txt」が存在しましたが、権限が無くflagを確認することができませんでした。

しかし、「.backup」というファイルがありました。
その中には、興味深い文字列がありました。おそらくこれがなんらかのパスワードだと考えられました。

UPupDOWNdownLRlrBAbaSSss

他に気になったのは、「steg」という文字列です。これは、「steganography」(ステガノグラフィー:情報隠蔽技術)の略だと考えられました。

隠された情報を探す

ステガノグラフィーで隠された情報を探していくことにしました。
色々調査した結果、最初にhttpで見つけた「irked.jpg」でヒットしました。

まずは、「irked.jpg」をダウンロードしました。

続いてsteghideを使って、「irked.jpg」に情報が隠されていないか確認しました。
その結果、「pass.txt」が隠されていることが分かりました。
※パスワードが求められたので以下を使用しました。

UPupDOWNdownLRlrBAbaSSss



この「pass.txt」の中身には以下文字列がありました。これも何等かのパスワードだと考えれらました。

Kab6h+m+bbp2J:HG

「djmardov」ユーザへSSHアクセス

色々試した所、この文字列は「djmardov」のSSHアクセス用のパスワードでした。

上記の通り、「djmardov」ユーザのshellを取得できました。

「root」ユーザのshellを取得

続いて、「root」ユーザを取得するための脆弱性調査を始めました。
linpeas.shを使用した所、「/usr/bin/viewuser」を見つけました。

以下コマンドで「tmp」フォルダに「listusers」を作成しました。

cat > listusers cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash

また、「listusers」に権限を与えました。

chmod a+x /tmp/listusers 

「/usr/bin/viewuser」を実行した所、「rootbash」が作成されました。

この「rootbash」を実行した所、「root」権限のshellを取得できました。

flagを探す

user.txtは「/home/djmardov/Documents」にありました。
root.txtは「/root」直下にありました。

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