Tool
Adversaries may buy, steal, or download software tools that can be used during targeting. Tools can be open or closed source, free or commercial. A tool can be used for malicious purposes by an adversary but was not originally intended for those purposes (e.g., PsExec, Mimikatz, Cobalt Strike). Adversaries may obtain tools to support their operations — including post-compromise execution, lateral movement, credential access, and discovery. Detection of this technique pivots from observing tool acquisition (which occurs on adversary infrastructure, outside the victim environment) to detecting the PRESENCE and EXECUTION of known offensive tools within the environment: dual-use administration utilities, credential access tools, post-exploitation frameworks, network scanners, and Active Directory reconnaissance tools. Real-world examples include DarkVishnya using Impacket and PsExec, Turla customizing Mimikatz, Magic Hound deploying Havij and sqlmap, Kimsuky using Nirsoft WebBrowserPassView, and Storm-1811 deploying RMM software and commodity malware.
let KnownOffensiveTools = dynamic([
// Credential access tools
"mimikatz.exe", "mimi32.exe", "mimimeme.exe",
"wce.exe", "wce32.exe", "fgdump.exe", "gsecdump.exe",
"lazagne.exe", "kekeo.exe",
// Kerberos attack tools
"rubeus.exe",
// AD recon tools
"sharphound.exe", "bloodhound.exe", "adexplorer.exe", "adexplorer64.exe",
// Remote execution tools
"psexec.exe", "psexec64.exe", "paexec.exe",
// Memory dumpers
"nanodump.exe", "safetydump.exe", "sharpdump.exe",
// Network scanners
"advanced_ip_scanner.exe", "advanced_port_scanner.exe",
// Misc dual-use tools known for adversary use
"rvtools.exe", "netscan.exe"
]);
let OffensiveCommandSignatures = dynamic([
// Mimikatz commands
"sekurlsa::", "lsadump::", "kerberos::", "privilege::debug",
"invoke-mimikatz", "dcsync",
// BloodHound/SharpHound collection
"sharphound", "-collectionmethod", "invoke-bloodhound",
// Kerberos attacks
"rubeus kerberoast", "rubeus asreproast", "rubeus dump", "rubeus s4u",
"invoke-kerberoast", "invoke-asreproast", "getuserspns",
// Impacket-style invocations
"invoke-smbexec", "invoke-wmiexec",
// PowerSploit / PowerShell post-exploit frameworks
"invoke-meterpreter", "get-gpppassword", "get-gppautologon",
"invoke-allchecks", "find-localadminaccess",
// Cobalt Strike / C2 beaconing artifacts
"beacon.exe", "artifact.exe",
// Metasploit artifacts
"msfstager", "msfpayload"
]);
let OffensivePathKeywords = dynamic([
"\\mimikatz", "\\lazagne", "\\rubeus", "\\sharphound", "\\bloodhound",
"\\impacket", "\\crackmapexec", "\\powersploit", "\\powerempire",
"\\cobaltstrike", "\\cobalt_strike", "\\metasploit",
"\\invoke-mimikatz", "\\kekeo", "\\sharpkatz"
]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName has_any (KnownOffensiveTools)
or ProcessCommandLine has_any (OffensiveCommandSignatures)
or FolderPath has_any (OffensivePathKeywords)
| extend DetectionCategory = case(
FileName has_any (KnownOffensiveTools), "KnownOffensiveToolExecutable",
ProcessCommandLine has_any (OffensiveCommandSignatures), "OffensiveCommandSignature",
FolderPath has_any (OffensivePathKeywords), "SuspiciousToolPath",
"Unknown"
)
| extend CredentialTool = FileName has_any ("mimikatz.exe", "mimi32.exe", "wce.exe", "lazagne.exe", "kekeo.exe", "fgdump.exe", "gsecdump.exe")
or ProcessCommandLine has_any ("sekurlsa::", "lsadump::", "invoke-mimikatz", "dcsync")
| extend KerberosTool = FileName has_any ("rubeus.exe")
or ProcessCommandLine has_any ("rubeus kerberoast", "rubeus asreproast", "rubeus dump", "invoke-kerberoast", "getuserspns")
| extend ADReconTool = FileName has_any ("sharphound.exe", "bloodhound.exe", "adexplorer.exe", "adexplorer64.exe", "rvtools.exe")
or ProcessCommandLine has_any ("sharphound", "-collectionmethod", "invoke-bloodhound")
| extend LateralMovementTool = FileName has_any ("psexec.exe", "psexec64.exe", "paexec.exe")
or ProcessCommandLine has_any ("invoke-smbexec", "invoke-wmiexec")
| project Timestamp, DeviceName, AccountName, FileName, FolderPath,
ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine,
DetectionCategory, CredentialTool, KerberosTool, ADReconTool, LateralMovementTool,
SHA256, MD5
| sort by Timestamp desc Data Sources
Required Tables
False Positives
- Authorized red team or penetration test engagements using Mimikatz, Rubeus, BloodHound, or PsExec with prior change ticket — coordinate with security team on expected activity windows
- IT administrators using PsExec, ADExplorer, or RVTools for legitimate system administration, remote execution, or AD inventory tasks — these are common dual-use tools in enterprise environments
- Security operations tooling that bundles or executes named tools for endpoint assessment (CrowdStrike, Tenable, Rapid7 InsightAgent) — baseline process ancestry from known security product parent processes
- Developer or security researcher workstations running offensive security tools as part of authorized research — document and baseline these devices separately from production endpoints
- Vendor-supplied diagnostic scripts that include Sysinternals tools (PsExec, procdump) as part of support engagements — verify with vendor and correlate with active support tickets
References (12)
- https://attack.mitre.org/techniques/T1588/002/
- https://www.sentinelone.com/labs/top-tier-target-what-it-takes-to-defend-a-cybersecurity-company-from-todays-adversaries/
- https://www.recordedfuture.com/blog/identifying-cobalt-strike-servers
- https://www.forescout.com/resources/analysis-of-conti-leaks/
- https://securelist.com/darkvishnya/89169/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1588.002/T1588.002.md
- https://github.com/gentilkiwi/mimikatz
- https://github.com/BloodHoundAD/SharpHound
- https://github.com/GhostPack/Rubeus
- https://learn.microsoft.com/en-us/sysinternals/downloads/psexec
- https://github.com/AlessandroZ/LaZagne
- https://github.com/SigmaHQ/sigma/tree/master/rules/windows/process_creation
Unlock Pro Content
Get the full detection package for T1588.002 including response playbook, investigation guide, and atomic red team tests.