This detection rule identifies network traffic exhibiting signatures of the Mirai botnet, specifically targeting known indicators of compromise such as command-and-control communications and vulnerable IoT device interactions. Proactively hunting for these behaviors in Azure Sentinel is critical to rapidly isolate compromised endpoints before they are leveraged in large-scale DDoS attacks or lateral movement campaigns within the organization’s cloud infrastructure.
Malware Family: Mirai Total IOCs: 11 IOC Types: url, ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 176[.]65[.]139[.]244:1337 | botnet_cc | 2026-08-11 | 80% |
| url | hxxp://77[.]90[.]185[.]66/wget | payload_delivery | 2026-08-11 | 50% |
| url | hxxp://77[.]90[.]185[.]66/mirai.mips | payload_delivery | 2026-08-11 | 50% |
| url | hxxp://77[.]90[.]185[.]66/mirai.mpsl | payload_delivery | 2026-08-11 | 50% |
| url | hxxp://77[.]90[.]185[.]66/mirai.arm | payload_delivery | 2026-08-11 | 50% |
| url | hxxp://77[.]90[.]185[.]66/mirai.arm5 | payload_delivery | 2026-08-11 | 50% |
| url | hxxp://77[.]90[.]185[.]66/mirai.arm7 | payload_delivery | 2026-08-11 | 50% |
| ip:port | 62[.]84[.]172[.]106:8033 | botnet_cc | 2026-08-11 | 100% |
| ip:port | 217[.]217[.]243[.]76:8033 | botnet_cc | 2026-08-11 | 100% |
| ip:port | 103[.]27[.]78[.]14:8033 | botnet_cc | 2026-08-11 | 100% |
| ip:port | 176[.]65[.]139[.]236:1337 | botnet_cc | 2026-08-11 | 80% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - Mirai
let malicious_ips = dynamic(["62.84.172.106", "217.217.243.76", "176.65.139.236", "103.27.78.14", "176.65.139.244"]);
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(["62.84.172.106", "217.217.243.76", "176.65.139.236", "103.27.78.14", "176.65.139.244"]);
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 - Mirai
let malicious_urls = dynamic(["http://77.90.185.66/wget", "http://77.90.185.66/mirai.mips", "http://77.90.185.66/mirai.mpsl", "http://77.90.185.66/mirai.arm", "http://77.90.185.66/mirai.arm5", "http://77.90.185.66/mirai.arm7"]);
UrlClickEvents
| where Url has_any (malicious_urls)
| project Timestamp, AccountUpn, Url, ActionType, IsClickedThrough
| order by Timestamp desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | 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: Mirai IOCs detection rule, tailored to a legitimate enterprise environment:
Scenario: Scheduled Firmware Updates via IoT Management Platform
10.50.40.0/24) to destination ports 80 and 443, provided the source device is tagged with a “Managed-IoT” attribute in the asset inventory.Scenario: Automated Vulnerability Scanning of Network Perimeter
23 (Telnet) and 80 (HTTP) on firewall edge devices, mimicking the initial Mirai scanning behavior used to identify vulnerable hosts.192.168.10.5) during the defined maintenance window (e.g., 02:00 to 04:00 UTC), specifically filtering for UDP traffic on ports 23, 80, and 2379.Scenario: Legacy SCADA System Communication