Try Hack Me:Agent Sudo - Writeup
0. はじめに
Try Hack Meの「Agent Sudo」というChallengeを解きました。
テーマは「深海の下にある秘密のサーバーを発見しました。
あなたの任務は、サーバー内部をハッキングして真実を明らかにすることです。」だそうです。
1. Task1 : Author note
Deploy the machine
言われた通りに標的となるマシンを起動させます。
2. Task2 : Enumerate
How many open ports?
開いているポートはいくつか?という問題です。
とりあえずNmapでポートスキャンを試してみます。
21番(FTP)と22番(SSH)と80番(HTTP)の3つのポートが開いていることが分かりました。
さらに、Gobusterでディレクトリスキャンを試してみましたが、隠しページはありませんでした。
How you redirect yourself to a secret page?
Webページを覗くと、以下が表示されましたので「user-agent」が答えですかね。
What is the agent name?
ここで詰まったのでWriteupをチラ見しました。
Burp Suiteというリクエストとレスポンスを確認・編集できるプロキシツールを使うようです。
私の環境でBurp Suiteを使おうとすると以下のようなエラーメッセージが出ました。
You can allow. . . のメッセージに沿って解決を図りましたが、上手くいかず。。。
こちらの解決に少し時間がかかりそうなので、
一旦WriteupのAnswerをチラ見して、次のTask3に進むことにしました。。。
ちなみにAnswerは「chris」だそうです。
3. Task3 : Hash cracking and brute-force
FTP password
FTPのパスワードは何か?という問題です。
Task3はタイトルが「Hash cracking and brute-force」ですので、
ハッシュクラッキングとブルートフォース攻撃を仕掛けることになるでしょうか。
HydraするとFTPのパスワードが「crystal」ということが分かりました。
Zip file password
Zipファイルのパスワードは何か?という問題です。
まずはZipファイルを手に入れないとですね。
ユーザはTask2にあった「Chris」、パスワードは「crystal」でFTPに接続します。
lsで見つけた3つのファイルをとりあえずダウンロードします。
「To_agentJ.txt」というファイルを覗くと、以下のメッセージが記載されていました。
CTFでいうとステガノグラフィ(Steganography)という分野の問題ですかね。
ステガノグラフィで思いつくExiftool、Strings、Binwalkあたりを試したところ、
「cutie.png」に対するBinwalkで「8702.zip」という隠しファイルが取り出せました。
お馴染みのJohn the RipperでZipファイルのパスワードが見つかりました。
steg password
ステガノグラフィのパスワードは何か?という問題でしょうか。
パスワード「alien」でZipファイルの中身を取り出します。
Zipファイルの中には以下が記載されたテキストファイルがありました。
「QXJlYTUx」はBase64でデコードすると「Area51」となりました。
下記はステガノグラフィについて私が簡単に調べたことです。
ステガノグラフィツールのSteghideについて
Who is the other agent (in full name)?
先ほどのテキストファイルに登場したAgent Rのフルネームは何か?という問題ですかね。
ここではSteghideで逆に情報を取り出します(パスワードはさっきの「Area51」です)。
取り出せた「message.txt」には以下の記載がありました。
SSH password
SSHのパスワードは何か?という問題です。
先ほどの「message.txt」から、jamesのパスワードはhackerrulesだと読み取れます。
4. Task4 : Capture the user flag
What is the user flag?
フラグを探す問題です。
SSH接続してフラグを見つけました。
What is the incident of the photo called?
写真の出来事は何と呼ばれているか?という問題です。
Alien_autospy.jpgがロズウェル事件の写真でした。
5. Task5 : Privilege escalation
CVE number for the escalation
権限昇格のためのCVEは何番かという問題です。
権限昇格のために、お馴染みのsudo -lで特権ユーザで実行可能なプログラムを表示します。
「(ALL, !root) /bin/bash」はCVE-2019-14287に該当します。
sudoコマンド実行時に引数指定で渡せるユーザIDの検証が十分ではない脆弱性だそうです。
上記のサイトで報告されていたコマンドを打ち込んで無事に権限昇格しました。
What is the root flag?
(Bonus)Who is Agent R?
こちらのFlagとAgent Rの名前はrootフォルダの中にありました。
6. おわりに
軽い気持ちで解き始めたら意外とボリューミーで時間がかかりました。。。
今回はスキップしてしまったBurp Suite以外は使ったことがあるツールで解決可能でしたが、
いざ問題に直面するとパッと思い浮かばず、、、まだまだ私の慣れが足りていない印象でした。
Discussion