What an Agentic Attack Looks Like in Splunk Attack Range

Security Rod Soto Splunk Threat Research Team

With the current drive of Agents being implemented at an incredible pace and autonomy, and the surge of documented rogue agentic attacks against organizations, I decided to try to see what an Agentic Swarm attack would look like in Splunk. For this purpose, I used STRT's favorite tool, the Splunk Attack Range (Modified local version). I then created an offensive agentic swarm (5) using Hermes and tested a defensive agentic framework I have been developing in my free time (Defensa Azul). I set up a Splunk Attack Range containing a Windows Domain Controller, Windows workstation, and Linux/NGINX server.

For this lab, I collected the following telemetry

Figure 01 – Lab Environment Architecture

The following is the lab environment network breakdown by sever roles (targets) and respective agentic attack flow, identity, objective and specific tasks.

Figure 02 – The Agentic Swarm Red

Agent 01: Reconnaissance

Agent ID
agent-01-recon
Role
real_network_and_dns_recon
Definition
Passive and active network reconnaissance agent. Operates without credentials. Maps the target environment through anonymous directory queries, unauthenticated RPC probes, and socket-level port scanning. Feeds discovered topology (domain names, open services) to downstream agents.
Task
Enumerate the Active Directory domain name, assess the anonymous access surface (LDAP/SAMR), and produce a complete open-port map of every in-scope target.
Objective: Deliver `domain_fqdn` and open-port intelligence to agent-02 and agent-04/05 so they can derive username guesses, select target ports, and initiate credential-access phases without manual configuration.
Objective(s)
Deliver `domain_fqdn` and open-port intelligence to agent-02 and agent-04/05 so they can derive username guesses, select target ports, and initiate credential-access phases without manual configuration.
Events Produced
20 step_complete events

Agent 02: Credential Validation and Lateral Movement

Agent ID
`agent-02-cred-lateral`
Role
real_credential_validation_and_lateral_movement
Definition
Blind credential-access agent. Starts with zero knowledge of any domain account. Uses Kerberos pre-authentication error codes as a username oracle, then sprays a domain-derived password wordlist against confirmed-valid accounts over real SMB authentication. Upon success, laterally moves to the workstation using the cracked credential.
Task
(A) Discover real domain usernames via unauthenticated Kerberos AS-REQ probes.
(B) Crack their passwords via SMB password spray.
(C) Establish an authenticated admin session on the Windows client.
Objective(s)
Populate `admin_creds` in shared state so agent-03 can perform Domain Admin escalation without re-cracking credentials. Confirm lateral movement to `win-client01`.
Credentials used: None at start. Passwords discovered during attack.
Events Produced
99 step_complete events, 5 objective transitions

Agent 03: Credential Validation and Lateral Movement

Agent ID
agent-03-domain-admin
Role
real_domain_admin_takeover
Definition
Privilege-escalation and credential-dumping agent. Waits for agent-02 to deliver a cracked admin-capable credential, then uses it to authenticate against LDAP, confirm Domain Admins group membership, and perform a full NTDS.dit secrets extraction via the DRSUAPI replication interface (DCSync).
Task
(A) Authenticate to LDAP using the credential from agent-02.
(B) Enumerate Domain Admins membership to confirm privilege.
(C) Dump all domain account NT hashes via DCSync.
Objective(s)
Publish `is_domain_admin: true` and the full list of dumped account names to shared state, proving complete domain compromise.
Credentials used: `range-admin:Password101` (discovered by agent-02)
Events Produced
3 step_complete events, 2 objective transitions

Agent 04: Ngnix Web Attack

Agent ID
agent-04-nginx-webattack
Role
real_nginx_webattack
Definition
Unauthenticated web reconnaissance and content-discovery agent. Probes known paths for fingerprinting, then performs a blind directory/file brute-force using an entirely generic gobuster/dirbuster-style wordlist with zero prior knowledge of the target's actual build or configuration.
Task
(A) Recon fixed paths (`/`, `/api/health`, `/admin`, `/robots.txt`, `/login`, `/wp-login.php`) to fingerprint the server.

(B) Brute-force 64 additional paths covering admin panels, backup files, config leaks, debug endpoints, and common application frameworks.
Objective(s)
Determine whether nginx-server01 exposes any hidden content, admin interfaces, source/config leaks, or upload/execution endpoints. Report all non-404 paths with response bodies for manual review.
Events Produced
76 step_complete events, 3 objective transitions

Agent 05: Linux SSH Takeover

