Splunk BOSS of the SOC ver 2について(Spearphishing Attachment)

[Boss of the SOC (BOTS) Advanced APT Hunting Companion App for Splunk](https://splunkbase.splunk.com/app/4430/)
Hunting an APT with Splunk Workshop
Welcome to the Hunting an APT with Splunk Workshop based on the Boss of the SOC 2017 data set.

こちらを元に、手順を追ってみる。データセットは[ここ](https://github.com/splunk/botsv2)
なお、ログの時間を合わせるためユーザの時間帯を**(GMT -08:00)**にする必要がある。

全１３回

1. [概要とPowerShell Empire](https://qiita.com/toshikawa/items/511af1a3054ab81cd475)
2. [FTP Exfiltration](https://qiita.com/toshikawa/items/ca6483e4c0ef7f3bb9d3)
3. [DNS Exfiltration](https://qiita.com/toshikawa/items/93a57d9ac0e06bab0bde)
4. [Adversary Infrastructure](https://qiita.com/toshikawa/items/75cbfa0b522735bc5228)
5. [Spearphishing Attachment](https://qiita.com/toshikawa/items/b9bc3527c0f9787d6be1)
6. [User Execution](https://qiita.com/toshikawa/items/945e271b05c1ea55ef34/)
7. [Account Persistence](https://qiita.com/toshikawa/items/df27a896ab71bafb512d)
8. [Scheduled Task](https://qiita.com/toshikawa/items/b203eb78c699192cfc6d/)
9. [Indicator Removal](https://qiita.com/toshikawa/items/8e0c730280e051a3ed4e/)
10. [User Agent Strings](https://qiita.com/toshikawa/items/bb0055bf74af461824a9/)
11. [OSINT Gathering](https://qiita.com/toshikawa/items/4cad2830289bc83ca330/edit)
12. [Lateral Movement](https://qiita.com/toshikawa/items/054c8c358c79758dec25/)
13. [Data Staging](https://qiita.com/toshikawa/items/886df42faf744c299985/)

#Spearphishing Attachment
##Spearphishing Attachment - Hypothesis
>仮説
敵は、フィッシングを使用してFroth.ly内に足場を確立しようとします
説明
スピアフィッシング添付ファイルは、スピアフィッシングの特定のバリアントです。 スピアフィッシング添付ファイルは、電子メールに添付されたマルウェアの使用を使用するという点で、他の形式のスピアフィッシングとは異なります。 このシナリオでは、攻撃者はファイルをスピアフィッシングメールに添付し、通常はユーザーの実行に依存して実行を取得します。

####How Might We Confirm or Refute Our Hypothesis?
- どのデータソース（ソースタイプ）でメールトラフィックを探す必要がありますか？
- 電子メールの添付ファイルについて仮説を立てている場合、どの電子メールの添付ファイルが受信されているかを把握できますか？
- 特定の種類の添付ファイルを探していますか？
- 興味のある添付ファイルが見つかった場合、どの属性がそれに関連付けられていますか？
- 送信者、受信者、件名、メッセージなど
- これらの属性は他の電子メールに表示されますか？
- 活用できなかった、失敗した以前のスピアフィッシングの試みはありますか？

##Spearphishing Attachment - SMTP
>SMTPの属性

>電子メールは、ハント中に使用できる多くの属性を提供します。 stream：smtpを検索するときに、一般的な添付ファイル名との類似点と相違点を探して、攻撃の標的を決定できます。

####Attack Vector - Find the Filename
>信じられないほど幸運でない限り、特定のファイルの配信は、敵が混乱しない限り、キャッチする可能性が高いものではありません。優れた脅威インテリジェンスを持っているか、キルチェーンの他の部分を介して戻ってきました。 何を探すべきか。 ただし、これらの調査結果を運用できるようになれば、将来これらの攻撃をより迅速に検出できるようになります。

>他の指標をキャプチャした場合、または被害者/ターゲットが誰であるかを知っている場合、この最近取得した知識を使用して狩りをすることができます。

>ここでの検索は、stream：smtpデータを介して送信されたいくつかの添付ファイルがあることを示しています。 他の環境ではより多くの添付ファイルをふるいにかける可能性が高いことを認識しますが、attach_filename {}フィールドを使用すると、添付ファイルの種類がわかります。 これを出発点として使用できます。

####Narrowing Time
>また、攻撃活動が8月23日頃に発生し始めたことを知っています。したがって、フィッシングメールが配信された場合、8月23日より前に発生していました。 すぐに行動するので、注意して、ウィンドウをあまり速く閉じないようにしましょう。

>さらに、特定のファイルタイプが他のファイルタイプよりも興味深いと仮定することができます。この場合、zipファイルは見たいファイル拡張子になる可能性が高いと仮定できます。

検索期間等は`575,512 件のイベント (2017/08/01 0:00:00.000～2017/08/24 0:00:00.000)`

####Focus on a Specific File
>攻撃活動の前に、invoice.zipというファイルを含む4つのイベントが見られました。 これは非常に無害なファイル名のように聞こえるので、仮説を検証または無効にするのに役立つかどうかを評価するために、追加のコンテキストを収集する必要があるかもしれません。

####Contextual Clues
- フィッシングに関する追加情報を見つける
 - 発信元
 - 送信者名
 - 受信者
 - 添付ファイル名
 - サイズ
 - 日付時刻
 - メール本体
 - 件名
 - その他？

>見つかったファイル名に対応するように検索を絞り込んだので、他に探しているものは何ですか？ 送信者の名前だけでなく、発信者が誰であるかを送信者が誰であるかを理解することができます。 メールの宛先、添付ファイルの名前とサイズ、メールが受信された時刻、件名またはメール、および本文の内容を知りたい。 他に探しているものはありますか？

####Reviewing Contextual Clues
>検索でイベントを確認すると、メールイベントのsrc_ipが異なるサーバーからのものであることがわかりますが、すべて同じ/ 16ネットブロックからのものです。

>同じファイルが含まれる4つのイベントの類似性を探し始めると、それらすべてに共通の送信者、件名、ファイルサイズ、およびハッシュがあったことがわかります。 これは4人の異なる受信者に送信され、これらの受信者のうち少なくとも2人がその後の攻撃活動で影響を受けたことがわかります。 これにより、このファイルが他のファイルと比較して探しているファイルであるというある程度の自信が得られます。

`receiver{}`になっていないので動いていなかった

```Splunk:SPL
index=botsv2 sourcetype=stream:smtp attach_filename{}=invoice.zip | stats count by receiver{} | eventstats sum(count) as perc | eval percentage=round(count*100/perc,2) | fields - perc |sort - count
```

| receiver{} | count | percentage |
|:--|--:|--:|
| <abungstein@froth.ly> | 1 | 25.00 |
| <btun@froth.ly> | 1 | 25.00 |
| <fyodor@froth.ly> | 1 | 25.00 |
| <klagerfield@froth.ly> | 1 | 25.00 |

####Application/Octet-Stream
>また、ファイルのattach_type値がapplication / octet-streamであることもわかります。 Mozillaをざっと見てみると、これがバイナリファイルのデフォルト値であることがわかります。

##Spearphishing Attachment - Content
>メールメッセージの内容の確認

>電子メール内の大きなテキストBLOBの一部は、電子メール自体の中でメッセージの送信者のIPアドレスを識別するのに役立つ追加のアーティファクトを提供できます。 これらの成果物を取得しやすくするために、rexコマンドを使用してこれらの検索時間抽出を実行できます。

####Content of the Content Field :-)
>イベントを展開すると、すでに述べた以上のイベントの追加フィールドを調べることができます。 まだ注目していない分野の1つは、少しのテキストBLOBであるコンテンツフィールドです。

>コンテンツフィールド内では、メールを処理および移動する方法に沿ってさまざまなシステムを使用できます。 確認すると、送信者のIPアドレスが185.83.51.21として呼び出されていることがわかります。 これにより、実際の送信者がどこにいたのか、他のシステムと一致するかどうかの手がかりが得られる場合があります。

これまた`content{}`に変更する必要がある。
####Adding Artifacts to Our Search
>各コンテンツBLOBをくまなく調べる代わりに、regexステートメントを使用して、send_ipアドレスを抽出するrexコマンドをすばやくまとめることができます。 次に、その正規表現の結果を取得し、検索コマンドを使用して、新しく見つかったアーティファクトを分離できます。

>tableコマンドを使用してコンテンツフィールドに同じ送信者IPがあるかどうかを確認するために4つのイベントを個別に見ることができますが、これは大規模に混乱する可能性があるため、rexコマンドはその値を分離するための望ましい方法です。

>srcアドレスを調べて以前の検索と比較すると、両方で同じ4つのsrc IPアドレスが表示され、185.83.51.21が4つのイベントすべての元の送信者であることを確認できます。

これまた`content{}`に変更する必要がある。結果は一緒

| src | count | percentage |
|:--|--:|--:|
| 104.47.37.62 | 1 | 25.00 |
| 104.47.38.87 | 1 | 25.00 |
| 104.47.41.43 | 1 | 25.00 |
| 104.47.42.76 | 1 | 25.00 |

##Spearphishing Attachment - OSINT
>OSINTを使用した調査結果の検証（または無効化）

>送信者のドメインに加えて、送信者のIPアドレスに関する追加情報があるので、OSINTを使用して、収集可能な実用的な情報があるかどうかを判断できます。

>OSINTを使用して、src_ipがメールの発信元の手がかりを提供するかどうかを確認すると、見つかった4つのIPはすべてMicrosoftのIPブロックの一部です。 これは、残念ながら狩りを進める助けにはなりません。

####Perform OSINT on 185.83.51.21 Address
[Censys - 185.83.51.21](https://censys.io/ipv4/185.83.51.21)

>コンテンツフィールドから抽出したsender_ipを見ると、censys.ioなどのOSINTツールまたは他の多くのツールを使用できます。送信者IPはベルギーにあり、smtp12.ymlpsvr.comに関連付けられていることがわかります。

####So What Is ymlpsvr.com?
>ymlpsvr.comの少し追加の研究は、失望をもたらしました。 どうやらそれは、企業が顧客や見込み客にメールを送信するために使用するメーリングリストプロバイダーです。 これは悪意のある送信者ではなく、誰かが私たちの4人のユーザーに電子メールを送信するために利用したサービスのようです。

>MITER PRE-ATT＆CKは、サードパーティのソフトウェアサービスを攻撃手法として使用して参照します。

####Whois
>ドメインツールまたは他のOSINTを使用して、urinalysis.comでwhoisを実行できます。 覚えていれば、このドメインは送信者のメールアドレスでした。 残念ながら、このドメインを確認する際に、ここから引き出すべき顕著なものはないようです。 この時点で、OSINTは私たちにとって少しドライホールでしたが、恥ずかしげに頭を下げる必要はありません。イベントに戻って、他に何があるか見てみましょう。

##Spearphishing Attachment - Commonality
>共通点を見つける

>また、送信者名のような一般的な値を探すこともできます。 同じ送信者が、攻撃が成功する前にメールを送信する可能性があります。 メールの送信元のIPアドレスまたはドメインではできない、一般的な送信者から引き出せるものはありますか？

####Common Sender
>特にファイルに注目するのではなく、少し異なる方法でインジケーターを見てみましょう。 時間範囲を同じに保ちましょうが、代わりにジムスミスがfroth.lyに他のメールを送信したかどうかを確認しましょう。

>tableコマンドを使用してキーフィールドを出力すると、電子メールイベントがいつ発生したかを確認できます。 同じ4人の受信者が同じような件名の同じようなメールを受け取ったことがわかります。 添付ファイルのmd5ハッシュも確認できます。

####Common Attachment
>Malware Alert Text.txtが添付されたメールのコンテンツを検索して、そこに手がかりがあるかどうかを確認できます。 各イベントの下部にあるcontent {}フィールド内には、添付ファイルに関する詳細があります。 イベントが示すように、エンコードはbase64にあります。

####Decode Using CyberChef
>cyberchefなどのBase64デコーダーにbase64値をコピーして貼り付けると、トロイの木馬として検出されたため、添付ファイルが削除されたことがわかります。

[CyberChefによる結果](https://gchq.github.io/CyberChef/#recipe=Remove_whitespace(true,true,true,true,true,false)From_Base64('A-Za-z0-9%2B/%3D',true)&input=VFdGc2QyRnlaU0IzWVhNZ1pHVjBaV04wWldRZ2FXNGdiMjVsSUc5eUlHMXZjbVVnWVhSMFlXTm9iV1Z1ZEhNZ2FXNWpiSFZrWldRZwpkMmwwYUNCMGFHbHpJR1Z0WVdsc0lHMWxjM05oWjJVdUlBMEtRV04wYVc5dU9pQkJiR3dnWVhSMFlXTm9iV1Z1ZEhNZ2FHRjJaU0JpClpXVnVJSEpsYlc5MlpXUXVEUXBwYm5admFXTmxMbVJ2WXdrZ1ZISnZhbUZ1TGxwV1JVb3RNZzBLYVc1MmIybGpaUzVrYjJNSklFODUKTjAwdlJHOXViMlptSVhKbWJnMEs)

####Comparing Emails
>テーブル出力を変更する場合、ブロックされた電子メールコンテンツを調べて、invoice.zipファイルを配信したコンテンツと比較できます。 本体を見ると、正常に配信された添付ファイルと失敗した添付ファイルの間に多くの類似点があります。 それに基づいて、ジム・スミスは間違いなく関心のある送信者です。

####Attachment Hash Value
>添付ファイルのファイルハッシュも確認できます。 これは、他の人がファイルについて見たり知ったりしていることを理解するのに役立ちます。 ファイルのハッシュをキャプチャできると、VirusTotalなどのサイトを調査して追加の調査を行うことができます。 4人の受信者はすべて同じファイル名と同じハッシュを持っています。

####VirusTotal
>ハッシュを取得してVirusTotalに適用すると、ファイルが実行されるかfroth.lyに送信される前に、このファイルが8月1日にVirusTotalに送信されたことがわかります。 また、ウイルススキャナが悪意のあるファイルを見つけたことを示すものでもありません。 これは、マルウェアがすべてのスキャナーに対して正常に実行されてから攻撃ベクトルとして検出されるまで、マルウェアが構築およびテストされたことを意味します。

##Spearphishing Attachment - Findings

仮説を確認できましたか？

- 同じ4人の受信者が、2つの異なる時間に近い時間内に同じ送信者から電子メールを受信した
 - 初めてマルウェアがトロイの木馬を検出した
 - 二度目はしませんでした
- 両方の攻撃で同一のメタデータ
- 商用サービスから送信
- OSINTは追加の確証を提供しませんでした
- 完全には定かではありませんが、確かにもっと綿密に調べます

学んだこと

- フィッシングの試みが2回行われた
 - 最初の試行は失敗しました
 - 2回目の試行が成功しました
- 送信者IPは185.83.51.21です
- 送信者名はJim Smith <jsmith@urinalysis.com>です
- フィッシングは両方とも同じ4人の受信者を標的にしました
- フィッシングメールの件名は請求書でした
- 本文は4つのメールすべてで同一でした
- 電子メールは近接して送信されましたが、個別に送信されました
- 添付ファイルは各受信者で同じサイズでした

####What should we operationalize?
>各ハントの終わりに、私たちは何を取り、インシデント対応チームにフィードバックできるかについて考えたいと思います。 これは、ボックスを引っ張ってフォレンジックアクティビティを実行するなどの追加アクティビティであるか、インジケータを取得してSIEMまたはログ管理システムにフィードするか、発見したことに基づいて新しい分析とアラートを構築することができます。 一日の終わりには、先ほど言ったように、狩りから何かを学ぶ必要があります！

- ドメインのブラックリストを適用して、将来のフィッシング攻撃を監視する
- 送信者IPのアラート/ブラックリストを適用する
- 両刃の剣–これはビジネスプロセスを阻害しますか？
- ハッシュ値の分析を自動化して脅威のインテルを調べ、添付ファイルのクラウドソーシングの脅威のインテルに関する洞察を得ます
- 同じファイル名/サイズの複数の受信者に外部から着信する添付ファイルについて警告するアナリティクスを開発する

#まとめ
すこしフィールド抽出がうまくできていないところがあったほか、問題なし。
今回はstream:smtpのログから抽出していったが、pcapでwiresharkの方が楽かなと思いました。
とりあえずパケットがとれていないと話にならないことは確かです。