エグゼクティブ サマリー
Cisco Talos は最近、「Divergent」と呼ばれるマルウェアを拡散させている新しいマルウェア ローダーを発見しました。Divergent は、これまで未確認の新種です。Divergent の調査を始めたきっかけは、Cisco Advanced Malware Protection(AMP)のエクスプロイト防止システムから送られた十分な量のデータでした。
Divergent では一部の機能を実現するため、NodeJS(Web ブラウザの外部で JavaScript を実行するプログラム)と、正当なオープンソース ユーティリティの「WinDivert」を使用しています。NodeJS の使用は、マルウェアで一般的に見られるものではありません。
Divergent の配布キャンペーンでは、主に「fileless マルウェア」を連想させる永続化手口が使用されています。この永続化手口の特徴は、マルウェア分析に使えるアーティファクトをほとんど残さないことです。Divergent は企業ネットワークの攻撃にも転用できますが、主な目的はクリック詐欺にあるようです。また、他のクリック詐欺マルウェア(Kovter など)で観察されたいくつかの特徴も備えています。
技術詳細
Talos では、新しいモジュール式マルウェアを特定しました。このマルウェアは、これまで未確認だったマルウェア ファミリ「Divergent」をインストールします。「Divergent」の名前は、変数の宣言および環境変数の作成中にマルウェアが使用する命名規則に由来して Talos が付けたものです。Divergent の拡散メカニズムは特定できませんでしたが、マルウェア ローダーや(それを介してインストールされる)マルウェア本体の分析には成功しました。Divergent は、クリック詐欺により攻撃者の収益を生み出すマルウェア ファミリです。類似のマルウェアには Kovter などがあります。以下のセクションでは、Divergent のインストールと動作の両方について、技術面から詳しくご説明します。
インストール
Divergent には、他の一般的なファイルレス マルウェア ファミリ(特に Kovter)と多くの類似点があります。Kovter と同様に、設定データのステージングと保存でレジストリに大きく依存することで、ディスク上のファイルに対する従来のオンアクセス スキャンを回避しています。また、レジストリ内のキーを使用して永続性を維持し、PowerShell により感染先のホストにマルウェア本体をインストールする点も似ています。
侵入先のシステムで最初に取得・実行される際のマルウェアは、ポータブル実行可能(PE)形式のファイルです。ただし最初のタスクでは疑われることを避けるためか、レジストリから実行する HTML アプリケーション(HTA)として本体をインストールします。
そのために、ローダーの各部とマルウェア PE のデータを含む複数のレジストリ キーを作成します。マルウェアは、データ セクションに埋め込まれたすべての情報を読み取り、ランダムな名前のレジストリ キーを 3 つ新たに作成します。それぞれのキーは異なるステージのローダー コードを保持します。各キーは、反射型インジェクションを使用してマルウェア PE を実行する際に使用されます。
次に、HTA ローダーが CSIDL_COMMON_APPDATA フォルダ(通常は C:\ProgramData\ 内に存在)に書き込まれます。ユーザがログオンするたびに実行されるよう、HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 内に必要なレジストリ キーが追加されます。
HTA ローダーと、インストールされたマルウェアを実行するために必要なレジストリ エントリの例を次に示します。
- hta :: e4a49af295d6e61877a458a014fe63b733be942c506496b53070aa3d9ca421d8
- reg :: 5863f35959aa542a27319e098f40166f3ace09d265f4ec6d739318c0b739745e
レジストリ ファイルの HKLM\Software\ZfjrAilGdH キー内には、インストール プロセスで次のサブキーも作成されます(キー名はランダムに生成されるため環境ごとに異なります)。
- Lvt4wLGLMZ :: ZfjrAilGdh.hta によって実行される JScript
- kCu2DZ9WI0 :: 反射型インジェクションで使用される PowerShell
- 4FLJBnefsN :: マルウェア PE の 16 進数データ
ファイルレス マルウェアのローダー
HTA は徹底的に難読化されていますが、その役目は「ActiveXObject.WScript.Shell.RegRead」(以下は擬似コード)を使用して、レジストリ キー「HKLM\Software\ZfjrAilGdh\Lvt4wLGLMZ」内の JScript を eval 関数で評価することです。
レジストリ キー内の JScript は次の PowerShell コード(以下は難読化解除後のコード)を実行します。
この PowerShell コードは、変数「regkeyname」に HKLM\Software\ZfjrAilGdH\4FLJBnefsN のレジストリ データを代入した後、HKLM\Software\ZfjrAilGdH\kCu2DZ9WI0 のレジストリにあるコードを実行します。レジストリ キー「4FLJBnefsN」には、改ざんされた(MZ が Null バイトに置き換えられた)DOS ヘッダーと共に、悪意のある PE ファイルのコードが含まれています。
KCu2DZ9WI0 のコードは、マルウェアを挿入する反射型 PE インジェクション スクリプトの PowerShell バージョンです。
この時点でマルウェアが実行されます。
マルウェア「Divergent」
マルウェアには主に 2 つの機能があります。C2 サーバからコマンドを受信して実行する機能と、外部のコンポーネント スクリプトを実行する機能です。各機能の設定データは JSON 形式でレジストリに保存されます。
設定データには、実行するコンポーネントと実行方法について記述されています。以下の設定データ例では、次の 3 つの JScript コンポーネントが実行されます。
各エントリが解析され、それぞれのファイル名と args の値がマルウェアの実行時に渡されます。Call_03、all_socks_05 および block_av_01 の各コンポーネントの分析については、「Now I See You(監視準備完了)」、「クリック詐欺」、「ウイルス対策ソフトウェアの回避コンポーネント」の各セクションを参照してください。
ネットワーク設定には、2 つのクラスの C2 情報が保存されます。「kek」は、システム情報と実行コマンドの取得をマルウェアが試みる URL のリストです。「acll」は、設定内容を更新する必要がないか確認するための URL のリストです。ZfjrAilGdH.reg のデフォルト値は次のとおりです。
「version」はエポック タイムスタンプであり、2019 年 3 月 30 日(土曜日)の 7:14:29 PM(GMT)に変換されています。Divergent の IOC が含まれている最も古いサンプルは 2019 年 2 月にさかのぼります。
Divergent が実行されると、5 種類の分析回避チェックを開始します。チェックが 1 つでも失敗すると、直接 IP を含むスタティック URL にビーコンが送信され、マルウェアが無期限にスリープします。
ビーコン メッセージには、失敗した分析回避チェックの内容が含まれます。マルウェアは、プロセス ファイル名とモジュール名をそれぞれハッシュすることで、望ましくないプロセスや起動済みモジュールを確認します。その後、各ハッシュを 2 つの(事前に作成された)リストと照らし合わせて比較します。2 つのリストには、エンドポイント セキュリティ ソフトウェアとハイパーバイザ サービスに関するハッシュが含まれるため、いずれかの環境下でマルウェアを実行するとチェックが失敗する仕組みになっています。また、ホスト CPU に少なくとも 2 つのコアが含まれ、かつデバッガが存在しているかを確認したうえで、システムのアップタイム間隔を比較します。これにより、サンプルがサンドボックスや仮想マシン内で実行されていないか確認します。
プロセスが必要な権限で実行されていれば、WMI(Windows 管理インストルメンテーション)を使用して、ホストでインストール・認識されているウイルス対策ソフトウェアを照会します。ここでは特に、ウイルス対策の Windows Defender を探します。Windows Defender が見つかった場合は、Windows Defender と Windows Update の各種コンポーネントを無効にします。
各種コンポーネントを無効にした後は、必要であれば、CMSTP を使用して UAC のバイパスを試みます。追加のコードを実行し、マルウェアの 2 つの設定内容を更新する必要がないか確認します。最初の設定内容の acll キーに含まれる各 URL に、空の POST 要求が送信されます。これらの URL には、後にホストで発見された機密情報がすべて送信されます。現在はいずれの URL も応答しませんが、まだオンラインです。多くの URL は C2 ネットワークで使用されている(または使用されていた)、侵害されたホストのようです。
最初の設定内容の acll キーに含まれる直接 IP の URL は、いずれかのサーバから更新情報が得られるまでマルウェアが接触を続けます。更新内容(RC4 で暗号化済み)を含む応答はレジストリに保存されます。このサンプルでは RC4 キー「seiC4aimaish9zah8kah」が静的です。復号化の結果、更新された設定データは以前の図よりも長くなっています。
データが既存のレジストリ サブキーに保存され、値が更新されます(この例では HKLM\SOFTWARE\ZfjrAilGdH\194956)。2019 年 9 月 9 日に取得した最新構成のタイムスタンプは 8 月 29 日(木曜日)2019 11:50:19 am でした。
2 番目の設定は、レジストリ サブキー「ZfjrAilGdH」(HKLM\SOFTWARE\ZfjrAilGdH\2177774)の最後の値に格納されます。このセクションの冒頭付近で述べたデフォルト値は実行時にも使用されていました。
マルウェア コードの主なフローは終わりに達しますが、一部のタスクは 90 分ごとに繰り返されます。設定内容の更新チェックや、侵入先で見つけた機密情報の送信(暗号化して送信)、C2 サーバから送られてきた追加実行コマンドの処理などのタスクです。Divergent が使う C2 プロトコルは、次のコマンドとパラメータに対応しています。
- killall:マルウェアによって開始されたすべてのプロセスを終了し、関連するファイルを削除します。
- kill:指定されたコンポーネントのプロセスを探して終了させ、ファイルを削除します。
- stop:特定のコンポーネントのプロセスを探して終了させます。
- resume:既存のコンポーネントと共にファイルを実行します。
- modules:単一の応答データから、以下のキーについて追加の設定データを取得します。
– name
– filename
– args
– version
– type
– download
– Key
マルウェアはこれらのコマンドとパラメータを使用して追加の要求を送信し、指定されたファイルをダウンロードします。ダウンロードされたファイルはディスクに書き込まれ、実行されます。
- update:単一の応答データから、以下のキーについて追加の設定データを取得します。
– filename
– download
– Key
modules コマンドと同様に、マルウェアが追加の要求を送信し、指定されたファイルをダウンロードします。ダウンロードされたファイルはディスクに書き込まれ、実行されます。最後に、サブキーに保存されているレジストリ データ(HKCU と HKLM の両系列)が削除されます。
コマンド update_interval は、終了ループに関わる、メインスレッドのスリープ カウンタを変更します(デフォルトの時間は 90 分)。
コンポーネント
ウイルス対策ソフトウェアの回避コンポーネント
block_av_01 コンポーネントは、80 番と 443 番のポートでアウトバウンド TCP 接続を全面的にブロックします。その狙いは、ウイルス対策ソフトウェアの更新を防ぐことです。以前の Divergent パッケージは、ポートのブロック機能を「bav01」という名前の JScript ファイルを通じて利用していましたが、最近では偽の PNG ファイル(trpl.png)を介して PowerShell から利用しています(「PNG ファイルに偽装した PowerShell の配信」のセクションを参照)。
マルウェアのインストール スクリプトは、実行に必要なファイルを保存するための新しいフォルダ(SystemConfigInfo000 など)を最初に作成します。次に 2 つのファイル(WinDivert.dll と、ホストの CPU アーキテクチャに応じて WinDivert32.sys または WinDivert64.sys のいずれか)をインストールします。これらは正当な WinDivert バイナリですが、マルウェアではパケット フィルタを作成する目的で悪用されています。
WinDivert バイナリはコメントとして bav01.js に埋め込まれ、「.b64」の拡張子でディスクに書き込まれます。以下のコードは、スクリプトに埋め込まれた「arch5」という名前のリソースを取得します。埋め込みには、/*[<リソース名>[リソースの日付]]*/ のコメント形式が使用されています。
その後、WinDivert の各バイナリは、Windows 証明書サービス ユーティリティ(certutil.exe)を使用して以下のような方法で base64 デコードされます。
上のスクリプトは、システムの起動ごとにタスクとして自動実行されます。自動実行を可能にするため、(ランダムに見える)サービス名を使用してスケジュール済みタスクを作成し、SYSTEM ユーザとして最高のランレベルで実行されるように設定しています。
次に、以下の PowerShell コマンドが実行されます(ここでは復号後のコードとして表示)。これにより、base64 でエンコードされた PowerShell コマンドが「nttyuuyt」の環境変数で実行されます。
「nttyuuyt」の環境変数は予め bav01 によって設定されています。この中には、base64 でエンコードされた PE ファイルと、反射型インジェクションに必要な PowerShell コマンドが含まれています(以下では、読みやすさを考慮して一部の末尾を省略しています)。
この段階でマルウェアのインストールが完了し、ウイルス対策ソフトウェアの HTTP/HTTPS 接続をブロックするための PE モジュールが読み込まれます。
PE モジュールはウイルス対策ソフトウェアを回避するため、実行中の全プロセスの名前を、事前定義リストと照らし合わせて定期的にチェックします。リストにプロセス名が表示されている場合は、WinDivertOpen に渡したフィルタ文字列に PID を追加します。WinDivertOpen は 80 番または 443 番のリモート ポートで該当プロセスへのトラフィックをすべて遮断します。フィルタ文字列の例は次のとおりです。
((processId=620 or processId=736) and (remotePort==80 or remotePort==443))
ブロックされるプロセス名の例には、msmpeng.exe(Windows Defender)や svchost.exe などが含まれます。
クリック詐欺
all_socks コンポーネントは NodeJS ベースの Socket.IO クライアントですが、クリック詐欺で特定の Web ページを開かせるために悪用されています。以前の Divergent パッケージは、この機能を「04sall.js」または「05sall.js」という名前の JScript ファイルを通じて利用していましたが、最近では偽の PNG ファイル(strpk.png)を介して PowerShell から利用しています(「PNG ファイルに偽装した PowerShell の配信」のセクションを参照)。
ウイルス対策ソフトウェアの回避コンポーネントと同様に、このクリック詐欺コンポーネントでも WinDivert ライブラリを使用します。そのため前述の bav01.js と同じ方法で、必要な WinDivert DLL とドライバをインストールします。ただしここでは、NodeJS ベースの実行可能ファイルと NodeJS Socket.IO クライアント(app.js)もインストールされます。以前のバージョンでは、2 つの実行可能ファイル(divergent.exe と mdivergent.exe)もインストールされていましたが、新しいバージョンではいずれも反射型 PE インジェクションによりメモリから実行されます。
NodeJS ベースの実行可能ファイル(app.js または init.js)は、以下のように base64 でエンコードされた IP アドレスを唯一のパラメータとして使用する、シンプルな Socket.IO クライアントです。
node.exe app.js <base64 でエンコードされた IP アドレス>
Talos が調べたサンプルでは、IP アドレスがすべて 176.9.117.194(エンコード後は “MTc2LjkuMTE3LjE5NA==”)でした。NodeJS ベースのアプリケーションが実行されると、パラメータとして渡された IP アドレス(サーバ)へ以下のような要求を送信します。
要求の結果、アプリケーションが次に接続する別のサーバのアドレスが返されます。新しい接続では、Socket.IO の Web ソケットを使用して侵入先とサーバとの間で継続的な通信を維持し、サーバがコマンドを定期的に送信できるようにします。新しいサーバから送信されるコマンドには、広告収入サービスのホスト アドレスと、サービスに送信する必要がある HTTP 要求全体が含まれています。これにより、特定の広告がクリックされたように見せかけるのです。
広告収入サービスではこうした不正な要求を排除するため、要求に含まれるデバイス タイプの情報を、要求の送信元デバイスと照らし合わせて確認するという追加対策を講じることがあります。たとえば、広告収入サービスがモバイル デバイスのみを想定している場合、デスクトップの特性を持つデバイスからの要求は拒否します。divergent.exe と mdivergent.exe の実行可能ファイルが 04sall.js / 05sall.js コンポーネントで使用されている理由は、このような広告収入サービスによる確認を回避するためだと考えられます(詳しくは TCP/IP スタック フィンガープリンティングをご覧ください)。
divergent.exe と mdivergent.exe は、WinDivert ライブラリを使用することで、TCP の 3 ウェイ ハンドシェイクにおける最初の SYN パケットをインターセプトして書き換えます。感染したホストが確立しようとする発信接続すべてが対象となります。SYN パケットに対する変更内容は、使用される実行可能ファイルによって異なります。divergent.exe は TCP ヘッダー オプションを Android デバイスと同じ形式に、mdivergent.exe は iOS デバイスと同じ形式に書き換えます。どちらの実行可能ファイルを使用するかは、app.js の導入スクリプト(04sall.js または 05sall.js)に含まれるコードが、「macchance」という名前の変数に応じて決定します。この変数は導入スクリプトに渡される唯一のパラメータです。変数 macchance には、divergent.exe の代わりに mdivergent.exe が展開される確率情報が含まれます(以下の PowerShell パラメータは通常、base64 でエンコードされていますが、ここでは復号してあります)。
上記のコードにおける各変数と mac は、それぞれ divergent.exe と mdivergent.exe の反射型インジェクションに必要なコードに対応しています。つまり and は Android を、mac は iOS を表しています。
これらの実行可能ファイルを正常に機能させるには、感染したマシンの TCP/IP スタックに対していくつかの変更を行う必要があります。たとえば、TTL を 64 に設定する、タイムスタンプ TCP ヘッダー オプションを有効化する、MTU を 1440 に変更する、などです。これらの変更が加えられた後、以下のコードにより偽の「Critical_Windows_Update(Windows の重大な更新)」メッセージが表示され、システムが強制的に再起動されます。
こうした変更や再起動により、各 SYN パケットに必要な変更を加えて、TCP ヘッダー オプションを偽装対象(Android または iOS)と同じ形式に書き換えられるようになります。
Now I See You(監視準備完了)
マルウェアの設定で「call_03」として参照されるコンポーネントは、em_02.js と em_03.js のスクリプトによって作成されます。この「call_03」には、感染したマシンを攻撃者が監視・制御できるよう、リモート支援ツールをインストールする目的があるようです。
前のコンポーネントと同様、「em_03」に関連付けられた PE ファイルも反射型インジェクションによって実行されます。ここでは fdghjgfdhj の環境変数が使用されています。
エクスポート テーブルを分析する限り、インジェクションされる PE ファイルが最初は「now_i_see_you.dll」と命名されていた DLL です。この DLL には、「VoidFunc」という名前のエクスポートされた関数が 1 つあり、その関数に DLL の全機能が含まれています。VoidFunc が実行されると、HTTP GET 要求を hxxps://uoibppop[.]tk/ に送信します。このサーバからは新しい別の URL が返されます。DLL は COM オブジェクトを使用して Internet Explorer のインスタンスを起動し、画面全体に合わせてウィンドウのサイズを変更し、新しい URL を開きます。Talos による分析の時点ではサーバがアクティブでしたが、どのようなデータを送っても応答しないため、何がホストされているかは確認できませんでした。
さらに DLL は Windows タスクバーを非表示にし、ユーザが画面の指示に従わざるを得ない状況を作り出します。次にマルウェアは、文字列 gotoassist を含むプロセスを探すためのループを実行します(以前のバージョンでは teamviewer も探していました)。Internet Explorer に表示される指示にユーザが従ってマルウェアを実行した場合、表向きは確認のメッセージを表示します。マルウェアが実行されると、Windows のタスクバーが再び表示されます。しかし背後ではプロセスリストが収集され、送信専用の hxxps://uoibppop[.]tk/clean に送られます。レジストリキー `HKEY_CURRENT_USER\Software\fbsjbdfhsv` が作成され、キー値「weqr」が 1 に設定されます。この 1 の値は実行が成功したことを示すため、プロセスが終了します。ここで攻撃者が URL の代わりに「stop」の単語を送信すると、DLL によって標的システムが強制的に再起動されます。
被害者が開こうとしていた URL が不明なため、攻撃者が実行させようと狙うプログラムも判明していません。ただし gotoassist および teamviewer というプロセス名や、元の DLL 名(now_i_see_you.dll)から判断する限り、何らかのリモート管理ソフトウェアをインストールさせる狙いがあったと推測されます。
PNG ファイルに偽装した PowerShell の配信
新しい Divergent パッケージではコンポーネントが JScript として提供・実行されなくなり、その代わりにマルチステージの PowerShell スクリプトが使用されています。第 1 段階では、静的 URL から第 2 段階のスクリプトが取得されます。第 1 段階のスクリプトは、以下のようにかなり難読化されています。
Talos で難読化を解除したものが以下のスクリプトです。
上のコードで要求されるリソースの拡張子は .png(画像形式)ですが、実際には悪意のある PowerShell スクリプトです。このスクリプトは、上述の PowerShell スクリプトに保存された暗号化キー「raimeey2nu」を使用して RC4 で暗号化されています(ここで使用されている RC4 の実装について、詳しくはこちらをご覧ください)。
暗号化された PowerShell を取得するための URL としては、以下のものが検出されました。
- hxxp://1292172017[.]rsc.cdn77[.]org/images/trpl.png
- hxxp://1292172017[.]rsc.cdn77[.]org//imtrack/strkp.png
最初の URL は PowerShell バージョンの bav01.js を、2 番目の URL は同じく PowerShell バージョンの 05sall.js を提供します。
PowerShell バージョンの 05sall.js を詳しく分析すると、WinDivert と関連するバイナリに対応する、Base64 でエンコードされた BLOB を確認できます。JScript バージョンの 05sall.js と同様に、PowerShell スクリプトでもこれらの BLOB をデコードし、環境変数 %ALLUSERSPROFILE% で定義されたファイル システムの場所に保存します。
PowerShell 内に保存されたシェルコードは、以下のように Windows API 関数の VirtualAlloc を使用して新しいメモリ領域に読み込まれて実行され、感染プロセスを続行します。
まとめ
今回のマルウェア ローダーは現在も開発が続いていて、すでに複数のバージョンを確認しています。攻撃者の狙いは、クリック詐欺により感染システムから収益を得ることです。脅威の状況は常に進化しており、攻撃者は新たな技術や手法をテストして収益力を高めています。防御側である組織もこれらの事態を認識し、セキュリティ プログラムを最新状態に保つことで、変化し続ける戦術、技術、手順(TTP)への備えを万全にする必要があります。Divergent の脅威は Cisco Advanced Malware Protection(AMP)のエクスプロイト防止エンジンによって適切に排除されたほか、そこで得られたイベント データによって脅威が分析されています。Talos では、お客様の保護を維持できるように、脅威状況の変化の監視を続けてまいります。
カバレッジ
お客様がこの脅威を検出してブロックできる別の方法を以下に記載します。
Advanced Malware Protection(AMP)は、これらの攻撃者によるマルウェアの実行の阻止に最適です。
Cisco クラウド Web セキュリティ(CWS)または Web セキュリティ アプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、これらの攻撃で使用されるマルウェアを検出します。
電子メール セキュリティは、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。
次世代ファイアウォール(NGFW)、次世代侵入防止システム(NGIPS)、およびMeraki MX などのネットワーク セキュリティ アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を埋め込みます。
シスコのセキュア インターネット ゲートウェイ(SIG)である Umbrella は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
オープン ソースの SNORT サブスクライバ ルール セットをお使いであれば、Snort.org で購入可能な最新のルール パックをダウンロードすることで、システムを最新状態に維持できます。
侵入の痕跡(IOC)
今回のマルウェア キャンペーンに関連する侵入の痕跡として、以下のようなものが確認されています。
HTA ハッシュ:
47b5dac9152220fbbf122eff89ac93d42e9196f5ab665a2a6d99594246ab8a81
062688aec1bdf1208bd72a77696e1fbcd1076f54bd6e59141ed12b6f8e3ba32c
PE32 ハッシュ:
c7052f4676102bfe39ab19c227832861caa2959933e296ee1806973619948624
781adc919a705ca3e8a82fe1d1eac68f651c50ba402172aea033eaec7879e932
05fbd38ea0b99621d22ce5f057173fdec40f3dccd63f887e1c301766c6597714
2135acda2d2739773fbb827e8d180ac901c040d2f071127bb597a714591672cd
72b6a8bf9598bd445e26a04ab58be62ed3941fb1fe4cf4a094a6272a77b66009
ba04eacaa80bb5da6b02e1e7fdf3775cf5a44a6179b2c142605e089d78a2f5b6
a82dd93585094aeba4363c5aeedd1a85ef72c60a03738b25d452a5d895313875
2f4a9ef2071ee896674e3da1a870d4efab4bb16e2e26ea3d7543d98b614ceab9
77498f0ef4087175aa85ce1388f9d02d14aaf280e52ce7c70f50d3b8405fea9f
b2d29bb9350a0df93d0918c0208af081f917129ee46544508f2e1cf30aa4f4ce
bf2cdd1dc2e20c42d2451c83b8280490879b3515aa6c15ab297419990e017142
ba04eacaa80bb5da6b02e1e7fdf3775cf5a44a6179b2c142605e089d78a2f5b6
a7656ccba0946d25a4efd96f4f4576494d5f1e23e6ad2acc16d2e684656a2d4f
607b2f3fd1e73788a4d6f5a366c708dbb12d174eba9863ade0af89ca40e1fdba
URL:
hxxps://1292172017[.]rsc[.]cdn77[.]org/images/trpl.png
hxxps://1292172017[.]rsc[.]cdn77[.]org/imtrack/strkp.png
ミューテックス:
Global\Divergent
Global\CreatorsPatch
Global\LocalLow7
IP アドレス:
95[.]70[.]244[.]209
13[.]228[.]224[.]121
54[.]241[.]31[.]99
103[.]31[.]4[.]11
103[.]31[.]4[.]54
198[.]41[.]128[.]74
198[.]41[.]128[.]55
131[.]0[.]72[.]36
131[.]0[.]72[.]59
188[.]114[.]96[.]87
188[.]114[.]96[.]116
43[.]250[.]192[.]98
43[.]250[.]192[.]87
217[.]160[.]231[.]125
208[.]91[.]197[.]25
184[.]168[.]221[.]42
103[.]224[.]248[.]219
31[.]31[.]196[.]120
217[.]160[.]223[.]93
103[.]224[.]248[.]219
184[.]168[.]221[.]45
119[.]28[.]87[.]235
23[.]227[.]38[.]32
50[.]63[.]202[.]39
216[.]239[.]34[.]21
83[.]243[.]58[.]172
5[.]9[.]41[.]178
88[.]198[.]26[.]25
62[.]75[.]189[.]110
109[.]239[.]101[.]62
107[.]186[.]67[.]4
184[.]168[.]221[.]63
45[.]55[.]154[.]177
104[.]28[.]2[.]169
202[.]56[.]240[.]5
89[.]163[.]255[.]171
185[.]243[.]114[.]111
本稿は 2019年9月26日に Talos Group のブログに投稿された「Divergent: “Fileless” NodeJS Malware Burrows Deep Within the Host」の抄訳です。