Back to Intelligence

Fake MP4 ISO-BMFF Trojan + NetSupport RAT: PowerShell Loader Campaign via Cloudflare Infrastructure — OTX Detection Pack

SA
Security Arsenal Team
August 31, 2026
9 min read

A newly documented infection chain is abusing legitimate video container structure to smuggle fully functional remote access tooling past perimeter controls. Security researchers (Censys, corroborated by AlienVault OTX) have identified a campaign delivering encrypted NetSupport Manager client payloads concealed inside fake MP4 files — containers that pass naive file-type validation but hold ~6.5 MB of encrypted malicious data in ISO Base Media File Format (ISOBMFF) uuid extension boxes instead of playable video.

Threat Summary

This campaign demonstrates a mature, evasion-first delivery model built on three pillars:

  1. Polyglot-style container abuse — The malicious MP4 files are structurally valid ISOBMFF containers. Signature-based file-type checks (magic bytes ftyp) succeed, but the payload lives in non-standard uuid boxes that media parsers ignore. This defeats gateway filters that allowlist "video" content and sandbox detonation engines that attempt to render the file.
  2. PowerShell loader chain — Initial execution is a PowerShell loader that retrieves, decrypts, and injects the NetSupport client payload. The loader logic parses the fake MP4, carves the encrypted blob from the uuid box, and decrypts it in memory — minimizing on-disk artifacts.
  3. Cloudflare-fronted infrastructure — Delivery and staging traffic is fronted through Cloudflare, blending malicious downloads with legitimate CDN traffic and frustrating IP-based blocking and passive DNS attribution.

Objective: Deployment of NetSupport Manager — a legitimate commercial remote administration tool (RAT) widely abused by threat actors (historically linked to initial access operations preceding ransomware and data theft). Once installed, operators gain full interactive control: screen viewing, file transfer, remote shell, and lateral movement capability. This is a classic initial-access foothold.

Threat Actor / Malware Profile

Attribution: Unknown actor (TLP:WHITE pulse). The tooling pattern — legitimate RAT abuse, Cloudflare fronting, encrypted stager — is consistent with initial access brokers (IABs) that sell or hand off access to ransomware affiliates.

NetSupport Manager (abused RAT)

  • Distribution method: Fake MP4 files (likely via malvertising, SEO poisoning, or phishing links) → PowerShell loader → encrypted payload extraction from ISOBMFF uuid box.
  • Payload behavior: Installs the NetSupport client (client32.exe and associated DLLs, e.g., HTCTL32.DLL, PCICHEK.DLL, msvcr100.dll-style support libraries), typically under %APPDATA%, %LOCALAPPDATA%, or %PROGRAMDATA% in a randomly named folder.
  • C2 communication: NetSupport client beacons to operator-controlled gateways. The observed infrastructure includes IPs 91.92.34.109, 91.92.240.175, 176.65.144.164 and domains x2664.com, usersecuritycheck.com, approvalrequest-api.com, karlenagida.com — naming patterns mimicking security/approval workflows to survive casual log review.
  • Persistence mechanism: Registry Run keys (HKCU\Software\Microsoft\Windows\CurrentVersion\Run) pointing to the dropped client, and in some variants a scheduled task masquerading as an update service.
  • Anti-analysis techniques: (a) Encrypted payload — ~6.5 MB blob unusable without the loader's decryption routine; (b) container masquerading — valid MP4 structure defeats file-type inspection; (c) Cloudflare fronting obscures true origin; (d) legitimate signed binaries reduce AV/EDR suspicion since NetSupport is valid commercial software.

MITRE ATT&CK Mapping

TechniqueIDObservation
Command and Scripting Interpreter: PowerShellT1059.001Loader chain
Obfuscated Files or InformationT1027Encrypted uuid-box payload
MasqueradingT1036Fake MP4 / legitimate RAT
Ingress Tool TransferT1105Cloudflare-fronted staging
Remote Access SoftwareT1219NetSupport Manager
Registry Run KeysT1060 / T1547.001Persistence

IOC Analysis

The pulse contains 76 indicators, dominated by two types:

  • IPv4 addresses (e.g., 91.92.34.109, 91.92.240.175, 176.65.144.164) — C2 and staging nodes. The 91.92.x.x range co-location suggests a single hosting provider; consider range-level hunting beyond the exact IPs.
  • Domains (e.g., x2664.com, usersecuritycheck.com, approvalrequest-api.com, karlenagida.com) — social-engineering-flavored hostnames for delivery and callback. Note censys.com appears in the indicator list as a reference/source artifact, not an IOC — do not block it.

Operationalization guidance for SOC teams

  1. Block at egress: Push the IPs and domains to firewall/proxy/DNS sinkhole. Because traffic is Cloudflare-fronted for delivery, domain-based blocking (SNI/DNS) is more durable than IP blocking for the staging leg.
  2. Retro-hunt: Query DNS and proxy logs for the last 30–90 days for these domains; NetSupport clients beacon persistently, so historical hits identify dwell time.
  3. File carving detection: Alert on MP4 files >5 MB that fail media probe (ffprobe returns no streams) or that contain anomalously large uuid boxes.
  4. Tooling: Use yara with ISOBMFF-aware rules, ffprobe/exiftool for container validation, and EDR process ancestry to catch powershell.exe → rundll32/regsvr32/client32.exe chains.

