$30 off During Our Annual Pro Sale. View Details »

Remove_obfuscation_in_Emotet_PowershellScript-20200129.pdf

hiro
January 29, 2020

 Remove_obfuscation_in_Emotet_PowershellScript-20200129.pdf

hiro

January 29, 2020
Tweet

More Decks by hiro

Other Decks in Technology

Transcript

  1. EmotetのPowerShell難読化解除

    〜Any.RunとCyberChefの使い方〜

    第34回ゼロから始めるセキュリティ入門 勉強会

    2020/01/29

    hiro(@ctrl_z3r0) a.k.a ねこさん⚡(@catnap707)


    View Slide

  2. 自己紹介


    View Slide

  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/


    View Slide

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

    4

    View Slide

  5. 不審メールの分類

    ※添付されるファイルは、ダウンローダが主流(PowerShellやVBAを含む)

     悪意(Malicios)のあるドキュメント(Document)で、Maldoc(マルドック)と呼ばれる

     

    不審メール
 メールの形態
 目的

    ばらまき型メール

    (返信型メール)

    マルウェア(ダウンローダ)
    を含む添付ファイル

    金銭目的(バンキングトロージャンか、

    ランサムウェアがほとんど)

    不審なリンクを含むメール

    フィッシング(アカウント情報、

    クレジットカード情報の窃取)

    出会い系サイトやアダルトサイトへの

    誘導(迷惑メール、SPAMメール)

    メールアドレスの死活確認

    標的型攻撃メール

    RAT(リモートアクセスツ

    ール)を含む添付ファイル

    特定組織が保有する秘密情報の窃取

    ランサムウェアのダウン
    ローダを含む添付ファイル

    標的型ランサムウェア(Ryuku、
    Sodinokibi、RobinHood)

    BEC

    (ビジネスメール詐欺)

    テキスト
 攻撃者が用意した口座への振込み

    5

    View Slide

  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


    View Slide

  7. 7
    Emotetの概要

    ■参考情報

    ・マルウエア Emotet の感染活動について(2019-12-02)

     https://www.jpcert.or.jp/newsflash/2019112701.html

    ■2019年10月ごろから日本をターゲットにしたEmotetが流行


    View Slide

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

    8

    View Slide

  9. 9
    不審メール情報 (1/2)

    ・JC3 (日本サイバー犯罪対策センター)

     https://www.jc3.or.jp/topics/virusmail.html


    Cutwail-A(マクロ付きxls)、

    Cutwail-B(主にメール内リンク)の情報

    ※Emotet情報なし。


    View Slide

  10. 10
    不審メール情報 (2/2)

    ・ITC PORTAL(電気通信大学 情報基盤センター)

     https://www.cc.uec.ac.jp/blogs/news/cat62/



    ※Emotetの検体のハッシュ値の情報あり


    View Slide

  11. 11
    ご参考:RSSリーダーによる情報収集

    ・RSSリーダー(Feedly、InoReader)による情報収集


    View Slide

  12. 3 マルウェアの調査

    12

    View Slide

  13. 13
    マルウェアの解析方法

    (1)解析方法

    解析
 概要
 解析時間
 難易度

    表層解析

    ハッシュ値、ファイルタイプ、文字列抽出など
    から得られた情報など、表面的な情報から解
    析する手法。

    短い
 易しい

    動的解析

    実際にマルウェアを動作させて、その挙動(通
    信先、ファイル変更、レジストリ変更等)を調べ
    る解析手法。ブラックボックス解析。

    
 

    静的解析

    マルウェアの実行ファイルをデバッガを使用し
    てプログラムコードを分析する解析手法。

    ホワイトボックス解析。

    長い
 難しい

    ※ハッシュ値

    一方向関数によって得られる固定長の不可逆な文字列。ハッシュ値から元の
    入力データを生成することはできない。入力データが同じであればハッシュ値
    も同じとなる。ファイル名が異なっていても中身が同じであれば、同じハッシュ
    値となるためマルウェアの調査でよく利用される。(SHA256、MD5)


    View Slide

  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

    エニーラン

    ○
 -
 △
 ◎
 △
 △
 -


    View Slide

  15. 4 ANY.RUNの歩き方


    View Slide

  16. 16
    Any.Run とは

    ■Any.Runの特徴

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


    View Slide

  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のアイコン
    が表示されています。


    View Slide

  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
 ポート番号


    View Slide

  19. 19
    Analysis Results(分析結果)画面(2/4)

    ■THREATS

    脅威の概要
 Suricataベースの検知内容 

    ■FILES MODIFICATION

    変更・作成されたファイル 


    View Slide

  20. 20
    Analysis Results(分析結果)画面(3/4)

    ■PROCESS

    Powershell.exeをクリックすると・・・ 

    PROCESS DETAILSが表示される 


    View Slide

  21. 21
    Analysis Results(分析結果)画面(4/4)

    ■ADVANCED DETAILS OF PROCESS

    難読化されたPowershellスクリプトが表示
    される

    インターネットから実行ファイルを
    ダウンロードするから危ないよとい
    う警告

    WMI経由で、PowerShellスクリプト
    が実行された


    View Slide

  22. 5 Emotet Maldocの調査

    ~ペイロードの取得先を解析してみよう~


    View Slide

  23. Emotet Maldocの調査 ①

    ■ Any.Runで、Emotet-docを検索

    1.「https://app.any.run/」をブラウザで開く 

    
2. 左メニューの「Public tasks」をクリック
    20

    View Slide

  24. Emotet Maldocの調査 ①

    ■ Any.Runで、Emotet-docを検索

    1.「https://app.any.run/」をブラウザで開く 

    
