マルウェア
「LokiBot」の新亜種を確認、活動を持続する仕組みを更新し、コード隠ぺいするためにステガノグラフィを利用
「LokiBot」がアンダーグラウンドのオンライン掲示板lにおいて情報窃取およびキーロガー機能を持ったマルウェアとして初登場してから、数年にわたりさまざまな機能が追加されてきました。2018年1月下旬の活動では、LokiBotのマルウェアファミリが「Windows Installer」のインストールを利用したり、2019年6月には不正なISOファイルが添付されたスパムメールを含む新しい拡散手法を取り入れています。
「LokiBot」がアンダーグラウンドのオンライン掲示板において情報窃取およびキーロガー機能を持ったマルウェアとして初登場してから、数年にわたりさまざまな機能が追加されてきました。2018年1月下旬の活動では、LokiBotのマルウェアファミリが「Windows Installer」のインストールを利用したり、2019年6月には不正なISOファイルが添付されたスパムメールを含む新しい拡散手法を導入したことがわかりました。今回確認されたLokiBotの新しい亜種の解析では、活動を持続する仕組みが更新され、ステガノグラフィを通してコードを隠ぺいすることでシステム内での検出を回避する機能を改善したことが示されています。
■この事例の背景
上述のLokiBotの亜種(「TrojanSpy.Win32.LOKI.TIOIBOGE」として検出)は、トレンドマイクロのMDR(Managed Detection and Response)サービスに加入しているある東南アジアの企業に対して影響をもたらし得る脅威について警告した際に初めて確認されました。この脅威は、インドに拠点を置く製菓会社を装った添付ファイル付の電子メールです。この東南アジアの企業が利用していた弊社が提供するネットワーク挙動監視ソリューション「Deep Discovery™ Inspector」に組み込まれている「Virtual Analyzer」からの警告と不審な電子メールから、この被害をもたらす可能性のある脅威について企業に通知することになりました。その後Trend Micro Researchはこの脅威についてさらなる調査と解析を行いました。
図1:LokiBotを拡散する電子メールの検体
■新しい「LokiBot」の亜種の解析
電子メールの検体
LokiBotの拡散に利用される電子メールから、このメールが不正なものであるということを示すいくつかの可能性が確認されました。まず、メールの送信者名と署名が一致しない点です。この点から、トレンドマイクロはこのメールが不正なメッセージである可能性を示していると考えました。次に、このメールに緊急性を持たせてユーザの心理を利用したと考えられる点です。2019年7月1日に送信されたこのメールは、受信者が注文したとされる製品が7月中旬に出荷されることを通知する内容でした。これは、なるべく早めに添付ファイルを開いて確認しなければいけないというユーザの心理を利用しようとする攻撃者の意図があると考えられます。また、このメールの送信元のIPアドレス(37[.]<省略>[.]149)は不正なものであることがわかっており、弊社の「E-mailレピュテーション(ERS)」技術によってブロックされています。 添付ファイル「New Order July .DOC」(「Trojan.W97M.DLOADER.PUQ」として検出)には、以下の2つのオブジェクトが埋め込まれていました。
- Microsoft Excel 97-2003のワークシート
- 「package.json」とラベル付けされたパッケージ
このファイルを実行すると、添付されたドキュメントにはすぐにMicrosoft Excelワークシートが表示し、このワークシートに埋め込まれたVBSマクロコードが実行されます。 以下の図2はLokiBotの感染の流れです。
図2:「Lokibot」の感染の流れ
メールのヘッダから、このメールは新規作成されたメールと見られており、「Fwd:」や「Re:」などの件名が示すような転送メッセージや返信メッセージではありませんでした。また、既存の電子メールアカウントが侵害された痕跡も確認されませんでした。 これは、IPアドレスが送信者側のドメインと一致しなかったことから、このメールの送信者が正規のアカウントになりすました可能性が高いことを示しています。 また、動的ユーザリストから、ほぼ確実にこのメールがボットネットもしくはマルウェアに感染および侵害されたコンピュータから送信されたと考えられます。 トレンドマイクロのクラウド型セキュリティ技術基盤「Trend Micro™Smart Protection Network™」のデータは、使用されたIPアドレスから以下の件名を含んだ他のスパムメールが送信されたことを示しています。
- PO #201 API documents attached (Dye and colour sample)
- PO #2789 Approved documents
- RE RE new ORDER #37789 249 CBM
- RE RE new ORDER (COA) 230KG
これは、今回の攻撃者が、特定の対象に狙いを絞ったソーシャルエンジニアリングというよりはむしろ一般的な件名をメールに利用していることを示しています。
画像ファイルに隠されたコード
東南アジアにおいて起こりうる攻撃が検出された後、トレンドマイクロは提供された電子メールに類似した特徴を持った検体を見つけることを試みました。無料オンラインスキャンサービス「VirusTotal」を使用して類似した検体を検索したところ、2019年6月24日から2019年7月5日までの間に、提供された電子メールと類似した検体が確認されました。これらの検体を解析したところ、従来のLokiBotの機能にいくつかの興味深い機能が追加されていたことがわかりました。 後述する不正な画像ファイルの検体のファイル名はさまざまですが、通常これらのファイル名には以下に示されているように、規則性を持たない意味不明な文字列が使用されています。
- bpxssh
- sittey
- jkcgjj
また、弊社の調査から、LokiBotの亜種は不正なリッチテキスト形式(RTF)の添付ファイル付の不正なスパムメールを介して届く可能性もあることがわかりました。 RTFファイルには、Windows を管理する正規ツール「Windows Management Instrumentation(WMI)」とPowerShellを利用してマルウェアをダウンロードおよび実行するExcel OLEオブジェクトが埋め込まれています。
図3:「VirusTotal」で見つかった類似したメールの検体の一つ
インストールの際、このLokiBotの亜種は、機能の一部として利用する画像ファイル「%temp%\<ファイル名>.jpg 」とともに、「%Temp%\<ファイル名>.exe 」として自身をインストールします。 この画像ファイルが持つ興味深い特徴の一つは、このファイルを実際に画像として開くことができる点です。 ただし、LokiBotが自身を解凍する際に参照するデータも含まれています。
図 4:画像ファイルを開いた際の画面
この画像は、メインのLokiBotコードがメモリで復号されるまで、さまざまな解凍段階で使用する暗号化されたバイナリを含んでいます。 メインのコードを読み込む前に、「%appdatalocal%」にディレクトリを作成し、「%temp%」に保存されているものと同じLokiBotのバイナリと画像を配置します。このディレクトリを作成する時点で、LokiBotファイルを実行するVisual Basicスクリプト(VBS)ファイルもドロップします。 また、この段階の間、活動を持続する仕組みとしてこのVBSファイルが指定された自動起動レジストリを作成します。 LokiBotは自動起動機能を使用しますが、同じ自動起動機能によって作成された「壊れた」自動起動レジストリを利用するLokibotの亜種もありますが、このLokibotの亜種が「壊れた」自動起動レジストリを持っている理由は本記事執筆時点で不明なままです。 メモリの解析の結果から、自動起動レジストリの書き込みを試みたにも関わらず上書きされたその結果が壊れたレジストリであることがわかります。 これは、攻撃者側のコーディングまたはエラー修正の結果であるか、あるいはコンパイル時に問題が発生した可能性を示しています。 解凍機能の後半の段階において、メインのLokiBotのコードが最終的に読み込まれて実行されます。 この時点から、実際のLokiBotであることを示す指標を確認することができます。 今回確認された亜種のメインのコードの解析結果を以前の亜種と比較すると、主要な変更は最小限に留まることがわかりました。ただし、認証情報を窃取する対象となるアプリケーションは亜種によって異なります。
LokiBotが利用するステガノグラフィ
LokiBotに関連する以前の事例は2019年4月に報告され、PNG画像ファイル内に隠された不正なZipx添付ファイルを利用したLokibotの亜種が確認されました。 今回の事例で確認されたLokiBotの亜種は、暗号化されたファイルの開始を示す「マーカ」を最初に探すことにより、画像ファイル内に隠ぺいされた暗号化されたバイナリを利用します。 このマーカ「#$%^&*()__#@$#57$#!@」は、サブストリング関数を介して検索されます。
図5:画像ファイルに隠された暗号化されたバイナリ
暗号化されたバイナリの位置を特定した後、復号処理を開始します。 その後、復号されたファイルは、解凍の次の段階で利用するために読み込まれます。 入力と出力に基づいて、AESなどのブロック暗号は使用されておらず、代わりに独自の復号方法が使用されていることがわかりました。
図6:復号機能
図7:復号前
図8:復号後
今回確認されたLokibotの亜種がステガノグラフィを利用する理由の一つは、攻撃のために別の難読化レイヤーを追加するためです。実際のLokibotが自身を実行する代わりに、wscript(VBSファイルインタプリタ)をこのLokibotの亜種の実行に利用します。 自動起動の仕組みではスクリプトを使用するため、これから登場するであろうLokibotの亜種はスクリプトファイルをその場で修正することで活動を持続する方法を変更しようとする可能性があります。 今日、Lokibotは実際の攻撃が確認されている最も活発な情報窃取系のマルウェアの一つであり、その勢いは衰退する兆しを見せていません。Lokibotの活動持続および難読化の仕組みの更新は未だ続いており、近い将来においても対処が必要な脅威として留まっていると予想されます。
■被害に遭わないためには
トレンドマイクロが対処した今回の事例では、LokiBotの亜種は内部のサンドボックスによって事前にフラグが立てられていたため1日以内に解析結果を提供し、永続的な損害が発生する前に送信者のメールアドレスをブロックすることができました。 しかし、トレンドマイクロが確認した企業以外に、少なくとも55つの企業にも同じ送信者から同様のメールが送られていたことが判明しました。つまり、この攻撃は一度限りで起きた事例ではないということです。 LokiBotの流行を考えると、攻撃者が同様の攻撃やより大規模な攻撃を開始したとしても不思議ではありません。 前述のように、不正な電子メールは正規のアカウントになりすましており、ユーザにとって非常に信憑性の高いメールアドレスを使用していました。 実際、サンドボックスからの警告がなければこの電子メールは気付かれずに検出から抜け落ちた可能性が非常に高いと考えられます。 今回確認されたLokibotの攻撃の対象となった企業には独自のセキュリティチームが設置されていました。しかし、LokiBotが備えるさまざまな検出回避機能を考慮すると、弊社が元々LokiBotに精通していなかった場合、この脅威を検出し解析することは困難なものとなったでしょう。 しばしば、標的型攻撃ではなく、検出が困難で絶えず同様の攻撃が検出されるより一般的で小規模な事例が企業にとって最も重大な脅威となる場合があります。これは、MDRのようなセキュリティサービスが、独自のセキュリティチームを持つ企業でも役立つことを示す一つの側面です。MDRは、インシデント調査を実施し、脅威を解析し、おそらくは最も重要な点として、一見無関係な異なる指標を相関分析することで、企業が対処している脅威をより明確に把握することを可能にします。 本記事で紹介する事例の場合、LokiBotに関する以前の知識と経験により、MDRと解析チームは1日以内にフィードバックと修復のための推奨事項を提供できました。 MDR チームは、エンドポイントおよびネットワークの両方を保護することができる強力なセキュリティ技術に精通した、経験を積んだ専門家で構成されます。単なる解析にとどまらず、攻撃において確認されたさまざまな環境指標を文脈に沿って整理することで調査の土台とすることが可能です。MDRチームが利用可能な高度なセキュリティ技術の1つとして、当社が提供するネットワーク挙動監視ソリューション「Deep Discovery™ Inspector」は、企業内における脅威の情報探索活動を検出することができます。
■侵入の痕跡(Indicators of Compromise 、IoCs)
侵入の痕跡(Indicators of Compromise、IoCs)はこちらを参照してください。 参考記事:
- 「LokiBot Gains New Persistence Mechanism, Uses Steganography to Hide Its Tracks」 by Miguel Ang, Erika Mendoza and Jay Yaneza
翻訳: 下舘 紗耶加(Core Technology Marketing, Trend Micro™ Research)