This detection rule identifies adversary activity consistent with the Stealc malware family by monitoring for nine specific Indicators of Compromise (IOCs) known to facilitate data exfiltration and persistence. Proactively hunting for these signatures in Azure Sentinel is critical because early identification of Stealc IOCs allows the SOC team to rapidly isolate affected assets before sensitive credentials or intellectual property are compromised.
Malware Family: Stealc Total IOCs: 9 IOC Types: sha256_hash, sha1_hash, md5_hash, url, ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 94[.]26[.]83[.]155:80 | botnet_cc | 2026-07-05 | 100% |
| ip:port | 91[.]202[.]233[.]134:80 | botnet_cc | 2026-07-05 | 100% |
| url | hxxp://94[.]26[.]83[.]155/312b423bf6dd463f8d15.php | botnet_cc | 2026-07-05 | 75% |
| sha256_hash | 716608d7e9a26e980f916e73792abcb86bbb21fb949436b7f359afcaf730b078 | payload | 2026-07-05 | 95% |
| sha1_hash | 1dd66d9ee5902947bda7eb381fa256877a646879 | payload | 2026-07-05 | 95% |
| md5_hash | dc903b2967c0c943084a0d5c0d131cf1 | payload | 2026-07-05 | 95% |
| md5_hash | d3f9acfa6119f28d666e25d7e078570a | payload | 2026-07-05 | 95% |
| sha256_hash | 1095cf2951bbc8b1ecd33798afad192449a102aa1b976fb60bf566a08d693587 | payload | 2026-07-05 | 95% |
| sha1_hash | 53e0bf97e465842a9130aae1fcdf0968273f6d14 | payload | 2026-07-05 | 95% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - Stealc
let malicious_ips = dynamic(["91.202.233.134", "94.26.83.155"]);
CommonSecurityLog
| where DestinationIP in (malicious_ips) or SourceIP in (malicious_ips)
| project TimeGenerated, SourceIP, DestinationIP, DestinationPort, DeviceAction, Activity
| order by TimeGenerated desc
// Hunt in Defender for Endpoint network events
let malicious_ips = dynamic(["91.202.233.134", "94.26.83.155"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc
// Hunt for access to known malicious URLs
// Source: ThreatFox - Stealc
let malicious_urls = dynamic(["http://94.26.83.155/312b423bf6dd463f8d15.php"]);
UrlClickEvents
| where Url has_any (malicious_urls)
| project Timestamp, AccountUpn, Url, ActionType, IsClickedThrough
| order by Timestamp desc
// Hunt for files matching known malicious hashes
// Source: ThreatFox - Stealc
let malicious_hashes = dynamic(["716608d7e9a26e980f916e73792abcb86bbb21fb949436b7f359afcaf730b078", "1dd66d9ee5902947bda7eb381fa256877a646879", "dc903b2967c0c943084a0d5c0d131cf1", "d3f9acfa6119f28d666e25d7e078570a", "1095cf2951bbc8b1ecd33798afad192449a102aa1b976fb60bf566a08d693587", "53e0bf97e465842a9130aae1fcdf0968273f6d14"]);
DeviceFileEvents
| where SHA256 in (malicious_hashes) or SHA1 in (malicious_hashes) or MD5 in (malicious_hashes)
| project Timestamp, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName
| order by Timestamp desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | Ensure this data connector is enabled |
DeviceFileEvents | Ensure this data connector is enabled |
DeviceNetworkEvents | Ensure this data connector is enabled |
UrlClickEvents | Ensure this data connector is enabled |
Here are 5 specific false positive scenarios for the ThreatFox: Stealc IOCs detection rule in an enterprise environment, along with suggested filters or exclusions:
Endpoint Protection Scanning Operations
C:\ProgramData\Stealc directory. During this process, the scanner generates multiple network connections to internal update servers and DNS queries that match Stealc IOCs due to shared IP ranges or domain names used by both the threat and legitimate enterprise infrastructure.NT SERVICE\CrowdStrikeService, LocalSystem) where the process path matches the installed EDR binary location, specifically filtering out connections to internal IP subnets used for patch management.Software Deployment via SCCM/Intune
ccmexec.exe or Microsoft.IntuneManagementExtension that connect to specific whitelisted FQDNs associated with the deployed software vendor, excluding alerts where the parent process is a known deployment engine.Legacy Application Maintenance Jobs
schtasks.exe). This job invokes a script that establishes connections to an external data provider using specific IP addresses and ports that