This detection targets adversaries leveraging custom or known .NET-based offensive and defensive tools that can be identified through specific filename patterns recognized by YARA rules. Proactively hunting for these artifacts in Azure Sentinel is essential to uncover stealthy reconnaissance activities and potential tool deployment during the early stages of an attack lifecycle, even when traditional behavioral indicators are absent.
rule HKTL_NET_NAME_Aggressor {
meta:
description = "Detects .NET red/black-team tools via name"
reference = "https://github.com/k8gege/Aggressor"
author = "Arnim Rupp"
date = "2021-01-22"
strings:
$name = "Aggressor" ascii wide
$compile = "AssemblyTitle" ascii wide
condition:
(uint16(0) == 0x5A4D and uint32(uint32(0x3C)) == 0x00004550) and all of them
}
This YARA rule can be deployed in the following contexts:
This rule contains 2 string patterns in its detection logic.
Here are 5 specific false positive scenarios for the HKTL_NET_NAME_Aggressor rule, along with suggested filters and exclusions:
Scenario: Automated Patch Management via Microsoft SCCM
ccmexec.exe) frequently launches .NET-based deployment agents or custom scripts during scheduled maintenance windows. These processes often spawn child processes with filenames like Microsoft.Update.Client.exe or generic tool names matching the rule’s pattern, triggering alerts even though they are part of standard infrastructure operations.ccmexec.exe and the execution path resides within the C:\Windows\CCM\ directory.Scenario: Internal DevOps Build Pipelines (Jenkins/GitLab Runners)
dotnet.exe, MSBuild.exe, or custom internal utilities named BuildAggregator.dll are launched by the runner service, mimicking red-team tool behavior due to their .NET nature and specific naming conventions.DOMAIN\JenkinsService) or restrict detection to exclude paths containing \BuildAgents\ or \GitLab\.Scenario: Scheduled Antivirus and EDR Scanning Tasks
SentinelOne.Agent.exe or CrowdStrike.FalconService.exe may spawn child processes with names