Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Remove_obfuscation_in_Emotet_PowershellScript-20200129.pdf

8b87ad1460f4051001d3b70211f05576?s=47 hiro
January 29, 2020

 Remove_obfuscation_in_Emotet_PowershellScript-20200129.pdf

8b87ad1460f4051001d3b70211f05576?s=128

hiro

January 29, 2020
Tweet

Transcript

  1. EmotetのPowerShell難読化解除
 〜Any.RunとCyberChefの使い方〜
 第34回ゼロから始めるセキュリティ入門 勉強会
 2020/01/29
 hiro(@ctrl_z3r0) a.k.a ねこさん⚡(@catnap707)


  2. 自己紹介


  3. アジェンダ
 1 最近の不審メールの傾向 2 不審メール情報の収集 3 マルウェアの調査
 4 ANY.RUNの歩き方
 5 Emotet Maldocの調査
 6 Emotet⇒WScript(Javascript)の調査
 ▪参考情報
 ・VirusTotal.com


     https://virustotal.com/gui/home/upload
 ・Hybrid-Analysis.com
  https://hybrid-analysis.com/
 ・Any Run
  https://app.any.run/

  4. 1 最近の不審メールの傾向
 4

  5. 不審メールの分類
 ※添付されるファイルは、ダウンローダが主流(PowerShellやVBAを含む)
  悪意(Malicios)のあるドキュメント(Document)で、Maldoc(マルドック)と呼ばれる
  
 不審メール
 メールの形態
 目的
 ばらまき型メール
 (返信型メール)
 マルウェア(ダウンローダ)

    を含む添付ファイル
 金銭目的(バンキングトロージャンか、
 ランサムウェアがほとんど)
 不審なリンクを含むメール
 フィッシング(アカウント情報、
 クレジットカード情報の窃取)
 出会い系サイトやアダルトサイトへの
 誘導(迷惑メール、SPAMメール)
 メールアドレスの死活確認
 標的型攻撃メール
 RAT(リモートアクセスツ
 ール)を含む添付ファイル
 特定組織が保有する秘密情報の窃取
 ランサムウェアのダウン ローダを含む添付ファイル
 標的型ランサムウェア(Ryuku、 Sodinokibi、RobinHood)
 BEC
 (ビジネスメール詐欺)
 テキスト
 攻撃者が用意した口座への振込み
 5
  6. 6 現在主流のマルウェア感染手法
 4年ほど前までは実行ファイル(.exe、.scr等)が添付されていたが、
 現在は、Officeドキュメントに仕込まれたVBAマクロや PowerShell スク リプトがダウンローダ(ドロッパー)として添付されている。
 ダウンローダーのアクセス先URLや、ペイロードが通信するC&Cサーバ (C2サーバ)の通信先などの脅威情報(IoC:Indicator of

    Compromise) が判明すれば、通信制限することで被害を最小限にできる。 C&Cサーバ ペイロード
 (マルウェア本体) 接続を制限 ▪参考情報
 ・防ぎきれない攻撃を検知するため利用が広がるIoC、課題や限界を踏まえた上での利用が不可欠
  https://www.cybernet.co.jp/carbonblack/tips/06.html

  7. 7 Emotetの概要
 ▪参考情報
 ・マルウエア Emotet の感染活動について(2019-12-02)
  https://www.jpcert.or.jp/newsflash/2019112701.html
 ▪2019年10月ごろから日本をターゲットにしたEmotetが流行


  8. 2 不審メール情報の収集
 8

  9. 9 不審メール情報 (1/2)
 ・JC3 (日本サイバー犯罪対策センター)
  https://www.jc3.or.jp/topics/virusmail.html
 
 Cutwail-A(マクロ付きxls)、
 Cutwail-B(主にメール内リンク)の情報
 ※Emotet情報なし。


  10. 10 不審メール情報 (2/2)
 ・ITC PORTAL(電気通信大学 情報基盤センター)
  https://www.cc.uec.ac.jp/blogs/news/cat62/
 
 
 ※Emotetの検体のハッシュ値の情報あり


  11. 11 ご参考:RSSリーダーによる情報収集
 ・RSSリーダー(Feedly、InoReader)による情報収集


  12. 3 マルウェアの調査
 12

  13. 13 マルウェアの解析方法
 (1)解析方法
 解析
 概要
 解析時間
 難易度
 表層解析
 ハッシュ値、ファイルタイプ、文字列抽出など から得られた情報など、表面的な情報から解

    析する手法。
 短い
 易しい
 動的解析
 実際にマルウェアを動作させて、その挙動(通 信先、ファイル変更、レジストリ変更等)を調べ る解析手法。ブラックボックス解析。
 
 
 静的解析
 マルウェアの実行ファイルをデバッガを使用し てプログラムコードを分析する解析手法。
 ホワイトボックス解析。
 長い
 難しい
 ※ハッシュ値
 一方向関数によって得られる固定長の不可逆な文字列。ハッシュ値から元の 入力データを生成することはできない。入力データが同じであればハッシュ値 も同じとなる。ファイル名が異なっていても中身が同じであれば、同じハッシュ 値となるためマルウェアの調査でよく利用される。(SHA256、MD5)

  14. 14 調査に便利なサイト
 サイト名、URL
 ハッシュ検 索
 ファイル名
 検索
 動的
 解析
 最近の


    検体
 URL
 解析
 IPアドレス、
 ドメイン名
 URL調査
 PCAP
 解析
 virustotal.com
 ウイルストータル
 ◎
 ×
 -
 ×
 〇
 ◎
 -
 hybrid-analysis.com
 ハイブリッドアナリシス
 〇
 △
 ◎
 〇
 〇
 △
 -
 app.any.run
 エニーラン
 〇
 -
 △
 〇
 △
 △
 -
 joesandbox.com
 ジョーサンドボックス
 〇
 〇
 △
 ◦
 〇
 〇
 -
 cape.contextis.com
 ケープ
 〇
 〇
 △
 〇
 〇
 〇
 〇
 packettotal.com
 パケットトータル
 〇
 -
 -
 〇
 -
 〇
 ◎
 凡例 ◎おすすめ、〇可能、×有償オプション、△要ユーザ登録、-機能なし
 (以下、VirusTotalをVT、Hybrid-AnalysisをHA、JoeSanboxをJOEという。)
 virustotal.com
 ウイルストータル
 ◎
 ×
 -
 ×
 〇
 ◎
 -
 hybrid-analysis.com
 ハイブリッドアナリシス
 〇
 △
 ◎
 〇
 〇
 △
 -
 app.any.run
 エニーラン
 ◦
 -
 △
 ◎
 △
 △
 -

  15. 4 ANY.RUNの歩き方


  16. 16 Any.Run とは
 ▪Any.Runの特徴
 ・マルウェア解析用のWindowsサンドボックスをインタラクティブに操作  できるのが特徴


  17. Behavior similar to spam 
 SPAMに似た動作の可能性あり 
 Process was added

    to the startup 
 プロセスをスタートアップに登録 
 Application downloaded the executable file 
 アプリケーションが実行ファイルをダウンロード 
 Executable file was dropped 
 実行ファイルがダウンロードされた 
 Task contains several apps running 
 数種のアプリを起動するタスク 
 17 Any.Runで表示されるアイコン
 ▪アイコンの概要
 URLからダウンロードされた検体 
 ブラウザがプロセスの起点となる検体 
 ファイルを開くことが起点となる検体 
 Emotetをペイロードとしてダウンロードする Maldoc(マルドック)には、このEXEのアイコン が表示されています。

  18. 18 Analysis Results(分析結果)画面(1/4)
 参考:How I use Any.Run | Network Security

    Ninja
    https://netsecninja.github.io/how-to/2019/04/01/how-I-use-any.run.html
 ▪HTTP REQUESTS
 HTTPレスポンス コード
 どのプロセスから
  どこ(URL)へ
 国コード、ファイルサイズ、 
 種類(テキスト/バイナリ) 
 ▪CONNECTIONS
 どのプロセスから
  どこ(IP、URL)へ
 ASN
 ポート番号

  19. 19 Analysis Results(分析結果)画面(2/4)
 ▪THREATS
 脅威の概要
 Suricataベースの検知内容 
 ▪FILES MODIFICATION
 変更・作成されたファイル

  20. 20 Analysis Results(分析結果)画面(3/4)
 ▪PROCESS
 Powershell.exeをクリックすると・・・ 
 PROCESS DETAILSが表示される 


  21. 21 Analysis Results(分析結果)画面(4/4)
 ▪ADVANCED DETAILS OF PROCESS
 難読化されたPowershellスクリプトが表示 される
 インターネットから実行ファイルを

    ダウンロードするから危ないよとい う警告
 WMI経由で、PowerShellスクリプト が実行された

  22. 5 Emotet Maldocの調査
 ~ペイロードの取得先を解析してみよう~


  23. Emotet Maldocの調査 ①
 ▪ Any.Runで、Emotet-docを検索
 1.「https://app.any.run/」をブラウザで開く 
 