Detection Engineering

YAML
---
title: PowerShell Loader Spawning NetSupport Client
id: 3f9a1c2e-7b4d-4e1a-9c55-f2a8b1d60001
status: experimental
description: Detects PowerShell processes spawning NetSupport Manager client binaries or suspicious child processes consistent with the fake-MP4 loader chain (T1059.001, T1219)
author: Security Arsenal Threat Intel
date: 2026/08/31
references:
    - https://censys.com/blog/fake-mp4-file-carries-malicious-payload/
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith:
            - '\powershell.exe'
            - '\pwsh.exe'
    selection_child_img:
        Image|endswith:
            - '\client32.exe'
            - '\rundll32.exe'
            - '\regsvr32.exe'
    selection_child_cmd:
        CommandLine|contains:
            - 'client32'
            - 'netsupport'
    condition: selection_parent and (selection_child_img or selection_child_cmd)
falsepositives:
    - Legitimate enterprise NetSupport deployments (allowlist known admin paths)
level: high
tags:
    - attack.t1059.001
    - attack.t1219
---
title: Suspicious PowerShell Download Cradle with Encoded or Cloudflare-Staged Payload
id: 3f9a1c2e-7b4d-4e1a-9c55-f2a8b1d60002
status: experimental
description: Detects PowerShell download/extraction patterns associated with retrieving and decrypting the fake MP4 payload (T1105, T1027)
author: Security Arsenal Threat Intel
date: 2026/08/31
references:
    - https://censys.com/blog/fake-mp4-file-carries-malicious-payload/
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        Image|endswith:
            - '\powershell.exe'
            - '\pwsh.exe'
    selection_cmd_download:
        CommandLine|contains:
            - 'Invoke-WebRequest'
            - 'iwr '
            - 'DownloadString'
            - 'DownloadFile'
            - 'Start-BitsTransfer'
    selection_cmd_crypto:
        CommandLine|contains:
            - 'FromBase64String'
            - 'AesManaged'
            - 'CreateDecryptor'
            - '-enc'
            - '-e '
    selection_cmd_mp4:
        CommandLine|contains:
            - '.mp4'
    condition: selection_img and selection_cmd_download and (selection_cmd_crypto or selection_cmd_mp4)
falsepositives:
    - Admin automation scripts downloading video assets (rare)
level: high
tags:
    - attack.t1105
    - attack.t1027
    - attack.t1059.001
---
title: NetSupport Manager Persistence via Registry Run Key
id: 3f9a1c2e-7b4d-4e1a-9c55-f2a8b1d60003
status: experimental
description: Detects registry Run key persistence pointing to NetSupport client binaries or randomly named folders under user-writable paths (T1547.001, T1219)
author: Security Arsenal Threat Intel
date: 2026/08/31
references:
    - https://censys.com/blog/fake-mp4-file-carries-malicious-payload/
logsource:
    category: registry_set
    product: windows
detection:
    selection_key:
        TargetObject|contains:
            - '\Software\Microsoft\Windows\CurrentVersion\Run'
    selection_value:
        Details|contains:
            - 'client32'
            - '\AppData\Roaming\'
            - '\AppData\Local\'
            - '\ProgramData\'
    filter_known_good:
        Details|contains:
            - '\Program Files\NetSupport'
    condition: selection_key and selection_value and not filter_known_good
falsepositives:
    - Corporate NetSupport installs (adjust filter to your approved install path)
level: high
tags:
    - attack.t1547.001
    - attack.t1219
KQL — Microsoft Sentinel / Defender
// Hunt: Fake MP4 / NetSupport RAT campaign — network + process telemetry (last 30 days)
let IOC_IPs = dynamic(["91.92.34.109", "91.92.240.175", "176.65.144.164"]);
let IOC_Domains = dynamic(["x2664.com", "usersecuritycheck.com", "approvalrequest-api.com", "karlenagida.com"]);
let NetEvents = DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| where RemoteIP in (IOC_IPs) or RemoteUrl has_any (IOC_Domains)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemoteUrl, RemotePort;
let ProcEvents = DeviceProcessEvents
| where TimeGenerated > ago(30d)
| where (FileName =~ "client32.exe" or ProcessCommandLine has_any ("client32", "netsupport"))
   or (FileName in~ ("powershell.exe", "pwsh.exe") and ProcessCommandLine has_any (".mp4", "FromBase64String", "CreateDecryptor") and ProcessCommandLine has_any ("DownloadString", "DownloadFile", "Invoke-WebRequest", "iwr "))
| project TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName, FolderPath, SHA256;
union NetEvents, ProcEvents
| sort by TimeGenerated desc
PowerShell
# NetSupport RAT / Fake-MP4 Campaign — Host IOC Hunt Script
# Run elevated on suspected endpoints or via EDR live response / GPO startup
$Report = @()

