2020年秋頃のEmotet関連らしきフォレンジック調査のメモ | reverse-eg-mal-memoのブログ

reverse-eg-mal-memoのブログ

サイバーセキュリティに関して、あれこれとメモするという、チラシの裏的存在。
medium(英語):https://sachiel-archangel.medium.com/

2020年は、日本でWindowsのマルウェアはEmotetが大当たりの年でした。

2020年春ごろに増え、一時下火になったものの、2020年秋頃からまた大きく増えた、という印象です。

フォレンジック調査依頼でも、Windowsクライアント系は大半がEmotet関連(らしき)の調査ですね。

 

2020年秋頃のEmotetについては、実行形式で入手できたものがあり、プライベートで解析中です(非常にゆっくりで、ドロッパは終わったのですが、落ちてきた検体までは終わってはおらず)。

フォレンジック調査依頼で来た端末の調査もしていますが、解析中のマルウェアの挙動と似ているところがあり、マルウェア解析が割とフォレンジック調査のヒントになっています。

 

そこで、2020年秋頃のEmotetのフォレンジック調査で個人的に気になっている、または調査のヒントにしているものを羅列しておきます。

まあ、メインは本人の覚書です(色んな調査していると、忘れていってしまうことも割とあるので)。

なるべく、自身の知見の元正しい記事を書くつもりですが、フォレンジック調査もマルウェア解析も完全な正解というのは中々出しづらいものでもあるので、その点はご了承ください。

 

 

ざっくりなポイント

Emotetをフォレンジック調査している時、私の感想では以下の特徴が見られます。

なお、説明で言い回しがしづらかったので、マクロが実行されて最初に感染する(ケースが多い)マルウェアを「MalwareA.exe」、その後解析回避のために名前を変えて移動し、常駐したマルウェアを「MalwareB.exe」と称します。

  • 感染の起点になっているのはMicrosoft Officeの旧型式ファイルからマクロ実行が多い。
  • マクロで使われるテクニックは一定ではなく、Powershellを使うもの、regsvr32.exeを使うもの、mshta.exeで暗号化して隠していたJScriptを起動するものなど様々。
  • ダウンロードされたexe形式のマルウェア(仮称:MalwareA.exe)は、実行されると別フォルダに別名(仮称:MalwareB.exe)に変更して移動
  • 別名にする際、PC内に別に実在するexeまたはdll名と同じ名前を使用
  • このマルウェアが、追加のマルウェアをダウンロードして実行している模様。
  • 追加でダウンロードされたマルウェアは、実行後すぐ削除されている模様。
  • 追加でダウンロードされたマルウェアは、「MalwareB.exe」にコードインジェクション、またはProcessHollowingを用いて実行している模様。つまり、「MalwareA.exe」(=「MalwareB.exe」)はマルウェアのダウンローダ&ドライバの機能があるとみられる。
  • JPCERT/CCの提供しているEmocheckは、「MalwareA.exe」(=「MalwareB.exe」)にヒットしているのではなく、追加でダウンロードされたマルウェアが「MalwareB.exe」内でコードインジェクションまたはProcessHollowingして動いている、メモリ上のプロセスを検知しているケースがある模様。
  • 以上のような動きをする「MalwareA.exe」(=「MalwareB.exe」)は、攻撃によって亜種があるようだが、検知名はEmotetだったりEmotet(VirusTotalでマルウェアとしてヒットするAVが、一つも「Emotet」と表示しない)じゃなかったりしているかもしれない?
  • 永続化のための自動起動設定が、レジストリの「HKEY_CURRENT_USER」へ設定していることが多い?

あくまで私の経験の範囲なので、これと異なるケースがあるかもしれないのであしからず。

特に、フォレンジック調査上で厄介な点については赤字にしています。また、特徴的な部分は青字にしています。

 

 

ポイントの解説(というか私見・感想)

Microsoft Officeのマクロ関連

私が調査した範囲では、今のところ感染の起点となるのはMicrosoft Officeのマクロ利用です。

特に、添付ファイルは旧型式(Microsoft Office 2003以前)のファイルで、拡張子が「.doc」や「.xls」、「.ppt」といった形式のものです。

このファイルが利用される理由は、当然マクロを入れることができるためです。

 

現在の標準の形式である「.docx」や「.xlsx」では、基本的にマクロを入れることはできません。

マクロを入れる場合、「.docm」や「.xlsm」という拡張子にする必要があります。

ただ、これでは拡張子で目立ってしまいます。

 

そのため、拡張子だけでは見分けのつかない「.doc」や「.xls」が利用されているとみられます。

