Fox Tempest: AI-Themed Malvertising Delivers Signed Malware at Scale
Cybercriminals are cashing in on the excitement around artificial intelligence. Microsoft uncovered a wave of attacks that disguise malware as popular AI tools like ChatGPT, Claude, and DeepSeek. Victims who search for these tools find fake installers and ads that deliver password-stealing malware instead of the real software.
What makes this campaign effective is a forgery service. One criminal group runs a business that stamps malware with fake digital signatures, the same seal of approval that tells a computer a program is safe. Think of it as a counterfeit notary that makes fraudulent documents look official. With that trusted stamp, the malware slips past defenses that normally block unknown programs.
The payoff is stolen data. Once installed, the malware harvests saved passwords, browser sessions, and login tokens, and it opens the door for ransomware groups. Microsoft found campaigns reaching tens of thousands of organizations across multiple countries. For businesses, the risk is account takeover, financial fraud, and follow-on attacks that begin with one employee chasing a popular AI tool.
Hunting Controls & Observations
This activity links an initial access broker (Storm-3075), a malware-signing-as-a-service operation (Fox Tempest), and downstream actors who distribute information stealers and ransomware. Because the malware carries valid signatures, detection depends on behavior and certificate context rather than trust alone. Organizations can detect this activity through multiple telemetry sources:
- Endpoint Controls: EDR/XDR, Sysmon (Events 1, 3, 7, 11), antivirus detections, and code-signing certificate context (signer, issue date, revocation status)
- Network Controls: Firewall and proxy logs, DNS query logs, and TLS inspection for connections to malvertising redirectors and command-and-control hosts
- Identity & Access Controls: Microsoft Entra (Azure AD) sign-in logs, risky sign-in and token anomaly detections, and impossible-travel signals
- Cloud & SaaS Controls: Email gateway logs with Safe Links, code-signing service audit logs, and search or advertisement referrer data
Behavioral Indicators of Attack
The following behaviors distinguish this activity from legitimate software installation:
- Execution of installers carrying valid but very recently issued, short-lived code-signing certificates, or certificates that are later revoked
- Fake AI-tool installers writing a Python downloader saved as pythonw.exe alongside a LICENSE.txt file into the user's local application data folder
- A checkpoint or "Continue" prompt that gates payload execution to evade automated sandbox analysis
- A signed binary downloading shellcode from an external host and loading an information stealer in memory
- Newly signed, trojanized versions of legitimate remote-access tools such as Teams, AnyDesk, PuTTY, and Webex
- Bulk access to browser credential stores and session cookies shortly after installation
- Token replay, impossible travel, and sign-ins from unfamiliar properties following a malware execution
- Outbound connections to advertising redirectors and command-and-control domains after an ad click or search result
MITRE Enterprise ATT&CK Tactics and Techniques
This activity spans resource development through command and control:
- Resource Development (T1588.003 – Obtain Capabilities: Code Signing Certificates): Fox Tempest fraudulently obtains code-signing certificates through a cloud signing service to sign customer-submitted malware.
- Resource Development (T1583.008 – Acquire Infrastructure: Malvertising): Operators purchase ads and seed search results that impersonate popular AI tools.
- Initial Access (T1566.002 – Phishing: Spearphishing Link): AI-themed phishing emails direct recipients to fake installer and credential-harvesting pages.
- Execution (T1204.002 – User Execution: Malicious File): Victims run fake AI-tool installers obtained from ads, search results, or code repositories.
- Execution (T1059.006 – Command and Scripting Interpreter: Python): A Python downloader saved as pythonw.exe retrieves and runs the next stage.
- Persistence (T1547.001 – Boot or Logon Autostart Execution: Registry Run Keys): The Oyster backdoor establishes persistent access for follow-on operators.
- Defense Evasion (T1553.002 – Subvert Trust Controls: Code Signing): Valid but fraudulent signatures let the malware bypass trust-based allowlists and reputation checks.
- Defense Evasion (T1036.005 – Masquerading: Match Legitimate Name or Location): Payloads impersonate AI brands and trojanize legitimate remote-access tools.
- Defense Evasion (T1497 – Virtualization/Sandbox Evasion): A user-interaction checkpoint blocks payload detonation inside automated analysis environments.
- Defense Evasion (T1620 – Reflective Code Loading): Downloaded shellcode loads the Vidar information stealer directly in memory.
- Credential Access (T1555.003 – Credentials from Web Browsers): Vidar harvests saved logins, cookies, and session tokens from browsers.
- Credential Access (T1557 – Adversary-in-the-Middle): AI-themed phishing pages relay credentials and session tokens to bypass multifactor authentication.
- Command and Control (T1071.001 – Application Layer Protocol: Web Protocols): Malware retrieves payloads and exfiltrates data over HTTP and HTTPS to attacker infrastructure.
Controls' Observables
Endpoint Controls
Endpoint platforms can identify the activity by correlating signature context with execution behavior:
- Short-lived or revoked code-signing certificate execution: Signed binaries whose certificates were issued within days of execution or later revoked.
- Related MITRE Techniques: T1553.002, T1588.003
- Detection Difficulty: HIGH
- Fake AI installer dropping a Python downloader: An installer writing pythonw.exe and LICENSE.txt into local application data, then executing it.
- Related MITRE Techniques: T1204.002, T1059.006, T1036.005
- Detection Difficulty: MEDIUM
- In-memory stealer loading: A signed or scripted process retrieving shellcode and loading an information stealer without writing it to disk.
- Related MITRE Techniques: T1620, T1555.003
- Detection Difficulty: HIGH
Network Controls
Network telemetry exposes delivery and command-and-control:
- Connections to malvertising redirectors and C2 hosts: Traffic to known redirector and command-and-control domains following an ad click or search result.
- Related MITRE Techniques: T1071.001, T1583.008
- Detection Difficulty: MEDIUM
- Payload retrieval by a freshly installed binary: A newly executed installer immediately fetching a second-stage payload from an external host.
- Related MITRE Techniques: T1071.001
- Detection Difficulty: MEDIUM
Identity & Access Controls
Identity telemetry reveals the token theft that follows infostealer execution:
- Risky sign-ins and token anomalies: Impossible travel, anomalous tokens, and sign-ins from unfamiliar properties after a malware run.
- Related MITRE Techniques: T1557, T1555.003
- Detection Difficulty: MEDIUM
Cloud & SaaS Controls
Email and code-signing telemetry catch the lure and the forgery:
- AI-themed phishing with malicious links: Inbound mail impersonating AI brands and linking to fake installer or sign-in pages.
- Related MITRE Techniques: T1566.002
- Detection Difficulty: LOW
- Anomalous code-signing service usage: Bursts of short-validity certificate issuance from cloud signing services tied to unfamiliar tenants.
- Related MITRE Techniques: T1588.003
- Detection Difficulty: HIGH
Insights and Recommendation
Organizations that fall victim face information-stealer theft of saved passwords, browser cookies, and session tokens, which enables account takeover even where multifactor authentication is enabled. Because Fox Tempest signs payloads for ransomware operators, including Rhysida, INC, Qilin, and BlackByte, an initial infostealer infection can escalate into full encryption and extortion. Recovery requires credential and session-token rotation, multifactor re-enrollment, removal of trust for revoked certificates, and review of any access the stolen tokens permitted.
Security teams should prioritize detection of fraudulent code signing. Treat the execution of binaries signed with short-lived or revoked certificates as high priority, and block the known certificate thumbprint where supported. Enforce SmartScreen and cloud-delivered antivirus protection, and tune for the fake AI-installer chain that drops a Python downloader into local application data. On the identity side, deploy phishing-resistant multifactor authentication and token protection, and revoke risky sessions automatically. Finally, guide users to obtain AI tools only from official vendor domains rather than search ads or code repositories.
Source and Credits
This summary is based on Microsoft Threat Intelligence's research article "AI brands as bait: How threat actors are using the AI hype in social engineering" published on June 8, 2026, with additional detail from "Exposing Fox Tempest: A malware-signing service operation" published on May 19, 2026.
Threat Hunting IOCs & Queries
The indicators below are a representative subset drawn from the Microsoft reports. Because the operators rotate certificates and infrastructure rapidly, prioritize the behavioral queries that follow over static matching.
Known Indicators of Compromise
- Code-Signing Certificate Thumbprint (SHA-1): 4f5c5b3ef45cfff7721754487a86aeff9a2e6e32
- Command-and-Control Domains: brokeapt[.]com, pan.ssffaa19[.]xyz, pan.rongtv[.]xyz
- Phishing Infrastructure: dash.awaydouble[.]org, servicing.pureplantcravings[.]com
- Redirector Services: grupoconstat[.]bitrix24[.]com[.]br, awstrack[.]me
- Malware-Signing Portal: signspace[.]cloud (Telegram contact @arbadakarba2000)
- Malicious Code Repositories: GitHub repositories "shippingtechnologymovie" and "DeepSeek-V4"
- Associated Malware: Vidar and Lumma (information stealers), Oyster (backdoor); ransomware families signed via the service include Rhysida, INC, Qilin, and BlackByte
- Host Artifacts:
pythonw.exeandLICENSE.txtwritten to%LOCALAPPDATA%; Microsoft Defender detectionsTrojan:Win32/Vidar,Trojan:Win32/Malgent,Trojan:Win32/Malcert
Fake AI Installer Dropping a Python Downloader
Behavior Targeted: Detects an installer writing a Python downloader (pythonw.exe) and a LICENSE.txt file into the user's local application data folder, a pattern used by the AI-themed installers.
MITRE ATT&CK: T1204.002, T1059.006, T1036.005
Expected Results: Executable installers creating pythonw.exe and LICENSE.txt under AppData\Local, often immediately followed by pythonw.exe network activity.
False Positive Likelihood: MEDIUM. Some legitimate apps bundle Python runtimes.
Tuning Guidance: Allowlist known software that ships an embedded Python runtime and prioritize the co-occurrence of pythonw.exe with LICENSE.txt in the same user-writable path.
Splunk SPL Query
index=sysmon sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=11
earliest=-30d
(TargetFilename="*\\AppData\\Local\\*pythonw.exe"
OR TargetFilename="*\\AppData\\Local\\*LICENSE.txt")
| stats values(TargetFilename) AS files dc(TargetFilename) AS file_variety
min(_time) AS firstSeen max(_time) AS lastSeen by Computer, User, Image
| where file_variety > 1
| sort - lastSeen
// TUNING: Allowlist apps that legitimately bundle an embedded Python runtime
// FALSE POSITIVES: Developer tooling and packaged Python apps
// TELEMETRY: Requires Sysmon Event ID 11 (file create)
Microsoft KQL Query (Defender/Sentinel)
DeviceFileEvents
| where Timestamp > ago(30d)
| where FileName in~ ("pythonw.exe","LICENSE.txt")
| where FolderPath has "AppData\\Local"
| summarize FileSet=make_set(FileName, 5), Paths=make_set(FolderPath, 10),
FirstSeen=min(Timestamp), LastSeen=max(Timestamp)
by DeviceName, AccountName, InitiatingProcessFileName
| where array_length(FileSet) > 1
| order by LastSeen desc
// TUNING: Allowlist software that legitimately ships an embedded Python runtime
// FALSE POSITIVES: Packaged Python applications
// TELEMETRY: Microsoft Defender for Endpoint (DeviceFileEvents)
Note: These queries were generated with AI assistance. Test thoroughly in your environment before production use.
Python Downloader Beaconing to External Infrastructure
Behavior Targeted: Detects the Python downloader or a freshly installed binary retrieving a second-stage payload from an external host.
MITRE ATT&CK: T1071.001, T1620
Expected Results: pythonw.exe or recently created installers making outbound web connections to uncommon external hosts shortly after execution.
False Positive Likelihood: MEDIUM. Legitimate Python apps make network calls.
Tuning Guidance: Scope to processes launched from user-writable paths and to first-seen destination domains.
Splunk SPL Query
index=sysmon sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=3
earliest=-30d
Image="*\\pythonw.exe"
| stats count values(DestinationHostname) AS hosts values(DestinationIp) AS ips
min(_time) AS firstSeen max(_time) AS lastSeen by Computer, User, Image
| sort - count
// TUNING: Allowlist known internal/SaaS destinations; prioritize first-seen external hosts
// FALSE POSITIVES: Legitimate Python applications with network features
// TELEMETRY: Requires Sysmon Event ID 3 (network connection); enrich with proxy logs
Microsoft KQL Query (Defender/Sentinel)
DeviceNetworkEvents
| where Timestamp > ago(30d)
| where InitiatingProcessFileName =~ "pythonw.exe"
| where RemoteUrl !endswith "microsoft.com" and isnotempty(RemoteUrl)
| summarize Count=count(), Hosts=make_set(RemoteUrl, 15),
FirstSeen=min(Timestamp), LastSeen=max(Timestamp)
by DeviceName, InitiatingProcessFolderPath
| order by LastSeen desc
// TUNING: Allowlist sanctioned destinations; weight processes from user-writable folders
// FALSE POSITIVES: Legitimate Python apps with update or telemetry features
// TELEMETRY: Microsoft Defender for Endpoint (DeviceNetworkEvents)
Note: These queries were generated with AI assistance. Test thoroughly in your environment before production use.
Connections to Known Malvertising and C2 Infrastructure
Behavior Targeted: Detects endpoint connections to the campaign's command-and-control and redirector domains.
MITRE ATT&CK: T1071.001, T1583.008
Expected Results: Endpoints resolving or connecting to the listed attacker domains.
False Positive Likelihood: LOW for the specific domains.
Tuning Guidance: Treat matches as high fidelity; expand the domain list as new infrastructure is published.
Splunk SPL Query
index=network (sourcetype=pan:traffic OR sourcetype=stream:dns OR sourcetype=zscaler)
earliest=-30d
(query="brokeapt.com" OR query="pan.ssffaa19.xyz" OR query="pan.rongtv.xyz"
OR dest_host="brokeapt.com" OR dest_host="dash.awaydouble.org"
OR dest_host="servicing.pureplantcravings.com")
| stats count min(_time) AS firstSeen max(_time) AS lastSeen
by src_ip, query, dest_host
| sort - count
// TUNING: High-fidelity domain match; add new C2 domains as they are reported
// FALSE POSITIVES: Rare; validate any benign lookalike domains
// TELEMETRY: DNS query logs, proxy logs, or firewall traffic logs
Microsoft KQL Query (Defender/Sentinel)
let c2Domains = dynamic(["brokeapt.com","pan.ssffaa19.xyz","pan.rongtv.xyz",
"dash.awaydouble.org","servicing.pureplantcravings.com"]);
DeviceNetworkEvents
| where Timestamp > ago(30d)
| where RemoteUrl has_any (c2Domains) or RemoteIPType == "Public" and RemoteUrl in~ (c2Domains)
| summarize Count=count(), FirstSeen=min(Timestamp), LastSeen=max(Timestamp)
by DeviceName, InitiatingProcessFileName, RemoteUrl
| order by LastSeen desc
// TUNING: High-fidelity match; maintain the c2Domains list as new infrastructure is reported
// FALSE POSITIVES: Rare; confirm benign lookalikes
// TELEMETRY: Microsoft Defender for Endpoint (DeviceNetworkEvents)
Note: These queries were generated with AI assistance. Test thoroughly in your environment before production use.
Risky Sign-Ins and Token Anomalies After Infection
Behavior Targeted: Detects the account takeover that follows infostealer execution, including impossible travel and anomalous token use.
MITRE ATT&CK: T1557, T1555.003
Expected Results: Elevated-risk sign-ins or token anomalies for users whose endpoints showed stealer activity.
False Positive Likelihood: MEDIUM. Travel and VPN use can raise risk scores.
Tuning Guidance: Correlate risky sign-ins with endpoints that triggered the dropper or C2 queries above to raise fidelity.
Splunk SPL Query
index=azure sourcetype="azure:aad:signin"
earliest=-30d
(riskLevelDuringSignIn="high" OR riskLevelDuringSignIn="medium" OR riskState="atRisk")
| stats count values(ipAddress) AS ips values(appDisplayName) AS apps
min(_time) AS firstSeen max(_time) AS lastSeen by userPrincipalName, riskLevelDuringSignIn
| sort - count
// TUNING: Correlate with endpoints flagged by the dropper/C2 queries to reduce noise
// FALSE POSITIVES: Legitimate travel and VPN egress can elevate risk
// TELEMETRY: Microsoft Entra (Azure AD) sign-in logs
Microsoft KQL Query (Defender/Sentinel)
SigninLogs
| where TimeGenerated > ago(30d)
| where RiskLevelDuringSignIn in ("high","medium") or RiskState == "atRisk"
| summarize Count=count(), IPs=make_set(IPAddress, 10), Apps=make_set(AppDisplayName, 10),
FirstSeen=min(TimeGenerated), LastSeen=max(TimeGenerated)
by UserPrincipalName, RiskLevelDuringSignIn
| order by LastSeen desc
// TUNING: Join to DeviceNetworkEvents/DeviceFileEvents hits to confirm endpoint compromise
// FALSE POSITIVES: Legitimate travel and VPN usage
// TELEMETRY: Microsoft Entra (Azure AD) sign-in logs ingested into Sentinel
Note: These queries were generated with AI assistance. Test thoroughly in your environment before production use.
