【CyberDefenders】SpottedInTheWild Lab【Walkthrough】

# はじめに
本記事は ___CyberDefenders___（以下リンク参考）の「__SpottedInTheWild Lab__」にチャレンジした際のWalkthroughになります

https://cyberdefenders.org/blueteam-ctf-challenges/spottedinthewild/

※本チャレンジについてはRed側のペネトレというよりはBlue側の分析力を問われるものになります。
※今回のチャレンジはディスクフォレンジックメインでしたね。

# チャレンジ開始前
## 問題について
以下の画像の「__Download Lab Files__」に問題ファイルのリンクがあります。
アーカイブファイルで圧縮されているので仮想環境で解凍してください。
※ホストで解凍しないでください。ディスクイメージの中には本物のマルウェアが入ってたりします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/dc5b6d8f-ae9a-f087-bb77-38eff26aed7b.png)

## 環境
この ___CyberDefenders___ を解く際には仮想環境でマルウェア解析やメモリフォレンジックを行う環境を用意する必要があります。
今回は以下のような環境を用意しました。
+ [remnux](https://remnux.org/)
+ Windows 10

今回はWindows 10の環境を利用しました。
`Autopsy`を基本的に使ってディスクフォレンジックを進めます。

# Q1
__In your investigation into the FinTrust Bank breach, you found an application that was the entry point for the attack. Which application was used to download the malicious file?__

ディスクイメージをAutopsyに食わせて、とりあえず`Recent Documents`を見てみます。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/205536c5-b116-e001-7f9b-0fb06caa2337.png)

怪しい某Tのアプリがありますね！

# Q2
__Finding out when the attack started is critical. What is the UTC timestamp for when the suspicious file was first downloaded?__
`2024-02-02`以降のタイムラインを追います。タイムラインは以下のアイコンから確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/ec5adcad-2384-781c-5117-ee4303ff14c8.png)
雑にFile Createのeventを追います。Telegram経由で落としてきている怪しいアーカイブがありますね。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/8d0b318c-7a41-0050-c65b-6b5483b432dc.png)

# Q3
__Knowing which vulnerability was exploited is key to improving security. What is the CVE identifier of the vulnerability used in this attack?__
先ほど見つけたファイルをダウンロードします。
その後、`certutil --hashfile`でハッシュ値を求めます。
![3-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/284f9043-1f5b-984a-1031-28be2e72db8f.png)
このハッシュ値をVirusTotalで検索します。
![3-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/c35af295-3627-387d-5bfc-dcc57e55f542.png)
このマルウェアが利用しているであろう脆弱性が分かります。

# Q4
__In examining the downloaded archive, you noticed a file in with an odd extension indicating it might be malicious. What is the name of this file?__
上記のファイルを`strings.exe`にかけます。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/c24fd549-162e-c2a6-d0fe-47944ba3d0e1.png)
`.cmd`のファイルがあるようです。

# Q5
Autopsyで`.cmd`のファイルを検索します。
![5-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/309ba551-decc-50e8-7db3-1a701d97ee6e.png)
見えにくいですが、しっかり追っていくとC2のアドレスが見えます。
## 更なる調査
上記`.cmd`ファイルの中には`.ps1`や`.bat`ファイルの記載が見えます。
![5-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/ee3d1788-50a5-f4a5-3e77-2048d0dc4913.png)
というわけで、ついでにAutopsyで`.bat`や`.ps1`ファイルを追っていきます。

まずは`.bat`ファイル
![5-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/1cfee396-976d-c10a-5413-0fb30d8b9468.png)
`.ps1`ファイルが見える。タイムラインでこの`.ps1`を追います。
フィルタをうまく利用します。
![5-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/02dbb9d8-8a0b-105e-fd96-acd630d28138.png)
Base64とReverseを利用しているのがコードから判断できるので、Cybercefを利用します。
![5-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/a236aefd-8e81-9c9d-7466-b069cc5c7dd4.png)
ぱっとコードを読んだ感じ、ラテラルムーブメントの足掛かりのためのホストを列挙しているように見える。
`BL4356.txt`に保存しているようなので、このファイルを探してみる。
![5-6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/e7f81a81-94c4-b5f4-b8c0-e1f5d3ab8a58.png)
列挙してそうですね。

# Q6
__To further understand how attackers cover their tracks, identify the script they used to tamper with the event logs. What is the script name?__
`更なる調査`で見えてますね。そのままのファイル名です。

# Q7
__Knowing when unauthorized actions happened helps in understanding the attack. What is the UTC timestamp for when the script that tampered with event logs was run?__
Autopsyの`Run Programs`で`POWERSHELL.EXE`を動かしているタイムスタンプを投入してもうまくいきませんでした。
そこでEventlogを探ってみます。Eventlogを改ざんするプログラムなのであまりディスクの中のファイルを追いたくなかったのですが、これしかもうなさそうなので。

![7-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/996c5d7d-2faf-f6cc-48bd-61a2efb3dfa8.png)
`Windows Powershell.evtx`のEventlogファイルが見えます。

これを抽出し`Hayabusa`にかけます。とりあえず全部のルールに引っかけます。

https://github.com/Yamato-Security/hayabusa

![7-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/a7de697b-305e-236a-c56f-da4350e935c3.png)

中身を確認するとEventlogを改ざんする`ps1`はでてきてなさそうです。
![7-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/381c3742-b5a3-a48f-d4e9-28bbc40fae37.png)

なら直接見ます。
![7-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/f2b2d3c2-4afe-fec6-39d0-022f5a5e593e.png)
だいぶ少なかったので最初に直接見れば良かったです。
といっても、実際には大量にログがある場合もあるのでHayabusaを最初に回して絞ってみることをお勧めします。（ログの種類によってはFullのルールで回すよりはCriticalなルールで見るほうがいいです。）

# Q8
__We need to identify if the attacker maintained access to the machine. What is the command used by the attacker for persistence?__
`.cmd`ファイルを確認します。
![8-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/2f654f24-008a-a155-7c34-87e710b12421.png)
`Tasks`という文字が見えますね。`Persistence`はタスクスケジューラだと当たりが付くかなと思います。
といってもここら辺のコマンドをAutopsyから拾えなかったので別のアプローチをとります。

`.cmd`ファイルを抽出し、`certutil -hashfile`からハッシュ値を取ります。
![8-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/17dcaa3a-deea-80bf-42cb-3826cd3c75c3.png)
これをVirusTotalに突っ込み、Behaviorを確認します。
![8-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/fb781555-e107-3bc6-4e1d-9e9ae5fff1e1.png)
`schtasks.exe`を起動するProcessとかが見当たらなかったので`Anyrun`も確認します。
![8-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036848/26757944-e5fa-e320-6be8-0511b4297813.png)
コマンドラインを拾えました！

# Q9
__To understand the attacker's data exfiltration strategy, we need to locate where they stored their harvested data. What is the full path of the file storing the data collected by one of the attacker's tools in preparation for data exfiltration?__
`更なる調査`で分かってしまった。

# 最後に
`Autopsy`を利用しまくるいい問題でした。
Threat Intel観点で無理矢理解いたような形の問題もありましたが、大体先人のつよつよマルウェアアナリストさんがIntelを抽出してくれてたりするので助かってます。