2. 左メニューの「Public tasks」をクリック
    3. 検索フォームでハッシュ値「79B68D5F08C058CCB9852656FDA6F81E」を検索

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


    View Slide

  25. 25
    Emotet Maldocの調査 ②

    ■会議への招待.doc (MD5: 79B68D5F08C058CCB9852656FDA6F81E) 

    ペイロード取得先のURLは、

    ここにあるのでOK?

     ↓

    PowerShellスクリプトには

    複数設定されています!


    View Slide

  26. 26
    Emotet Maldocの調査 ③

    ■Powershellスクリプトを見てみよう

    Powershell.exeをクリック

    More Infoをクリック

    文字列を選択するか、コピーの

    アイコン   をクリックしてクリップ
    ボードにコピーしておく。


    View Slide

  27. 27
    Emotet Maldocの調査 ④

    ■CyberChefで難読化を解除

    1.「https://gchq.github.io/CyberChef/」をブラウザで開く

    2. 右上の「Input」に、先ほどコピーしたPowershellスクリプトをペースト
    3. ランダムな文字列の前の「Powershell -w hidden -en 」を削除

    View Slide

  28. 28
    Emotet Maldocの調査 ⑤

    ■PowershellスクリプトをBase64でデコード

    4.左側のメニューから「From Base64」を選択して、真ん中の「Recipe」にドロップ

    5.左側のメニューから「Decode text」を選択して、真ん中の「Recipe」にドロップ
    6.「Decode text」のEncodingから、「UTF-16 LE(1200)」を選択

    View Slide

  29. 29
    Emotet Maldocの調査 ⑥

    ■不要な文字(シングルクォートとアスタリスク)を改行に変更

    7.左側のメニューから「Split」を選択して、真ん中の「Recipe」にドロップ

    8.「Split delimiter」を「,」(カンマ)から「*」(アスタリスク)に修正

    View Slide

  30. 30
    Emotet Maldocの調査 ⑦

    ■得られたURLをdefang(デファング:牙を取り除く)

    10.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ

    9.左側のメニューから「Find / Replace」を選択し、「Find」 に「[()+’]」を設定

    View Slide

  31. 31
    Emotet Maldocの調査 ⑧

    ■得られたURLをdefang(デファング:牙を取り除く)

    11.左側のメニューから「Defang URL」を選択して、真ん中の「Recipe」にドロップ

    12.http⇒hxxp、.⇒[.]等の文字列変換が行われる

    View Slide

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

    ~WScriptの場合~


    View Slide

  33. Emotet⇒WScript(Javascript)の調査 ①

    ■ Any.Runで、Emotet-docを検索

    1.「https://app.any.run/」をブラウザで開く 

    
2. 左メニューの「Public tasks」をクリック
    3. 検索フォームでハッシュ値「61B15153F8B5408CAB55475F43C6786F」を検索

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


    View Slide

  34. 34
    Emotet⇒WScript(Javascript)の調査 ②

    ■heoIvNqQw_ypqKyLkxz.docm (MD5: 61B15153F8B5408CAB55475F43C6786F) 

    2020年1月30日ごろから、WScript.exeが *.jse(Javascript)

    を読み込む検体が確認されました。


    View Slide

  35. 35
    Emotet⇒WScript(Javascript)の調査 ③

    ■WScript(Javascript)スクリプトを見てみよう

    WINWORD.EXEをクリック

    More Infoをクリック


    View Slide

  36. 36
    Emotet⇒WScript(Javascript)の調査 ④

    ■WScript(Javascript)スクリプトを見てみよう

    .jse ファイルをクリック


    View Slide

  37. 37
    Emotet⇒WScript(Javascript)の調査 ⑤

    ■WScript(Javascript)スクリプトを見てみよう

    マウスで選択してコピー


    View Slide

  38. 38
    Emotet⇒WScript(Javascript)の調査 ⑥

    ■CyberChefで難読化を解除

    1.「https://gchq.github.io/CyberChef/」をブラウザで開く

    2. 右上の「Input」に、先ほどコピーしたJavascriptをペースト

    View Slide

  39. 39
    Emotet⇒WScript(Javascript)の調査 ⑦

    ■CyberChefで難読化を解除

    3.左側のメニューから「Split」を選択して、真ん中の「Recipe」にドロップ

    4.「Split delimiter」を「,」(カンマ)から「’」(シングルクォート)に修正
    5.もう一つ「Split」を追加し、「Splot delimiter」 に「;」(セミコロン)を設定

    View Slide

  40. 40
    Emotet⇒WScript(Javascript)の調査 ⑧

    ■得られたURLをdefang(デファング:牙を取り除く)

    6.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ


    View Slide

  41. 41
    Emotet⇒WScript(Javascript)の調査 ⑧

    ■得られたURLをdefang(デファング:牙を取り除く)

    7.左側のメニューから「Defang URL」を選択して、真ん中の「Recipe」にドロップ

    8.http⇒hxxp、.⇒[.]等の文字列変換が行われる
    6.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ


    View Slide

  42. 42
    まとめ

    ◆サイバー攻撃は、攻撃者が圧倒的有利

     (攻撃者の手法を知ろう!)

    ◆どうやったら防げるか、防御側目線でも見てみよう

    ◆セキュリティ情報は積極的に情報共有しましょう

    View Slide

  43. ご清聴ありがとうございました。

    43
    フォロー待ってるニャ!

    @catnap707


    View Slide

  44. 44

    View Slide