はじめに

サイバーリーズンのNocturnusとActive Hunting Serviceは、オンデマンドで脅威を容易に検知し、悪意ある活動をプロアクティブに探し出すことを専門に行う2つのチームです。トロイの木馬Ramnitの調査は、Cybereasonプラットフォームの機能を利用した結果であり、上記の両チームが脅威ハンティングのデモ時に当社の顧客のセキュリティチームの1つとなることで実施されました。

我々は、顧客にとって重大な脅威を明らかにすると同時に、当社のActive Threat Hunting Serviceに関する顧客のオンボーディングを行いました。問題の顧客は、バンキング型トロイの木馬Ramnitの変種によって侵入されていました。バンキング型トロイの木馬は、通常個人を標的として銀行口座のクレデンシャルを盗もうとしますが、バンキング型トロイの木馬Ramnitは組織内のユーザーを標的とします。

Proofpointが最近発行したレポート「イタリアおよびイギリスに対する持続的な攻撃におけるsLoadとRamnitの組み合わせ」では、いかにして脅威アクターTA554がsLoadを使用して、イタリア、カナダ、イギリスにおける標的となる金融機関にバンキング型トロイの木馬Ramnitをばらまいたかが示されています。サイバーリーズンでは、イタリアのスパム攻撃の一部として、バンキング型トロイの木馬Ramnitの変種をばらまくために使用された、発見が難しい同様な感染手法を検出しました。

トロイの木馬Ramnitとは、機密データの密かな抽出を可能にするタイプのマルウェアです。盗まれるデータには、銀行クレデンシャル、FTPのパスワード、セッションクッキー、個人データなどの広範な種類のデータが含まれています。このような情報の流出は、ビジネスにおけるユーザーの信頼を簡単に打ち砕くほか、顧客を失わせ、企業の評判を台無しにします。幸いなことに、当社のオンボーディングはタイムリーであり、トロイの木馬が情報の密かな抽出を開始したばかりの時点で、それを検知することに成功しました。当社の顧客は、当社の修復ツールを即座に使用することで、データの流出をすぐに止めることができました。

当社のサービスチームの調査によれば、発覚の回避に利用された主な手法の1つが、living off the land binaries(LOLbins)でした。本ケーススタディにおいて、我々はこの攻撃によるsLoadの利用、およびLOLbinsの利用について調査しました。攻撃者は、PowerShell、BITSAdmin、certutilなどの組み込み型のWindows製品を利用することで、発覚を回避していました。

正規のネイティブWindowsプロセスを利用してマルウェアをダウンロードすることは、セキュリティの世界では新しい手法ではありません。実際、正規の製品を利用して悪意ある活動を行うことは、確実に人気を獲得しています。ただし、下記に紹介するように、このスパム攻撃でのLOLbinsの利用は、バンキング型トロイの木馬Ramnitの発覚を回避する方法としては興味深くかつ効果的なものです。

我々は、この攻撃を複数の異なるフェーズに分割した後、それらをMITRE ATT&CKナレッジベースに対応しました。

フェーズ1:初期感染とsLoadペイロードダウンローダー

