Hackers Exploit AhsayCBS Vulnerabilities to Hide Malware in PNG Images and Deploy Stealthy Backdoors

Blog WriterCybersecurity News - Original News Source is cybersecuritynews.com


Hackers exploiting AhsayCBS backup servers have planted webshells, hidden encrypted code inside PNG images, and staged a Python implant designed to run only on its intended host.

The findings show an intrusion that extended beyond cryptocurrency mining, giving attackers several ways to keep access to systems responsible for protecting an organization’s backups.

The attack affected three AhsayCBS servers in one organization between October 8 and October 11, 2026, before vendor hotfixes became available.

Attackers exploited CVE-2026-105133, an authentication bypass, and CVE-2026-105134, which allowed unauthenticated remote code execution with SYSTEM privileges. The combination exposed both the backup platform and the sensitive access it could provide.

Researchers from Huntress identified five webshell families, a second cryptocurrency miner, and a host-bound Python implant during their investigation.

In a technical report published November 9, researcher Jonathan Semon described tooling that concealed commands, supported file transfers, and weakened endpoint protection.

However, the team could not confirm every payload’s behavior or establish whether attackers stole backup data.

Hackers Exploit AhsayCBS Vulnerabilities

The most distinctive webshell posed as an internal image-preview service. Instead of accepting obvious command parameters, it processed uploaded PNG files and extracted hidden information from their pixels.

This approach resembles earlier PNG malware concealment techniques reported in other campaigns, although Huntress did not attribute this intrusion to those operators.

The loader read the least-significant bit from each pixel’s red, green, and blue values, then assembled those bits into bytes. It reconstructed a four-byte payload length followed by encrypted content.

A hardcoded AES key unlocked the data using Java’s default AES transformation, which Huntress identified as ECB mode with PKCS5 padding.

On the first request, a custom Java class loader placed the decrypted class in memory and returned a cover image. Later requests passed data into that class and triggered execution.

Results were encrypted and embedded into another PNG, making the exchange look like image traffic rather than a conventional command session. The technique matters because the executable functionality arrives inside requests and runs in memory.

Related Earth Sirrush PNG campaigns demonstrate how image concealment also appears in espionage operations, but that similarity does not establish a connection. Huntress examined this loader, not its delivered class, so the commands executed through it remain unknown.

The implant’s execution flow, reconstructed from static analysis (Source – Huntress)

Another recovered webshell behaved like a remote administration API. It checked an API token, timestamp, nonce, and HMAC-SHA256 signature before accepting requests.

Behind those checks, attackers could execute commands, change directories, and transfer files in chunks, with support for files up to 4 GB. Huntress found no logs proving that its download function was used.

Host-Bound Backdoors, Backup Access, and Recovery

A separate Python implant introduced another concealment layer. Its wrapper combined Base64 encoding, LZMA compression, and a marshaled Python code object.

Before continuing, it calculated a SHA-256 value from the host’s MachineGuid and checked for a matching marker file. Without that file, the script exited, potentially preventing execution in an analyst’s sandbox.

If the marker existed, the code would copy a 673 KB blob into executable memory and start a thread. A reflective loader then mapped an embedded x64 DLL.

Static analysis revealed command-and-control information and strings consistent with DNS-over-HTTPS, but Huntress neither observed the implant running nor identified its malware family.

The attackers also deployed another XMRig miner with a SYSTEM-level scheduled task that checked every minute and restarted it when necessary.

Tunneling utilities, remote access software, and broad Microsoft Defender exclusions provided additional ways to operate while reducing security visibility across the compromised servers.

On a related Veeam server, investigators observed a command consistent with NetExec’s credential-theft module. It queried stored backup credentials and used DPAPI decryption.

Separate reporting on Veeam backup credential exposure explains why these environments are valuable targets, although that vulnerability was not identified as this intrusion’s entry point.

Ahsay released hotfix 10.3.4.45 for version 10 and 9.15.2.70 for versions 7 through 9. Huntress verified that the version 10 hotfix blocked the observed entry point.

Patching does not remove existing backdoors: exposed organizations should investigate suspicious server activity, unauthorized exclusions, and persistence mechanisms. Where compromise is found, Huntress recommends rebuilding from trusted backups and rotating reachable credentials.

Indicators of compromise (IoCs):-

