Back to Intelligence

Attackers Automated an Entire Azure Attack Chain With AI Agents — Why Is Your Remote Management Still Manual?

SA
AlertMonitor Team
September 29, 2026
9 min read

Attackers just proved that a handful of AI agents can run a complete infrastructure attack chain without a human touching the keyboard at each step. Microsoft reports that the actor tracked as JadePuffer used AI agents to automate reconnaissance, credential theft, lateral movement, persistence, and destructive actions across Azure — building on the Storm-3168 campaign, where two compromised service principals were enough to map and destroy Azure resources.

Now flip that around. When a disk on your file server hits 95% at 2 a.m., how much of your response is actually automated? For most IT teams, the honest answer is: the alert fires, someone gets paged, they log into the monitoring console, pivot to a separate RMM tool, wait for the agent to connect, run commands by hand, and then paste what they did into a ticket in a third system. Your adversaries have an orchestration layer. You have browser tabs.

That gap — between how much automation attackers give themselves and how little defenders do — is the real story here, and it's fixable with the platform you already log into every morning.

What the JadePuffer Report Actually Tells Us

Strip away the threat-actor naming and look at the operational pattern. JadePuffer didn't need a novel exploit to be dangerous. According to Microsoft, the agents handled the entire chain: recon, credential theft, lateral movement, persistence, and destructive actions — coordinating steps that Storm-3168 had already proven with two compromised service principals in Azure. Machine speed. Scripted decisions. A single coordinated operation across the whole environment.

Every IT operations team should read that and feel a little uncomfortable — not only because of the security implications, but because it's a working demo of something most IT departments still haven't built for themselves: one system orchestrating complex, multi-step actions across an entire fleet, with every action logged in one place. Attackers have this. Meanwhile, a typical sysadmin needs four consoles and a text file to answer "what happened on APP01 last night?"

The Problem in Depth: Your Attackers Have Orchestration. You Have Tabs.

Look at the average mid-size IT stack honestly:

  • Monitoring in PRTG, SolarWinds, or Zabbix
  • RMM in ConnectWise Automate, NinjaOne, or Datto RMM — if the team has real RMM at all
  • Tickets in Freshservice, ServiceNow, or Jira Service Management
  • Patching through WSUS or a bolt-on module nobody fully trusts
  • The Azure portal open in a fifth tab, because none of the above see cloud resources

Each tool is blind to the others. Walk through what happens when the "C: drive 92% on APP01" alert fires at 2:04 a.m.:

  1. The on-call tech gets paged by the monitoring tool.
  2. They log into the monitoring console, confirm the alert, and look for context — disk trend, recent changes, related incidents. Not there. That data lives in the ticketing system, the RMM, or nowhere.
  3. They open the RMM in another tab, search for APP01, wait for the agent handshake, and open a remote session.
  4. They run cleanup manually, watching output in a terminal window.
  5. Back to the monitoring tab to confirm the metric dropped.
  6. Finally, into the helpdesk to write up what happened — reconstructing facts from three other systems, from memory.

That's 25–40 minutes of hands-on time for a problem a script bound to the alert could have resolved in 90 seconds. And if the next shift asks "what did we do about APP01?", the answer is whatever the tech remembered to type into the ticket, because remediation actions aren't recorded in one timeline.

Why does this keep happening? Because these tools grew up in separate silos. Monitoring vendors bolted on RMM through acquisitions. Helpdesks integrate through brittle APIs that sync ticket numbers and little else. Script results from the RMM never flow back into monitoring history, so automated remediations and manual fixes are invisible to each other — and to whoever reviews the incident a week later.

The business impact is measurable:

  • Longer MTTR and SLA misses you can't even dispute, because your monitoring uptime numbers and helpdesk resolution timestamps never reconcile.
  • Ticket bounce, as techs ping end users for details the tools should already know.
  • Burnout, from swivel-chair administration. The MSP tech with 12 tabs across 5 consoles just to support one client knows this feeling intimately.
  • Visibility debt. When the Storm-3168 and JadePuffer activity surfaced, plenty of teams realized they couldn't answer basic operational questions — what VMs exist, what identities have access, what changed last week — from their own tooling alone.

How AlertMonitor Closes the Automation Gap

AlertMonitor was built on the opposite assumption from the legacy stack: monitoring, RMM, helpdesk, patch management, network topology, and alerting belong in one platform, sharing one data model and one timeline.

Concretely:

  • Remote sessions from the same console as the alert. You see "APP01 — disk 92%" and click straight into the device. No tool switching, no agent lookup, no second login.
  • Script execution across device groups. Target "all Windows Server domain controllers" or "Client A — every workstation" in one action, from the same place your alerts live.
  • Script results feed back into monitoring data. Whether a remediation was automated or a technician ran it by hand, it lands in the same timeline as the metrics that triggered it. The 2 a.m. disk fix becomes a documented chain: alert → script run → result → confirmed recovery.
  • Patch management on the same device inventory. Deploy updates, verify compliance, and see the result without exporting CSVs into a spreadsheet.
  • Helpdesk in the same platform. The ticket links to the device, the alert, the script run, and the patch job. Your SLA report finally reconciles, because it's one dataset.

