ScreenConnect SEO-Poisoning → AsyncRAT
Executive Summary
A large, multi-language malware-distribution operation drives users to 90+ look-alike download sites (localized across at least 10 languages) through search-engine poisoning, serving installer archives that impersonate popular free software — OBS Studio, Bandicam, DS4Windows, DNS Jumper, Process Hacker and dozens of gaming titles. The archive bundles a legitimately signed Microsoft install.exe with a rogue install.res.1033.dll loaded via DLL side-loading, which quietly stands up a rogue ScreenConnect remote-access instance for hands-on control.
From ScreenConnect the actor runs a PowerShell dropper (Fj5NmEsp9EuKrun.ps1) that adds Microsoft Defender exclusions for whole drive roots and disables UAC (ConsentPromptBehaviorAdmin=0), writes a VBScript (installer_method3_stream.vbs / script.vbs) that XOR-decodes (key 0xA7) and reflectively loads a payload, and finally process-hollows RegAsm.exe to run AsyncRAT. Persistence is a scheduled task MasterPackager.Updater firing every two minutes. Reported by Kaspersky/Securelist and corroborated by The Hacker News on 2026-07-01.
Defender priority: The strongest, lowest-FP signals are the unique dropper artifacts and the anomalous execution graph — a signed install.exe side-loading install.res.1033.dll, PowerShell adding a drive-root Defender exclusion, and RegAsm.exe beaconing outbound. Hunt those three first; they fire on the behavior even after the actor rotates C2 domains.
Source Review & Web Hunter Notes
| Tier | Source | Key Finding | Carry Fwd |
|---|---|---|---|
| 1 | Securelist / Kaspersky — "The SOC files: ScreenConnect campaign with AsyncRAT" (2026-07-01) | Full technical chain + IOC set: sideload DLL, PS1/VBS dropper names, XOR key 0xA7, RegAsm hollowing, scheduled task, C2 domains/IPs, DLL MD5s | yes |
| 1 | The Hacker News — "SEO-Poisoned Software Sites Abuse ScreenConnect to Deploy AsyncRAT" (2026-07-01) | Campaign scope (90+ domains, 10 languages), spoofed-software list, Defender-exclusion + UAC-disable behavior, Public-dir artifacts | yes |
| 2 | SC Media / GBHackers / CyberSecurityNews briefs (2026-07) | Independent corroboration of ScreenConnect-as-loader and DLL side-loading TTP | partial |
| R | MITRE ATT&CK | Technique IDs for side-loading, defense evasion, hollowing, RMM abuse | yes |
Campaign was observed active Oct 2025 → end of Mar 2026 with a lull, resurfacing in coverage 2026-07. Atomic C2/domain IOCs are perishable; the behavioral hunts (§8 Q1–Q7) are the durable coverage.
Hunt Brief & Attack Chain
Hunt hypotheses (fidelity-ordered)
- H1 (high): The rogue side-load DLL
install.res.1033.dllis written to disk beside a signed installer. Unique filename → near-zero FP. - H2 (high): The named PowerShell dropper
Fj5NmEsp9EuKrun.ps1executes. Unique string. - H3 (high): A persistence task
MasterPackager.Updateris registered to run aC:\Users\PublicVBScript every 2 minutes. - H4 (high):
RegAsm.exe— a local .NET build tool — makes outbound network connections (hollowed AsyncRAT beacon). - H5 (medium): PowerShell adds a Defender exclusion for a drive root or for
RegAsm.exe. - H6 (medium): UAC admin-consent is disabled via
ConsentPromptBehaviorAdmin. - H7 (medium):
wscript.exe/cscript.exeruns a.vbsout ofC:\Users\Public. - H8 (high, perishable): Endpoints resolve campaign C2 / rogue-ScreenConnect domains.
Attack chain
| Step | Behavior | Telemetry | Hunt Angle |
|---|---|---|---|
| 1 · Delivery | SEO-poisoned fake download site serves installer ZIP for spoofed software | Proxy / DNS / web gateway | Downloads from look-alike domains; §7 |
| 2 · User exec | Victim runs signed install.exe (renamed e.g. OBS-Studio-Installer.exe) | ProcessRollup2 | Installer from Downloads/Temp |
| 3 · Side-load | install.exe loads rogue install.res.1033.dll | PeFileWritten / module load | Q1, Q9 |
| 4 · RMM stand-up | Rogue ScreenConnect instance installed for hands-on control | ProcessRollup2 / ServiceInstalled | Q6, §7 |
| 5 · Defense evasion | PS1 adds Defender exclusions; disables UAC | ProcessRollup2 / RegGenericValueUpdate | Q2, Q3, Q4 |
| 6 · Payload decode | VBScript XOR-decodes (0xA7) + reflectively loads PE | ProcessRollup2 (wscript) | Q7 |
| 7 · Hollowing | AsyncRAT injected into RegAsm.exe | ProcessRollup2 / NetworkConnectIP4 | Q7 (net), Q5 lineage |
| 8 · Persistence | Scheduled task MasterPackager.Updater every 2 min | ScheduledTaskRegistered | Q5 |
| 9 · C2 | AsyncRAT + ScreenConnect beacon to actor infra | DnsRequest / NetworkConnectIP4 | Q8 |
Consolidated IOC Table
Provenance: every atomic IOC below is drawn from the Securelist/Kaspersky and The Hacker News reports (2026-07-01). install.exe (MD5 87603EA0…532048) is the legitimate, Microsoft-signed host binary abused for side-loading — do not block it; hunt the rogue DLL beside it instead.
| Type | Value | Conf | Action | Context |
|---|---|---|---|---|
| domain | mora1987.work.gd | high | detect | AsyncRAT C2 |
| domain | servermanagemen.xyz · r.servermanagemen.xyz | high | detect | Rogue ScreenConnect C2 |
| domain | manage-server.xyz · r.manage-server.xyz · manageserver.xyz · managedevice.xyz | high | detect | Rogue ScreenConnect C2 |
| domain | winservec.net · serverdnsplan.net · cloudsynn.com · pingserv.pro · pingpanl.pro · ehostservers.xyz · edgeserv.ru | high | detect | Rogue ScreenConnect C2 |
| domain | fileget.loseyourip.com · direct-download.giize.com | high | hunt | Payload download hosts |
| ipv4 | 185.254.97.249 · 45.145.41.205 | high | detect | ScreenConnect C2 |
| ipv4 | 162.216.241.242 · 198.23.185.81 · 2.59.134.97 | high | hunt | Distribution infra clusters |
| filename | install.res.1033.dll | high | hunt | Rogue side-load DLL |
| filename | Fj5NmEsp9EuKrun.ps1 · installer_method3_stream.vbs · script.vbs · cap.ps1 | high | hunt | Dropper / loader scripts |
| filename | msgbox.txt · secret_bytes.txt · 1.vb (in C:\Users\Public) | medium | hunt | Staged loader artifacts |
| task | MasterPackager.Updater | high | detect | Persistence (every 2 min) |
| md5 | 5F96C04E3AFAE97017B201BE112284D2 (+14 variants, §10) | high | detect | install.res.1033.dll variants |
| reg | ConsentPromptBehaviorAdmin = 0 | high | hunt | UAC disabled |
Affected Surface & Telemetry Matrix
| Surface | Required Telemetry | Priority | Gap Risk |
|---|---|---|---|
| Windows endpoints (user workstations) | ProcessRollup2, PeFileWritten, module load | Critical | Low — core Falcon sensor coverage |
| Registry / UAC config | RegGenericValueUpdate / AsepValueUpdate | High | Medium — reg-value telemetry volume |
| Scheduled tasks | ScheduledTaskRegistered | High | Low |
| Network / DNS egress | DnsRequest, NetworkConnectIP4 | High | Medium — DNS may be to internal resolver only |
| Web proxy / download gateway | Non-Falcon: proxy, secure web gateway logs | Medium | High — often outside EDR |
ATT&CK Mapping
| Tactic | Technique | Observed Behavior | Query / Control |
|---|---|---|---|
| Resource Dev | T1583.001 Domains | 90+ look-alike SEO domains | §7, Q8 |
| Initial Access | T1189 Drive-by Compromise | SEO-poisoned fake download sites | §7 |
| Execution | T1204.002 User Execution: Malicious File | Victim runs fake installer | C12 hardening |
| Execution | T1059.001 PowerShell | Fj5NmEsp9EuKrun.ps1 dropper | Q2, Q3 |
| Execution | T1059.005 Visual Basic | script.vbs / installer_method3_stream.vbs | Q7 |
| Defense Evasion | T1574.002 DLL Side-Loading | install.exe loads install.res.1033.dll | Q1, Q9 |
| Defense Evasion | T1562.001 Impair Defenses | Defender exclusions added | Q3 |
| Defense Evasion | T1055.012 Process Hollowing | AsyncRAT into RegAsm.exe | Q7 |
| Priv Esc | T1548.002 Bypass UAC | ConsentPromptBehaviorAdmin=0 | Q4 |
| Persistence | T1053.005 Scheduled Task | MasterPackager.Updater every 2 min | Q5 |
| C2 | T1219 Remote Access Software | Rogue ScreenConnect instance | Q8, §7 |
| C2 | T1071.001 Web Protocols | AsyncRAT + ScreenConnect beacon | Q7, Q8 |
Native Audit-Log Hunts (non-CQL)
- Windows Security 4698 (scheduled task created) — filter TaskName
MasterPackager.Updateror any task launchingwscript.exeagainstC:\Users\Public\*.vbs. - Microsoft Defender Operational log 5007 (config change) and 5001/1121 — a new exclusion path/process, especially a drive root (
C:\,D:\) orRegAsm.exe. - Sysmon EID 7 (image load) —
install.res.1033.dllloaded by a signedinstall.exe; EID 1 —RegAsm.exespawned bywscript.exe/powershell.exewith no build arguments. - Registry audit — writes to
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdmin. - Web proxy / SWG — downloads of installer archives from look-alike free-software / gaming domains; connections to the C2 and download hosts in §4.
- RMM inventory — any ScreenConnect / ConnectWise Control instance not registered to your sanctioned tenant.
CrowdStrike LogScale CQL Hunt Queries
Looks for: the uniquely-named rogue side-load DLL landing on disk. Effectively zero legitimate use of this filename.
// HUNT: Rogue AsyncRAT side-load DLL install.res.1033.dll written // MITRE: T1574.002 // CONF: high FP: low COST: low | REQUIRES: PeFileWritten / file-write telemetry #event_simpleName=/PeFileWritten|NewExecutableWritten/ | TargetFileName=/install\.res\.1033\.dll$/i | table([ComputerName, aid, TargetFileName, ContextBaseFileName, SHA256HashData], limit=200)
Looks for: the campaign's uniquely-named PowerShell dropper on the command line.
// HUNT: PowerShell dropper Fj5NmEsp9EuKrun.ps1 execution // MITRE: T1059.001 // CONF: high FP: low COST: low | REQUIRES: ProcessRollup2 #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^powershell(\.exe)?$/i | CommandLine=/Fj5NmEsp9EuKrun/i | table([ComputerName, aid, UserName, ParentBaseFileName, CommandLine], limit=200)
Looks for: PowerShell adding a Defender exclusion. FP: legitimate AV/EDR onboarding and some SCCM/Intune tooling add exclusions — baseline and exclude sanctioned deployment service accounts.
// HUNT: Defender exclusion added (defense evasion) // MITRE: T1562.001 // CONF: medium FP: medium COST: low | REQUIRES: ProcessRollup2 // TUNING: exclude approved AV/EDR + patch-management service accounts #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | CommandLine=/Add-MpPreference|Set-MpPreference/i | CommandLine=/Exclusion(Path|Process|Extension)/i | table([ComputerName, aid, UserName, ParentBaseFileName, CommandLine], limit=200)
Looks for: writes to the UAC admin-consent value. FP: some legacy GPO/MDM baselines touch this key — alert when the writer is a user-mode script/installer, not a management agent, and when the value is set to 0.
// HUNT: UAC admin-consent prompt disabled (ConsentPromptBehaviorAdmin) // MITRE: T1548.002 // CONF: medium FP: medium COST: low | REQUIRES: RegGenericValueUpdate // TUNING: baseline sanctioned GPO/MDM; focus on non-admin process writers + value 0 #event_simpleName=/RegGenericValueUpdate|AsepValueUpdate/ | RegValueName=/ConsentPromptBehaviorAdmin/i | table([ComputerName, aid, RegObjectName, RegValueName, RegStringValue], limit=200)
Looks for: registration of the campaign's named persistence task.
// HUNT: Persistence scheduled task MasterPackager.Updater // MITRE: T1053.005 // CONF: high FP: low COST: low | REQUIRES: ScheduledTaskRegistered #event_simpleName=/ScheduledTaskRegistered/ | TaskName=/MasterPackager\.Updater/i | table([ComputerName, aid, TaskName, TaskExecutable, UserName], limit=200)
Looks for: the Windows Script Host executing a script staged in C:\Users\Public — the loader's re-launch path.
// HUNT: wscript/cscript executing a script from C:\Users\Public // MITRE: T1059.005 // CONF: medium FP: low COST: low | REQUIRES: ProcessRollup2 #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^(wscript|cscript)(\.exe)?$/i | CommandLine=/\\Users\\Public\\.+\.vbs/i | table([ComputerName, aid, UserName, ParentBaseFileName, CommandLine], limit=200)
Looks for: RegAsm.exe — a local .NET assembly-registration tool that should never egress — making outbound connections after being process-hollowed. FP: effectively none for external destinations; investigate every hit.
// HUNT: RegAsm.exe outbound network (process-hollowed AsyncRAT) // MITRE: T1055.012, T1071.001 // CONF: high FP: low COST: medium | REQUIRES: NetworkConnectIP4 // TUNING: RegAsm.exe builds assemblies locally; any external RemoteAddressIP4 is suspect #event_simpleName=/NetworkConnectIP4/ | ContextBaseFileName=/^RegAsm\.exe$/i | table([ComputerName, aid, ContextBaseFileName, RemoteAddressIP4, RemotePort], limit=200)
Looks for: resolution of the published AsyncRAT and rogue-ScreenConnect C2 domains. Perishable — refresh from current intel.
// HUNT: DNS to campaign C2 / rogue-ScreenConnect domains // MITRE: T1071.001, T1219 // CONF: high FP: low COST: low | REQUIRES: DnsRequest #event_simpleName=/DnsRequest/ | DomainName=/(mora1987\.work\.gd|servermanagemen\.xyz|manage-server\.xyz|manageserver\.xyz|managedevice\.xyz|winservec\.net|serverdnsplan\.net|cloudsynn\.com|pingserv\.pro|pingpanl\.pro|ehostservers\.xyz|edgeserv\.ru)/i | table([ComputerName, aid, DomainName, ContextBaseFileName], limit=200)
Looks for: the reported install.res.1033.dll variants by MD5 (subset shown; full list in §10).
// HUNT: install.res.1033.dll variants by MD5 hash // MITRE: T1574.002 // CONF: high FP: low COST: low | REQUIRES: PeFileWritten / ProcessRollup2 with hash #event_simpleName=/PeFileWritten|ProcessRollup2/ | MD5HashData=/^(5f96c04e3afae97017b201be112284d2|73bead922109a61e5f9f85771a7812c5|edff4f58722c93d7c09ed71899416396|83601c3d4ed28e8d2be1b99beb8ec18c|695e794631ef130583368770e7b81e98)$/i | table([ComputerName, aid, TargetFileName, MD5HashData, SHA256HashData], limit=max)
CrowdStrike Custom IOA Recommendations
| IOA | Pattern | Exclusions | Action |
|---|---|---|---|
| Installer → PS Defender-exclusion | Parent install.exe / *Installer.exe from Downloads/Temp spawning powershell.exe with Add-MpPreference … Exclusion | Sanctioned software-deployment agents | Detect (High) |
| RegAsm hollowing lineage | RegAsm.exe spawned by wscript.exe/powershell.exe with no assembly path argument, followed by outbound network | .NET build/CI hosts | Detect/Block (High) |
| Named persistence task | schtasks creating MasterPackager.Updater or a task launching a Public-dir .vbs on a MINUTE trigger | None | Block (Critical) |
Promote Q1, Q5 and the RegAsm-lineage IOA to prevention after one clean baseline window; keep Q3/Q4 as detect-only until benign UAC/Defender-exclusion writers in your estate are enumerated.
Machine-Readable IOC Appendix
type,value,action,severity,expiration,description,tags domain,mora1987.work.gd,detect,critical,2027-01-03,AsyncRAT C2,campaign:ScreenConnectAsyncRAT domain,servermanagemen.xyz,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,manage-server.xyz,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,manageserver.xyz,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,managedevice.xyz,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,winservec.net,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,serverdnsplan.net,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,cloudsynn.com,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,pingserv.pro,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,pingpanl.pro,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,ehostservers.xyz,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,edgeserv.ru,detect,high,2027-01-03,rogue ScreenConnect C2,campaign:ScreenConnectAsyncRAT domain,fileget.loseyourip.com,detect,high,2026-10-03,payload download host,campaign:ScreenConnectAsyncRAT domain,direct-download.giize.com,detect,high,2026-10-03,payload download host,campaign:ScreenConnectAsyncRAT ipv4,185.254.97.249,detect,high,2026-10-03,ScreenConnect C2,campaign:ScreenConnectAsyncRAT ipv4,45.145.41.205,detect,high,2026-10-03,ScreenConnect C2,campaign:ScreenConnectAsyncRAT ipv4,162.216.241.242,detect,medium,2026-10-03,distribution cluster,campaign:ScreenConnectAsyncRAT ipv4,198.23.185.81,detect,medium,2026-10-03,distribution download,campaign:ScreenConnectAsyncRAT ipv4,2.59.134.97,detect,medium,2026-10-03,distribution cluster,campaign:ScreenConnectAsyncRAT
5F96C04E3AFAE97017B201BE112284D2 73BEAD922109A61E5F9F85771A7812C5 EDFF4F58722C93D7C09ED71899416396 83601C3D4ED28E8D2BE1B99BEB8EC18C 695E794631EF130583368770E7B81E98 1E6A5C7B620D487D0CFC6874C3B77C90 54025CE2A9405039899FE99A1D77E0BB BD05FCF80E493CF9AA71EC510319469D 999A63730C9634481D1D76955A2E76A8 479BD3BB617B39CD4A46D0768A2592D4 776DFD3DF9C04BB9FCDD6C1880C3761A 8E4C57358A66EB14D31ABB614DDC68DE A40D3AEB0DAE5B00BDB3A517F3135BBB A85A5BFDCB7C65AB93043B8CF9E20065 01325880EFFFEC546F59490089A3B415
Rogue DLL: install.res.1033.dll written beside a signed install.exe
Dropper: powershell running Fj5NmEsp9EuKrun.ps1
Evasion: Add/Set-MpPreference exclusion for drive root or RegAsm.exe
UAC: ConsentPromptBehaviorAdmin set to 0 by user-mode script
Loader: wscript running C:\Users\Public\*.vbs (script.vbs, installer_method3_stream.vbs)
Hollowing: RegAsm.exe launched by wscript/powershell, then egresses
Persistence: scheduled task MasterPackager.Updater, MINUTE /MO 2
Staged files: C:\Users\Public\{msgbox.txt,secret_bytes.txt,1.vb,cap.ps1}
Payload crypto: XOR key 0xA7 with bit-order inversion (cap.ps1)
[ ] Inventory all ScreenConnect/ConnectWise Control instances; block non-sanctioned [ ] Enable Defender Tamper Protection (blocks exclusion tampering) [ ] ASR: Block executable files unless prevalence/age/trusted-list criteria met [ ] ASR: Block process creations from PSExec/WMI; block obfuscated scripts [ ] UAC: EnableLUA=1, ConsentPromptBehaviorAdmin=2 (locked via GPO/MS baseline) [ ] WDAC/AppLocker: deny exec from %PUBLIC%, %TEMP%, %USERPROFILE%\Downloads [ ] SmartScreen enforced for Edge + Explorer [ ] Block campaign C2/download domains + IPs at DNS/proxy (see CSV)
install.exe (MD5 87603EA025623B19954E460ADD532048) is the legitimate signed Microsoft binary abused as the side-load host — it is intentionally excluded from the block set.
Detection Validation Gates
| Gate | Check | Pass Criteria |
|---|---|---|
| Telemetry ready | ProcessRollup2, PeFileWritten, DnsRequest, RegGenericValueUpdate, ScheduledTaskRegistered flowing | All five event types present in last 24h |
| Benign baseline | Run Q3/Q4 over 7–14 days; enumerate legit Defender-exclusion / UAC writers | Known-good writers documented and excluded |
| Positive test | In a lab: write a file named install.res.1033.dll; register a test MINUTE task; RegAsm outbound to a sink | Q1, Q5, Q7 each fire |
| Promotion | Q1/Q5 + RegAsm-lineage IOA clean for one baseline window | Promote to prevent; keep Q3/Q4 detect-only |
Hardening — Tiered & Deployable
- Enable Defender Tamper Protection (M1024) — blocks the actor from adding drive-root exclusions. MS Security Baseline / Defender.
- Enable key ASR rules (M1040) — "Block executable files from running unless they meet prevalence/age/trusted-list" and "Block process creations from PSExec and WMI" to break the side-load and script chain.
- Block campaign C2 + download hosts (M1037) at DNS/proxy and via Falcon Custom IOC (§10 CSV).
- Lock UAC (M1052) — enforce
EnableLUA=1,ConsentPromptBehaviorAdmin=2via GPO/MS baseline so the disable step fails.
- WDAC / AppLocker (M1038) — deny execution of EXEs and DLLs from
%PUBLIC%,%TEMP%, andDownloads; this alone breaks the side-load and the Public-dir loader. CIS Windows 18.x. - Constrained Language Mode + Script Block Logging + AMSI (M1042/M1049) for PowerShell to blunt the dropper.
- Enforce SmartScreen (M1021) for Edge and Explorer to warn on look-alike downloads.
- Audit scheduled-task creation (M1047) — alert on MINUTE-trigger tasks launching script hosts.
- RMM governance (M1042) — allowlist only sanctioned remote-access tooling; block all other RMM (ScreenConnect/AnyDesk/etc.) by app-control and network policy.
- DNS / egress filtering (M1037) — force clients through a controlled resolver with newly-registered-domain and category blocking.
- User awareness (M1017) — train against SEO-poisoned "free software" downloads; steer software acquisition to a managed catalog.
Deployable Playbooks
1 · Enable Tamper Protection + ASR rules (PowerShell, admin)
# Tamper Protection is enabled via Intune/MDE policy; verify locally:
Get-MpComputerStatus | Select-Object IsTamperProtected
# Enable high-leverage ASR rules in Block mode
$asr = @(
"01443614-cd74-433a-b99e-2ecdc07bfc25", # Block executables by prevalence/age/trust
"d1e49aac-8f56-4280-b9ba-993a6d77406c", # Block process creations from PSExec/WMI
"5beb7efe-fd9a-4556-801d-275e5ffc04cc" # Block obfuscated scripts
)
foreach ($id in $asr) { Add-MpPreference -AttackSurfaceReductionRules_Ids $id -AttackSurfaceReductionRules_Actions Enabled }
2 · Lock UAC (registry / GPO)
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 2 /f # Enforce via GPO: Computer Config > Policies > Windows Settings > Security Options # "User Account Control: Run all administrators in Admin Approval Mode" = Enabled
3 · AppLocker deny rule for user-writable paths (policy XML fragment)
<!-- Deny EXE/DLL execution from Public/Temp/Downloads --> <FilePathRule Id="a1e0-public-deny" Name="Deny %PUBLIC% exec" Action="Deny" UserOrGroupSid="S-1-1-0"> <Conditions><FilePathCondition Path="%PUBLIC%\*"/></Conditions> </FilePathRule> <!-- Repeat with Path="%OSDRIVE%\Users\*\Downloads\*" and enable the DLL rule collection -->
4 · Remove the persistence + staged artifacts (post-detection, admin)
schtasks /delete /tn "MasterPackager.Updater" /f Remove-Item "C:\Users\Public\script.vbs","C:\Users\Public\cap.ps1","C:\Users\Public\1.vb","C:\Users\Public\secret_bytes.txt","C:\Users\Public\msgbox.txt" -ErrorAction SilentlyContinue # Remove any attacker-added Defender exclusions, then re-run Q3 to confirm none remain
Containment Runbook
| Phase | Actions | Owner | Evidence |
|---|---|---|---|
| Isolate | Network-contain the host in Falcon; do not power off (preserve memory / injected RegAsm) | SOC | Containment ticket, aid |
| Eradicate | Kill RegAsm/AsyncRAT + rogue ScreenConnect processes; delete MasterPackager.Updater; remove Public-dir artifacts and rogue DLL; strip attacker Defender exclusions; restore UAC | SOC / Endpoint | Playbook 4 output |
| Recover | Reset credentials used on the host; re-enable Tamper Protection/ASR; confirm no sanctioned RMM was tampered | IR / IT | Q3/Q4 clean re-run |
| Hunt-wide | Sweep the estate with Q1–Q9; block C2/IPs org-wide; check proxy logs for other victims of the download hosts | Threat Hunt | Coverage-map update |
Detection Coverage Map
| Technique | Behavior | CQL | IOA | Coverage |
|---|---|---|---|---|
| T1574.002 | Rogue side-load DLL | Q1, Q9 | — | Good |
| T1059.001 | PS dropper | Q2, Q3 | Yes | Good |
| T1562.001 | Defender exclusion | Q3 | Yes | Partial |
| T1548.002 | UAC disable | Q4 | — | Partial |
| T1053.005 | Persistence task | Q5 | Yes | Good |
| T1059.005 | VBScript loader | Q6 | — | Good |
| T1055.012 | RegAsm hollowing | Q7 | Yes | Good |
| T1071.001 / T1219 | C2 / RMM beacon | Q8 | — | Partial (perishable IOCs) |
| T1189 | SEO-poisoned delivery | — | — | GAP (proxy/SWG only, §7) |
Primary gap: the delivery step (T1189) is not visible to EDR; cover it with web-proxy / secure-web-gateway logging (§7) and user-awareness controls (§12). C2 domain coverage (Q8) is durable only while the intel is fresh — lean on the behavioral queries Q1/Q5/Q7 for lasting detection. Validation gates in §11 must pass before promoting any query to prevent.
Hunt Summary Ticket
TITLE: ScreenConnect SEO-Poisoning to AsyncRAT — Hunt Pack
SEVERITY: High — active, widespread commodity RAT delivery
SCOPE: Windows endpoints (user workstations); web-egress logging
HYPOTHESIS: Fake signed installers side-load install.res.1033.dll, stand up rogue
ScreenConnect, disable Defender/UAC, and hollow RegAsm.exe with AsyncRAT,
persisting via MasterPackager.Updater.
QUERIES: Q1 side-load DLL | Q2 PS dropper | Q3 Defender excl | Q4 UAC | Q5 task
Q6 Public .vbs | Q7 RegAsm egress | Q8 C2 DNS | Q9 DLL MD5
DO FIRST: Run Q1, Q5, Q7 (highest fidelity, behavior-based)
FINDINGS: ____________________________________________
GAPS: T1189 delivery visible only in proxy/SWG logs; C2 IOCs perishable
ACTIONS: Tamper Protection + ASR + UAC lock + WDAC user-path deny + RMM allowlist
OWNER: HuntPack
VERSION: v0.2 · 2026-07-03
Changelog
table() calls now carry an explicit row limit: the default is 200 and truncation is silent, so a capped result was indistinguishable from a complete one. Atomic-IOC sweeps (filters over 5+ hashes or C2 IPs) use limit=max so a wide infection is never silently under-scoped; behavioural hunts use limit=200, where exceeding the cap indicates the query needs tuning. Where present, event names that do not exist in the Falcon data model were corrected (e.g. ServiceInstalled is a Sysmon concept, not a Falcon event; ElfFileWritten is ELFFileWritten) — such queries could never return a row. No detection logic, fields, or IOCs changed.References
| Tier | Source | Used For | Access Date |
|---|---|---|---|
| 1 | Securelist / Kaspersky — The SOC files: ScreenConnect campaign with AsyncRAT | Full technical chain + atomic IOCs | 2026-07-03 |
| 1 | The Hacker News — SEO-Poisoned Software Sites Abuse ScreenConnect to Deploy AsyncRAT | Campaign scope, spoofed software, evasion behavior | 2026-07-03 |
| 2 | SC Media — ScreenConnect used to deploy AsyncRAT in widespread campaign | Corroboration | 2026-07-03 |
| R | MITRE ATT&CK | Technique mapping (T1574.002, T1562.001, T1055.012, T1548.002, T1053.005, T1219) | 2026-07-03 |