Sekoia Threat Detection & Response (TDR) researchers have published an in-depth technical analysis of the PolarEdge Backdoor, a stealthy implant deployed through exploitation of CVE-2023-20118, a remote code execution flaw affecting Cisco routers. The discovery follows the firmβs earlier revelation of the PolarEdge botnet, first detected in January 2025, now shown to have spread beyond Cisco to Asus, QNAP, and Synology devices.
The second wave of attacks began on February 10, 2025, when Sekoiaβs honeypots detected simultaneous exploitation attempts using a distinctive User-Agent string mimicking Google Chrome on macOS. The attackers executed a shell script, q, which in turn downloaded and launched the PolarEdge backdoor.
Sekoiaβs deeper analysis identified that βq downloads and launches the PolarEdge backdoor on the compromised system.β
The analyzed sampleβan ELF 64-bit executable targeting QNAP NAS devicesβwas 1.6 MB in size, statically linked, and stripped of debugging symbols, showing clear intent to resist analysis.
The implant functions as a custom TLS server, implemented using mbedTLS v2.8.0, and is capable of receiving commands and executing them directly on the infected host. Sekoia notes that βThe backdoorβs primary function is to send a host fingerprint to its command-and-control server and then listen for commands over a built-in TLS server implemented with mbedTLS.β
When executed without arguments, the backdoor operates in its default server mode, which βlaunches a TLS server to listen for incoming commands and spawns a dedicated thread that sends a daily host fingerprint to the C2.β
Interestingly, the malware also performs filesystem manipulation upon startup. Sekoia explains: βAt startup, the backdoor moves and deletes certain files on the deviceβ¦ we think thatβs to prevent other threat actors from accessing the systems with the same vulnerabilities.β
These file operations target utilities such as /usr/bin/wget and /sbin/curl, renaming or removing them to block competing malware from exploiting the same device.
The PolarEdge Backdoor stores its configuration data within the final 512 bytes of the binary, obfuscated using a one-byte XOR (0x11). The configuration contains three key sections β a βfilter file,β TLS parameters, and C2 server list.
Sekoia details: βThe configuration is separated into three parts, each part identified by a marker and separated by 8 null bytes. The content is then decrypted using a simple XOR with the single-byte key 0x11.β
The TLS certificates embedded in the binary include a chain of self-signed PolarSSL test certificates, providing both RSA and ECDSA cryptographic options. The main certificateβs subject and issuer fields identify the actorβs self-signed infrastructure:
βSubject: C=NL, O=PolarSSL, CN=localhost; Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA.β
Unlike typical IoT malware using HTTP or MQTT, the backdoor communicates through a custom binary protocol over TLS, validated by a series of βmagic tokens.β
Sekoia writes: βParsing an incoming request involves verifying fixed magic tokens and checking that one of them matches the value stored in the backdoorβs configuration. The response carries only the raw output of the executed command, with no additional framing or authentication.β
This lack of authentication means βanyone with read access to the installed binary can extract these magic values and issue arbitrary commands.β
Every 24 hours, the backdoor initiates a fingerprinting routine, collecting system metadata and transmitting it to its command-and-control server.
Sekoiaβs report outlines the scope of the data: βThe fingerprint includes the following data: local IP addresses, MAC addresses, current process ID, device brand (qnap), module version (QNAP_2), and the path of the filter file.β
The malware constructs an HTTP GET query containing the collected identifiers:
βip=%s&version=%s&module=%s&cmd=putdata&data=BRAND=qnap,FILTER_FILE=%s,PID=%d,MODULE=%s,MAC=%s.β
If the command-and-control server responds with a payload, it is saved and executed from /tmp/.qnax.sh, giving the attacker remote command execution and persistence capabilities.
The PolarEdge Backdoor employs multiple encryption layers, from simple XOR obfuscation to the PRESENT block cipher for decrypting internal code sections at runtime.
The malware also uses an affine cipher layered with Base64 encoding for certain strings, alongside rotation-based ciphers for obfuscating ELF section names.
To evade detection, the malware uses process name randomization, masquerading as common system daemons such as igmpproxy, dhcpd, or upnpd.
Sekoia notes: βIt also hides its internals by attempting to mount over its own /proc/<pid> directory, binding /proc/11 or /proc/1 onto it.β
While the backdoor does not maintain persistence after reboot, it spawns a child watchdog process that βevery 30 seconds checks whether /proc/<parent-pid> still exists. If the directory has disappeared, the child executes a shell command to relaunch the backdoor.β
Beyond its default server behavior, the malware supports connect-back and debug modes β giving attackers flexibility in command-and-control operations.
In connect-back mode, βthe backdoor acts as a TLS client to download a file from a remote serverβ¦ constructs and issues an HTTP GET request over TLS and writes the response body to the specified local file.β
In debug mode, the operator can update the C2 server dynamically by using a Base64-encoded parameter. Sekoia explains: βWhen executed with the options -m d -d <encrypted and base64 value>, the backdoor enters in a special mode that updates only its C2 address.β
Related Posts:
- PolarEdge Botnet: 2,000+ IoT Devices Infected
- Unmasking PackXOR: The FIN7 Packer Exposed
- France Leads International Effort to Eradicate PlugX Trojan from 3,000 Systems
- Interlock Ransomware Uses Evolving Tactics to Evade Detection
Support Our Threat Intelligence
If you find our CVE report and cybersecurity news helpful, consider supporting our work.