(いい加減、旧型式はアドオン等を明示的に入れない限り使用不能、とかにしてほしいなぁ・・・)

 

マクロの内容ですが、用いられている技法には統一感がないように見えます。

難読化しつつVBAマクロだけで完結させている、難読化されているPowershellを実行する、暗号化されていたJScript (JavaScriptに似ているが、IEのVBScriptで使うようなオブジェクトが使える形式)をファイルに保存し、mshta.exe(IEのスクリプト実行エンジンらしい)で実行するなど、様々なケースが見られます。

おそらく、配布時に色々なツールを使っているものと思われ、この手法でEmotetかどうか判断するのは困難です。

そもそも、同じ技法でもダウンロードするマルウェアを変えることも可能でしょう(極端な話、ダウンロードするURLに置いているマルウェアを差し替えるだけで別のマルウェアに感染することになるので)。

 

この手の技法ではPDFによるJavaScriptの利用も候補に挙がるかと思いますが、今のところPDF形式のドロッパには当たったことが無いです。

ただし、技法的には可能でしょうし、数が少ないだけということも考えられるので、油断はしないほうが良いでしょう。

 

 

ダウンロードされて実行されるマルウェアの特徴

攻撃の手口としては、実行形式(.exe)のマルウェアをダウンロードして実行します。

ダウンロードされ実行されたマルウェア(MalwareA.exe)は、別フォルダに別名に変更して移動(MalwareB.exe)するという挙動をしています。

特に、変更される名前は、PC内に既にある実行形式ファイル(.exeまたは.dll)名を付けています

これは、「実行プロセスの名」で調査する際に、調査員に正規のプロセスであると誤認させる目的があると考えられます。

これは、IDAで綿密に解析しているマルウェアでもその動きを見せたほか、他のEmotet事案の検体を動的解析したときにもその動きを見せました。

また、2020年春に「Emotet」とされていた検体でも、別フォルダに別名に変更して移動するという挙動をみせていました。

 

ただし、この「ダウンロードされ実行されたマルウェア」は、Emotetそのものではなく、「Emotetを追加でダウンロードし、実行するダウンローダ&ドライバ」だとも考えられます。

つまり、いわゆる「Emotet」は、このマルウェアによって後から追加ダウンロードされて実行されるものなのかもしれません。

 

根拠として、あるケースでは2つの追加マルウェアをダウンロード、実行した痕跡があったあと、Emocheckにヒットしていました。

この時のヒットは、メモリ上にあるプロセスでしたが、「MalwareB.exe」の名前で、異なるプロセスIDで2つ検知されていました。

 

しかし、これはおかしいです。

 

確かにマルウェアは自動起動するようにはなっていましたが、それで作成されるプロセスは1つのはずです。

また、別の日にEmocheckを実行した際には、「MalwareB.exe」はヒットしていませんでした。

つまり、2つの追加マルウェアをダウンロード、実行したことで、「MalwareB.exe」の中身が変わっていなければ辻褄が合いません

これらを合理的に考えると、「「MalwareB.exe」が追加マルウェアをダウンロードして実行させる際、自身のプロセスを新たに起動し、コードインジェクションまたはProcessHollowingをさせて隠している」という可能性が浮上します。

 

この場合、先に述べた「PC内に既にある実行形式ファイル(.exeまたは.dll)名を付けている」ことが有効に働きます。

ファイル名が既存の実行形式ファイルと同一の場合、調査に混乱をきたしやすいです。

場合によっては、「既知のアプリケーションを誤検知した」、と片付けられかねません。

 

これはEmotet本体ではなく、あくまで「ダウンローダ&ドライバ」かもしれませんが、「フォレンジック調査などのアナリストを騙すためのテクニックが盛り込まれている」と考えられ、その点は注意して分析する必要があると思います。

 

 

追加のマルウェアについて

このケースで厄介なのは、追加のマルウェアがダウンロードされているようで、シムキャッシュやプリフェッチにその実行の痕跡が残っているのですが、肝心のファイルは存在していません

これは、ダウンロードされ実行された後、そのマルウェアを消しているためと見られます。

目的は、もちろんフォレンジック調査・マルウェア解析の回避です。

 

残念ながら、こういったケースで削除されたマルウェアが復元できないことも多いです。

これは解析まではできていないのですが、復元を困難にする手法を用いているのかもしれません。

このため、追加のマルウェアがどのようなマルウェアだったか、調べることが困難です。

通信のpcapを取っている場合にはワンチャンあるかもしれませんが、そこまでやっていないことの方が大半ですし、最近のマルウェアは暗号化を利用していることもあり、この解析は困難を極めます。

