[TryHackMe] Advent of Cyber 2, Day 8 - 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 8] Networking: What's Under the Christmas Tree?
## ストーリー
![Day 08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/78e67876-f8f1-507e-aa86-8c833572b863.png)

>数ヶ月の試用期間を経て、インターンのエルフ・McEagerはエルフ・McSkidyからの熱烈なフィードバックを受けて合格しました。会議中に、エルフ・McEagerは、彼が守ると誓ったシステムについてもっと知りたいので、 **The Best Festival Company（TBFC）** の内部ネットワークに関するアクセス権限を増やしてほしいと要求しました。
>
>エルフ・McSkidyはこれに同意することを渋っていました。しかし、クリスマスを取り戻そうとするエルフ・McEagerの英雄的な行動の後、エルフ・McSkidyはすぐにこれは良い考えだと思いました。これはエルフ・McEagerにとって未知の領域でした。彼は、新しい責任者のためにこの情報を見つけ始める方法をを見当もつきませんでした。ありがたいことに、TBFCには、エルフ・McEagerが登録するための`Nmap`の使い方をカバーする素晴らしいスキルアッププログラムが用意されています。

## チャレンジ
>マシンを`[Deploy]`して、`nmap`を使用し、このタスクに関連づけられているインスタンスをスキャンします。このタスクでデプロイしたインスタンスのIPアドレス`MACHINE_IP`をメモし、エルフ・McEagerのために列挙します。
>
>*オプションのボーナス*: 「Day 7 - The Grinch Really Did Steal Christmas」でエルフ・McEagerがクリスマスを取り戻した結果、TBFCのウェブサイトが復元され、すべてのエルフが訪れることができるようになりました。あなたはそれをみつけることができますか。かなり読み応えがあると聞いています... アプリケーションがロードされる前に、`/etc/hosts`ファイルに`MACHINE_IP tbfc.blog`を追加する必要があります。

## Day 8 - #1.
>When was Snort created?

こちらの記事が参考になります。「*最初のバージョンは`YYYY`年に作った。*」とのコメントが記載されています。

- [新機能も無償で公開する－－“Snortの生みの親”](https://xtech.nikkei.com/it/article/Interview/20071002/283467/)

[Snort](https://www.snort.org/)の開発者は、[Martin Roesch](https://www.linkedin.com/in/maroesch/)氏。2001年に「Sourcefire」を設立し、2013年10月7日にシスコシステムズに買収されました。
現在、[Cisco Talos](https://talosintelligence.com/)チームによって、「Snortルールセット」「Snortサブスクライバルールセット」「ClamAV」などの提供が行われています。

## Day 8 - #2.
>Using Nmap on 10.10.184.153 , what are the port numbers of the three services running?  (Please provide your answer in ascending order/lowest -> highest, separated by a comma)

`nmap`使用時に指定するコマンドオプションは好みが分かれるところです。私のお気に入りは次のコマンド構文です。

```
kali@kali:~$ nmap -Pn -T4 -A 10.10.171.128
Starting Nmap 7.80 ( https://nmap.org ) at 2020-12-08 20:37 EST
Nmap scan report for tbfc.blog (10.10.171.128)
Host is up (0.28s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE       VERSION
80/tcp   open  http          Apache httpd 2.4.29 ((Ubuntu))
|_http-generator: Hugo 0.78.2
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: TBFC&#39;s Internal Blog
2222/tcp open  ssh           OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 cf:c9:99:d0:5c:09:27:cd:a1:a8:1b:c2:b1:d5:ef:a6 (RSA)
|   256 4c:d4:f9:20:6b:ce:fc:62:99:54:7d:c2:b4:b2:f2:b2 (ECDSA)
|_  256 d0:e6:72:18:b5:20:89:75:d5:69:74:ac:cc:b8:3b:9b (ED25519)
3389/tcp open  ms-wbt-server xrdp
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 110.15 seconds
```

標的にて稼働しているサービスが判明しました。特に気になるのは次の通りです。

|ポート番号|サービス|バージョン|
|:---|:---|:---|
|80/tcp|http|Apache httpd 2.4.29 ((Ubuntu))|
|2222/tcp|ssh|OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)|
|3389/tcp|rdp|ms-wbt-server xrdp|

## Day 8 - #3.
>Run a scan and provide the `-Pn` flag to ignore ICMP being used to determine if the host is up

`ping/ICMP`に応答しないホストがあると`nmap`の動作が止まってしまい先に進まない場合があります。その場合は`-Pn`（pingなし）あるいは`-P0`オプションが有効です。

## Day 8 - #4.
>Experiment with different scan settings such as `-A` and `-sV` whilst comparing the outputs given.

`nmap`使用時に単独のオプションスイッチだけで使うことはほとんどありません。
![nmap.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/42bf61f5-643c-5c3a-5236-c75e624c6eaa.png)

## Day 8 - #5.
>Use Nmap to determine the name of the Linux distribution that is running, what is reported as the most likely distribution to be running?

`Day 8 - #2.`にて解答は得られていますね。
ちなみに、リモートからのOS検出機能`-O`オプションを使用した結果は、`No exact OS matches for host`でした。

```
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.80%E=4%D=12/8%OT=80%CT=1%CU=30960%PV=Y%DS=2%DC=I%G=Y%TM=5FD032F
OS:3%P=x86_64-pc-linux-gnu)SEQ(SP=103%GCD=1%ISR=10D%TI=Z%CI=Z%II=I%TS=A)OPS
OS:(O1=M508ST11NW7%O2=M508ST11NW7%O3=M508NNT11NW7%O4=M508ST11NW7%O5=M508ST1
OS:1NW7%O6=M508ST11)WIN(W1=F4B3%W2=F4B3%W3=F4B3%W4=F4B3%W5=F4B3%W6=F4B3)ECN
OS:(R=Y%DF=Y%T=40%W=F507%O=M508NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=A
OS:S%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R
OS:=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F
OS:=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%
OS:T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD
OS:=S)
```

![os-detection.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/dae487e2-5759-7ada-34a6-a67b6ddad4d5.png)

## Day 8 - #6.
>Use Nmap's Network Scripting Engine (NSE) to retrieve the "**HTTP-TITLE**" of the webserver. Based on the value returned, what do we think this website might be used for?

`Day 8 - #2.`にて解答は得られていますね。

```
|_http-title: TBFC&#39;s Internal Blog
```

`Firefox`にて`80/tcp`にアクセスしてみました。
![TBFC_blog.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/68cd8e72-2ba3-f874-c1ae-0c169137dc19.png)

## Day 8 - #7.
>Now use different scripts against the remaining services to discover any further information about them

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

# 参考になるTryHackMeのルーム
- [Nmap](https://tryhackme.com/room/furthernmap)

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