Threat Summary
Two concurrent OTX pulses published 2026-11-14 document a material escalation in adversary tradecraft: large language model-driven AI agents are now executing substantive portions of live intrusions, compressing attack timelines from weeks to hours and lowering the skill floor required to compromise enterprise infrastructure.
The first pulse details an exposed operational workbench on infrastructure at 45.142.193[.]132 belonging to an unknown threat actor targeting PaperCut NG/MF print management software across 45+ countries, with the education sector as the primary victim vertical. Analysis of three exposed directories revealed a complete AI-agent toolkit: PentAGI framework agent instructions, exploit code, operational logs, and post-exploitation tooling. The actor chained CVE-2026-81578 and CVE-2026-82078 through a Tapestry vulnerability chain for initial access, developed a second RCE path via XML-RPC abuse, then deployed Chisel for reverse SOCKS5 tunneling, conducted credential harvesting, and moved toward Active Directory compromise.
The second pulse, published by ReliaQuest, confirms the first documented incident where AI agents executed the majority of an intrusion end-to-end. Within 24 hours of initial access, attackers exploited an unauthenticated job-submission feature on an Apache Tomcat server running Spring Batch — no zero-days, no custom malware, no credentials required. The actor leveraged Cairn, an open-source AI agent orchestration platform, to autonomously escalate privileges and achieve full server takeover.
Collective assessment: Both pulses describe the same emerging threat class — agentic AI-driven exploitation of internet-facing enterprise application servers. The shared DNA is clear: exposed management interfaces, unauthenticated or trivially exploitable features, AI agents orchestrating exploitation and post-exploitation at machine speed, and an objective of credential theft and domain-level compromise. Print servers and job schedulers are attractive precisely because they are privileged, poorly monitored, and often excluded from EDR coverage.
Threat Actor / Malware Profile
Attribution: Both pulses are attributed to unknown actors. However, the tooling and infrastructure patterns allow a behavioral profile.
PaperCut Campaign Actor (Pulse 1):
- AI Orchestration: PentAGI framework — an autonomous AI pentesting agent. Exposed agent instructions show the actor using LLM-driven task decomposition to automate reconnaissance, exploit selection, and post-exploitation sequencing.
- Initial Access: Chained exploitation of CVE-2026-81578 and CVE-2026-82078 affecting PaperCut NG/MF via a Tapestry framework vulnerability chain; a secondary RCE path was developed through XML-RPC service abuse.
- Post-Exploitation / C2: Chisel tunneling binary deployed to establish reverse SOCKS5 proxies through victim networks, enabling C2 egress over legitimate-appearing HTTP/SSH streams and bypassing perimeter egress filtering.
- Objective: Credential harvesting from print server memory, configuration databases, and service accounts, followed by lateral movement into Active Directory. PaperCut servers frequently hold domain-joined credentials and LDAP bind accounts — high-value identity material that subsequently surfaces in credential markets and initial access broker (IAB) listings.
- Infrastructure: Operator workbench hosted at 45.142.193[.]132, left publicly exposed with directory listing enabled — an operational security failure that enabled this intelligence gain.
Cairn / Spring Batch Actor (Pulse 2):
- AI Orchestration: Cairn open-source agent orchestration platform. LLM agents autonomously enumerated the exposed endpoint, identified the unauthenticated Spring Batch job-submission feature, crafted job parameters to achieve command execution, and executed privilege escalation — completing takeover within 24 hours.
- Initial Access: Exploitation of an exposed job-submission endpoint on Apache Tomcat running Spring Batch. No authentication, no vulnerability in the traditional sense — abuse of legitimate administrative functionality exposed to the network.
- Payload Behavior: Living-off-the-land execution via Java process spawning (Tomcat service account), followed by automated privilege escalation. Notably zero custom malware was required — defeating signature-based detection entirely.
- Anti-Analysis: AI-agent execution generates irregular, machine-paced timing patterns and eliminates traditional operator artifacts (shell history typos, human working hours). Chisel tunnels blend with legitimate HTTPS egress.
Dark Web Relevance: Harvested credentials from print management and application servers — LDAP bind accounts, service accounts, cached domain credentials — are precisely the commodity traded on initial access broker channels. Education-sector AD credentials from PaperCut compromises routinely appear in stealer-log marketplaces and IAB auctions within days of collection. Organizations should assume credential exposure follows server compromise and monitor for their domains in stealer log corpora.
IOC Analysis
Indicator types present in these pulses:
| Type | Examples | Operationalization |
|---|---|---|
| IPv4 | 45.142.193[.]132 | Block at perimeter firewall/web proxy; retro-hunt NetFlow, proxy, and firewall logs for 90 days; check for any outbound SOCKS5-style long-lived sessions |
| CVE | CVE-2026-81578, CVE-2026-82078 | Inventory all PaperCut NG/MF instances (internal and DMZ); validate patch level against vendor advisory; treat unpatched internet-exposed instances as presumed compromised |
| FileHash-SHA256 | c3f7109963b9599eb93fd9a97a4ffa38e672642b35b33608d69e6bbf9f19da4e, 14779d0d7ad6be3d7bf9ed78e4ab6016f22dfa7bc8b5d9c43b56011f7fe2ea19 | Load into EDR blocklists (Defender custom indicators, CrowdStrike IOC management); sweep with Velociraptor/OSQuery across server estates |
| FileHash-MD5 | 528cd4e69ecfa5191adbcf6ef28667bf, a6437ac3d6798090a218520985d36a3f, ce870a91e8d27e8f663f0687abc60b04, fc92dfafa7aa741c5f2b9cbcf75d1d19 | Same handling as SHA256; note MD5s are likely Chisel builds and exploit droppers — submit to VirusTotal/MalwareBazaar for family classification |
Tooling to decode and enrich indicators:
- OTX DirectConnect / otxv2 Python SDK — pull full pulse indicators programmatically into your TIP (Threat Intelligence Platform)
- MISP / OpenCTI — ingest via OTX feed connector for correlation against internal telemetry
- VirusTotal Enterprise / MalwareBazaar — hash reputation and sandbox detonation for the six file hashes
- Shodan / Censys — pivot on 45.142.193[.]132 for co-hosted infrastructure; hunt for internet-exposed PaperCut (
Server: PaperCut) and Tomcat/Spring Batch endpoints in your own attack surface - GreyNoise — determine if the workbench IP has been scanning for PaperCut/Tomcat targets
Detection Engineering
---
title: Chisel Reverse SOCKS5 Tunnel Execution
id: 7c3a9e21-4f2b-4d8a-9c1e-5a6b7c8d9e0f
status: experimental
description: Detects execution of the Chisel tunneling binary or command-line patterns consistent with reverse SOCKS5 tunnel establishment, as observed in the AI-orchestrated PaperCut campaign (OTX 2026-11-14).
author: Security Arsenal Threat Intelligence
references:
- https://hunt.io/blog/papercut-attacker-ai-toolkit-exploit-code-second-rce
date: 2026/11/14
tags:
- attack.command_and_control
- attack.t1090
- attack.t1572
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith:
- '\chisel.exe'
- '\chisel64.exe'
selection_cli:
CommandLine|contains:
- ' client '
- ' server '
CommandLine|contains|all:
- 'R:socks'
- '--reverse'
selection_socks:
CommandLine|contains:
- 'socks5'
- '--socks5'
condition: selection_img or (selection_cli and selection_socks)
falsepositives:
- Legitimate red team or penetration testing activity
level: high
---
title: PaperCut or Tomcat Process Spawning Shell or Scripting Child
id: 9d4b8f32-5e3c-4a1b-8d2f-6b7c8d9e0f1a
status: experimental
description: Detects PaperCut NG/MF (pc-app.exe, java.exe under PaperCut path) or Apache Tomcat processes spawning command shells, PowerShell, or scripting interpreters - consistent with CVE-2026-81578/CVE-2026-82078 exploitation and Spring Batch job-submission RCE.
author: Security Arsenal Threat Intelligence
references:
- https://reliaquest.com/blog/threat-spotlight-how-ai-agents-turned-one-exposed-endpoint-into-a-server-takeover
date: 2026/11/14
tags:
- attack.execution
- attack.t1059
- attack.t1190
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith:
- '\pc-app.exe'
- '\tomcat9.exe'
- '\tomcat8.exe'
- '\tomcat.exe'
ParentImage|contains:
- '\PaperCut MF\'
- '\PaperCut NG\'
- '\Tomcat\'
selection_child:
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\rundll32.exe'
- '\certutil.exe'
- '\bitsadmin.exe'
- '\whoami.exe'
- '\net.exe'
- '\nltest.exe'
- '\quser.exe'
condition: selection_parent and selection_child
falsepositives:
- PaperCut print scripting features invoking cmd.exe legitimately - baseline per environment
- Tomcat applications with legitimate system command execution
level: high
---
title: OTX PaperCut AI Campaign IOC File Hash Execution
id: 1e5c9a43-6f4d-4b2c-9e3a-7c8d9e0f1a2b
status: experimental
description: Detects execution of files matching known IOC hashes from the exposed AI-orchestrated PaperCut attacker workbench at 45.142.193.132.
author: Security Arsenal Threat Intelligence
references:
- https://hunt.io/blog/papercut-attacker-ai-toolkit-exploit-code-second-rce
date: 2026/11/14
tags:
- attack.execution
- attack.t1204
logsource:
category: process_creation
product: windows
detection:
selection_sha256:
Hashes|contains:
- 'SHA256=c3f7109963b9599eb93fd9a97a4ffa38e672642b35b33608d69e6bbf9f19da4e'
- 'SHA256=14779d0d7ad6be3d7bf9ed78e4ab6016f22dfa7bc8b5d9c43b56011f7fe2ea19'
selection_md5:
Hashes|contains:
- 'MD5=528cd4e69ecfa5191adbcf6ef28667bf'
- 'MD5=a6437ac3d6798090a218520985d36a3f'
- 'MD5=ce870a91e8d27e8f663f0687abc60b04'
- 'MD5=fc92dfafa7aa741c5f2b9cbcf75d1d19'
condition: selection_sha256 or selection_md5
falsepositives:
- None expected - these are attacker workbench artifacts
level: critical
// Hunt: AI-orchestrated PaperCut / Spring Batch exploitation indicators
// Covers C2 to workbench IP, suspicious child processes of print/Tomcat services,
// credential access behavior, and outbound tunneling patterns.
let IOC_IPs = dynamic(["45.142.193.132"]);
let SuspiciousChildren = dynamic(["cmd.exe","powershell.exe","pwsh.exe","whoami.exe","net.exe","nltest.exe","certutil.exe","bitsadmin.exe","rundll32.exe","chisel.exe"]);
let SuspiciousParents = dynamic(["pc-app.exe","tomcat.exe","tomcat8.exe","tomcat9.exe","javaw.exe","java.exe"]);
union isfuzzy=true
// Network connections to known workbench/C2 IP
(DeviceNetworkEvents
| where TimeGenerated > ago(90d)
| where RemoteIP in (IOC_IPs)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemotePort, ActionType),
// Suspicious child processes spawned by PaperCut/Tomcat/Java service processes
(DeviceProcessEvents
| where TimeGenerated > ago(30d)
| where InitiatingProcessFileName in~ (SuspiciousParents)
or InitiatingProcessFolderPath has_any ("PaperCut", "Tomcat")
| where FileName in~ (SuspiciousChildren)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, ProcessCommandLine, AccountName, SHA256),
// Chisel-style long-lived outbound sessions on unusual ports from servers
(DeviceNetworkEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName in~ (SuspiciousParents)
| where RemoteIPType == "Public" and RemotePort !in (80, 443, 25, 53, 389, 636, 9100)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemotePort),
// Spring Batch / Tomcat java.exe spawning shells (Linux + Windows coverage)
(DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName =~ "java.exe" or InitiatingProcessFileName =~ "java"
| where FileName in~ ("cmd.exe","powershell.exe","sh","bash","dash")
| where InitiatingProcessCommandLine has_any ("catalina", "spring", "batch", "tomcat")
| project TimeGenerated, DeviceName, InitiatingProcessCommandLine, FileName, ProcessCommandLine, AccountName)
# Security Arsenal - PaperCut / Cairn AI Campaign IOC Hunt Script
# Run elevated on print servers, Tomcat hosts, and domain-joined servers.
# Outputs findings to C:\Temp\PaperCut_Hunt_<hostname>_<date>.log
$ErrorActionPreference = 'SilentlyContinue'
$log = "C:\Temp\PaperCut_Hunt_$($env:COMPUTERNAME)_$(Get-Date -Format yyyyMMdd_HHmmss).log"
New-Item -Path C:\Temp -ItemType Directory -Force | Out-Null
function Write-Finding($msg) { $line = "$(Get-Date -Format o) $msg"; Add-Content -Path $log -Value $line; Write-Host $line -ForegroundColor Yellow }
Write-Finding "=== HUNT START: AI-Orchestrated PaperCut/Spring Batch Campaign ==="
# 1. IOC file hash sweep (SHA256 + MD5) across common staging paths
$targetHashes = @(
'c3f7109963b9599eb93fd9a97a4ffa38e672642b35b33608d69e6bbf9f19da4e',
'14779d0d7ad6be3d7bf9ed78e4ab6016f22dfa7bc8b5d9c43b56011f7fe2ea19',
'528cd4e69ecfa5191adbcf6ef28667bf',
'a6437ac3d6798090a218520985d36a3f',
'ce870a91e8d27e8f663f0687abc60b04',
'fc92dfafa7aa741c5f2b9cbcf75d1d19'
)
$scanPaths = @('C:\Windows\Temp','C:\ProgramData','C:\Users\Public','C:\Program Files\PaperCut*','C:\Program Files\Apache*','C:\Temp')
foreach ($p in $scanPaths) {
Get-ChildItem -Path $p -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
try {
$h256 = (Get-FileHash $_.FullName -Algorithm SHA256).Hash.ToLower()
$hmd5 = (Get-FileHash $_.FullName -Algorithm MD5).Hash.ToLower()
if ($targetHashes -contains $h256 -or $targetHashes -contains $hmd5) {
Write-Finding "[CRITICAL] IOC hash match: $($_.FullName) SHA256=$h256 MD5=$hmd5"
}
} catch {}
}
}
# 2. Chisel binary and reverse SOCKS5 artifacts
Get-ChildItem -Path 'C:\','D:\' -Recurse -Include 'chisel*.exe' -File -ErrorAction SilentlyContinue | ForEach-Object {
Write-Finding "[HIGH] Chisel binary found: $($_.FullName)"
}
Get-Process | Where-Object { $_.ProcessName -match 'chisel' } | ForEach-Object {
Write-Finding "[CRITICAL] Running chisel process: PID $($_.Id) Path $($_.Path)"
}
# 3. Network connections to workbench IP and suspicious outbound from service processes
Get-NetTCPConnection -State Established | Where-Object { $_.RemoteAddress -eq '45.142.193.132' } | ForEach-Object {
$proc = Get-Process -Id $_.OwningProcess
Write-Finding "[CRITICAL] Active connection to C2 45.142.193.132 :$($_.RemotePort) by $($proc.ProcessName) (PID $($_.Id))"
}
Get-NetTCPConnection -State Established | Where-Object {
$_.RemotePort -notin @(80,443,25,53,389,636,9100,3389) -and $_.RemoteAddress -notmatch '^(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|127\.|169\.254\.)'
} | ForEach-Object {
$proc = Get-Process -Id $_.OwningProcess
if ($proc.ProcessName -match 'pc-app|tomcat|java|chisel') {
Write-Finding "[HIGH] Service process outbound on unusual port: $($proc.ProcessName) -> $($_.RemoteAddress):$($_.RemotePort)"
}
}
# 4. PaperCut service account / suspicious services and scheduled tasks (persistence)
Get-CimInstance Win32_Service | Where-Object { $_.PathName -match 'chisel|socks|papercut.*cmd|temp.*\.exe' } | ForEach-Object {
Write-Finding "[HIGH] Suspicious service: $($_.Name) -> $($_.PathName)"
}
Get-ScheduledTask | Where-Object { $_.Actions.Execute -match 'chisel|powershell.*-enc|cmd.*/c.*temp' } | ForEach-Object {
Write-Finding "[HIGH] Suspicious scheduled task: $($_.TaskName) -> $($_.Actions.Execute) $($_.Actions.Arguments)"
}
# 5. Registry run-key persistence referencing tunneling or temp binaries
$runKeys = @('HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run','HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run','HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce')
foreach ($k in $runKeys) {
(Get-ItemProperty $k).PSObject.Properties | Where-Object { $_.Value -match 'chisel|\\temp\\|\\programdata\\.*\.exe' } | ForEach-Object {
Write-Finding "[HIGH] Suspicious autorun entry in $k : $($_.Name) = $($_.Value)"
}
}
# 6. Credential access artifacts: recent LSASS access + PaperCut credential store tampering
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4656} -MaxEvents 5000 | Where-Object { $_.Message -match 'lsass.exe' -and $_.Message -notmatch 'MsMpEng|svchost|wininit|csrss' } | Select-Object -First 10 | ForEach-Object {
Write-Finding "[MEDIUM] Possible LSASS handle access - review Event: $($_.TimeCreated)"
}
# 7. PaperCut / Tomcat version inventory for CVE-2026-81578 / CVE-2026-82078 exposure
Get-CimInstance Win32_Product | Where-Object { $_.Name -match 'PaperCut|Tomcat' } | ForEach-Object {
Write-Finding "[INFO] Installed: $($_.Name) v$($_.Version) - validate against vendor CVE-2026-81578/82078 advisory"
}
Write-Finding "=== HUNT COMPLETE ==="
Write-Host "`nResults written to $log" -ForegroundColor Cyan
Response Priorities
Immediate (0-4 hours):
- Block 45.142.193[.]132 at perimeter firewall, web proxy, and DNS sinkhole; retro-hunt 90 days of proxy, NetFlow, and EDR network telemetry for any contact
- Push all six file hashes to EDR blocklists and sweep server estates (prioritize print servers, Tomcat hosts, domain controllers)
- Inventory every PaperCut NG/MF instance and Spring Batch / Tomcat deployment; identify internet-facing or flat-network-reachable instances and confirm patch status against CVE-2026-81578 and CVE-2026-82078
- Deploy the Sigma rules above; enable the KQL hunt across the last 30 days
- Isolate any PaperCut/Tomcat server showing suspicious child process execution pending forensic triage
24 Hours (credential-theft posture):
- This campaign's objective is credential harvesting and AD compromise — treat any exploited server as a full identity compromise event
- Force password resets for: all service accounts configured in PaperCut (LDAP bind, SMTP, database accounts), any account that authenticated interactively to affected servers, and all education-domain admin accounts if a PaperCut server was compromised
- Rotate Kerberos krbtgt twice if DC interaction or DCSync artifacts are observed; audit for newly created accounts, group membership changes, and anomalous Kerberos ticket requests (Event 4768/4769 anomalies)
- Review
PRINT SERVICESevent logs and PaperCut application logs for unauthorized admin console logins and config exports - Check stealer-log marketplaces and your dark web monitoring feed for your domains — harvested LDAP/service credentials move to IAB channels within days
1 Week (architecture hardening):
- Remove PaperCut and Spring Batch management interfaces from any internet-exposed path; place behind VPN/ZTNA with MFA
- Implement egress filtering to defeat reverse SOCKS5 tunneling: deny server-initiated outbound to non-approved destinations, alert on long-lived server egress sessions
- Deploy EDR to print and application servers (commonly excluded from coverage — this campaign specifically exploits that blind spot)
- Enforce constrained delegation / gMSA for PaperCut service accounts; strip Domain Admin-equivalent rights from print infrastructure
- Application allowlisting (WDAC/AppLocker) on print and Tomcat servers to block unsigned binaries such as Chisel
- Establish behavioral detections for AI-paced attack patterns: rapid sequential enumeration, sub-second command chains, and privilege escalation within minutes of initial access — human-speed assumptions in your SOC playbooks are now obsolete
Related Resources
Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.