← Back to SOC feed Coverage →

ThreatFox: Stealc IOCs

ioc-hunt HIGH ThreatFox
CommonSecurityLogDeviceNetworkEventsDnsEventsUrlClickEvents
iocthreatfoxwin-stealc
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at ThreatFox →
Retrieved: 2026-08-27T11:00:00Z · Confidence: high

Hunt Hypothesis

This hunt detects adversary activity by identifying known Indicators of Compromise (IOCs) linked to the Stealc malware family within Azure Sentinel logs. Proactively hunting for these specific signatures allows the SOC team to rapidly identify and contain potential infections before they escalate into broader lateral movement or data exfiltration incidents.

IOC Summary

Malware Family: Stealc Total IOCs: 32 IOC Types: domain, url, ip:port

TypeValueThreat TypeFirst SeenConfidence
ip:port23[.]94[.]252[.]4:443botnet_cc2026-08-2775%
domainwindows-update-local.restbotnet_cc2026-08-27100%
urlhxxp://91[.]92[.]241[.]119/botnet_cc2026-08-27100%
urlhxxp://31[.]77[.]228[.]62/botnet_cc2026-08-27100%
urlhxxp://80[.]76[.]49[.]106/botnet_cc2026-08-27100%
urlhxxp://158[.]94[.]208[.]32/botnet_cc2026-08-27100%
urlhxxp://178[.]16[.]52[.]93/botnet_cc2026-08-27100%
urlhxxp://103[.]101[.]85[.]184/botnet_cc2026-08-27100%
urlhxxp://135[.]181[.]127[.]244/botnet_cc2026-08-27100%
ip:port94[.]103[.]88[.]121:80botnet_cc2026-08-2775%
ip:port95[.]135[.]181[.]73:80botnet_cc2026-08-2775%
ip:port2[.]27[.]5[.]214:80botnet_cc2026-08-2775%
ip:port31[.]77[.]228[.]40:80botnet_cc2026-08-2775%
ip:port31[.]77[.]228[.]62:80botnet_cc2026-08-2775%
ip:port43[.]228[.]157[.]66:80botnet_cc2026-08-2775%
ip:port45[.]88[.]91[.]77:80botnet_cc2026-08-2775%
ip:port78[.]17[.]93[.]167:80botnet_cc2026-08-2775%
ip:port80[.]76[.]49[.]106:80botnet_cc2026-08-2775%
ip:port80[.]76[.]49[.]77:80botnet_cc2026-08-2775%
ip:port91[.]92[.]241[.]119:80botnet_cc2026-08-2775%
ip:port91[.]92[.]241[.]69:80botnet_cc2026-08-2775%
ip:port91[.]92[.]242[.]73:80botnet_cc2026-08-2775%
ip:port196[.]251[.]107[.]163:80botnet_cc2026-08-2775%
ip:port158[.]94[.]209[.]112:80botnet_cc2026-08-2775%
ip:port158[.]94[.]211[.]113:80botnet_cc2026-08-2775%

KQL: Ip Hunt

// Hunt for network connections to known malicious IPs
// Source: ThreatFox - Stealc
let malicious_ips = dynamic(["23.94.252.4", "196.251.107.163", "158.94.211.113", "80.76.49.77", "31.77.228.62", "178.16.52.90", "91.92.241.119", "158.94.208.32", "193.148.56.226", "160.20.109.90", "91.92.241.69", "94.103.88.121", "91.92.242.73", "2.27.5.214", "80.76.49.106", "135.181.127.244", "160.20.109.16", "78.17.93.167", "95.135.181.73", "45.88.91.77", "158.94.209.112", "43.228.157.66", "160.20.109.33", "31.77.228.40"]);
CommonSecurityLog
| where DestinationIP in (malicious_ips) or SourceIP in (malicious_ips)
| project TimeGenerated, SourceIP, DestinationIP, DestinationPort, DeviceAction, Activity
| order by TimeGenerated desc

KQL: Ip Hunt Device

// Hunt in Defender for Endpoint network events
let malicious_ips = dynamic(["23.94.252.4", "196.251.107.163", "158.94.211.113", "80.76.49.77", "31.77.228.62", "178.16.52.90", "91.92.241.119", "158.94.208.32", "193.148.56.226", "160.20.109.90", "91.92.241.69", "94.103.88.121", "91.92.242.73", "2.27.5.214", "80.76.49.106", "135.181.127.244", "160.20.109.16", "78.17.93.167", "95.135.181.73", "45.88.91.77", "158.94.209.112", "43.228.157.66", "160.20.109.33", "31.77.228.40"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc

KQL: Domain Hunt

// Hunt for DNS queries to known malicious domains
// Source: ThreatFox - Stealc
let malicious_domains = dynamic(["windows-update-local.rest"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses, QueryType
| order by TimeGenerated desc

KQL: Url Hunt

// Hunt for access to known malicious URLs
// Source: ThreatFox - Stealc
let malicious_urls = dynamic(["http://91.92.241.119/", "http://31.77.228.62/", "http://80.76.49.106/", "http://158.94.208.32/", "http://178.16.52.93/", "http://103.101.85.184/", "http://135.181.127.244/"]);
UrlClickEvents
| where Url has_any (malicious_urls)
| project Timestamp, AccountUpn, Url, ActionType, IsClickedThrough
| order by Timestamp desc

Required Data Sources

Sentinel TableNotes
CommonSecurityLogEnsure this data connector is enabled
DeviceNetworkEventsEnsure this data connector is enabled
DnsEventsEnsure this data connector is enabled
UrlClickEventsEnsure this data connector is enabled

References

False Positive Guidance

Here are 5 specific false positive scenarios for the ThreatFox: Stealc IOCs detection rule, along with targeted filters and exclusions:

Original source: https://threatfox.abuse.ch/browse/malware/win.stealc/