ARTEX Leads a New Wave of Agentic Offensive Frameworks
Detection stack
- AIDR
- Alert
- ETL
- Query
Summary
Threat actors are increasingly weaponizing agentic LLM-driven frameworks such as ARTEX, PentAGI, and CAIRN to automate complex attack lifecycles. These multi-agent systems enable rapid reconnaissance, lateral movement, and privilege escalation at machine speed. This evolution marks a shift toward highly automated, scalable intrusions that place additional pressure on traditional defensive strategies.
Investigation
Mandiant and GTIG observed these frameworks during real-world incident response engagements, including activity linked to groups such as UNC7228 (STORM-0940). Investigations documented high-velocity bursts, including 27 events within 23 seconds, alongside automated error correction used to deploy webshells. Researchers also highlighted how these tools abuse cloud permissions and legitimate application APIs to achieve attacker objectives.
Mitigation
Defenders should adopt a five-layer defense strategy: protecting control planes, restricting identities and keys with short-lived credentials, hardening configurations, securing application features against abuse, and monitoring for behavioral and volumetric anomalies. Reducing the external attack surface and limiting unnecessary administrative exposure remain critical defensive measures.
Response
When suspicious activity is detected, organizations should prioritize identity-centric response because many actions rely on valid credentials. Monitor for unusual bursts of management API calls, unexpected authentication origins, and sudden changes in data-plane access patterns. Rapidly revoking compromised identities and investigating the full scope of automated lateral movement is essential.
Attack Flow
We are still updating this part.
Detections
Possible DCSync Attack (via audit)
Possible Kerberoasting Activity [correlate/bucket_span_10m/by src_user] (via audit)
Possible Kerberoasting Activity [correlate/bucket_span_10m/by src_ipaddr] (via audit)
Common Suspicious LDAP Search Filters (via directory service)
40* HTTP Status Code Responses Return Spike For Single IP (via webserver)
Possible Data Infiltration / Exfiltration / C2 via Third Party Services / Tools (via proxy)
Possible Malware Distribution via WebsiteHook Endpoints (via proxy)
Possible Malware Distribution via WebsiteHook Endpoints (via dns)
Possible AWS User Enumeration Identified by API Error Codes (via cloudtrail)
Detect ARTEX Framework Reconnaissance Probing in Web Directories [Webserver]
Detection of ARTEX Reconnaissance Activities on Azure [Azure Activity Logs]
Detection of ARTEX Framework Reconnaissance Activities [AWS Cloudtrail]
Simulation Execution
-
Attack Narrative & Commands: An adversary deploying the ARTEX framework seeks to map out the cloud environment’s permissions. To verify write/delete capabilities in Azure, the framework executes a rapid-fire sequence of creating a blob named
TinyTestBlobfollowed immediately by its deletion. Simultaneously, in the AWS environment, the adversary attempts to list or modify EC2 instances using the--dry-runflag. This allows them to confirm if their current IAM role has sufficient privileges without triggering actual state changes or generating “success” logs, instead relying on theDryRunOperationerror code to confirm “denied” or “allowed” status. -
Regression Test Script:
# ARTEX Framework Simulation Script Write-Host "[!] Starting ARTEX Reconnaissance Simulation..." # --- Part 1: Azure Blob Reconnaissance --- Write-Host "[*] Simulating Azure TinyTestBlob write/delete..." $azureAccount = "artex_test_account" $container = "recon-container" $blobName = "TinyTestBlob" $testFile = ".temp_recon.txt" "recon_data" | Out-File $testFile # Simulate the rapid write/delete pattern try { Set-AzStorageBlobContent -File $testFile -Container $container -Blob $blobName -Context $ctx -ErrorAction Stop Write-Host "[+] Azure Write Successful" Remove-AzStorageBlob -Blob $blobName -Container $container -Context $ctx -ErrorAction Stop Write-Host "[+] Azure Delete Successful" } catch { Write-Error "Azure Simulation Failed: $_" } # --- Part 2: AWS EC2 DryRun Reconnaissance --- Write-Host "[*] Simulating AWS EC2 DryRun permission check..." # This command is designed to fail with a DryRunOperation error if permissions are present or absent aws ec2 describe-instances --dry-run --region us-east-1 if ($LASTEXITCODE -ne 0) { Write-Host "[+] AWS DryRun Check Completed (Expected Error Code)" } Remove-Item $testFile Write-Host "[!] Simulation Complete." -
Cleanup Commands:
# Cleanup simulation artifacts Remove-Item -Path ".temp_recon.txt" -ErrorAction SilentlyContinue # Note: The Azure blob is already deleted by the simulation script.