[TryHackMe] Advent of Cyber 2, Day 7 - Walkthrough -

本稿では、[TryHackMe](https://tryhackme.com/)にて提供されている「[Advent of Cyber 2](https://tryhackme.com/room/adventofcyber2)」ルームに関する攻略方法（Walkthrough）について検証します。
「Advent of Cyber 2」は「free room」（無料）で提供されています。購読を必要とせずに仮想マシンを「展開（Deploy）」することができます。

>『Advent of Cyber 2』のWalkthroughインデックスを「[[TryHackMe] Advent of Cyber 2に参加してみた](https://qiita.com/v_avenger/items/ac9092374e5bf16a2dd0)」にて公開しました。

# [Day 7] Networking: The Grinch Really Did Steal Christmas
## ストーリー
![Day07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/fbbdc763-da34-e236-bee2-12bb8ec65741.png)

>午前6時、エルフ・McSkidyが **The Best Festival Company（TBFC）**のSOC本部に出勤し、TBFCのインフラの監視を始めようとしています。ログイン後、エルフ・McEagerは夜勤中にエルフ・McSkidyが残したメールに目を通します。
>
>自動スキャンのアラートが増えているので、確認してください。別のAPTグループです。エルフ・McEagerにとっては、長くて簡単な週の始まりになりそうな気がします。
>
>メールのバックログをクリアしながら、エルフ・McEagerは次のメールを読みます。「*緊急: TBFC-WEB-01 でデータの漏えいが検出されました。*」 「*ああ、ええと*」 エルフ・McEagerは読み進めます。「*TBFC-WEB-01? サンタさんのウェブサーバーだ！ そんなところからデータを盗む動機があるのはどいつだ！*」 警戒心の強いエルフ・McEagerが自分の`salt`を証明して、何が起こったのかを正確に突き止める時が来ました。
>
>エルフ・McEagerには知られていませんが、エルフ・McSkidyはこれをすべてでっち上げていました。幸い、これは実際の攻撃ではありません。エルフ・McEagerの業績評価に先立って作成されたトレーニング演習です。

## チャレンジ
このタスクに添付されているZIPファイル「`aoc-pcaps.zip`」をダウンロードし、以下の質問に答えるために、`Wireshark`のフィル​​ター機能を組み合わせて解答します。

## Day 7 - #1.
>Open "pcap1.pcap" in Wireshark. What is the IP address that initiates an ICMP/ping?

`Wireshark`を使って`pcap1.pcap`ファイルを開きます。
フィルタを使い表示を`ICMP`パケットのみに絞り込みます。`No. 17`から`ICMP/ping`が開始しています。解答はSourceに記載されたIPアドレスです。
![icmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/e30d7433-a826-7bd2-7576-700f99dd8bba.png)

## Day 7 - #2.
>If we only wanted to see HTTP GET requests in our "pcap1.pcap" file, what filter would we use?

フィルタを使い表示を`HTTP`プロトコル（`http.request.method`）における（`==`）特定のメソッド（`GET`）のみに絞り混みます。
![HTTP GET.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/bce3a1fc-7e39-e7bf-61e3-237c1a370da9.png)

## Day 7 - #3.
>Now apply this filter to "pcap1.pcap" in Wireshark, what is the name of the article that the IP address "10.10.67.199" visited?

`Day 7 - #2.`のフィルタにIPアドレスを絞り混むフィルタを組み合わせます（`&&`）。
絞り混むIPアドレスはソース `10.10.67.199`（`is.src == 10.10.67.199`）です。

アクセスした記事の名前を知るには`/posts/`ディレクトリへのアクセスに注目します。
![ipsrc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/fc72fa9c-2189-7a5c-c3c7-3c2acba57213.png)

```
471	64.222360	10.10.67.199	10.10.15.52	HTTP	365	GET /posts/reindeer-of-the-week/ HTTP/1.1 
```

## Day 7 - #4.
>Let's begin analysing "pcap2.pcap". Look at the captured FTP traffic; what password was leaked during the login process?

`Wireshark`を使って`pcap2.pcap`ファイルを開きます。
フィルタを使い表示を`FTP`パケットのみに絞り込みます。
![FTP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/9ff87268-ca34-23fb-5659-1a1a06a6374f.png)

```
28	14.282063	10.10.73.252	10.10.122.128	FTP	98	Request: PASS plaintext_password_fiasco
```

右クリックメニューを表示し、`[追跡] > [TCPストリーム]`を選択します。
![TCPストリーム.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/59db8ef4-645b-dd2c-364e-f52c25e5667a.png)

## Day 7 - #5.
>Continuing with our analysis of "pcap2.pcap", what is the name of the protocol that is encrypted?

`Wireshark`のメニューより、`[統計] > [プロトコル階層]`を開きます。暗号化されているプロトコルはただ一つです。
![SSH.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/ed09fc1f-d05b-838b-1241-a50549e94355.png)

## Day 7 - #6.
>Analyse "pcap3.pcap" and recover Christmas!
>What is on Elf McSkidy's wishlist that will be used to replace Elf McEager?

`Wireshark`を使って`pcap3.pcap`ファイルを開きます。
`Wireshark`のメニューより、`[統計] > [プロトコル階層]`を開きます。
![プロトコル階層_pcap3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/0a0a7e81-1935-c185-56a6-27d2fbb28ea1.png)

ここでは、`HTTP`プロトコルに注目します。フィルタを使い表示を`HTTP`パケットのみに絞り込みます。

![HTTP_pcap3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/e9b8a991-6614-36fb-912a-5f7bff5e14c7.png)

```
291	26.537049	10.10.53.219	10.10.21.210	HTTP	215	GET /christmas.zip HTTP/1.1 
```

`christmas.zip`ファイルの中身が気になります。
![HTTPストリーム.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/085cd5b3-6d11-bd1c-1a1b-9f7288c96d4b.png)

`Wireshark`のメニューより、`[ファイル] > [オブジェクトをエクスポート] > [HTTP...]`を開きます。
`[コンテントタイプ:]`に`application/zip`を指定します。
`christmas.zip`を選択し、`[Save]`ボタンをクリックします。
![オブジェクトをエクスポート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/e2832c3c-ecfa-4567-6a8d-7dc7027f11c3.png)

`christmas.zip`の中身は次のとおりです。

```christmas.zip
AoC-2020.png			elf_mcskidy_wishlist.txt
Operation Artic Storm.pdf	selfie.jpg
christmas-tree.jpg		tryhackme_logo_full.svg
```

```elf_mcskidy_wishlist.txt
Wish list for Elf McSkidy
-------------------------
Budget: £100

x3 Hak 5 Pineapples
x1 Rubber ducky (to replace Elf McEager)
```

7日目のミッションが終了です。

# 参考になるTryHackMeのルーム
- [Wireshark 101](https://tryhackme.com/room/wireshark)
- [Introductory Networking](https://tryhackme.com/room/introtonetworking)
- [Network Services](https://tryhackme.com/room/networkservices)

# Walkthrough
- Constant Vigilance, [Christmas Crisis - Networking](https://www.wclaymoody.com/blog/tryhackme-adventofcyber-2020/#day-7), フラグ取得までを自動化したPythonコード
- BRYAN WENDT, [TryHackMe – Advent of Cyber 2 – Day 7 – Walkthrough](https://bryanwendt.wordpress.com/2020/12/07/tryhackme-advent-of-cyber-2-day-7-walkthrough/)
- NEERANJAN MURUGAN, [Advent of Cyber 2 ~ Try Hack Me](https://neeranjan.com/advent-of-cyber-2-try-hack-me/)

# おまけ
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/adventofcyber2?src=hash&amp;ref_src=twsrc%5Etfw">#adventofcyber2</a> Day 07のpcapファイルを「pcapバトラーZ」に食わせてみた。<br>1はファッコロ（ほのお）、2はサンタワー（ほのお）、3はハッパタイ（くさ）のモンスターが召喚された。<br>パケモンGOもやってみたいが、M5Stackが手元にない<a href="https://t.co/NoSfd9Ka6F">https://t.co/NoSfd9Ka6F</a> <a href="https://t.co/KJP1PWEZTr">pic.twitter.com/KJP1PWEZTr</a></p>&mdash; Noriaki Hayashi (@v_avenger) <a href="https://twitter.com/v_avenger/status/1336315272886513673?ref_src=twsrc%5Etfw">December 8, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>