ウクライナからの怪しいメールがEmotetだったと特定するまでのお話
合同会社デジタル鑑識研究所の中村です。
「怪しいメールが届いたんだけど」
1年の後半に突入したばかりの7月1日にお客様からこんな相談が寄せられました。
この内容だけでも「Emotetだろうなあ」と推測がついてしまいます。
とはいうものの、調べもしないで断言してしまうのは「鑑識」と銘打っている会社の代表としていかがなものかと思い、送られてきたメールを調査してみることにしました。
今回の調査は、特別な器材やデジタルフォレンジック用のソフトウエアを必要としない簡単なものです。リテラシーとして、ご自分でもできるようにしておくと怪しいメールを受信したときの役に立つかもしれません。
メールヘッダ
メールヘッダとは
電子メールには、そのメールがどんな経路をたどって届けられたのかですとか、送信元に関する情報が記録されている「メールヘッダ」といわれる情報が付加されています。普段、メールをやりとりするときには、まず目にすることがない情報なので、その存在すら知らない方も少なくないかもしれません。名前は知っているけれど、それをどうやって表示させたらいいのか分からない、表示はできるけど読み方が分からないという方もいらっしゃるでしょう。
今回送られてきた怪しいメールのヘッダーはこちらです。
Recived:
送受信者が特定されるところはマスクを施しています。
まず、メールというのは、送信元から受信者のところに直接届けられるものではありません。配達をしてくれる人がいます。それも一人ではなく何人かの配達人がリレー式にメールをつないで届けてくれます。
上の図の中に「Recived:」という文字列が3つあるのを見つけられるでしょうか。Recivedが3つあるということは、このメールは3人の配達人によって届けられたことを意味します。
そして、リレーの順番は一番下から上に向かって流れていきます。
図の①が最初の配達人にメールが渡されたところです。
「From」のあとにメール送信元のIPアドレスが記録されています。図ではマスクしていますが、記録されていたIPアドレスを調べたところマレーシアに割り当てられたものだと分かりました。
IPアドレスは「ICANN」という団体が管理していて、そこが世界中の国に「君のところはこのIPアドレスね」という具合に割り振りを行っています。
ここで注意しなければならないことがあります。
メールの送信元のIPアドレスが分かり、それがマレーシアだったとしても、送信者がマレーシアにいる人だとは限りません。あくまでもIPアドレスという符号がマレーシアに割り当てられているだけで、送信元がマレーシアであるということにはならないからです。
送信元となっているコンピューターがマレーシア国内にある可能性は高いでしょう。しかし、そのコンピューターはただの「踏み台」かもしれません。悪意のある攻撃者は、自分の身元を隠すため乗っ取りに成功して自分の支配下に置いたコンピューターや特別な認証を必要とせずに使えるProxyサーバー(代理サーバー)、パブリックVPNなどを経由してインターネットの世界に出て行くことが普通です。
そうすると、このマレーシアのIPアドレスもこれが真の送信元ではないと考えた方がよさそうです。
by
次に「by」と書かれているところです。(図の②)
ここは、送信者から最初の配達人にメールが渡されたところで、受取った配達人(SMTPサーバー)について記録されています。今回はトップドメインが「.ua」となっています。トップドメインというのは、URLやメールアドレスなどの一番右側にある「.」(ドット)より右の部分でたいていは国名を表します。アメリカは国名のトップドメインがない(.comや.govなど)ですとか、例外もあります。
さて、「.ua」はどこの国でしょう?
ウクライナです。
マスクで読めませんが、送信者として表示されているメールアドレスのドメインを見ると、ウクライナに実在する食品会社です。
おやおや、なにやらきな臭くなってきましたね。
送信日時
では、このメールは一体いつ送信されたのでしょうか。それが図の③に記録されています。
このメールは、2022年7月1日6時55分59秒に送信されたのもだと分かります。
はて、一番右にくっついている「+0200」という表示は何でしょう?
これは、UTCからの時差を表しています。UTCというのはCoordinated Universal Timeの頭文字をとったもので「協定世界時」と呼ばれます。
+0200は、UTCより2時間進んでいるタイムゾーンであることを意味します。つまり、06:55:59はUTCより2時間進んでいることになりますから、UTCに直すと
です。
この時刻は、配達人(SMTPサーバー)の時計で記録されます。ということは、配達人はUTCより2時間早いタイムゾーンにいるはずです。
実は、ウクライナがUTC +0200の国です。②に記録されている配達人(SMTPサーバー)のホスト名からIPアドレスを引くと、やはりウクライナに割り当てられたものでした。
どうやら最初の配達人は、ウクライナの食品会社で間違いなさそうです。
作成日時
③の下に
という記録があります。(図の④)
ここは、メールの作成日時が記録されるところです。作成日時なので送信元が使っているメールソフトが勝手に記録します。配達人(SMTPサーバー)に関わる記録ではないことから、デジタル鑑識の場面ではあまり重視されません。ほぼ無視される記録です。
ところが、今回の件ではちょっと注目すべきところがありました。
UTCとの時差に関する表示です。
時差が「+0800」となっています。日本は「+0900」です。それより1時間遅いということは、日本よりほんのわずか西にある国ではないかと推測できます。
UTC +0800の国は「中国」です。
これをUTCに直すと
になります。
いま、メールの作成日時は、送信元が使っているメールソフトが付けると説明しました。つまり、ここの時間は送信元のコンピューターの設定が反映されています。
送信元は、コンピューターの設定を中国時間にしています。ここでも注意する必要があって、「そうか、分かった!犯人は中国から送信しているんだ!」と安直に決めつけるのは危険です。「送信元の環境設定が中国時間になっている」ことは間違いありませんが、それ以上のことは何も語ってくれません。
デジタル鑑識では、事実と想像をきっちり切り分ける必要があります。
Recived: ふたつめ
2つ目の「Recived:」に移りましょう。
ここのFromは、先ほどのウクライナにいる配達人です。そこから次の配達人(SMTPサーバー)にメールが配達された記録です。
メールを受取ったのは日本の配達人でした。
受取った時刻はどうでしょう。
となっています。「+0900」は日本でしたね。これをUTCに直すと
になります。
それぞれの時刻に若干矛盾があるように見えますが、ここに記録されている時刻は、各配達人が自分の時計でスタンプを押しているようなものなので、時刻のずれがあるのはやむを得ません。
メールヘッダ総括
ここまでがメールヘッダの解読です。
総括すると
「中国時間に設定されているコンピューターからマレーシアを経由してウクライナのSMTPサーバーにより送信された」
ことが分かりました。
いよいよ調査へ
そして、ここからが「調査」です。
送信元IPアドレス
送信元となっていたマレーシアのIPアドレスについて調べます。
初めにお話をしたように、攻撃者はProxyサーバーやパブリックVPNなどを経由することで匿名性を高めます。そして、攻撃に使われたIPアドレスは世界中から報告され、その情報が蓄積されるようになります。
今回の送信元IPアドレスについて何か報告がなされているかどうか調べてみました。
ありました。
2022年4月から6月にかけて3件の報告があります。
そのうち、6月の報告ではSMTPサーバーへのログイン試行として報告されています。どうやらこのIPアドレスからメール送信をしようとしていたようです。
このような報告があることを考えると、やはり送信元IPアドレスは踏み台であった可能性が高いと言えそうです。ただし、これもやはり可能性の域を出ませんから断言するのは危険です。
添付ファイル
怪しいzipファイル
今回送られてきたメールには添付ファイルがありました。
zipファイルです。
怪しい。実に怪しいです。
メール本文に暗号化解除のパスワードが記載されていました。
どうやら暗号化されたzipファイルのようです。暗号化されているのでウィルス対策ソフトには引っかかりませんでした。
しかし、これをそのまま暗号化を解除して展開するのは怖いです。
まず、ファイルの中身を覗いてみましょう。これには「バイナリエディタ」とわれるアプリケーションを使います。
添付ファイルをバイナリエディタで開いてみました。
一番上に「PK」という文字が見えます。
これは、このファイルがzipで圧縮されたものであることを意味します。
圧縮ファイルなので展開しなければ中身を取り出すことができません。が、「PK」の少し下に「2022-07-01_1355.xls」という文字列が見えます。ここは、展開後にできるファイルの名前を教えてくれるところです。
どうやらExcelファイルを圧縮したもののようです。
ここで重大な注意を払う必要が出ました。
展開後にできるExcelファイルの拡張子に注目してください。皆さんが普段扱っているExcelファイルの拡張子は「.xlsx」や「.xlsm」ではありませんか?「.xlsm」はマクロ付きということが拡張子から分かるので「こいつは危ない」と感じることができます。これに対して、「.xls」だと普通のExcelファイルのように思ってしまいがちです。実は「.xls」にはマクロを含ませることができます。なので、うっかりこれを開いてしまうとマルウェアに感染する可能性がある危険なファイルです。
Sandboxでの作業
ここから先はマルウェア感染のリスクが高い作業になります。
万一、マルウェアに感染しても元に戻せるよう仮想環境の下で作業を進めます。
Windowsの場合、マイクロソフトがSandboxという仮想マシンを無償で提供してくれています。今回は、それを使って展開していくことにします。
Sandboxの環境内に先ほどのzipファイルを持ち込んで、メールに記載されていたパスワードで暗号化を解除して展開します。
確かに「2022-07-01_1355.xls」というファイルができました。
Excelファイルの検証
まず、手っ取り早いのが展開してできたファイルを「VirusTotal」にアップロードして調べることです。VirusTotalというのは、ファイルやウェブサイトのマルウェア検査を行うことができるウェブサイトです。デジタル鑑識に関わる人は、まず間違いなくお世話になっているとてもありがたいサイトなので、足を向けて寝られません。
早速、ファイルをアップロードしてみます。
はい、真っ赤です。
マルウェア確定。
どんな種類のマルウェアかは、結果を見てわかるように「ダウンローダー」のようです。つまり、これ自体が悪さをするものではなく、悪意のあるプログラムなどを呼び込む役割をしているマルウェアです。
参照先を探そう
一体、どこから何をダウンロードしようとしているのでしょうか。
先ほど紹介したバイナリエディタでこのファイルを開いてみます。
無機質な文字の羅列の中に、URLらしい文字列を見つけました。
4つのドメインらしいものが確認できます。
これを、ありがたいVirusTotalで検索してみましょう。
全部マルウェアで引っかかりました。
このあたりから何かをダウンロードしようとしているに違いありません。
ご本尊発見
さらにバイナリエディタをスクロールしていきます。
ファイル名のような文字列を発見しました。
これでほぼEmotet確定です。
Emotetは、.ocxの拡張子で保存するダイナミックリンクライブラ(DLL)ファイルをダウンロードして実行するからです。
上の名前をMalwarebazaarで検索してみます。
Emotetという結果でした。
しかも、この名前のマルウェアは、6月29日に初めて捕捉された真新しいもののようです。
結論
以上の調査で、sctm1.ocxがEmotetのご本尊で、Excelのマクロが上のいずれかのサイトからこれをダウンロードして実行するという流れだということが分かりました。
いかがでしたでしょうか。
不審なメールの送信経路と添付ファイルの調査から、Emotetであることが特定できた事例です。
今回の調査は、特別な器材などを必要としません。どなたでも実践していただけるものです。
「なんかちょっと面白そう」
そう思った方は、デジタル鑑識の素質ありです。
おまけ
添付ファイルを展開してできたExcelファイルのマクロがどんなものか気になります。
とはいえ、マクロを有効にしてしまうと感染してしまいます。翻せばマクロを有効にしなければ感染することはない、とも言えます。
ということで、マクロ無効の設定でExcelファイルを開いてみました。
ちょっとドキドキします。
特に何も起こりませんでしたが、なにやら英語で注意を促されているようです。そうです、ここでマクロの実行を承認してしまうと封印されし禍々しきダウンローダーが覚醒してしまいます。
では、一体どんなマクロ、正確にはExcel VBAといわれるプログラムが仕込まれているのでしょう。物理的にネットワークから切り離してマクロを有効にすればEmotet本体がダウンロードされることはありません。そうやって、VBAの中身を見てみたい気持ちもありますが、バックドアを開けられたりしたらたまりません。私にはマクロを有効にする勇気がないのでやめておきます。
しかし、その手前までなら行くことができますので、マクロ無効のままVBAの編集画面を表示させてみます。
見慣れない文字が並んでいます。
この文字をコピーしてGoogle大先生に訊いてみました。すると、先生は
「それはセルビア語だね」
と即答してくれました。
セルビア語で「シート1」~「シート5」までが記述されているようです。このことから、このファイルはセルビア語を使う方が書いたのかなあ、という想像が成り立ちます。あくまで想像です。
参考ですが、Google大先生に「これはロシア語です」と適当なことを言ってもちゃんと「シート1」と翻訳してくれました。正直、私にはロシア語とセルビア語の違いが分かりません。
セルビア語圏で作られたEmotet付きExcelファイルが中国時間のコンピューターからマレーシアのIPアドレスを使ってウクライナのSMTPサーバー経由で日本に向けてメール送信されたことになります。とても国際的ですね。
さて、マクロ無効の設定とはいえ、Emotet付きのExcelファイルを実行しました。本当にEmotetに感染していないのかどうか心配になってきました。
そんなときの頼れる味方がいます。
JPCERT/CCが作成して無料配布している「Emocheck」というツールです。これを使うと、そのパソコンがEmotetに感染していないかどうかを確かめることができます。
使い方は簡単です。EmoCheckが公開されているGitHubから最新版をダウンロードして、それを実行(ダブルクリック)するだけです。早速やってみましょう。
コマンドプロンプト画面が表示されて、数秒から十数秒間動きが止まっているように見えます。その間、裏でEmoCheckさんが懸命にチェックしてくれていますから、急かさずに待ちましょう。
Emotetは検出されませんでした。ほっと一安心です。
画面を閉じてしまっても結果をテキストファイルとして残しておいてくれますから、あとから確認することが可能です。
繰り返しますが、ここで紹介した作業は決して真似しないでください。私は人身御供になる覚悟で実行したもので、安全を確信してはいません。
宣伝
デジタル鑑識研究所では、こういったサイバー攻撃に関する証拠の調査解析のほか、脅威インテリジェンスサービスも提供しています。
当社が提供する脅威インテリジェンスは、世界の軍隊や情報機関が採用している国家機関レベルのクオリティです。どこよりも深く質の高い情報をいち早く捕捉可能です。しかも、業界随一の低料金だと自信を持って断言します。
脅威インテリジェンスは、企業活動に不可欠なものとなりつつあります。
少しでも気になったらご相談ください。