Old way vs. AlertMonitor way, for that same disk alert:

  • Old: 4 tools, 25–40 minutes, history reconstructed from memory.
  • AlertMonitor: the alert fires, the saved remediation script runs automatically, the result is logged in the monitoring timeline, a threshold re-check confirms recovery, and the linked ticket updates itself. Hands-on time for first response: close to zero.

For MSPs, this is what makes a single NOC dashboard across every client realistic: a cleanup script validated in one environment runs across all of them, and when a client calls, their monitoring state, endpoint health, and open tickets are on one screen.

Practical Steps: Automate the Routine Before It Bites You

You don't need AI agents to steal back 20 minutes per incident. You need saved, tested scripts attached to the right devices and alerts. All of these run as saved scripts inside AlertMonitor against your device groups.

1. Baseline your inventory first — you can't remotely manage what you can't enumerate. If you have Azure resources (and Storm-3168 and JadePuffer just made that very relevant), start there:

Bash / Shell
az vm list -d --query "[].{Name:name, ResourceGroup:resourceGroup, PowerState:powerState, Location:location}" -o table

powershell Connect-AzAccount Get-AzVM -Status | Select-Object Name, ResourceGroupName, @{n='PowerState';e={$_.PowerState}}, Location | Format-Table -AutoSize

Save either as a scheduled script in AlertMonitor so your inventory never goes stale.

2. Get ahead of disk pressure — the #1 2 a.m. pager. One script, every server, sorted by risk:

PowerShell
$servers = @("FS01","FS02","SQL01","APP01","DC01")
Get-CimInstance -ComputerName $servers -ClassName Win32_LogicalDisk -Filter "DriveType=3" -ErrorAction SilentlyContinue |
  Select-Object @{n='Server';e={$_.PSComputerName}},
                @{n='Drive';e={$_.DeviceID}},
                @{n='FreeGB';e={[math]::Round($_.FreeSpace/1GB,1)}},
                @{n='FreePct';e={[math]::Round(($_.FreeSpace/$_.Size)*100,1)}} |
  Sort-Object FreePct | Format-Table -AutoSize

3. Stop restarting services by hand at 2 a.m. Turn this manual task into an automated remediation:

PowerShell
$server = "APP01"
$critical = @("W3SVC","Spooler","MyAppService")
Invoke-Command -ComputerName $server -ScriptBlock {
  param($names)
  foreach ($name in $names) {
    $svc = Get-Service -Name $name -ErrorAction SilentlyContinue
    if ($svc -and $svc.StartType -ne 'Disabled' -and $svc.Status -ne 'Running') {
      Start-Service -Name $name
      Write-Output "$name restarted on $env:COMPUTERNAME - now $((Get-Service -Name $name).Status)"
    } elseif ($svc) {
      Write-Output "$name on $env:COMPUTERNAME: $($svc.Status)"
    } else {
      Write-Output "$name not found on $env:COMPUTERNAME"
    }
  }
} -ArgumentList $critical

In AlertMonitor, this becomes a saved script bound to a service-stopped alert: the platform runs it, logs the outcome in the timeline, updates the linked ticket, and re-checks the metric to confirm recovery.

4. Produce a patch compliance snapshot you can actually show management:

PowerShell
$servers = @("DC01","SQL01","APP01","FS01")
foreach ($srv in $servers) {
  $last = Get-HotFix -ComputerName $srv -ErrorAction SilentlyContinue |
    Sort-Object InstalledOn -Descending | Select-Object -First 1
  [PSCustomObject]@{
    Server      = $srv
    LastHotfix  = $last.HotFixID
    InstalledOn = $last.InstalledOn
    DaysAgo     = if ($last.InstalledOn) { (New-TimeSpan -Start $last.InstalledOn -End (Get-Date)).Days } else { 'N/A' }
  }
}

With AlertMonitor's patch management, this verification is built in — compliance status per device, per client, in the same console where you deploy.

5. Keep a quick health check handy for the Linux fleet:

Bash / Shell
for host in web01 web02 db01; do
  echo "=== $host ==="
  ssh -o ConnectTimeout=5 "$host" "df -h / | tail -1"
done

The point isn't the scripts themselves — it's where they live and what happens to their output. In AlertMonitor they run from the console where your alerts fire, the results feed the same timeline as your metrics, and anything repeatable becomes an automated remediation instead of a page.

The Takeaway

JadePuffer is a security incident, but it's also a brutally clear operational benchmark: coordinated, scripted, fully-logged automation across an entire environment is real, proven, and running in the wild. Attackers use it to destroy. Your IT team should use it to clear disk space at 2 a.m. without waking anyone, restart services before users notice, patch 500 endpoints across 12 clients, and prove all of it with one timeline.

You don't need five tools to do that. You need one that was designed to.

Related Resources

AlertMonitor RMM & Remote Management AlertMonitor Platform Overview Book a Demo RMM & Remote Management Resources

rmmremote-managementremote-supportendpoint-managementalertmonitorazureit-automation

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.