Irked 日本語でウォークスルー Hack The Box Machine:
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のウォークスルーは終了です。