Type Indicator Description
C2 domain creepexplosiondarknight[.]com Python implant infrastructure
C2 URL hxxps://creepexplosiondarknight[.]com/d Endpoint embedded in the DLL
Mining infrastructure pool.supportxmr[.]com:443
pool-fr.supportxmr[.]com:443
104.243.43[.]115:443
Connections configured for the miner
Mining wallet 83YFdNe2X8KhKnAERfr2hmN8L3tCKatsheuViWhF6qp2ZA4R8rRkBCgMknEycYqasNbX7C5BSrTp97zHUsUHJoZrR6f5SeX Observed wallet
Mining password zero Miner configuration value
Miner location C:WindowsSysWOW64kvm-agentkvm-agent.exe XMRig executable
Scheduled task kvm Runs as SYSTEM every minute
Miner SHA-256 8245c7e7d944923f1608592f6c3473dcc6e3a3e43df3dd1c6257e7880948787b kvm-agent.exe
Configuration SHA-256 a87002c32723f1849b3ad17b1fe6da732c9810b54b08501be21f5b1fcd882a59 config.json
Task XML SHA-256 f76dae028e0c43248c128b3bf609e8d660ce0bf44b53ab9e097887e6f5206eb5 Miner persistence
Python loader SHA-256 8aac187bae71f75fa2dde03dcb4a9279c982182ee8254ae96e7a6626fe4c7617 main.py
Decoded payload SHA-256 91b3cc9d6421b651ec85a16062af3ba26700dad2eea4a8a7e42fdd2e422f8803 Marshaled code object
Embedded blob SHA-256 6953618238eb40f45b584e52aca22cebbe8ba03e9a80c15c6b593f51f7e49527 Bootstrap, DLL, and loader
DLL SHA-256 bb2472cf5dc7e5c94216d355bf84fba2c8d088d03d61a1ac0d78639049cf5e1f Embedded x64 DLL
Reflective loader SHA-256 e79c91e8157fef862be8cbe80bdf57b87a541416717265f81f669d751fca4a3d Loader tail
PNG loader SHA-256 6c7a4061bcf08df5fe4a49d37442dc650d751be1a91a8bc802edff213e4d5e61 AhsayCBS.jsp under webappsrps
PNG loader artifacts AES key: 3c6e0b8a9c15224a
Application attribute: QuCh
Hardcoded loader values
Signed webshell SHA-256 6c695baad1d81ed49194d07a79381292c0466208ff1a9862c0c55f971d6a409f nsmind.jsp under webappsrps
API token NS_f1ChEBy4SCYGyIDkYcsWOivwtWyXt5il Signed webshell authentication
HMAC secret NS_aAXMPsB8zsMdkVbjTp6zicnj9w8Hkaew Request signature secret
Keyed webshell SHA-256 e6e576a634166a16bdbfc09b14e7cf8eab90015d2dfa67dd73f3968ee869229b a2b59a4bb296604b.jsp
Keyed shell secrets 323ced5cf1f4P, 12cd58cda26eP, 232e4490b603P, 6285464221f1P, be115f87eeeeP, fcd82493f072P, 907936468353P, 5a5f101c0b95P, 61fb05ae8043P, b97484f05302P, f41488204365P, 490909ce85c8P, 7f5b08e99153P, d6809ec4f4c9P, 908147ad2a6cP, ccd4e0ca2eb3P, 9bf5d40f7ca6P, d00a5c6cbce5P, be4f92982444P Values accepted through parameter p
Status shell secrets nobody, mysecret123 Fixed authentication values
Status shell SHA-256 7a13e59d816d68a071a8648e62a7c3c7f929a61c618a2133ab6f511da24f979d Shell using nobody
Unauthenticated shell SHA-256 875d0986ddaa51bfb5e03b06df1213cc3bb7966588d6153bdda57f2e3671e986 st_ shell
Earlier shell SHA-256 818bb464271a539c96bcbbfea1db7d5a722512041ed8ed10d3f6c7f366190044 Command/delete/self-delete shell
Per-host status secrets acbe51127a7e4a3b8f7cde6e857b5e4d
d650dd0fc643fadabe5f41b94c7826d5
ee808b1dac987d19b1b864f18538116f
82e58ea5839581846e19be5d0c414436
c048c97c8160fb2df89e217d475c50b4
db64a245782d2d619d10eae73ef0f196
1b755d215b43b8e7da25a80386493568
7d33dc36088a8c20ee109f33d01d63c7
d5f0289bf84876023eb6ccdc92ddb05a
3b44593c393edff904c99fbdea0ea90c
f4f9b5b4836090e26a6ec717b26db7c8
38d0eff2318a20a88175704af57d1bc4
2df09294da360fffd01142f29b17c6cd
07043828c4e2c55eaf2be9e6cb7205cc
f08fc3eea3db76e7ba45cda42de5cafa
4126a061ddda3f433da5def0a7c79955
7de8cd835a7f6400bbb01d8b78bfc811
7dd5c4a904893cad2b757205dc224014
208143f41c1d6148842b7ed5d817f122
310161c45b193e923c8c99e0c21a2a0c
Authentication values for status_*.jsp
gost SHA-256 6f6b66cbdc4a5aa5685d0017abd3f65843a28bcc2bb4e5b78d6d12a844a51aa8 Tunneling utility
chisel SHA-256 ca5f8e5247f1a044b8be45ef03187726b9af3ac30fd93fb5bb54144e34ed3738 Tunneling utility
Tunnel staging patterns .st<id>, wust<id>a.exe, wust<id>b.exe Staging folders and renamed tools
Directory artifacts ahsay_poc_*, ahsay_tf, ahsay_th, ahsay_t0, C:home, C:opt, C:srv, C:usr, C:AhsayCBS Exploitation-related folders
Local account wdguest Account created by the operator

Note: IP addresses and domains are intentionally Qdefanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.

Give your SOC the alert context to stops incidents quickly. Integrate Threat Intel from 16K SOCs.

The post Hackers Exploit AhsayCBS Vulnerabilities to Hide Malware in PNG Images and Deploy Stealthy Backdoors appeared first on Cyber Security News.