Agent ID
agent-05-linux-takeover
Role
real_linux_takeover
Definition
Credential-access and privilege-escalation agent targeting the Linux container's SSH service. Performs a two-phase blind brute-force (generic weak passwords, then a broader training-range default-credential wordlist), followed by authenticated command execution and `sudo`-based privilege escalation to root.
Task
(A) Brute-force 50 SSH credential pairs (5 usernames × 10 weak passwords).
(B) Brute-force 8 additional pairs from a broader default-credential wordlist.
(C) Execute `whoami`, `hostname`, `id` as the cracked low-priv user.
(D) Escalate to root via `sudo -S`.
Objective(s)
linux_root: true` to shared state, confirming full compromise of the Linux host (remote code execution + root escalation).
Events Produced
60 step_complete events, 3 objective transitions

*Agents communicate through `shared_state: dict`, a plain Python dictionary passed to all 5 `ThreadPoolExecutor` threads

The inference engine used for Red Agentic Swarm was Claude Sonnet 5 and DeepSeekv4pro (via Hermes as orchestrator). The following are the highlights and results from the attack runs

The Agentic Defense (Defensa Azul)

Defensa Azul is an experimental, policy-gated active-defense framework designed to detect, analyze, propose, decide, execute, and automatically roll back security responses across enterprise targets. It shifts defensive operations from passive observation to verifiable, temporary, policy-constrained endpoint containment.

Defensive Agents & Actors

Defensa Azul structures its defensive operations across 3 core LLM analyst agents, 5 pipeline decision actors, and 2 endpoint agents:

Active Defense Architecture (Defensa Azul)

Figure 03 – Defensa Azul Architecture

Defensa Azul operates through a strict 7-stage lifecycle via 5 architect layers:

Figure 04 – Defensa Azul Layers

  1. Telemetry Inputs Layer:
  1. Defensa Azul Gateway Layer:
  1. Worker and Planner Layer:
  1. Policy Safety Gate (safety-arbiter):
  1. Windows Endpoint Agent Layer:

The Data: Attack Outcomes and Defensive Evidence (explained through the 7 stage lifecycle)

The attack runs exercised several objective classes across Windows, Active Directory, web, and Linux targets. The expected defensive signature was activity concentrated within a short time window, spanning discovery, authentication attempts, credential validation, and attempts to gain control of systems.

Why defenders should care: these activities can appear as separate alerts in different monitoring tools. Connecting them helps defenders determine whether reconnaissance is progressing into successful access, which accounts and systems are affected, and where intervention could interrupt further compromise. Timing provides a starting point for correlation; shared source addresses, accounts, targets, and session identifiers provide stronger links.

Expected Defensive Signature

The runs were intended to produce the following related patterns:

Activity Area
Expected Signature
Defensive Significance
Timing and Target Coverage
Concentrated activity across multiple target classes within a short window
Gives analysts a window in which to investigate potentially related events across systems.
Windows & Identity Infrastructure
Authentication spraying, credential validation, and AD/Kerberos/LDAP activity
Helps distinguish attempts to discover accounts or guess credentials from subsequent successful access.
Web Discovery
Requests against a Nginx service, including directory and sensitive-file discovery
Identifies attempts to locate exposed configuration, repositories, backups, or logs.
Linux Access
SSH brute-force attempts and a Linux takeover objective
Tests visibility into a separate access path that Windows authentication telemetry alone cannot explain.

These are expected patterns. The evidence below establishes which parts were observed and which require further validation.

Reported Attack Outcomes

The supplied attack-run statuses reported the following results. “Success” here describes the reported objective outcome; it does not mean that the telemetry listed below independently proves every outcome or that every run succeeded.

Objective
Reported status
Why it matters to defenders
Kerberos username enumeration
Started; success
Identifying valid accounts can make subsequent authentication attacks more targeted.
Password spray
Started; success
Tests whether attempts across accounts can obtain usable credentials.
Credential validation
Success
Indicates that the attack process reported finding credentials it could validate.
Windows client takeover
Started; success
Represents a reported transition from credential activity to endpoint control.
Domain Admin escalation
Started; success
Represents a reported increase in privileges with potentially domain-wide consequences.
Nginx reconnaissance
Started; surface needs manual review
The discovered surface requires review before drawing conclusions about exposure.
Nginx directory brute-force
Started; success
Reports successful discovery activity; it does not by itself establish sensitive-data retrieval.
Linux SSH brute-force
Started; success
Tests whether repeated SSH authentication attempts can obtain access.
Linux SSH takeover
Started; success
Reports control of a Linux target, requiring host evidence to corroborate the result.

Observed Evidence and Its Interpretation

The evidence combines Windows security events, web requests, network telemetry, and Defensa Azul’s own processing records. Each source answers a different investigative question.

Evidence
What it establishes
What defenders should examine
Windows Event ID 4625 associated with the domain controller
Failed logon attempts. Individual failures do not establish password spraying.
Account distribution, source information, failure codes, and timing to assess whether failures form a coordinated pattern.
Windows Event ID 4776
NTLM credential-validation attempts, which can succeed or fail. This event does not establish Kerberos enumeration.
Account, source workstation, and result code to distinguish failed validation from accepted credentials.
Windows Event IDs 4624 and 4672 within the run windows
Successful logons and assignment of sensitive privileges to new logon sessions. Their presence alone does not prove takeover or Domain Admin escalation.
Correlate logon IDs on the same host, account identity, source information, and subsequent activity to determine whether the sessions belong to the attack.
Nginx requests for ./env, ./git/config, /backup.zip, /ngnix.conf, /access.log, and /error.log
Requests targeting potentially sensitive files and configuration. These paths are reproduced as supplied.
Response codes, response sizes, and returned content to determine whether requests failed, discovered resources, or retrieved data.
Zeek evidence of multiport activity against the domain controller
Network activity involving multiple destination ports on that target.
Source addresses, destination ports, identified services, and connection results to assess its relationship to the authentication activity.
Defensa Azul detection, analysis, proposal, and decision events
Records of the system’s assessment and proposed response.
Link each decision to its triggering evidence, proposed action, and policy result. Action and verification records are needed to establish enforcement.

The listed evidence does not include Linux SSH authentication or session logs, or specific Kerberos/LDAP records. Those parts of the reported outcomes therefore need additional corroboration. Likewise, events occurring in the same run window should be linked through account, host, source, or session details before being presented as one confirmed attack sequence.

Transition to Block Mode

After several attack runs, Defensa Azul was switched to block mode. This marks the transition to evaluating active intervention alongside detection and analysis.

The relevant lifecycle remains:

For defenders, the key question becomes whether an approved action interrupted the relevant attack activity and whether its effect was verified. The block-mode results should connect the triggering evidence to the policy decision, the action taken, the observed outcome, and any rollback or closure.

Switching modes establish the configuration change. Demonstrating successful blocking requires action records and follow-up evidence showing what happened to the targeted activity.

Active Defense

The active defense mechanism was intentionally narrow. It did not try to "take over" the host, patch services, disable accounts, or quarantine entire machines. It applied short-lived Windows Firewall rules scoped to the specific observed attack path.

The active response was:

Field
Value
Target
win-dc01
Action
windows_firewall_block
Direction
inbound
Protocol
TCP
Port
445
Direct Attacker Source
192.168.1.151
Observed bridge-path source
192.168.1.67
Rollback
Automatic removal of the exact firewall rule

The bridge-path source became one of the most important findings. The attacker VM was `192.168.1.151`, but the domain controller often saw SMB authentication activity as coming from `192.168.1.67`, the lab host or bridge path. Defensa Azul had to defend based on the telemetry the endpoint observed, not only the network diagram expected.

Figure 05 – Defensa Azul Response Flow

Campaign timeline

Figure 06 – Campaign Timeline

Swarm Objective timeline

Figure 07 – Swarb Objective Timeline

Windows Authentication Failures

Figure 08 – Windows Authentication Failures

Ngnix Path Summaries

Figure 09 – Ngnix Path Summaries

Zeek Domain Controller Probe Evidence

Figure 10 – Zeek Evidence

Zeek SSH check

Figure 11 – Zeek SSH Check

Defensa Azul (action, event types and outcomes)

Figure 12 – Defensa Azul Outcomes

Defensa Azul Active Defense

Figure 13 – Active Defense

Defensa Azul was switched to block mode during the last attack runs; the blocking needed to be specific and was rolled back after the attack finished. It was never instructed to block completely. The inference agent used was ChatGPT Sol 5.5.

How Agentic Swarm Attacks Differ from Standard Attacks

Although this is a new and developing type of attack, we can certainly pinpoint differences with attacks “before” agentic swarms.

Key Lessons Learned

  • Correlate Across Telemetry Domains: Defenders watching a single log source (such as web proxy logs or Windows Event logs in isolation) will only see seemingly ordinary scanning or failed logons. Detection models must correlate events by matching source IPs, compressed time windows, and multi-target fanouts across network, host, and application layers.
  • Defend Based on Observed Telemetry Paths: Active defense mechanisms must act on the telemetry actually recorded by the endpoint rather than assumed topology. In lab testing, authentication traffic frequently traversed internal bridge/proxy paths, requiring defensive rules to account for observed intermediate sources.
  • Use Temporary, Targeted Blocks: Automated attacks can progress before an analyst has time to respond. When repeated authentication attempts meet predefined policy thresholds, temporarily block the source from reaching the affected service—for example, SSH on a specific host. Keep the block narrowly scoped, record why it was applied, and set it to expire automatically so analysts can review the activity without leaving a permanent restriction in place. This addresses the speed of attacks on Agentic Swarms.
  • Implement Deduplication and Cooldown: High-density automated attacks can cause defensive engines to generate repetitive response proposals for the same incident window. Active defense systems require deduplication keying and cooldown periods to manage rules efficiently while containment is active.
  • Human participation is still key; DEFENSA AZUL took the analyst's input as the attacks and the telemetry were being analyzed. Complex context and human judgement in specific, multifaceted, and diverse enterprise environments cannot be replaced by autonomy (as of today).

Related Articles

How To Create Successful SOPs: Standard Operating Procedures
Learn
5 Minute Read

How To Create Successful SOPs: Standard Operating Procedures

Need to write SOPs? Check out this complete guide to creating successful standard operating procedures, including how to write one and manage it over time.
Cloud Automation Explained
Learn
7 Minute Read

Cloud Automation Explained

Cloud automation streamlines cloud management by automating deployment, scaling, and maintenance. Learn its benefits, challenges, and best practices.
Understanding Attack Surfaces: What They Are and Why They Matter
Learn
4 Minute Read

Understanding Attack Surfaces: What They Are and Why They Matter

Learn what an attack surface is, why it matters, and how organizations can reduce risk by identifying and managing every exposure point, technical or human.