Skip to content

Response, New York. Noah Park: Check Point Patches Actively Exploited Management Server Path Traversal. Detection, Dallas. Ava Okello: Report Finds Nearly Half of Deployed Detections Need Attention Before SOCs Can Trust Them.

SOCtember

Always First. Fast SOC News.

Mandiant diagram of eight numbered steps on a BeyondTrust Remote Support appliance, from exploiting CVE-2026-102764 and SAWFLY through SUID escalation, persistence and a vault dump to BARECLAW, with lateral movement and reconnaissance in an Internal Network box.
Graphic: Mandiant, ARMORY CASTLE BeyondTrust compromise sequence of events, Oct 15, 2026 (fair use).

Response

Mandiant Says China-Nexus ARMORY CASTLE Used a BeyondTrust Remote Support Zero-Day to Gain Root, Target the Credential Vault and Hide a Tunnel Behind HAProxy

CVE-2026-102764 let the actor plant the SAWFLY webshell in late August, turn a copied /bin/sh into a root SUID backdoor and route its BARECLAW SOCKS5 tunnel through HAProxy; BeyondTrust says its sensors fired but an automated triage tool closed the alerts as false positives.

Noah Park, ResponseNew York5 min read

NEW YORK - Google Threat Intelligence Group and Mandiant said on Oct. 15, 2026 that ARMORY CASTLE, a suspected China-nexus espionage actor formerly tracked as UNC5221, exploited CVE-2026-102764 in BeyondTrust Remote Support as a zero-day in late August, then turned the appliance into a foothold: a custom webshell, a root backdoor, an attempt to dump the credential vault, persistence built into BeyondTrust's own templates, a hidden SOCKS5 tunnel and administrator sessions into internal endpoints. BeyondTrust disclosed the flaw the same day in advisory BT26-05, rated 9.3 under CVSS v4, and said the actor hit one BeyondTrust-hosted instance and one self-hosted appliance on Aug. 29; its hunters found the hosted case on Sept. 28 and contained it within 27 minutes, and the patch shipped Oct. 8. Mandiant warned that organizations should prepare for possible widespread exploitation now that the bug is public, and that any internet-reachable appliance that ran a vulnerable version during the exposure window should be treated as potentially compromised until reviewed.

BeyondTrust timeline from Aug. 29 exploitation and Sept. 28 containment to the Oct. 8 patch and Oct. 15 disclosure.
Screenshot: BeyondTrust, BT26-05 timeline of events, Oct 15, 2026 (fair use).BeyondTrust's timeline runs from the Aug. 29 exploit to the Oct. 15 disclosure.

According to Mandiant, about 11 minutes after POST requests to /app_84304470%2Ephp, the SAWFLY webshell (mangoapi.php) appeared in the appliance's Laravel public web root. SAWFLY answers 404 unless a POST carries the parameter _c94mfe, then Base32-decodes and RC4-decrypts the payload and runs it through @eval(). From the unprivileged site service account, the operator copied /bin/sh to /usr/bin/dbus-authd, made root its owner and set the SUID bit. It then tried variations of BeyondTrust's /ns/sbin/bt-secrets utility to dump the site account's vault and the appliance-wide vault, and deleted bt-secrets.log. For persistence, a zz-root-persist script in /home/bomgar/sbin/post_boot.d appends a passwordless sudo line for the service account to /ns/config/sudoers.template and runs bt-sysconfig to rebuild /etc/sudoers, so the access survives reboots and configuration resets.

Bash script that appends a passwordless sudo line to /ns/config/sudoers.template and runs bt-sysconfig --no-restart misc.
Screenshot: Mandiant, Figure 4, contents of the zz-root-persist startup script (fair use).The startup script writes a passwordless sudo line into BeyondTrust's sudoers template.

The actor repeatedly wiped host, web server and application logs. It ran BARECLAW, a new C tunneler that serves SOCKS5 over WebSocket, as /tmp/ingredi_ws on TCP 19800 with token authentication, XOR obfuscation, logging suppressed and the path /uidchanarge. To expose it through the appliance's own reverse proxy, the actor added an ACL named wswsws to /ns/config/haproxy.conf that sends /uidchanarge to a backend called webskd3, which forwards to 127.0.0.1:19800, a localhost-only listener that external scans would not see.

HAProxy lines acl wswsws path /uidchanarge and backend webskd3 forwarding to 127.0.0.1:19800.
Screenshot: Mandiant, Figures 10 and 11, haproxy.conf changes that route /uidchanarge to the BARECLAW tunneler (fair use).HAProxy sends /uidchanarge to a localhost listener on TCP 19800.

Inside Remote Support, the actor logged in to the admin portal with a compromised Administrator account, raised its default and Teams Jump Item roles from No Access to Administrator, gaining standing authority to open sessions to downstream systems, and used built-in file transfer to take documents such as software inventories from a user's desktop. BeyondTrust adds a lesson aimed at SOCs: its sensors fired in real time when the actor escalated privileges, but the triage tool in its third-party detection platform closed those alerts as false positives, and a threat-intelligence-driven hunt found the intrusion instead. It now recommends that automated triage never close high-severity signals on its own. Mandiant's detections cover user_changed events that raise a Jump Item or team role, unticketed user_added, api_account and security_provider events, /login success from residential broadband or commercial VPN space, file transfers, unknown .php paths and WebSocket upgrades at a reverse proxy or WAF, and syslog gaps bounded by a single session.

JSON user_changed event raising Jump Item roles from No Access to Administrator, beside Mandiant's bulleted detection list.
Screenshot: Mandiant, Figure 7 syslog user_changed entry and Detection Engineering list (fair use).A syslog entry shows Jump Item roles raised from No Access to Administrator.

Mandiant recommends a patch-first approach. Self-hosted appliances on 24.3.1 through 26.2.3 need the BT26-05-RS patch, older versions must upgrade first, SaaS was patched by Oct. 9, and Privileged Remote Access, which shares the code, has a precautionary patch. Where compromise is confirmed or unknown, preserve memory and disk, collect off-box logs, block inbound traffic at the perimeter, restrict egress, disable rather than delete access paths, and rebuild from a clean patched image. Rotate credentials in dependency order only after patching or rebuild, from appliance admins through API secrets, SAML signing keys, vaulted credentials and anything typed into a support session. Mandiant published SHA-256 hashes for SAWFLY (dc14e215269a93fdbc4c1a80b984c23faf7af0911c6dbb85309796a6f2ae95fb) and BARECLAW (1f19b9a27d79c11bda00a1e8faf74a7fdd683d38ccef1b60df2fd0307e3aa462) and YARA rules for both, while BeyondTrust notes the actor rotates tooling per victim, so hunt the behavior.

Sources:


Noah Park covers incident response and blue-team operations for SOCtember from New York.

Related stories

Response desk