2. 左メニューの「Public tasks」をクリック 20

  24. Emotet Maldocの調査 ①
 ▪ Any.Runで、Emotet-docを検索
 1.「https://app.any.run/」をブラウザで開く 
 
2. 左メニューの「Public tasks」をクリック 3.

    検索フォームでハッシュ値「79B68D5F08C058CCB9852656FDA6F81E」を検索
 (以下の例では「emotet-doc」を検索) 20 を含む検体がおすすめ 

  25. 25 Emotet Maldocの調査 ②
 ▪会議への招待.doc (MD5: 79B68D5F08C058CCB9852656FDA6F81E) 
 ペイロード取得先のURLは、
 ここにあるのでOK?


     ↓
 PowerShellスクリプトには
 複数設定されています!

  26. 26 Emotet Maldocの調査 ③
 ▪Powershellスクリプトを見てみよう
 Powershell.exeをクリック
 More Infoをクリック
 文字列を選択するか、コピーの
 アイコン   をクリックしてクリップ

    ボードにコピーしておく。

  27. 27 Emotet Maldocの調査 ④
 ▪CyberChefで難読化を解除
 1.「https://gchq.github.io/CyberChef/」をブラウザで開く
 2. 右上の「Input」に、先ほどコピーしたPowershellスクリプトをペースト 3. ランダムな文字列の前の「Powershell

    -w hidden -en 」を削除
  28. 28 Emotet Maldocの調査 ⑤
 ▪PowershellスクリプトをBase64でデコード
 4.左側のメニューから「From Base64」を選択して、真ん中の「Recipe」にドロップ
 5.左側のメニューから「Decode text」を選択して、真ん中の「Recipe」にドロップ 6.「Decode

    text」のEncodingから、「UTF-16 LE(1200)」を選択
  29. 29 Emotet Maldocの調査 ⑥
 ▪不要な文字(シングルクォートとアスタリスク)を改行に変更
 7.左側のメニューから「Split」を選択して、真ん中の「Recipe」にドロップ
 8.「Split delimiter」を「,」(カンマ)から「*」(アスタリスク)に修正

  30. 30 Emotet Maldocの調査 ⑦
 ▪得られたURLをdefang(デファング:牙を取り除く)
 10.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ
 9.左側のメニューから「Find / Replace」を選択し、「Find」

    に「[()+’]」を設定
  31. 31 Emotet Maldocの調査 ⑧
 ▪得られたURLをdefang(デファング:牙を取り除く)
 11.左側のメニューから「Defang URL」を選択して、真ん中の「Recipe」にドロップ
 12.http⇒hxxp、.⇒[.]等の文字列変換が行われる

  32. 6 Emotet⇒WScript(Javascript)の調査
 ~WScriptの場合~


  33. Emotet⇒WScript(Javascript)の調査 ①
 ▪ Any.Runで、Emotet-docを検索
 1.「https://app.any.run/」をブラウザで開く 
 