# 1) Check Registry Run keys for NetSupport persistence
$runKeys = @(
  'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
  'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run'
)
foreach ($key in $runKeys) {
  if (Test-Path $key) {
    Get-ItemProperty $key | ForEach-Object {
      $_.PSObject.Properties | Where-Object {
        $_.Value -match 'client32|netsupport|AppData|ProgramData'
      } | ForEach-Object {
        $Report += [pscustomobject]@{Type='RegistryRunKey'; Path=$key; Name=$_.Name; Value=$_.Value}
      }
    }
  }
}

# 2) Search user-writable paths for NetSupport client binaries
$searchPaths = @("$env:APPDATA", "$env:LOCALAPPDATA", "$env:PROGRAMDATA")
foreach ($p in $searchPaths) {
  Get-ChildItem -Path $p -Recurse -Include 'client32.exe','HTCTL32.DLL','PCICHEK.DLL' -ErrorAction SilentlyContinue |
    ForEach-Object { $Report += [pscustomobject]@{Type='FileArtifact'; Path=$_.FullName; Name=$_.Name; Value=(Get-FileHash $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash} }
}

# 3) Check scheduled tasks referencing suspicious binaries
Get-ScheduledTask -ErrorAction SilentlyContinue | ForEach-Object {
  $actions = $_.Actions | Out-String
  if ($actions -match 'client32|powershell.*mp4|AppData.*\.exe') {
    $Report += [pscustomobject]@{Type='ScheduledTask'; Path=$_.TaskPath; Name=$_.TaskName; Value=$actions.Trim()}
  }
}

# 4) Active connections to known C2 infrastructure
$iocIPs = @('91.92.34.109','91.92.240.175','176.65.144.164')
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue |
  Where-Object { $iocIPs -contains $_.RemoteAddress } |
  ForEach-Object { $Report += [pscustomobject]@{Type='NetworkConnection'; Path='TCP'; Name=$_.RemoteAddress; Value=(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).ProcessName} }

# 5) Recently created large MP4s in download/temp dirs (potential fake containers)
@("$env:USERPROFILE\Downloads", "$env:TEMP") | ForEach-Object {
  Get-ChildItem $_ -Filter '*.mp4' -ErrorAction SilentlyContinue |
    Where-Object { $_.Length -gt 5MB -and $_.CreationTime -gt (Get-Date).AddDays(-30) } |
    ForEach-Object { $Report += [pscustomobject]@{Type='SuspiciousMP4'; Path=$_.FullName; Name=$_.Name; Value="$([math]::Round($_.Length/1MB,1)) MB - verify with ffprobe"} }
}

$Report | Format-Table -AutoSize
if ($Report.Count -gt 0) { $Report | Export-Csv ".\NetSupport_Hunt_$(Get-Date -Format 'yyyyMMdd_HHmm').csv" -NoTypeInformation; Write-Host "[!] $($Report.Count) hits - exported CSV" -ForegroundColor Red } else { Write-Host "[+] Clean" -ForegroundColor Green }

Response Priorities

Immediate (0–4 hours)

  • Block the C2 IPs (91.92.34.109, 91.92.240.175, 176.65.144.164) at egress and sinkhole the domains (x2664.com, usersecuritycheck.com, approvalrequest-api.com, karlenagida.com). Do not block censys.com (reference artifact).
  • Deploy the Sigma rules and execute the KQL retro-hunt across the last 30–90 days of proxy, DNS, and EDR telemetry.
  • Hunt for execution artifacts: client32.exe anywhere outside approved software inventories, and PowerShell processes that touched .mp4 files.
  • Isolate any host with a confirmed NetSupport client that isn't an authorized IT installation.

24 Hours

  • NetSupport provides full interactive access — treat any confirmed infection as hands-on-keyboard compromise. Force credential resets for all users on affected hosts and any accounts observed in use post-infection (Kerberos tickets may have been harvested; consider double-reset for privileged accounts).
  • Review lateral movement indicators from infected hosts: SMB/RDP/WinRM sessions, new local accounts, and remote service creation.
  • Pull full memory and triage images before re-imaging; the in-memory decryption routine and operator commands are your best attribution artifacts.

1 Week

  • Architecture hardening: Block or tightly constrain PowerShell for standard users (Constrained Language Mode via AppLocker/WDAC); disable powershell.exe v2; enable Script Block Logging and Module Logging org-wide.
  • Implement egress filtering that denies outbound connections to uncategorized domains and requires proxy authentication — this breaks Cloudflare-fronted staging patterns.
  • Deploy a content-inspection control that validates media containers beyond magic bytes (e.g., proxy-side ffprobe verification for MP4/MOV downloads), or block MP4 delivery via email/web for roles that don't need it.
  • Establish an allowlist policy for remote administration tools: any RMM binary (NetSupport, AnyDesk, ScreenConnect, TeamViewer) outside the approved list should page the SOC.

Related Resources

Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.