これは、どのような被害が発生していたかを推測し、対処することが困難になる原因にもなっています。

 

また、追加ダウンロードされるマルウェアのファイル名も、PC内にある既存の実行形式ファイル(.exeまたは.dll)の名前を流用しています(末尾に追加文字列があるなど、若干の改変はある)。

これも、調査を回避するために、名前で正規なプロセスだと誤認させる手法の一つと考えられます。

 

これらのことから、2020年春の「Emotet」と比べ、機能を分離して、感染と常駐部分およびダウンローダ&ドライバ部分だけの機能と、「Emotet」として情報の窃盗を行う機能に分け、検知されにくい常駐部分が、適宜情報窃盗を行う機能に分けたのではないか?、と疑っています(ここは完全に私見なので、そこはご留意を)。

これは、各検体をしっかり分析することで、その戦術をしることができるのではないかと考えています。

(しかーし!時間が無ぁぁぁああああああいのよぉぉぉおおおおおお(涙))

 

 

自動起動について

感染を継続させるために、自動起動のギミックもあります。

今のところ、2020年秋のEmotetでは、レジストリにマルウェアを起動するように登録しているようです。

特に、「HKEY_CURRENT_USER」に設定しているようで、この設定の場合は感染したときのユーザがログインしたときに起動する仕組みになっている、ということです。

 

ただし、2020年春にみられたEmotetでは「タスクマネージャ」を利用していました。

このため、自動起動の調査でレジストリの自動起動の機能を使っている、と決めてかかるのは危険です。

 

 

フォレンジック調査の留意点

以上のことから、2020年秋のEmotet事案のフォレンジック調査では、以下のことに留意すべきと思います。

 

  • 可能であれば、感染原因となったOfficeファイルのマクロコードは分析する。
  • 最初に感染する実行形式(.exe)のマルウェアは、移動してしまい、元の場所には残らないため、見逃しやすい。
  • 最初に感染する実行形式(.exe)のマルウェアの実行の痕跡をシムキャッシュまたはプリフェッチで確認し、その直後で作成されたフォルダや実行形式ファイルを探す。これが移動先および新たなファイル名である。
  • 移動先フォルダやファイル名は、一定ではないため、特定の名前での検索では発見できない
  • 感染時のユーザのフォルダ、AppData下のフォルダで、感染後に作られたものについて注意する。
  • 感染時のユーザの権限が高い場合、Windowsフォルダ以下の感染の可能性にも留意する。
  • 永続化は「HKEY_LOCAL_MACHINE」のrunだけでなく、「HKEY_CURRENT_USER」のrunサービスや、タスクマネージャも見落とさない。
  • 特に、自動起動するように設定され常駐している「ダウンローダ―&ドライバ」のマルウェアは、Emocheckでもヒットせず、アンチウィルスでもなかなかヒットしないため、分析漏れによるマルウェアの残存の恐れが大きく、対応・調査に慎重さが必要

 

これらの戦術が、今も変わらないとは思いません。

ただ、全てを一気に変えることもなかなかないので、観点として利用し、糸口を捕まえる参考になれば、と思います。

 

 

さいごに

Emotetは、数年前から存在しているマルウェアですが、特に昨年から日本で騒がれるようになってきました。

それだけ息が長いマルウェアが、どうしてセキュリティ製品でなかなか検知・対応できないかは、やはりそれ相応の理由がある、というわけです。

このマルウェアは、セキュリティ製品の回避だけでなく、フォレンジック調査やマルウェア解析の回避にも結構力を入れている、という印象です。

 

フォレンジック調査が滞ると、その戦術の分析が遅れ、対策の立案も遅れてしまいます。

特に、フォレンジック調査ではアナリストに「見える化」するために、テキスト化してコンテキストベースの調査方法が利用されますが、名称の偽装はそういった解析の妨げになります。

マルウェア解析の回避では、ブログの別記事で触れた「Heaven's Gate」等のテクニックで検知・分析を回避しています。

Mediumの方の記事も参照(英文))

 

これらから考えられるのは、この攻撃者は、フォレンジック調査やマルウェア解析に関する知識がそれなりにあり、どのような方法を用いられると調査・分析を困難にし、失敗させられるか、ということをよく研究している気がします。

 

このため、調査する側も、十分な知識をもち、かつ誤った先入観は持たないようにする必要があります。

一方、合理的な範囲で挙動を予想することもある程度有効なので、そのバランスが難しい調査でもあります。

対策の一つとして、情報の収集、共有が必要だと考えます。

・・・というわけで、情報チョウライ!エライ人!!