Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Remove_obfuscation_in_Emotet_PowershellScript-20200129.pdf
hiro
January 29, 2020
Technology
2
1.8k
Remove_obfuscation_in_Emotet_PowershellScript-20200129.pdf
hiro
January 29, 2020
Tweet
Share
More Decks by hiro
See All by hiro
ctrl_z3r0
1
680
ctrl_z3r0
2
520
ctrl_z3r0
0
230
ctrl_z3r0
5
790
ctrl_z3r0
4
670
ctrl_z3r0
4
950
ctrl_z3r0
2
460
ctrl_z3r0
1
470
ctrl_z3r0
6
920
Other Decks in Technology
See All in Technology
oracle4engineer
2
500
hmatsu47
1
170
akakou
2
380
ayatokura
0
280
lambda
0
230
clustervr
PRO
0
220
udzura
0
120
kanaugust
PRO
0
210
yuzoiwasaki
0
170
line_developers
PRO
1
410
surumegohan
1
180
oracle4engineer
9
6.1k
Featured
See All Featured
kastner
54
2k
caitiem20
311
17k
geoffreycrofte
25
1k
cherdarchuk
72
270k
mongodb
23
3.9k
chriscoyier
779
240k
notwaldorf
19
2.1k
vanstee
118
4.9k
lara
590
61k
frogandcode
128
20k
chrislema
231
16k
chriscoyier
146
20k
Transcript
EmotetのPowerShell難読化解除 〜Any.RunとCyberChefの使い方〜 第34回ゼロから始めるセキュリティ入門 勉強会 2020/01/29 hiro(@ctrl_z3r0) a.k.a ねこさん⚡(@catnap707)
自己紹介
アジェンダ 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/
1 最近の不審メールの傾向 4
不審メールの分類 ※添付されるファイルは、ダウンローダが主流(PowerShellやVBAを含む) 悪意(Malicios)のあるドキュメント(Document)で、Maldoc(マルドック)と呼ばれる 不審メール メールの形態 目的 ばらまき型メール (返信型メール) マルウェア(ダウンローダ)
を含む添付ファイル 金銭目的(バンキングトロージャンか、 ランサムウェアがほとんど) 不審なリンクを含むメール フィッシング(アカウント情報、 クレジットカード情報の窃取) 出会い系サイトやアダルトサイトへの 誘導(迷惑メール、SPAMメール) メールアドレスの死活確認 標的型攻撃メール RAT(リモートアクセスツ ール)を含む添付ファイル 特定組織が保有する秘密情報の窃取 ランサムウェアのダウン ローダを含む添付ファイル 標的型ランサムウェア(Ryuku、 Sodinokibi、RobinHood) BEC (ビジネスメール詐欺) テキスト 攻撃者が用意した口座への振込み 5
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 Emotetの概要 ▪参考情報 ・マルウエア Emotet の感染活動について(2019-12-02) https://www.jpcert.or.jp/newsflash/2019112701.html ▪2019年10月ごろから日本をターゲットにしたEmotetが流行
2 不審メール情報の収集 8
9 不審メール情報 (1/2) ・JC3 (日本サイバー犯罪対策センター) https://www.jc3.or.jp/topics/virusmail.html Cutwail-A(マクロ付きxls)、 Cutwail-B(主にメール内リンク)の情報 ※Emotet情報なし。
10 不審メール情報 (2/2) ・ITC PORTAL(電気通信大学 情報基盤センター) https://www.cc.uec.ac.jp/blogs/news/cat62/ ※Emotetの検体のハッシュ値の情報あり
11 ご参考:RSSリーダーによる情報収集 ・RSSリーダー(Feedly、InoReader)による情報収集
3 マルウェアの調査 12
13 マルウェアの解析方法 (1)解析方法 解析 概要 解析時間 難易度 表層解析 ハッシュ値、ファイルタイプ、文字列抽出など から得られた情報など、表面的な情報から解
析する手法。 短い 易しい 動的解析 実際にマルウェアを動作させて、その挙動(通 信先、ファイル変更、レジストリ変更等)を調べ る解析手法。ブラックボックス解析。 静的解析 マルウェアの実行ファイルをデバッガを使用し てプログラムコードを分析する解析手法。 ホワイトボックス解析。 長い 難しい ※ハッシュ値 一方向関数によって得られる固定長の不可逆な文字列。ハッシュ値から元の 入力データを生成することはできない。入力データが同じであればハッシュ値 も同じとなる。ファイル名が異なっていても中身が同じであれば、同じハッシュ 値となるためマルウェアの調査でよく利用される。(SHA256、MD5)
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 エニーラン ◦ - △ ◎ △ △ -
4 ANY.RUNの歩き方
16 Any.Run とは ▪Any.Runの特徴 ・マルウェア解析用のWindowsサンドボックスをインタラクティブに操作 できるのが特徴
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 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 Analysis Results(分析結果)画面(2/4) ▪THREATS 脅威の概要 Suricataベースの検知内容 ▪FILES MODIFICATION 変更・作成されたファイル
20 Analysis Results(分析結果)画面(3/4) ▪PROCESS Powershell.exeをクリックすると・・・ PROCESS DETAILSが表示される
21 Analysis Results(分析結果)画面(4/4) ▪ADVANCED DETAILS OF PROCESS 難読化されたPowershellスクリプトが表示 される インターネットから実行ファイルを
ダウンロードするから危ないよとい う警告 WMI経由で、PowerShellスクリプト が実行された
5 Emotet Maldocの調査 ~ペイロードの取得先を解析してみよう~
Emotet Maldocの調査 ① ▪ Any.Runで、Emotet-docを検索 1.「https://app.any.run/」をブラウザで開く 2. 左メニューの「Public tasks」をクリック 20
Emotet Maldocの調査 ① ▪ Any.Runで、Emotet-docを検索 1.「https://app.any.run/」をブラウザで開く 2. 左メニューの「Public tasks」をクリック 3.
検索フォームでハッシュ値「79B68D5F08C058CCB9852656FDA6F81E」を検索 (以下の例では「emotet-doc」を検索) 20 を含む検体がおすすめ
25 Emotet Maldocの調査 ② ▪会議への招待.doc (MD5: 79B68D5F08C058CCB9852656FDA6F81E) ペイロード取得先のURLは、 ここにあるのでOK?
↓ PowerShellスクリプトには 複数設定されています!
26 Emotet Maldocの調査 ③ ▪Powershellスクリプトを見てみよう Powershell.exeをクリック More Infoをクリック 文字列を選択するか、コピーの アイコン をクリックしてクリップ
ボードにコピーしておく。
27 Emotet Maldocの調査 ④ ▪CyberChefで難読化を解除 1.「https://gchq.github.io/CyberChef/」をブラウザで開く 2. 右上の「Input」に、先ほどコピーしたPowershellスクリプトをペースト 3. ランダムな文字列の前の「Powershell
-w hidden -en 」を削除
28 Emotet Maldocの調査 ⑤ ▪PowershellスクリプトをBase64でデコード 4.左側のメニューから「From Base64」を選択して、真ん中の「Recipe」にドロップ 5.左側のメニューから「Decode text」を選択して、真ん中の「Recipe」にドロップ 6.「Decode
text」のEncodingから、「UTF-16 LE(1200)」を選択
29 Emotet Maldocの調査 ⑥ ▪不要な文字(シングルクォートとアスタリスク)を改行に変更 7.左側のメニューから「Split」を選択して、真ん中の「Recipe」にドロップ 8.「Split delimiter」を「,」(カンマ)から「*」(アスタリスク)に修正
30 Emotet Maldocの調査 ⑦ ▪得られたURLをdefang(デファング:牙を取り除く) 10.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ 9.左側のメニューから「Find / Replace」を選択し、「Find」
に「[()+’]」を設定
31 Emotet Maldocの調査 ⑧ ▪得られたURLをdefang(デファング:牙を取り除く) 11.左側のメニューから「Defang URL」を選択して、真ん中の「Recipe」にドロップ 12.http⇒hxxp、.⇒[.]等の文字列変換が行われる
6 Emotet⇒WScript(Javascript)の調査 ~WScriptの場合~
Emotet⇒WScript(Javascript)の調査 ① ▪ Any.Runで、Emotet-docを検索 1.「https://app.any.run/」をブラウザで開く 2. 左メニューの「Public tasks」をクリック 3. 検索フォームでハッシュ値「61B15153F8B5408CAB55475F43C6786F」を検索
(以下の例では「emotet-doc」を検索) 20 を含む検体がおすすめ
34 Emotet⇒WScript(Javascript)の調査 ② ▪heoIvNqQw_ypqKyLkxz.docm (MD5: 61B15153F8B5408CAB55475F43C6786F) 2020年1月30日ごろから、WScript.exeが *.jse(Javascript) を読み込む検体が確認されました。
35 Emotet⇒WScript(Javascript)の調査 ③ ▪WScript(Javascript)スクリプトを見てみよう WINWORD.EXEをクリック More Infoをクリック
36 Emotet⇒WScript(Javascript)の調査 ④ ▪WScript(Javascript)スクリプトを見てみよう .jse ファイルをクリック
37 Emotet⇒WScript(Javascript)の調査 ⑤ ▪WScript(Javascript)スクリプトを見てみよう マウスで選択してコピー
38 Emotet⇒WScript(Javascript)の調査 ⑥ ▪CyberChefで難読化を解除 1.「https://gchq.github.io/CyberChef/」をブラウザで開く 2. 右上の「Input」に、先ほどコピーしたJavascriptをペースト
39 Emotet⇒WScript(Javascript)の調査 ⑦ ▪CyberChefで難読化を解除 3.左側のメニューから「Split」を選択して、真ん中の「Recipe」にドロップ 4.「Split delimiter」を「,」(カンマ)から「’」(シングルクォート)に修正 5.もう一つ「Split」を追加し、「Splot delimiter」 に「;」(セミコロン)を設定
40 Emotet⇒WScript(Javascript)の調査 ⑧ ▪得られたURLをdefang(デファング:牙を取り除く) 6.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ
41 Emotet⇒WScript(Javascript)の調査 ⑧ ▪得られたURLをdefang(デファング:牙を取り除く) 7.左側のメニューから「Defang URL」を選択して、真ん中の「Recipe」にドロップ 8.http⇒hxxp、.⇒[.]等の文字列変換が行われる 6.左側のメニューから「Extract URLs」を選択して、真ん中の「Recipe」にドロップ
42 まとめ ◆サイバー攻撃は、攻撃者が圧倒的有利 (攻撃者の手法を知ろう!) ◆どうやったら防げるか、防御側目線でも見てみよう ◆セキュリティ情報は積極的に情報共有しましょう
ご清聴ありがとうございました。 43 フォロー待ってるニャ! @catnap707
44