A campaign attributed to Russian cybercrime groups is actively abusing hospitality Wi-Fi networks to steal information from travelers worldwide, according to recent reporting from Malwarebytes. The campaign targets the moment of maximum trust and minimum scrutiny: when a traveler connects to a hotel network and interacts with the captive portal login page.
This is not a theoretical risk. Hotel Wi-Fi sits at a dangerous intersection for defenders — it's an untrusted network that corporate devices must use, operated by third parties with no security accountability to your organization, and increasingly attractive to criminal groups who understand that business travelers carry exactly the credentials, session tokens, and VPN configurations worth stealing. If your organization has any travel-heavy workforce — executives, sales teams, consultants, journalists, government personnel — this campaign should trigger an immediate review of your road-warrior security posture.
Technical Analysis: How These Attacks Work
The Attack Surface
Hospitality Wi-Fi environments offer attackers several overlapping techniques, and this campaign leverages the classic playbook:
1. Rogue / Evil Twin Access Points. Attackers standing up wireless access points that mimic legitimate hotel SSIDs (or operating on-site via compromised equipment) can position themselves as a man-in-the-middle for all guest traffic. Because hotel SSID names are public knowledge and broadcast openly, cloning them is trivial. Travelers' devices — especially those configured to auto-join known network names — will connect to whichever signal is strongest.
2. Captive Portal Credential Harvesting. The captive portal — that login page asking for a room number and surname, or prompting you to "sign in" — is a phishing surface that travelers have been trained by the industry to trust blindly. Attackers clone these portals and prompt for far more valuable data: email credentials, corporate SSO logins, credit card numbers, or "loyalty program" credentials. Because the portal appears before any internet access, users cannot verify legitimacy by checking a known-good site first.
3. Malicious Software Delivery via Portals. A growing variant of this technique presents fake "browser update," "VPN client," or "security certificate" downloads through the captive portal or injected into HTTP traffic. Travelers who install these payloads hand the attacker code execution on a corporate endpoint.
4. Unencrypted Traffic Interception and DNS Manipulation. On a controlled network, attackers can intercept plaintext HTTP, downgrade connections, and poison DNS responses to redirect travelers to attacker-controlled infrastructure even after the portal phase is complete.
Why Travelers Are High-Value Targets
Hotel networks concentrate exactly the victims cybercrime groups want: executives with broad access, government and defense-adjacent personnel, journalists and their sources, and business travelers carrying corporate credentials. Russian-language cybercrime crews monetize these victims through credential resale, business email compromise staging, and follow-on ransomware initial access. The "hospitality Wi-Fi" vector also provides natural cover — the victim population is transient, attribution is murky, and the hotel operator has neither the capability nor the incentive to investigate.
Exploitation Status
This is confirmed active exploitation in the wild — an ongoing campaign, not a proof-of-concept. No specific CVE is associated with this activity; it abuses architectural trust weaknesses in captive portal and Wi-Fi onboarding design rather than a patchable software flaw. There is no CISA KEV entry because there is no single vulnerability — the fix is behavioral, architectural, and detective.
Detection & Response
Because these attacks unfold on networks you don't control, detection must live on the endpoint and at your identity layer. Focus your telemetry on three observable behaviors: (1) endpoints joining wireless networks and immediately spawning suspicious activity, (2) execution of installers or scripts downloaded shortly after a network change, and (3) authentication anomalies from impossible-travel or unfamiliar infrastructure after travel.
Sigma Rules
---
title: Software Installation Shortly After Network Profile Change
tid: 3f7a2c91-8e5b-4d61-bc47-9a2e5f180234
status: experimental
description: Detects execution of installers, script engines, or browser-spawned payloads within a short window of a network connectivity change — consistent with malicious captive portal 'update' delivery on untrusted networks such as hotel Wi-Fi.
references:
- https://www.malwarebytes.com/blog/news/2026/08/travelers-targeted-when-logging-into-hotel-wi-fi-networks
- https://attack.mitre.org/techniques/T1204/
author: Security Arsenal
date: 2026/08/15
tags:
- attack.execution
- attack.t1204.002
- attack.t1557
logsource:
category: process_creation
product: windows
detection:
selection_parent_browser:
ParentImage|endswith:
- '\chrome.exe'
- '\msedge.exe'
- '\firefox.exe'
- '\brave.exe'
selection_child:
Image|endswith:
- '\msiexec.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\mshta.exe'
- '\rundll32.exe'
- '\cmd.exe'
condition: all of selection_*
falsepositives:
- Legitimate browser-initiated updates and extension installs
- Enterprise software deployment via browser portals
level: high
---
title: Download and Execution From Public or Untrusted Network Paths
tid: 8b1e4d52-3c6a-4f79-ae28-5d9c1b704aef
status: experimental
description: Detects script interpreters and LOLBins executing payloads from user-writable directories commonly abused by captive portal malware delivery (Downloads, Temp, AppData) with network retrieval behavior — consistent with hotel Wi-Fi 'update' lure payloads.
references:
- https://www.malwarebytes.com/blog/news/2026/08/travelers-targeted-when-logging-into-hotel-wi-fi-networks
- https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/08/15
tags:
- attack.execution
- attack.t1059
- attack.defense_evasion
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
- '\mshta.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\certutil.exe'
- '\bitsadmin.exe'
selection_path:
CommandLine|contains:
- '\Downloads\'
- '\Temp\'
- '\AppData\Local\'
- '\AppData\Roaming\'
selection_net:
CommandLine|contains:
- 'http://'
- 'https://'
- 'DownloadFile'
- 'Invoke-WebRequest'
- 'iwr '
- '-urlcache'
- 'transfer'
condition: selection_img and selection_path and selection_net
falsepositives:
- Developer tooling and admin scripts run from Downloads
- Software packaging and testing workflows
level: high
---
title: Wireshark-Style ARP or Network Capture Tool Execution on Endpoint
tid: 5c9d3a18-7f42-4b85-ad61-2e8b6c915d07
status: experimental
description: Detects execution of packet capture and ARP manipulation tooling on end-user endpoints — potential indicator of on-network interception activity by an attacker co-resident on a hospitality network segment.
references:
- https://www.malwarebytes.com/blog/news/2026/08/travelers-targeted-when-logging-into-hotel-wi-fi-networks
- https://attack.mitre.org/techniques/T1557/
author: Security Arsenal
date: 2026/08/15
tags:
- attack.credential_access
- attack.t1557.002
- attack.discovery
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith:
- '\arpspoof.exe'
- '\ettercap.exe'
- '\responder.exe'
- '\tshark.exe'
- '\windump.exe'
- '\npcap-loopback.exe'
OriginalFileName:
- 'arpspoof'
- 'ettercap'
condition: selection
falsepositives:
- Network engineering staff performing authorized diagnostics
level: high
KQL — Microsoft Sentinel / Defender
This hunt correlates device network profile changes (joining a new network, e.g., a hotel SSID) with subsequent process execution of downloaders and script engines within a one-hour window — the behavioral signature of a captive-portal-delivered payload. It also surfaces identity-layer anomalies (sign-ins from unusual geographies or infrastructure) following travel, which is where harvested credentials typically surface.
// Hunt 1: Suspicious child processes of browsers shortly after network connection events
let NetworkChange = DeviceNetworkEvents
| where TimeGenerated > ago(7d)
| where ActionType == "ConnectionSuccess"
| where RemoteUrl has_any ("captive", "portal", "wifi", "login", "guest")
or RemoteIP startswith "192.168." or RemoteIP startswith "10."
| project DeviceId, DeviceName, NetworkJoinTime=TimeGenerated, RemoteUrl, RemoteIP;
DeviceProcessEvents
| where TimeGenerated > ago(7d)
| where InitiatingProcessFileName in~ ("chrome.exe","msedge.exe","firefox.exe","brave.exe")
| where FileName in~ ("powershell.exe","mshta.exe","wscript.exe","cscript.exe","msiexec.exe","rundll32.exe","cmd.exe")
| project DeviceId, ProcessTime=TimeGenerated, FileName, ProcessCommandLine, InitiatingProcessFileName
| join kind=inner (NetworkChange) on DeviceId
| where ProcessTime between (NetworkJoinTime .. NetworkJoinTime + 1h)
| project DeviceName, NetworkJoinTime, RemoteUrl, ProcessTime, FileName, ProcessCommandLine
| order by DeviceName, ProcessTime asc;
// Hunt 2: Identity anomalies — sign-ins from unusual locations/ISPs following travel window
SigninLogs
| where TimeGenerated > ago(14d)
| where ResultType == 0
| summarize SignInCount=count(), Locations=make_set(Location), ISPs=make_set(NetworkLocationDetails)
by UserPrincipalName, IPAddress, Location, AppDisplayName
| where Location !in ("US", "USA") // tune to your org's baseline geographies
| order by SignInCount desc;
Tune the geography filter to your organization's actual travel footprint — the goal is to catch the stolen credential being replayed, which typically happens from infrastructure far from where the traveler physically is.
Velociraptor VQL
For post-incident scoping on a traveler's device — e.g., a user reports a suspicious "update" prompt on hotel Wi-Fi — this artifact hunts for recently executed payloads in user-writable directories and processes with network connections that match script-engine profiles.
-- Hunt for recently executed payloads in user-writable paths and script engines with live connections
SELECT Pid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE (Exe =~ '(?i)\\\\(Downloads|Temp|AppData)\\\\'
OR Name =~ '(?i)(powershell|mshta|wscript|cscript|rundll32)')
AND CreateTime > now() - 86400 * 7
-- Correlate with active network connections from those processes
SELECT Pid, Name, Status, LocalAddress, RemoteAddress
FROM netstat()
WHERE Name =~ '(?i)(powershell|mshta|wscript|cscript|rundll32|msiexec)'
AND Status =~ 'ESTAB'
AND RemoteAddress !~ '(?i)^(10\\.|192\\.168\\.|172\\.(1[6-9]|2[0-9]|3[01])\\.|127\\.)'
Remediation / Hardening Script
This PowerShell script hardens Windows endpoints that travel — disabling Wi-Fi auto-join for untrusted profiles, enforcing "Block always" on untrusted networks via Windows Firewall, clearing cached hotel SSID profiles, and verifying that Always-On VPN / DNS-over-HTTPS protections are in place.
# === Traveler Endpoint Hardening: Untrusted Wi-Fi Defense ===
# Run as Administrator. Intended for road-warrior laptops.
# 1. List and remove cached non-corporate Wi-Fi profiles (prevents evil-twin auto-join)
$CorporateSSIDs = @("CorpNet","CorpNet-Secure") # <-- customize to your org
$profiles = netsh wlan show profiles | Select-String ':\s(.+)$' | ForEach-Object { $_.Matches.Groups[1].Value.Trim() }
foreach ($p in $profiles) {
if ($CorporateSSIDs -notcontains $p) {
Write-Host "[+] Removing cached Wi-Fi profile: $p" -ForegroundColor Yellow
netsh wlan delete profile name="$p" | Out-Null
}
}
# 2. Disable auto-connect on all remaining non-corporate profiles
foreach ($p in $profiles) {
if ($CorporateSSIDs -notcontains $p) {
netsh wlan set profileparameter name="$p" connectionmode=manual 2>$null
}
}
# 3. Enforce strict firewall posture on Public network profile (hotel Wi-Fi = Public)
Set-NetFirewallProfile -Profile Public -Enabled True `
-DefaultInboundAction Block -DefaultOutboundAction Allow `
-AllowLocalFirewallRules False -NotifyOnListen True
Write-Host "[+] Public profile firewall hardened (inbound blocked, local rules disabled)."
# 4. Disable network discovery and file sharing on Public profile
Set-NetConnectionProfile -InterfaceAlias (Get-NetConnectionProfile | Where-Object {$_.IPv4Connectivity -ne 'NoTraffic'}).InterfaceAlias -NetworkCategory Public -ErrorAction SilentlyContinue
Get-NetAdapter | ForEach-Object {
Set-SmbClientConfiguration -EnableInsecureGuestLogons $false -Force -ErrorAction SilentlyContinue
}
Disable-NetAdapterBinding -Name "*" -ComponentID ms_server -ErrorAction SilentlyContinue
Disable-NetAdapterBinding -Name "*" -ComponentID ms_msclient -ErrorAction SilentlyContinue
Write-Host "[+] SMB client/server bindings disabled on adapters (untrusted network safety)."
# 5. Verify Always-On VPN / device tunnel status (customize check for your VPN stack)
$vpnProfiles = Get-VpnConnection -AllUserConnection -ErrorAction SilentlyContinue
if (-not $vpnProfiles) {
Write-Warning "[!] No Always-On VPN profile detected. Deploy device-tunnel VPN before travel."
} else {
$vpnProfiles | ForEach-Object { Write-Host "[+] VPN profile present: $($_.Name)" }
}
# 6. Audit: recent browser-spawned script execution (last 7 days) for triage
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4688; StartTime=(Get-Date).AddDays(-7)} -ErrorAction SilentlyContinue |
Where-Object { $_.Message -match '(chrome|msedge|firefox)\.exe' -and $_.Message -match '(powershell|mshta|wscript|cscript|msiexec)\.exe' } |
Select-Object -First 20 TimeCreated, Message | Format-List
Write-Host "[+] Audit complete. Review any browser-spawned script events above."
Remediation and Defensive Measures
Because there is no patch for "hotel Wi-Fi," remediation is architectural. Prioritize these controls in order of defensive value:
1. Mandate Always-On VPN with kill switch for all traveling devices. All traffic — including pre-authentication captive portal traffic where technically possible — must traverse an encrypted tunnel to infrastructure you control. Full-tunnel, with the kill switch enabled so a dropped VPN connection drops connectivity rather than leaking plaintext.
2. Kill auto-join. Disable automatic connection to open networks and purge cached SSID profiles from traveler laptops regularly. Evil twin attacks succeed because devices volunteer to connect. The hardening script above operationalizes this.
3. Enforce DNS-over-HTTPS or VPN-tunneled DNS. This neutralizes DNS poisoning and interception after the portal phase, and prevents attackers on the local segment from redirecting travelers post-login.
4. Train the captive portal verification habit. Travelers should: (a) confirm the exact SSID with front desk staff, (b) treat any portal requesting email/SSO credentials, payment data beyond booking, or software downloads as hostile, and (c) never install anything prompted by a network login page. Browser and VPN updates never legitimately arrive via captive portals.
5. Prefer personal hotspots for sensitive work. For executives and personnel handling sensitive data, a cellular hotspot eliminates the shared-segment threat entirely. The cost is trivial against the risk profile this campaign demonstrates.
6. Harden the identity layer for post-travel anomaly detection. Harvested credentials surface later — ensure your IdP flags impossible travel, unfamiliar ASN/ISP sign-ins, and token replay from unexpected geographies, and enforce phishing-resistant MFA (FIDO2/passkeys) so a stolen password alone is worthless.
7. Conditional Access for travel windows. Consider tightening conditional access policies during known travel: require compliant device + VPN egress IP for access to sensitive applications, blocking direct access from arbitrary hotel egress IPs.
8. Post-travel triage protocol. For high-risk travelers (executives, government-adjacent staff), run the VQL hunt above or your EDR equivalent after travel to hostile or high-risk regions — don't wait for the user to report a suspicious prompt.
For Hospitality-Facing Organizations
If you operate hospitality infrastructure: segment guest networks aggressively, monitor for rogue APs broadcasting your SSID (wireless intrusion detection), audit captive portal infrastructure for unauthorized modification, and treat any unexpected portal "update" prompts reported by guests as a security incident, not an IT ticket.
The Bottom Line
This campaign succeeds because it exploits habit, not software. Every defender with a traveling workforce should treat untrusted Wi-Fi as a compromised network by default: tunnel everything, auto-join nothing, install nothing from a portal, and watch your identity telemetry for the credential replay that follows. The detections and hardening steps above give your SOC the endpoint- and identity-layer visibility needed to catch this threat where it actually lives — since you'll never own the network where it starts.
Related Resources
Security Arsenal Healthcare Cybersecurity AlertMonitor Platform Book a SOC Assessment healthcare Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.