•スピアフィッシングリンク:MITRE Technique T1192
最初に、ターゲットは、イタリアにおけるスパム攻撃の一環として、スピアフィッシングのメールを受け取りました。このスパム攻撃は、特にイタリアのユーザーに対して集中的に行われました。このメールには、侵入されたWebサイトへのリンク(https://levashekhtman[.]com/assistenza-amministrativa/documento-aggiornato-FMV-61650861)が含まれていました。

•追加ペイロードのダウンロード
ターゲットが侵入されたWebサイトに接続すると、同サイトは追加的なペイロードのダウンロードを開始します。このペイロードは、圧縮済みのZIPファイルであるdocumento-aggiornato-FMV-61650861.zip(SHA1:B564ED3DE7A49673AC19B6231E439032AE6EAA68)です。このZIPファイルには、悪意のない.jpgファイルと、通常のWindowsフォルダのアイコンとして表示される.lnkショートカットファイルが含まれています。


ZIPファイルの内容

•ショートカットの変更:MITRE Technique T1023
ターゲットがこの.lnkショートカットファイルをオープンすると、CMDにより、難読化されたコマンドを含むPowerShellが起動されます。

•Powershellの難読化:MITRE Technique T1027
.lnkファイルをオープンすることで起動されたPowerShellは、続いて、sLoadドロッパーをダウンロードします。sLoadはPowerShellベースのバンキング型トロイの木馬ダウンローダーであり、偵察、情報収集、画面キャプチャ、C2機能を備えています。

sLoadは、%AppData%フォルダ内にある空の.ps1ファイルであるoyCZpsgNEFvQnW.ps1(SHA1: B6E3C4A528E01B6DE055E089E3C0DD2DA79CFCBE)を生成するPowerShellコマンドを実行することにより、ダウンロードを開始します。


ZIPファイルは、PowerShelスクリプトにリンクされている.lnkファイルを使用して、悪意ある難読化されたエンコード済みコマンドを実行しようとする

この悪意あるPowerShellスクリプトは、発覚を回避するために、「“, * 」のような複数のエスケープ文字を使用します。この手法は、JavaScript言語を悪用することで、アンチウイルス製品による防御をすり抜けることができるようにします。

•BITSAdminの悪用:MITRE Technique T1197
この悪意あるPowerShellスクリプトは、BITSAdminを使用してbureaucratica[.]org/bureaux/ticaからsLoadをダウンロードし、事前に作成しておいた空の.ps1ファイル内にそのsLoadを書き込みます。BITSAdminは、ダウンロード、アップロード、監視の各ジョブを行うために使用される組み込み型のWindowsコマンドラインツールです。この悪意あるPowerShellスクリプトがsLoadの.ps1ファイルへの書き込みを完了すると、続いて、この.ps1ファイルが実行されます。

•スケジュールされたタスクを使用したパーシステンス:MITRE Technique T1053
この悪意あるPowerShellスクリプトは、スケジュールされたタスク(AppRunLog)を生成します。続いて、同タスクは、悪意あるVBScript(vmcpRAYW.vbs)を実行します。

sLoadの分析

アンチデバッグおよび分析手法

この.ps1ファイル(oyCZpsgNEFvQnW.ps1)は、sLoadを含んでおり、本質的には悪意あるPowerShellスクリプトです。同スクリプトは、現在稼働中のプロセス名を調べた後、それらを下記の分析ツール名と比較することで、それがデバッグされているかどうか、またはテスト環境で実行されているかどうかをチェックできます。

  • SysInternalsツール
  • パケットスニッフィングルーツ
  • デバッガおよび逆アセンブラ

また、悪意あるsLoadスクリプトには、メインのペイロードの暗号化および復号化に使用されるキー(1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16)も含まれています。

oyCZpsgNEFvQnW.ps1はセキュリティ製品をチェックするほか、ペイロード用のキーを含んでいる

この悪意あるsLoadスクリプトには、次の2つの暗号化されたファイルが含まれています。

  • Config.ini(SHA1:82C3A3E1317CD5C671612430DDDED79DF9398BCC)
  • Web.ini(SHA1:ABC14EB06235A957D3AD66E359DC0B1F1FDFAB8A)


oyCZpsgNEFvQnW.ps1は、暗号化されたファイルConfig.iniおよびWeb.iniを含んでいる

悪意あるsLoadがコンピュータのGUIDを、そのすべてのファイルを含むディレクトリとして、およびペイロード名の一部として使用していることに注意しましょう。


oyCZpsgNEFvQnW.ps1によるコンピュータのGUIDの読み取り

sLoadのパーシステンス

sLoadは、sLoadがペイロードを繰り返しダウンロードできるようにするスケジュールされたタスクを生成することにより、パーシステンスを確保します。

oyCZpsgNEFvQnW.ps1は、スケジュールされたタスクを使用してパーシステンスを確保する

スケジュールされたタスクを実行すると、ランダムな名前を持つ悪意あるVBScriptであるvmcpRAYW.vbs(SHA1:AEABE11F0496DA7E62501A35F4F03059F783C775)が生成されます。このVBScriptは、同じ名前の.ps1 ファイルであるvmcpRAYW.ps1(SHA1:41FB1C6542975D47449EF6CB17B26CA8622CF9AE)を実行することで、キーを使用して悪意あるsLoadスクリプトoyCZpsgNEFvQnW.ps1からconfig.iniを復号化します。

この復号化に続いて、 sLoadのペイロードが実行されます。


CybereasonのUIにおけるwscriptと.ps1ファイルの実行

フェーズ2:config.iniの復号化と sLoadペイロードの実行

実行

config.iniが復号化され実行された後、sLoadの第2フェーズが発生します。復号化されたconfig.iniは、暗号化されたweb.iniの機能を管理するものであり、マルウェアに関する各種の命令(画面キャプチャ、感染したマシンに関する情報の収集、データのダウンロードとアップロード)を含んでいます。そのLOLbins手法の一環として、同ペイロードは、BITSAdmincertutilを含む正規プロセスを使用して、悪意ある活動を実行します。

復号化されたConfig.iniの分析:web.iniからのデータ取得や同じキーの利用を含む
復号化されたweb.iniファイルには、カンマ(,)をデリミタとする悪意あるURLのリストが含まれています。難読化解除されたConfig.ini は、そのURLのリストをカンマ(,)で分割した後、同ファイル内の各URLに関してコマンドラインでBITSAdminを実行します。

web.iniをデコードするためにConfig.ini 内にあるコマンドを実行

web.iniの内容:2つの異なるweb.iniファイルの組み合わせとして悪意あるURLが含まれている
上述したように、sLoadはスケジュールされたタスクを通じてパーシステンスを確保します。興味深いことに、web.iniに保存されるsLoadのドメインは、スケジュールされたタスクによりsLoadがダウンロードするたびに変化します。このような自己更新能力により、sLoadは、よりステルス性を高めており、ドメインのブラックリスト化による検知のような防御戦術を無効化しています。

検出と内部偵察

sLoadは、その攻撃ライフサイクルの一部として、複数の攻撃ベクターを通じて、感染したマシンに関する情報を収集します。

sLoadは、Windowsを稼働させているコンピュータ上にあるストレージデバイスへと解決されるデータソースである、Win32_LogicalDiskに関する情報を収集しようと試みます。また、sLoadはNET VIEWコマンドを使用して、ネットワーク共有や物理デバイスに関する情報を抽出しようと試みます。


sLoadによるハードウェアおよびネットワークに関する情報の収集

NET VIEWコマンドは、ネットワーク上にあるコンピュータとネットワークデバイスの一覧を表示します。NET VIEWコマンドは、内部偵察やシステム情報の検出に使用される正規のコマンドです。攻撃者は同コマンドを使用することで、オペレーティングシステムやハードウェアに関する情報を取得しようと試みます。これには、バージョン番号、パッチ、ホットフィックス、サービスパック、アーキテクチャなどに関する情報が含まれます。

sLoadはNET VIEWコマンドを使用して、その偵察活動の一部として、出力をファイルに保存します。

Cybereasonプラットフォームで表示されたNET VIEWコマンド

ターゲットのネットワークに関する情報を取得した後、sLoadのペイロードは、ローカルオペレーティングシステムおよびプロセッサに関するその他の情報を収集します。

sLoadによるローカルオペレーティングシステムとプロセッサのチェック

データの密かな抽出

sLoadが情報を収集するために使用する主な方法は、画面キャプチャを経由するものです。sLoadは、その実行全体を通じて、画面のキャプチャを継続して行い、BITSAdminとcertutilを使用してデータを密かに抽出します。


sLoadのメイン画面キャプチャ機能

sLoadが情報の盗み出しを可能にする最もユニークな方法の1つが、それが.ICAファイルを検索した上で同ファイルを密かに抽出するやり方です。ICAとは、サーバー、アプリケーション、およびデスクトップ仮想化を提供する多国籍ソフトウェア企業であるCitrix Systemsにより開発された設定ファイルフォーマットです。ICA(Independent Computing Architecture)ファイルタイプは、Citrix Systemsのアプリケーションサーバーが、サーバーとクライアント間の情報を設定するために使用します。ICAファイルは、関連する接続の詳細情報(ユーザー名、パスワード、サーバーのIPアドレスなど)を格納するために使用されるCITRIX接続プロファイルとなります。ICAファイルがこれらの情報をすべて含んでいる場合、同ファイルは、Citrixリモートデスクトップの認証と管理を行うために使用されます。
sLoadは、Outlookのユーザーディレクトリ内にあるファイルに特に注目することで、感染したマシンから.ICAファイルを抽出しようと試みます。sLoadは、抽出した情報をファイル(f.ini)に保存した後、最終的にBITSAdminを使用して、その情報をリモートC2サーバーへと送信します。


.ICAファイルの検索と保存

sLoadがBITSAdminとcertutilを操作してバンキング型トロイの木馬RAMNITをダウンロードする方法

sLoadはPowerShellスクリプトを生成します。このスクリプトは、BITSAdminを使用して、エンコードされた.txtペイロードを複数の悪意あるドメインからダウンロードします。これらのドメインの例としては、次のものが挙げられます。

  • Packerd[.]me
  • Smokymountainsfineart[.]com
  • Reasgt[.]me
  • imperialsociety[.]org.

これらのドメインはすべて、攻撃期間中に観測されたものです。

BITSAdminのコマンドライン

certutil.exeは、Certificate Servicesの一部としてインストールされるコマンドラインプログラムです。攻撃者は、この組み込み型のWindowsユーティリティを使用して、アプリケーションのロック機構をすり抜け、悪意あるファイルをダウンロードして復号化します。
エンコードされたペイロードは、certutilを使用することで、悪意ある実行可能ファイルへと複合化されます。


certutilによる.txtファイルの復号化

certutilにより復号化された後、悪意ある実行可能ファイル _UWBwKlrFyeTXGjtV.exe(SHA1:ae5b322b7586706015d8b3e83334c78b77f8f905)がPowerShellにより実行されます。これが、バンキング型トロイの木馬Ramnitになります。


PowerShellによるRamnit実行可能ファイルの実行

sLoadは、Get-ScreenCapture関数を使用して、 [ScreenCapture +] という名前を持つ.jpgファイルを5つ作成した後、マルウェアにより作成されたフォルダ内にそれらのファイルを保存します。その後、sLoadは、BITSAdminを継続して悪用することで、5つの.jpgファイルをすべて、悪意あるC2サーバーへとアップロードします。


sLoadによる5つの画面キャプチャイメージの取得


sLoadの画面キャプチャ機能により5つのイメージを作成

この実行可能ファイルの起動後、同マルウェアは、CMDとdelコマンドを使用して3つのファイルを削除することで、自分の足跡を隠します。これら3つのファイルとは、エンコードされたペイロード(_UWBwKlrFyeTXGjtV.txt)、復号化されたペイロード(_UWBwKlrFyeTXGjtV_1.txt)、およびバンキング型トロイの木馬Ramnit の実行可能ファイル(_UWBwKlrFyeTXGjtV.exe)です。


sLoadはRamnit実行可能ファイルの証拠を隠滅する

Cybereasonプラットフォームで表示された命令の完全な連鎖は、sLoadペイロードの難読化解除されたコード(config.ini)内で確認できます。


sLoadの難読化解除されたアクションの連鎖

実行可能ファイルのダウンロードに加えて、sLoadには、リモートサーバーからPowerShellコマンドを実行する、二次的なファイルレス攻撃ベクターが含まれています。


sLoadによるファイルレスコマンドの実行

フェーズ3:バンキング型トロイの木馬RAMNIT

RAMNITの分析

BITSAdminダウンロードのペイロードである_UWBwKlrFyeTXGjtV.exe(SHA1:ae5b322b7586706015d8b3e83334c78b77f8f905)は、初回分析時には、バンキング型トロイの木馬Ramnitの未知のバージョンでした。

これは、マシン上で実行された後、Cybereasonへと送信されるのではなく、まず VirusTotalへと送信されました。

実行時に、バンキング型トロイの木馬Ramnitは、そのパーシステンス手法の1つを通じて悪意ある活動を開始します。Ramnitは、WMI process wmiprvse.exeを使用するCOM APIを通じて、スケジュールされたタスクを生成します。このプロセスは、操作に正当性を追加するために、そのタスクの作成者がMicrosoftとなることを保証します。これが、バンキング型トロイの木馬Ramnitが隠れたままでいることを可能にするLOL手法です。

バンキング型トロイの木馬Ramnitは、COM APIタスクモジュールをロードした後、スケジュールされたタスク(mikshpri)を開始します。

Ramnit実行可能ファイルによるCOM APIタスクモジュールのロード


スケジュールされたタスクによるWMIプロセスの利用.

タスクがスケジュールされた後、wmiprvse.exeは、次の3つのファイルを作成するCMDを生成します。

  • 空の.txtファイル
  • VBSファイル
  • PSファイル


WMIが3つのファイルを作成するコマンドラインを生成(Cybereasonの攻撃ツリー内での表示)


WMIがコマンドラインを通じて3つのファイルを作成

これら3つのファイルは、%AppData%フォルダ内に保存され、それらが実行されるコンピュータに応じた名前が付けられます。ファイルの生成後、バンキング型トロイの木馬Ramnitの実行可能ファイルは、悪意あるスクリプトを空の.txtファイルに書き出します。この.txtファイルは、ターゲットとなるプロセスに対して反射的にロードされる追加のRamnitペイロードを含んでいます。


スケジュールされたタスクのアクティベーション

これら3つのファイルが作成され、.txtファイルに悪意あるスクリプトが書き出されると、スケジュールされたタスクはwscriptを使用して、VBScript であるmikshpri.vbs( SHA1:21B729CEEE16CF3993D8DDBFEEEBB4F960B46F09)を実行します。

このVBScriptは、同じファイル内にあるPowerShellスクリプトphnjyubk.ps1を実行します。このps1ファイルは、エンコードされた.txtファイル(ibgqbamp.txt)を復号化した後、それを実行します。このプロセスにおいて、PowerShellスクリプトは、エンコードされた.txtファイルを読み取り、それを1つの変数へと出力します。PowerShellスクリプトは、Unprotectコマンドを使用して当該ファイルを復号化した後、同ファイルを別の変数として保存し、その内容を実行します。

phnjyubk.ps1: SHA1: 9344835036D0FA30B46EF1F4C3C16461E3F9B58F
Ibgqbamp.txt: SHA1: 3544F637F5F53BF14B2A0CE7C24937A2C6BC8EFE


wscriptの実行


VBScriptの内容


Powershellスクリプトの内容

.TXTファイルの分析

バンキング型トロイの木馬Ramnitは、そのパーシステンスを確立した後、
その反射型コードインジェクションを実行します。

.txtファイルibgqbamp.txtから復号化されたスクリプトは、オープンソーススクリプト(Invoke-ReflectivePEInjection.ps1)の変更されたバージョンになります。これは、PowerSploitにより開発された、PowerShellポストエクスプロテーションフレームワークです。このスクリプトには2つのモードがあり、1つはDLL/EXEをPowerShellプロセスに反射的にロードできるモードであり、もう1つはDLLをリモートプロセスに反射的にロードできるモードです。

悪意ある.txtファイル(ibgqbamp.txt)を調査した後、同スクリプトは次の2つのDLLを抽出します。

  1. RuntimeCheck.dll:AMSI(Anti Malware Scan Interface)防御をすり抜けるために、攻撃者によってオープンソーススクリプトに追加されたモジュールです(SHA1:e680c19a48d43ab9fb3fcc76e2b05af62fe55f1a)。
  2. rmnsoft.dll:C2サーバーとの接続を行うネットワークメカニズムです(SHA1:b4b93c740f4058b6607b3c509d50804b6119e010)。


Runtime.check.dllによるAMSIモジュールのすり抜け


ramnitモジュールであるRmnsoft.dll

RuntimeCheck.dllとAMSIをすり抜ける方法

上述したように、攻撃者はスクリプトInvoke-ReflectivePEInjection.ps1を変更し、AMSI防御メカニズムのすり抜けを制御および検証するためのモジュールを追加します。このモジュールは、5種類の関数から構成されていますが、それらのほとんどはメイン関数であるDisable() モジュールから実行されます。


RuntimeCheck.dll

Microsoft Developer Network(MSDN)には次のような記述があります。

「AMSIは、アプリケーションとサービスによる、マシン上に存在するアンチマルウェア製品との統合を可能にする汎用インターフェイス標準です。AMSIは、ユーザーとそのデータ、アプリケーション、ワークロード向けの強化されたマルウェア防御を提供します。

AMSIは、特定のアンチマルウェアベンダーには依存しておらず、アプリケーションに統合可能な今日のアンチマルウェア製品が提供する最も一般的なマルウェアのスキャンおよび防御手法を実現できるように設計されています。AMSIは、ファイルやメモリまたはストリームのスキャン、コンテンツのソースURL/IPのレピュテーションチェック、およびその他の手法を可能にする呼び出し構造をサポートしています」。

AMSI(Anti Malware Scan Interface)は、各自のアプリケーション内からアンチマルウェア製品にリクエストを行うことを望むアプリケーション開発者向けか、または各自の製品が最良の機能をアプリケーションに提供できるようになることを望むサードパーティーのアンチマルウェア製品作成者向けに設計されています。

AMSは、デフォルトで Windows Defenderと連携して動作することで、関連するデータをスキャンします。ただし、別のアンチウイルスエンジンが自分自身をAMSI Providerとして登録している場合、Windows Defenderは自分自身の登録を解除し停止します。

Disable() モジュール内には、連携して動作することでAMSIをすり抜けられる複数の関数が存在しています。同様の手法は、CyberArkが今年の初めに解説しています。

この例では、攻撃者は、その機能を隠すために、AMSIをすり抜けようと試みます。攻撃者は、ハードコーディングされたメモリ操作と数バイトの配列を組み合わせて使用することで、AmsiScanBuffer関数の引数を変更するよう試みます。


AMSIのすり抜けに使われる手法

攻撃者がAMSI防御システムをすり抜けることが可能になると、彼らは、バンキング型トロイの木馬モジュールRamnitの下準備が行えるようになります。このモジュールは、反射的にインジェクションされるシェルコードとして、スクリプト内に格納されます。

RuntimeCheck.dllRMNSOFT.DLLの分析

上述したように、.txtファイルには、2つ目のペイロードがシェルコードとして含まれています。このシェルコードが、バンキング型トロイの木馬モジュールであるRamnitの正体です。
Ramnitは最も古いバンキング型トロイの木馬の1つであり、2010年の初めから攻撃者によって利用されてきました。元々、Ramnitはワーム拡散プログラムとして利用されていましたが、その開発者が流出したZeusソースコード を採用した後すぐに、バンキング型に適応するよう改造されました。

伝統的に、バンキング型トロイの木馬モジュールRamnit(rmnsoft.dll)は、バンキング型トロイの木馬のネットワークおよび通信に関連する複数の中核的な悪意ある活動で使われています。また、同モジュールは、結合された場合にRamnit機能を拡張する複数の悪意あるモジュールのダウンロードにも使用されています。Ramnitを利用した悪意ある活動には次のものがあります。

  • Man-in-the-Browser攻撃
  • 画面キャプチャ
  • キーストロークの監視
  • FTPクライアントからの保存されたクレデンシャルの盗み出し
  • クッキーの盗み出し
  • 追加の悪意あるファイルのダウンロード
  • 機密データのリモートC2サーバーへのアップロード

メインモジュール(rmnsoft.dll)の抽出後、同モジュールには次のような標的プロセスのリストが与えられます。

  • ImagingDevices.exe
  • Wab.exe
  • wabimg.exe
  • wmplayer.exe
  • wordpad.exe

これらのプロセスは最終的に、メインモジュール(rmnsoft.dll)を含むインジェクションされたプロセスとなります。


rmnsoft.dl内に見つかった標的プロセスを表す文字列.

rmnsoft.dllと反射型インジェクション

上述したように、.txtファイル内に保存されている変更されたスクリプト(Invoke-ReflectivePEInjection.ps1)の主な目的は、選択されたペイロードをPowerShellへと反射的にインジェクションすることか、または選択されたプロセスへとリモートからインジェクションすることのどちらかになります。

wscriptがPowerShellスクリプトphnjyubk.ps1を実行すると、rmnsoft.dllモジュールがそのPowerShellプロセスへと反射的にインジェクションされます。


シェルコードがPowerShellプロセスへと反射的にインジェクションされる

PowerShellへの反射的なインジェクションが行われた後、同スクリプトphnjyubk.ps1は、選択されたプロセスを検索する関数を実行します。同スクリプトは、そのようなプロセスを特定すると、その悪意あるモジュール(mnsoft.dll)をそれらのプロセスの1つにインジェクションします。


スクリプトは、標的文字列に従ってRamnitモジュールをインジェクションするプロセスを選択する

上述したように、PowerShellがその実行を終了すると、wmiprvse.exeは標的リストから新しいプロセスを生成した後、その反射型DLLインジェクションを実行します。MSDNの説明によれば、Windows Management Instrumentation(WMI)は、Windowsベースのオペレーティングシステム上のデータ管理および操作を行うためのインフラストラクチャです。攻撃者はWMI (MITRE Technique T1047) を使用することで、ローカルおよびリモートシステムと対話し、それらのシステムを利用して多くの攻撃的な戦術を実行できます。これには、発覚を防ぐための情報収集や、ラテラルムーブメントの一環としてのファイルのリモート実行などが含まれます。


wmiprvse.exeによる標的プロセスへのモジュールの反射型インジェクション(Cybereasonプラットフォームでの表示)


Process HackerにおけるWmiPrvSE.exeによるインジェクションされたwordpad.exeの実行

特定された任意のプロセスのメモリセクションを調査した際に、我々は、サイズが116 kBのポータブルな実行可能ファイルであると思われるread-write-executeセクションを発見しました。このセクションは、モジュールrmnsoft.dllがインジェクションされる場所であり、インジェクションされたプロセスの悪意あるネットワーク活動に利用されます。


rmnsoft.dllがImagingDevices.exeにインジェクションされる。baidu.comは、マルウェアが接続チェックに使用するアドレスである

インジェクションされたプロセスを、Cybereasonプラットフォームを使ってチェックすることにより、我々は、バンキング型トロイの木馬Ramnitに関連付けられているモジュールrmnsoft.dllの存在を簡単に検知できます。


バンキング型トロイの木馬Ramnitに反射的にロードされている悪意あるDLL

コマンドと制御

上述したように、モジュールramnsoft.dllは、バンキング型トロイの木馬Ramnitのネットワーク機能を実現するために利用されます。
同モジュールには、複数のネットワーク関数が含まれており、これらを使用することでマルウェアはC2サーバーとのリモート接続を開始できるようになります。

PowerShellがその実行を終了した後、新しいプロセスにバンキング型トロイの木馬のDLLがインジェクションされ、CreateToolhelp32Snapshot関数を使用してローカルシステムに関する情報が収集されます。このデータは、ドメイン生成アルゴリズム(DGA)を使用してC2サーバーへと送信されます。

DGAは、C2サーバーとの連絡地点として使用される多数のドメイン名を定期的に生成するアルゴリズムです。DGAは、マルウェアがドメインベースのファイアウォール制御をすり抜けるために良く利用されます。DGAを利用するマルウェアは、C2との通信を完了するために、DGAにより生成されたドメインに一致する短命の登録済みドメインを継続的にプローブします。


インジェクションの後、Ramnitは、ハードコーディングされた正規ドメイン(baidu.comやgoogle.comなど)を使って接続をチェックする。外部から接続を検証した後、RamnitはDGAを使用してデータを送信する

インジェクションされたプロセスは、CreateToolhelp32Snapshot関数を使用して、感染したマシンをスキャンし、稼働中のプロセスをマッピングできます。


winlogon.exe のプロセス実行時のマルウェアスナップショット


インジェクションされたプロセスにより生成されたDNSクエリには、解決されるものと解決されないものがある

結論

当社のActive Hunting Serviceは、PowerShellスクリプトとcertutilの悪用の両方を検知できました。当社の顧客は、当社のプラットフォームの修復セクションを使用することで、攻撃を即座に停止できました。当社のチームはそこから、攻撃の残りの部分をまとめて分析することに成功しました。

我々は、イタリアでのスパム攻撃において、バンキング型トロイの木馬Ramnitの変種を広めるために使用された発見が難しい感染手法を検知して評価することができました。我々は、LOLbinsを通じて悪意ある活動を実行するために、正規の組み込み製品が使われていることを発見したほか、sLoadがいかにして各種のペイロードを操作しインストールするかを明らかにしました。

このスパム攻撃で利用されたツールや手法を分析することにより、これらの方法がいかに巧妙にアンチウイルス製品をすり抜けるかを示すことができました。PowerShellダウンローダーであるsLoad とその変種を感染ベクターとして利用することは、Ramnitの実行のみに留まるものではないと予測しています。

それはほどなくして、より高度で洗練された攻撃を実行するために利用されるでしょう。それは、近い将来、より効果的に攻撃を行うために、正体が気付かれない方法を生み出す危険性があります。

本アクティビティの結果、顧客は、被害を受ける前に高度な攻撃を阻止することができました。バンキング型トロイの木馬Ramnitは阻止され、被害をもたらす可能性の高いsLoadドロッパーも同様に阻止されました。パーシステンスは無効化され、この攻撃全体が直ちに停止されました。

この攻撃を特定することの難しさは、同攻撃が発覚を回避する方法にあります。上述した当社の顧客に関して、セキュアなシステムを確保することの困難性を十分に認識しているセキュリティチームにとっても、この攻撃を検知することは困難でした。

LOLbinsは、当初その実行は無害であると見なされるため、人の目を欺くものとなります。LOLbinsの利用がより一般的になると、このような複雑な攻撃方法もより一般的になるのではないかと当社は危惧しています。

攻撃者は別のより破壊的なペイロードに目を向けようとしているため、被害をもたらす可能性は今後も増大することが予想されます。

セキュリティ侵害の痕跡

IOC Type Description
bureaucratica[.]org Domain sLoad downloader
Smokymountainsfineart[.]com Domain sLoad downloader
packerd[.]me Domain sLoad payload
reasgt[.]me Domain sLoad payload
momer[.]me Domain sLoad payload
imperialsociety[.]org Domain sLoad payload
185.197.75[.]10 IP sLoad payload
SHA1
B564ED3DE7A49673AC19B6231E439032AE6EAA68
Hash documento-aggiornato-PJ-27760855KD.zip
SHA1
7FDBCB40E0BE3563B7093F32F4B2967A0550437F
Hash documento-aggiornato-DK-DDEVWCUZ.zip

SHA1
1281D1C4B74BCEB2F57853537B49622DA3626ACD

Hash documento-aggiornato-5D-MD2OW1.zip

SHA1
0D2DAC7B17C38E4C4695784C8D06FF618EBCC944

Hash documento-aggiornato-novembre-VSS-6639623058.zip

SHA1
4C315904CBA72F7961C46D2D3A9661330B88B649

Hash documento-aggiornato-VX-SR8Uvbgb.zip

SHA1
11BEAD9002F2C0F9E292AA6FD066C8B1D8E4EDA7

Hash documento-aggiornato-novembre-IJM0006480.zip

SHA1
EC9072840FA94B8B4E9B852D8A8C736CAEE5031E

Hash documento-aggiornato-TR000022023.zip

SHA1
53813EDDEE9C3F5C151340CEBE2F75039979DA3D

Hash documento-aggiornato-DQ00091395.zip

SHA1
CC6D4DACFA016F3DAF8810FC63C1534C1D93D22F

Hash documento-aggiornato-novembre-ZN000986350.zip
SHA1
B6E3C4A528E01B6DE055E089E3C0DD2DA79CFCBE
Hash oyCZpsgNEFvQnW.ps1
SHA1
AEABE11F0496DA7E62501A35F4F03059F783C775
Hash vmcpRAYW.vbs
SHA1
ae5b322b7586706015d8b3e83334c78b77f8f905
Hash _uwbwklrfyetxgjtv.exe
SHA1
82C3A3E1317CD5C671612430DDDED79DF9398BCC
Hash config.ini
SHA1
ABC14EB06235A957D3AD66E359DC0B1F1FDFAB8A
Hash web.ini
SHA1
9344835036D0FA30B46EF1F4C3C16461E3F9B58F
Hash phnjyubk.ps1
SHA1
21B729CEEE16CF3993D8DDBFEEEBB4F960B46F09
Hash mikshpri.vbs
SHA1
3544F637F5F53BF14B2A0CE7C24937A2C6BC8EFE
Hash ibgqbamp.txt
SHA1
e680c19a48d43ab9fb3fcc76e2b05af62fe55f1a
Hash RuntimeCheck.dll
SHA1
b4b93c740f4058b6607b3c509d50804b6119e010
Hash rmnsoft.dll
image.orchas[.]com Domain Domain related to the .zip files
cavintageclothing[.]com Domain Domain related to the .zip files
image.fagorham[.]com Domain Domain related to the .zip files
image.visitacnj[.]com Domain Domain related to the .zip files
image.steampunkvegan[.]com Domain Domain related to the .zip files
firetechnicaladvisor[.]com Domain Domain related to the .zip files
image.sewingagent[.]com Domain Domain related to the .zip files

「次世代エンドポイント(EDR)のメリット」とは? Cybereasonの関連情報を公開中

CybereasonのEDR(Endpoint Detection and Response)プラットフォームが提供する7つのユニークな機能をご紹介するホワイトペーパーを公開しております。ぜひご活用ください。
https://www.cybereason.co.jp/product-documents/input/?post_id=1033

ホワイトペーパー:次世代エンドポイントのメリット