2. 左メニューの「Public tasks」をクリック 3. 検索フォームでハッシュ値「61B15153F8B5408CAB55475F43C6786F」を検索


    (以下の例では「emotet-doc」を検索) 20 を含む検体がおすすめ 

  34. 34 Emotet⇒WScript(Javascript)の調査 ②
 ▪heoIvNqQw_ypqKyLkxz.docm (MD5: 61B15153F8B5408CAB55475F43C6786F) 
 2020年1月30日ごろから、WScript.exeが *.jse(Javascript)
 を読み込む検体が確認されました。


  35. 35 Emotet⇒WScript(Javascript)の調査 ③
 ▪WScript(Javascript)スクリプトを見てみよう
 WINWORD.EXEをクリック
 More Infoをクリック


  36. 36 Emotet⇒WScript(Javascript)の調査 ④
 ▪WScript(Javascript)スクリプトを見てみよう
 .jse ファイルをクリック


  37. 37 Emotet⇒WScript(Javascript)の調査 ⑤
 ▪WScript(Javascript)スクリプトを見てみよう
 マウスで選択してコピー


  38. 38 Emotet⇒WScript(Javascript)の調査 ⑥
 ▪CyberChefで難読化を解除
 1.「https://gchq.github.io/CyberChef/」をブラウザで開く
 2. 右上の「Input」に、先ほどコピーしたJavascriptをペースト

  39. 39 Emotet⇒WScript(Javascript)の調査 ⑦
 ▪CyberChefで難読化を解除
 3.左側のメニューから「Split」を選択して、真ん中の「Recipe」にドロップ
 4.「Split delimiter」を「,」(カンマ)から「’」(シングルクォート)に修正 5.もう一つ「Split」を追加し、「Splot delimiter」 に「;」(セミコロン)を設定

  40. 40 Emotet⇒WScript(Javascript)の調査 ⑧
 ▪得られたURLをdefang(デファング:牙を取り除く)
 6.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ


  41. 41 Emotet⇒WScript(Javascript)の調査 ⑧
 ▪得られたURLをdefang(デファング:牙を取り除く)
 7.左側のメニューから「Defang URL」を選択して、真ん中の「Recipe」にドロップ
 8.http⇒hxxp、.⇒[.]等の文字列変換が行われる 6.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ


  42. 42 まとめ
 ◆サイバー攻撃は、攻撃者が圧倒的有利
  (攻撃者の手法を知ろう!)
 ◆どうやったら防げるか、防御側目線でも見てみよう
 ◆セキュリティ情報は積極的に情報共有しましょう

  43. ご清聴ありがとうございました。
 43 フォロー待ってるニャ!
 @catnap707


  44. 44