This rule detects the execution of malicious HTML Application (HTA) files, a technique frequently exploited by adversaries to bypass security controls and establish initial footholds or execute payloads. Proactively hunting for these URLs in Azure Sentinel is critical because HTA files often operate in a trusted context, allowing attackers to run code with elevated privileges and evade standard endpoint detections.
Threat: hta Total URLs: 8 Active URLs: 1
| URL | Status | Threat | Date Added |
|---|---|---|---|
hxxp://96.44.167.210/18/bcc.hta | offline | malware_download | 2026-09-17 |
hxxp://107.175.148.115/60/givingbestthings.hta | offline | malware_download | 2026-09-17 |
hxxp://212.2.35.14/35/givingmebestthings.hta | offline | malware_download | 2026-09-17 |
hxxp://107.173.227.124/60/goodthings.hta | offline | malware_download | 2026-09-17 |
hxxp://192.236.217.110/83/goodthings.hta | offline | malware_download | 2026-09-17 |
hxxp://96.44.167.210/15/givenmebestthingsforbetter.hta | offline | malware_download | 2026-09-17 |
hxxp://107.172.172.220/80/ggb.hta | offline | malware_download | 2026-09-17 |
hxxp://96.44.167.210/16/CMH.hta | online | malware_download | 2026-09-17 |
// Hunt for DNS resolution of URLhaus malicious domains
// Threat: hta
let malicious_domains = dynamic(["96.44.167.210"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses
| order by TimeGenerated desc
// Hunt for web traffic to URLhaus malicious domains
let malicious_domains = dynamic(["96.44.167.210"]);
CommonSecurityLog
| where RequestURL has_any (malicious_domains) or DestinationHostName has_any (malicious_domains)
| project TimeGenerated, SourceIP, RequestURL, DestinationHostName, DeviceAction
| order by TimeGenerated desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | Ensure this data connector is enabled |
DnsEvents | Ensure this data connector is enabled |
.hta script to automate the patching of a legacy internal tool (e.g., a custom-built inventory management system) that relies on a specific JavaScript library hosted on a shared internal CDN or a third-party update server. The URL might be a known benign endpoint for that specific library version.
/libs/jquery/) or filter by process name mshta.exe when the parent process is a known development tool (e.g., Code.exe, VisualStudio.exe, or cmd.exe initiated by a user in the DevOps group).http://backup-verify.internal/api/status).
.internal, .corp, .local) or filter by the scheduled task name (e.g., TaskName: "Backup_Verification") and the user account running it (e.g., User: "svc-backup").https://updates.vendor.com/plugins/check).