Widget Purpose: Visualizes spikes in failed authentication attempts (Event ID 4625) over time. Brute-force or password spray attacks create distinct time-based spikes โ this bar chart makes them immediately visible.
event.code: 4625 and event.outcome: "failure"
| Setting | Value |
|---|---|
| Chart Type | Vertical Bar Chart (Stacked) |
| Vertical Axis | Count of records |
| Horizontal Axis | @timestamp โ set interval to 1 hour or 30 min |
| Break down by (Color) | user.name โ Top 10 targeted users |
Widget Purpose: Detects malicious Office documents spawning command shells. When a user opens a weaponized attachment, Word/Excel spawns cmd.exe or PowerShell โ this process lineage is highly anomalous.
event.code: (4688 or 1) and process.parent.name: ("winword.exe" or "excel.exe" or "powerpnt.exe" or "outlook.exe") and process.name: ("cmd.exe" or "powershell.exe" or "wscript.exe" or "cscript.exe")
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | process.parent.name |
| Row โ Break down by | process.command_line |
Widget Purpose: Searches web server access logs (IIS, nginx, Apache) for directory traversal, SQLi, command injection (cmd.exe), and Log4j JNDI payloads. Requires web server logs to be ingested into Elastic.
event.dataset: ("iis.access" or "nginx.access" or "apache.access") and url.original: (*cmd.exe* or *jndi\:ldap* or *UNION+SELECT* or *..%2f..%2f*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | source.ip โ the attacker's IP |
| Row โ Break down by | url.original โ the malicious payload |
| Row โ Break down by | http.response.status_code |
Widget Purpose: Tracks suspicious usage of PowerShell, Windows Command Shell, and Linux Bash, focusing on common evasion and download flags like -enc, -hidden, and DownloadString.
event.code: (4688 or 1) and process.name: ("powershell.exe" or "pwsh.exe" or "cmd.exe" or "bash" or "sh") and process.command_line: (*enc* or *hidden* or *DownloadString* or *Invoke-WebRequest* or *curl* or *wget*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.name |
| Row โ Break down by | process.command_line |
Widget Purpose: WMI with "process call create" or /node: flags indicates remote execution against another host โ a major red flag when not originating from a known admin script.
event.code: (4688 or 1) and process.name: "wmic.exe" and process.command_line: (*process call create* or */node:*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.command_line |
Widget Purpose: Tracks both command-line task creation (schtasks.exe /create) and Windows Security Event 4698 (task officially registered), providing dual-layer visibility.
event.code: 4698 or (event.code: (4688 or 1) and process.name: "schtasks.exe" and process.command_line: *create*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.command_line |
Widget Purpose: Malware writes itself into Run/RunOnce registry keys to survive reboots. Dual coverage via Sysmon registry events (EID 12/13) and reg.exe command-line modifications.
(event.code: (12 or 13) and registry.path: *CurrentVersion\\Run*) or (event.code: (4688 or 1) and process.name: "reg.exe" and process.command_line: (*add* and *Run*))
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | registry.path |
| Row โ Break down by | process.command_line |
Widget Purpose: Adversaries abuse certutil.exe -decode to decode Base64-encoded payloads dropped on disk, bypassing AV signature detection.
event.code: (4688 or 1) and process.command_line: (*certutil* and *decode*) or process.command_line: (*base64* and *decode*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.command_line |
Widget Purpose: Before ransomware or destructive actions, attackers disable Defender, clear event logs, and delete shadow copies. Event IDs 1102 and 104 fire specifically when logs are cleared โ include those alongside process creates.
event.code: (1102 or 104 or 4688 or 1) and process.command_line: (*Disable-MpPreference* or *Set-MpPreference* or *netsh advfirewall set* or *wevtutil cl* or *vssadmin delete shadows*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.command_line |
โ Event IDs 1102 (Security log cleared) and 104 (System log cleared) are critical standalone indicators even without command_line data.
Widget Purpose: Sysmon Event ID 8 (CreateRemoteThread) is the gold standard for catching process injection. Malware hides inside lsass.exe or svchost.exe โ any hit in this table is a critical alert.
event.code: 8 and target.process.name: ("explorer.exe" or "svchost.exe" or "winlogon.exe" or "lsass.exe")
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | process.name โ the malicious injecting process |
| Row โ Break down by | target.process.name โ the legitimate process being hijacked |
Widget Purpose: Malware renamed to svchost.exe, lsass.exe, etc. runs from C:\Temp or AppData โ not System32. The executable path column immediately exposes the fake location.
event.code: (4688 or 1) and process.name: ("svchost.exe" or "lsass.exe" or "services.exe" or "explorer.exe") and process.executable: (*\\AppData\\* or *\\Temp\\* or *\\Public\\* or *\\Users\\*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.executable โ shows the fake path |
Widget Purpose: Catches known credential dumping tools (Mimikatz, ProcDump) and native DLL abuse (comsvcs.dll MiniDump). The optional Sysmon Event 10 add-on catches custom/unknown dumpers via process access to lsass.
event.code: (4688 or 1) and process.command_line: (*mimikatz* or *procdump*lsass* or *comsvcs.dll*MiniDump* or *Out-Minidump*) -- OPTIONAL: also add (if Sysmon Event 10 is enabled): -- or (event.code: 10 and target.process.name: "lsass.exe")
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.command_line |
Widget Purpose: After initial access, adversaries run a rapid burst of built-in recon commands (systeminfo, whoami, ipconfig, tasklist). A stacked bar chart with a 10-minute interval reveals this cluster of activity as an unmistakable spike on a single host.
event.code: (4688 or 1) and process.name: ("systeminfo.exe" or "whoami.exe" or "ipconfig.exe" or "tasklist.exe" or "netstat.exe" or "route.exe")
| Setting | Value |
|---|---|
| Chart Type | Vertical Bar Chart (Stacked) |
| Vertical Axis | Count of records |
| Horizontal Axis | @timestamp โ set interval to 10 minutes to spot rapid bursts |
| Break down by (Color) | host.name |
Widget Purpose: Post-compromise, adversaries enumerate users and groups to identify privileged accounts. A sudden burst of net user/group commands from a standard workstation is highly anomalous.
event.code: (4688 or 1) and process.command_line: (*net*user* or *net*group* or *net*localgroup* or *Get-ADUser* or *Get-LocalUser*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.command_line |
Widget Purpose: Before lateral movement, adversaries map the network using native tools. Stacked bar by host.name with timestamp shows scanning spikes โ a burst from one host over a short window is the key indicator.
event.code: (4688 or 1) and process.command_line: (*arp*-a* or *Test-NetConnection* or *nmap* or *ping*-n*)
| Setting | Value |
|---|---|
| Chart Type | Vertical Bar Chart |
| Vertical Axis | Count of records |
| Horizontal Axis | @timestamp |
| Break down by (Color) | host.name โ look for one host dominating a spike |
Widget Purpose: Tracks lateral movement via RDP (Logon Type 10 = interactive remote session) and PsExec service installation (Event 7045). The source.ip column shows which machine is the pivot point.
(event.code: 4624 and winlog.logon.type: 10) or (event.code: 7045 and service.name: *PSEXESVC*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name โ the destination machine |
| Row โ Break down by | user.name |
| Row โ Break down by | source.ip โ where they are moving from |
Widget Purpose: Once an attacker has credentials, they copy malware directly to ADMIN$ or C$ shares on other computers. The destination path in process.command_line immediately reveals the target machine.
event.code: (4688 or 1) and process.command_line: (*copy* or *xcopy* or *robocopy*) and process.command_line: (*\\*C$* or *\\*ADMIN$*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name โ where copy was initiated |
| Row โ Break down by | user.name |
| Row โ Break down by | process.command_line โ shows destination machine in UNC path |
Widget Purpose: Attackers use built-in "Living off the Land" binaries (certutil, bitsadmin) to download malicious executables while bypassing web filters. Complements the Suricata network rule with host-level visibility.
event.code: (4688 or 1) and process.command_line: (*certutil*urlcache* or *bitsadmin*transfer* or *wget* or *curl*)
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.command_line |
Widget Purpose: Adversaries abuse legitimate cloud sync clients (rclone, MEGAsync, FileZilla, WinSCP) to exfiltrate data. These tools are rarely legitimate on corporate endpoints and their presence is nearly always an IOC.
event.code: (4688 or 1) and process.name: ("rclone.exe" or "megasync.exe" or "filezilla.exe" or "winscp.exe")
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | user.name |
| Row โ Break down by | process.name |
Widget Purpose: Detects ransomware at the file-level by watching for known encrypted extensions and ransom note filenames via Sysmon File Creation events (EID 11) โ without needing to know the specific malware strain.
event.code: 11 and (file.extension: ("cry" or "enc" or "lock" or "djvu") or file.name: (*README.txt* or *DECRYPT_INFO.html*))
| Setting | Value |
|---|---|
| Chart Type | Data Table |
| Metrics (Values) | Count of records |
| Row โ Break down by | host.name |
| Row โ Break down by | file.path |
| Row โ Break down by | process.name โ the encrypting process |