やってみようインシデント分析

8b87ad1460f4051001d3b70211f05576?s=47 hiro
November 06, 2017

 やってみようインシデント分析

2017/11/06
第11回ゼロから始めるセキュリティ入門勉強会@Weeyble秋葉原
「やってみようインシデント分析」 #WeeybleSecurity

8b87ad1460f4051001d3b70211f05576?s=128

hiro

November 06, 2017
Tweet

Transcript

  1. やってみよう! インシデント分析 第11回ゼロから始めるセキュリティ入門勉強会@Weeyble秋葉原 2017/11/06 hiro(@ctrl_z3r0)a.k.a @catnap707

  2. アジェンダ 1 はじめに 2 インシデント対応における基本的なフロー 3 手軽にできるインシデント分析問題 4 やってみよう! 5

    まとめ
  3. はじめに 3 ▪CSIRTの訓練をしてみたいけど、、、 ”ログ解析とか出来る気がしない” ”シナリオ作るの面倒くさい” ”CTFは、ちょっとなんか違う” ”Hardeningは、難しすぎ” インシデント分析の 練習問題をご紹介!

  4. ご参考:インシデント対応における基本的なフロー(JPCERT/CC) 4 本日は、この 分析のお話

  5. 手軽にできるインシデント分析問題 ▪シナリオ考えられないし、環境も作れない( ˘•ω•˘ ) ⇒Malware-Traffic-AnalysisのTraffic Analysis Exerciseがおススメ! http://www.malware-traffic-analysis.net/training-Exercise.html

  6. 動作環境も、お手軽 ▪WireShark(pcapを読める環境)さえあればできるよ(‘ω’)ノ ⇒Linuxではなく、WindowsとNetworkの知識が問われる の知識も不要(バイナリファイル) ▪事前準備 ・WireShark ・テキストエディタ(『Sakuraエディタ』や『秀丸』など) ・SHA256ハッシュツール(『HashMyFiles』、WSLの『sha256sum』など) ★注意点 ・実際のインシデントを想定しており、pcapファイルに含まれるマルウェア

    は本物(ハッシュ値をVirutTotalやHybrid-Analysisで照合するため) ・問題のzipに含まれるマルウェアのexeファイルも本物 ⇒zipファイルを展開する場所を、ウイルス対策ソフトから除外設定 ※ただし、C2サーバはすでにテイクダウンされていると思われます
  7. やってみよう!

  8. Traffic Analysis Exercise ① ▪ Traffic Analysis Exercise やってみよう!(=゚ω゚)ノ ①問題を選択したら、関連ファイルをダウンロードし、展開しておく

  9. Traffic Analysis Exercise ② ②シナリオ(SENARIO)を読む(`・ω・´) あなたは、セキュリティアナリストとして、ワールドワイドに展開する企 業に勤めています。 最近、日本にオフィスが開設されました。 2017-06-27(火)、あなたは、2つの異なる侵入検知システム(IDS)か ら、優先度の高いアラートがいくつか表示されているのに気が付きま

    した。IDSの一つは、Snortが稼働し、もう一つは、Suricataが稼働して います。 日本のオフィスにあるWindowsコンピュータが感染していることが判明 しました。あなたが調査することを任されました。 あなたの手元には、pcapファイル、SnortアラートとSuricataアラートを 含むテキストファイルがあります。
  10. 10 ③設問を確認(‘◇’)ゞ Traffic Analysis Exercise ③ 1 感染したWindowsコンピュータのMACアドレス、IPアドレス、ホスト名 2 そのコンピュータが感染した日時(UTC)は?

    3 SnortとSuricataのアラートから、そのコンピュータは何に感染したか? 4 最初の HTTP GETリクエストから、どのように感染したか判断しなさい 5 感染させたと思われるファイルのSHA256ハッシュ値は何か? 6 pcapに含まれる3つのEXEファイルをエクスポートして、それぞれの SHA256ハッシュ値を答えよ。 注意:Suricataアラートの時刻は、元の感染から数時間後に tcpreplay によって生成されたため、正しくありません。
  11. 11 ④設問1「感染したWindowsコンピュータのMACアドレス、IPアドレス、ホスト名」 Traffic Analysis Exercise ④ udp.port == 67 のフィルタを設定し、DHCPパケットを絞り込む

  12. 12 ④設問1「感染したWindowsコンピュータのMACアドレス、IPアドレス、ホスト名」 Traffic Analysis Exercise ④ 解答1 MACアドレス:00:15:c5:de:c7:3b(Dell_de:c7:3b) IPアドレス:192.168.1.96 ホスト名:FlashGordon-PC

  13. 13 ⑤設問2「そのコンピュータが感染した日時(UTC)は?」 Traffic Analysis Exercise ⑤ 注意:Suricataアラートの時刻は、元の感染から数時間後に tcpreplay によって生成されたため、正しくありません。 Suricataではなく、snortとpcapの情報から日時を探す必要あり

    Windows(CR+LF)、Linux(LF)で改行コードが異なるので、 改行コードを解釈できるエディタ(秀丸、サクラエディタ)で開くこと。
  14. 14 ⑤設問2「そのコンピュータが感染した日時(UTC)は?」 Traffic Analysis Exercise ⑤ ▪Snortアラートログ 06/27-13:38ごろに、119.28.79.207 の80/tcp(HTTP)から EXEファイルがダウンロードされている

  15. 15 ⑤設問2「そのコンピュータが感染した日時(UTC)は?」 Traffic Analysis Exercise ⑤ http.request のフィルタを設定し、HTTPのリクエストを絞り込む 【悲報】pcapファイル、日本時間のため9時間進んでる(UTC+9) pcapの22:38は、Snortの13:38(確かに合致している)

    ▪Snortアラートログ 06/27-13:38ごろに、119.28.79.207 の80/tcp(HTTP)から EXEファイルがダウンロードされている
  16. 16 ⑤設問2「そのコンピュータが感染した日時(UTC)は?」 Traffic Analysis Exercise ⑤ 解答2 06/27-13:38ごろに、http://matied.com/gerv.gun にアクセスし、 バイナリデータ(exeファイル)がダウンロードされている。

  17. 17 補足:ダウンロード通信を詳しく見てみよう( `ー´)ノ Traffic Analysis Exercise ⑤

  18. 18 補足:ダウンロード通信を詳しく見てみよう( `ー´)ノ Traffic Analysis Exercise ⑤ GETリクエストの末尾が.exeではない (ダウンロード後、.exeにリネームされて実行され る)

    UAがブラウザではなく、スクリプトから実行されたもの バイナリデータ マルウェアの仕込み日時 6/26 19:05:45 マジックナンバーが、MZ=exeファイル
  19. 19 ⑥設問3「SnortとSuricataのアラートから、そのコンピュータは何に感染したか?」 Traffic Analysis Exercise ⑥

  20. 20 ⑥設問3「SnortとSuricataのアラートから、そのコンピュータは何に感染したか?」 Traffic Analysis Exercise ⑥ 解答3 Pushdo というトロイの木馬(バックドア)に感染した

  21. 21 ⑦設問4「最初の HTTP GETリクエストから、どのように感染したか判断しなさい」 Traffic Analysis Exercise ⑦ 実際の分析の場面では、どこから感染したか推測するのは難しい 脅威情報を基にググる(”http://matied.com/gerv.gun”

    を検索)
  22. 22 ⑦設問4「最初の HTTP GETリクエストから、どのように感染したか判断しなさい」 Traffic Analysis Exercise ⑦ ダウンローダーに含まれるURL 同じURLにアクセスする

    ダウンローダーの検体
  23. 23 ⑦設問4「最初の HTTP GETリクエストから、どのように感染したか判断しなさい」 Traffic Analysis Exercise ⑦ がっつり難読化されています( ˘•ω•˘

    ) Unicode ¥u0000 8進コード ¥000 16進コード ¥x00
  24. 24 ⑦設問4「最初の HTTP GETリクエストから、どのように感染したか判断しなさい」 Traffic Analysis Exercise ⑦ URLらしき ものが

    見えるお
  25. 25 ⑦設問4「最初の HTTP GETリクエストから、どのように感染したか判断しなさい」 Traffic Analysis Exercise ⑦ 文字列ジェネレーターで、URL decode

    してみる 文字列の連結 ”+” を 削除 このダウンローダーは、脅威情報にあったURLに アクセスすることを確認できた
  26. 26 ⑦設問4「最初の HTTP GETリクエストから、どのように感染したか判断しなさい」 Traffic Analysis Exercise ⑦ 感染元となったと思われる不審メールの例

  27. 27 ⑦設問4「最初の HTTP GETリクエストから、どのように感染したか判断しなさい」 Traffic Analysis Exercise ⑦ 解答4 2017.6.21890455543.xls.js

    60834d0c9d0602ef18cd65289b0b0fab05bbdb512acd3af0b273b6414883f60e 2017-547805549-231.pdf.js 59727ea201d94d471bdbb353b1281cca3c5bebf5305b140a3c017e52a37be702 DOC0978043-2017.6.doc.js 64ae13592c5d8b289be81ebb50e054cef49b0bdf50ea92dd44ed611dd274150f
  28. 28 ⑧設問5「感染させたと思われるファイルのSHA256ハッシュ値は何か?」 Traffic Analysis Exercise ⑧ 06/27-13:38ごろに、http://matied.com/gerv.gun にアクセス… Hybrid-Analysis(HA)で、”gerv.gun”を検索

  29. 29 ⑧設問5「感染させたと思われるファイルのSHA256ハッシュ値は何か?」 Traffic Analysis Exercise ⑧ 解答5 gerv.gun 0931537889c35226d00ed26962ecacb140521394279eb2ade7e9d2afcf1a7272

  30. 30 ⑨設問6「pcapに含まれる3つのEXEファイルをエクスポートして、それぞれの SHA256ハッシュ値を答えよ。」 Traffic Analysis Exercise ⑨

  31. 31 ⑨設問6「pcapに含まれる3つのEXEファイルをエクスポートして、それぞれの SHA256ハッシュ値を答えよ。」 Traffic Analysis Exercise ⑨ なぜか、解答例にある gerv.gun が表示されない

  32. 32 ⑨設問6「pcapに含まれる3つのEXEファイルをエクスポートして、それぞれの SHA256ハッシュ値を答えよ。」 Traffic Analysis Exercise ⑨ 保存して、HashMyFilesで読み込み

  33. 33 ⑨設問6「pcapに含まれる3つのEXEファイルをエクスポートして、それぞれの SHA256ハッシュ値を答えよ。」 Traffic Analysis Exercise ⑨ 解答6 gerv.gun ⇒

    pcapからは取り出せず trow.exe 94a0a09ee6a21526ac34d41eabf4ba603e9a30c26e6a1dc072ff45749dfb1fe1 wp.exe 79d503165d32176842fe386d96c04fb70f6ce1c8a485837957849297e625ea48
  34. 34 Traffic Analysis Exercise ⑩ ▪Answerが丁寧なので、英語でも難しくない(*'ω'*)

  35. 35 ▪Answerが丁寧なので、英語でも難しくない(*'ω'*) Traffic Analysis Exercise ⑪

  36. 36 ▪Answerが丁寧なので、英語でも難しくない(*'ω'*) Traffic Analysis Exercise ⑪

  37. 37 まとめ ◆英語にビビるな! (セキュリティ情報は、基本、英語) ◆攻撃と防御を知れば、 食いっぱぐれない(意味深) ◆基礎が大事(NWプロトコル、OS、DB、ツール) ◆サイバー攻撃は、攻撃者が圧倒的有利 (攻撃者の手法を知ろう!) ◆どうやったら防げるか、防御側目線でも見て

    みよう
  38. ご清聴ありがとうございました。 質問がありましたらどうぞ! 38