更新、どれだけサボっとんねん!
今日はEmotetの話題を少々
またまた最近Emotetの猛威がぶり返しているようで、身近なところでもいろいろ送られてきているようである。
というわけで、Emotetと思われる怪しげなExcelファイルを入手したのでちょっと中身をのぞいてみる。
入手したファイル(以下「検体1」「検体2」と表記)のハッシュ値(SHA1)は
cc9207c7800950bef175663c95808600f19*****(一部マスク)
dea48f8cb35b93be917bf8a236099de9b08*****(一部マスク)
の2ファイル、いずれも拡張子xlsm(マクロ付きExcelファイル)である。
とりあえず仮想環境のWindows7(32bit)とExcel2007の上で走らせてみたら、Regsvr32.exe絡みのエラーが出てしまった。
どうも動作するのにC:\Windows\SysWOW64\Regsvr32.exeを叩きにいくようで、32bit環境では動作しないようだ。
ここで動くようなら、パケットキャプチャーするとかすればどこにアクセスしに行くかわかりそうなものなのに。
面倒くさいやっちゃな。(無理やり32bit環境の中にSysWOW64作って32bitのRegsvr32.exeをコピーして置いておけば動いたのかもしれないけど、今更再確認するの面倒くさい)
次にstringsで何か文字列がないか確認してみるけど、そんなにすぐには何も出てこない。
最近のExcelファイル(拡張子4文字のもの)は構造はZIPファイルなので、まずは拡張子をZIPに変更。
そして中身を開いてのぞいてみると
こんな感じで中の構造が見える。
マクロ付きExcelなので、通常は「xl」フォルダの下に「vbaproject.bin」っていうファイルがある。
これがマクロ本体なのだが、今回の検体1には同ファイルが無い。
でもEmotetなのであれば、何らかのファイルをダウンロードしに行くはずなので、手っ取り早く「http://」や「download」、あと最近の流行としてExcelの中からPowershellを呼び出しダウンロードしに行くという傾向があるので、「Powershell」や「cmd」辺りの文字列をgrep検索してみると・・・
お、来た来た!
場所は「xl」フォルダー内の「sharedStrings.xml」
ここは通常、Excelの全シートの全セルに入力された文字列を集約している。
因みにmediaには挿入した画像ファイルの実体が格納されている。
grep検索の結果にはほかにもいくつかの「http://」で始まるアドレスが発見できるが、いかにも怪しいのがヒットする。
(この辺は何か適当なほかのファイルと比較するとわかりやすいかも。)
ちょっと見にくいので、xmlファイルとしてブラウザで該当ファイルを開いてみよう。
ほんといかにも怪しげなアドレスだよなぁ。WordPressの脆弱性を突かれてファイル蔵置されているっぽいよね。
直接アクセスするのはさすがに怖いので、aguse経由でのぞいてみよう。
1つ目、ナイジェリアのサイトのようで、404エラー
2つ目、ナイジェリアのサイト、Account Suspended
3つ目、アイスランドのサイト、Account Suspended
4つ目、南アフリカのサイト、Page not found
5つ目、アメリカのサイト、稼働中
6つ目、韓国のサイト、403エラー
で、この5つ目だよ。
aguseってカスペルスキーのマルウェアの検出機能があって、調べた先のサイトにマルウェアがあると警告を出してくれるんだけど、
見事に
HEUR:Trojan-Banker.Win32.Emotet.pef
を検出。
つまり、Excelファイルを開くことで上記サイトにアクセスして、マルウェアをダウンロードさせられ感染してしまうということだろう。
その後は、別名でシステムの深いところに保存され、レジストリを書き換えられ自動起動させられ、アドレス帳に登録されているアドレス宛に自分を語り同様のメールを送信したり、自己の管理下にあるドキュメントファイル等を外部に送信したり、遠隔操作されたり、ランサムウェアで暗号化される等されちゃうんだろうね。
因みにこの検体3月2日辺りに送信されているものなんだけど、10日1200現在でもトレンドマイクロでは検出できてないので、セキュリティソフトを入れているからって安心しちゃったらダメよ。いくらセキュリティソフト等で対策していても最後は人間だからね。
尤も最近ではMicrosoft Officeのマクロはデフォルトで無効化されるようになってるはずなんだけど、わざわざ有効化して開いちゃう人いるんだよね。
心当たりのない送信元はもちろん、心当たりのある送信元からであってもマクロ付きOfficeファイルは開いちゃだめだぞ。
2022/03/16(追記)
その後、もうちょい中身を見てみる。
そうそう、「macrosheets」フォルダ内のintlsheet1.xmlだとか「worksheets」内のsheet3.xmlとかの中にも何やら難読化された記述がいっぱいある。
このファイルを開いちゃった人の情報では、何も表示されないとのことだったのだが、先述したZIP展開したものを覗いていくと、「docProps」フォルダ、ここはシートレベル、ブックのプロパティ情報が保管されているのだが、ここのapp.xmlを見ると、Sheetが6つあることがわかる。
シートを隠しているのかな?ってことでマクロを無効化したExcelで思い切ってファイルを開いてみると、「Sheet」と名前が付いたシート上に「Most features are disabled. To view and edit document click Enable Editing and click Enable Content.」と書かれた画像が一枚表示されるだけである。「ほとんどの機能が無効になっています。 ドキュメントを表示および編集するには、[編集を有効にする]をクリックし、[コンテンツを有効にする]をクリックします。」と書いてあるそうだ。
そこで、シート上で右クリック「再表示」をクリックすると、先に書いた残りの5つのシートが隠れていることがわかったので、全部のシートを表示させる。
まだシートを表示させても何もないように見えるけど、これ、フォントが白で書かれているので見えないだけ。全セルを選択して適当な文字色を指定してやると、何やらいっぱい書いてあるのがわかる。
で、これを見ていくと、先に書いたintlsheet1.xmlだとかsheet3.xmlに書かれていた意味不明な文字列がシート名とセルの場所であるのがわかり、置き換えていくと書かれてあるのが見えるようになるわけだが、非表示となっているシートの中にはさらに非表示セルがあるので、それを表示させると何やら関数が書かれているセルがある。このセルに書かれている関数が何やら難読化されているように見えるのだが、よくよく見ると他のシートのセルを参照しているので、それぞれのセルの値に置換していくと、この関数が可視化できる。
こうやっていくと、6つのアドレス(先述したやつ)に順にアクセスしてダウンロードしてきた何らかのファイルを「..\sei.ocx」の名前で保存した後に、C:\Windows\SysWow64\regsvr32.exeに引数としてsei.ocxを渡してステルスモードで実行していることがわかる。
この後はsei.ocxをダウンロードしていないので確定はできないが、自動実行されたsei.ocxは自分自身をさらに別名で別の場所に保存し、そのファイルをWindows起動時に自動実行できるようにレジストリを書き換えているはずである。
以前にも書いたように、通常マクロ付きエクセルファイルはzip展開するとvbaProject.binというファイルを作成し、Excelのマクロエディタから確認もできるのだが、本件ファイルにはそれがない。
実はこれはExcel4.0マクロと言われる古い仕様のマクロであり、vbaが登場する以前に使われていたものである。一見普通のシートに見えて、セルにコードを書いていくというもので、92年に登場したもの。互換性維持のために残されていた機能を悪用している。マクロが無いのにマクロ付きExcelになっていてマクロが実行できる理由はこれ。
先にも書いたように通常マクロを書くとvbaProject.binに記録されるけど、それを避けるためExcel4.0マクロを使い、なおかつコードの文字列を他のシートにバラバラに配置することで、セキュリティシステムによる悪意あるコードの検出をすり抜ける手法のようである。
なお、Excel4.0マクロは現在マイクロソフトがデフォルトで無効化措置を行っており、オプションのトラストセンターで設定が可能である。
ちなみにこれ解析するのに、Windows10のDefenderがマルウェア判定して勝手に削除しちゃうので、まずはリアルタイム保護を無効化してから解析作業を実施してたんだけど、気が付くとすぐにリアルタイム保護が勝手に有効化されちゃって削除されちゃうのね。Windowsのデフォルト設定でも削除されちゃうのに、これをわざわざ無効化してトレンドマイクロ社のセキュリティをインストールするといまだに検出できないのって、ねぇ。
デフォルトできちんと守られてるシステムがセキュリティソフトをインストールすることでかえって脆弱になっちゃってるのな。で、インストールした側はこれで安心だとか思っちゃう。罪作りだわ。
でもいくらセキュリティソフトやらなんやらで守っても、最後の砦はそれを操作している人間なのよ。最後にマウスをクリックして実行しちゃってるのは人なのね。
ってことで、先日も書いたけど、大事なことなのでもう一度書く。
「心当たりのない送信元はもちろん、心当たりのある送信元からであってもマクロ付きOfficeファイルは開いちゃだめだぞ!」
最近のコメント