F5 Labs: SparkRAT C2 scanning from DigitalOcean and April 2025 CVE exploitation trends, including Fortinet SSL-VPN and SAP NetWeaver
F5 Labs, using Efflux sensor telemetry, reports on the most exploited CVEs of April 2025 and on internet-wide scanning for SparkRAT command-and-control servers. A single actor, using three IPs in DigitalOcean ASN 14061, sent identical HTTP POST requests to the SparkRAT in-place update endpoint, each IP scanning for about 13 hours and reaching 65-85% of F5's sensors. CVE-2017-9841 (PHPUnit RCE) remained the most exploited, with nearly 60,000 attempts. Exploitation of CVE-2022-42475 (FortiOS SSL-VPN) roughly doubled from 2025-03-25, in line with Fortinet's 10 April warning. Exploitation of SAP NetWeaver CVE-2025-31324 was low to moderate, though ReliaQuest links BianLian and RansomEXX to opportunistic attacks using it.
Technical Details
- Top exploited CVEs: CVE-2017-9841 (PHPUnit), CVE-2019-9082 (ThinkPHP), CVE-2022-24847 (GeoServer JNDI), CVE-2020-8958 (Guangzhou ONU command injection) and CVE-2022-42475 (FortiOS SSL-VPN heap overflow). Activity against TP-Link CVE-2023-1389 dropped by an order of magnitude.
- Fortinet reported a threat actor using CVE-2022-42475, CVE-2023-27997 and CVE-2024-21762 against SSL-VPN devices. F5 saw only minor attempts against the latter two in January and February 2025. CERT-FR found compromises dating back to early 2023.
- F5 saw no exploitation of Ivanti Connect Secure CVE-2025-22457, only low-level requests to
auth/url_admin/welcome.cgi, which fingerprints the Ivanti version. - CVE-2025-31324 (CVSS 10) is exploited by uploading a malicious JSP.
- SparkRAT scan:
POST /api/client/update?arch=amd64&commit=08059e95dacafe0bf6e5782f8e2c8ec9cd8c5a17&os=windows, with User-AgentSPARK COMMIT: <hash>and a Secret header. The commit corresponds to XZB-1248/Spark v0.2.16 (2023-02-01). - SparkRAT is open source (Go, 500+ forks) and cross-platform (Windows, Linux, macOS). It communicates over HTTP and websockets with obfuscated payloads, and its client embeds a configuration of 384 bytes. It has typical RAT features, and no anti-analysis countermeasures were found in the public code.
- Sangfor linked SparkRAT to Patchwork APT, and Hunt.io reported in-the-wild use, but F5 does not attribute the scanning to any named actor.
Remediation
- Patch high-priority vulnerabilities promptly: PHPUnit, ThinkPHP, GeoServer, FortiOS and SAP NetWeaver.
- Deploy a WAF to block web exploits, and scan the environment for vulnerabilities.
- Monitor anomalous outbound traffic and websocket C2 activity, and use the published Suricata rules for SparkRAT detection.
4 exploits públicos
Há código de exploração publicado no Exploit-DB para CVE-2023-1389, CVE-2017-9841, CVE-2019-9082. O código não é reproduzido aqui: o link leva à fonte, e a explicação foi escrita pela IA a partir do arquivo publicado.
-
TP-Link Archer AX21 - Unauthenticated Command Injection
This script exploits CVE-2023-1389, a command injection in the web interface of the TP-Link Archer AX21, where the country setting of the locale handler reaches a shell unsanitized. The attacker needs only network reach to the router's web interface, no login, and firmware older than 1.1.4 Build 20230219. Sending the crafted request twice runs commands as root, and here it opens a reverse shell to the attacker. It is a short but working proof of concept that matches the listed CVE.
-
PHP Unit 4.8.28 - Remote Code Execution (RCE) (Unauthenticated)
This script exploits CVE-2017-9841: PHPUnit's eval-stdin helper, when left reachable in a web-exposed vendor directory, executes any PHP code sent in an HTTP request body. The attacker needs only network access to a site that deployed PHPUnit (a dev dependency) publicly, with no login or user interaction. The tool checks several common framework layouts with a harmless test, then offers an interactive prompt that runs system commands as the web server user. It is a simple, working exploit that matches the CVE.
-
ThinkPHP - Multiple PHP Injection RCEs (Metasploit)
This Metasploit module exploits remote code execution in the ThinkPHP 5.x web framework through the public index page, where a crafted request makes the framework call a PHP function with attacker-chosen input. The attacker needs only network access to the web server, with no login or user interaction, and a ThinkPHP version up to 5.0.23. The module reads the version from an error page and picks one of two techniques, one per CVE. It runs system commands as the web server user and can drop a Linux payload for a remote session. It is a mature, working exploit.
-
zzzphp CMS 1.6.1 - Cross-Site Request Forgery
This is a cross-site request forgery proof of concept against the zzzphp CMS 1.6.1 admin panel, in the template file editing function. The admin save form has no anti-CSRF token, so a malicious web page can silently submit a forged edit. The attacker only needs to lure a logged-in administrator to that page; no credentials or local access are required. The forged edit writes a PHP expression into a site template, which the CMS later evaluates, leading to remote code execution. It is a simple, working-looking PoC (unverified), and the author describes it as a follow-up to CVE-2019-9041.
Linha do tempo
-
F5 Labs: SparkRAT C2 scanning from DigitalOcean and April 2025 CVE exploitation trends, including Fortinet SSL-VPN and SAP NetWeaver
ler a análise desta fonte ocultar
F5 Labs, using Efflux sensor telemetry, reports on the most exploited CVEs of April 2025 and on internet-wide scanning for SparkRAT command-and-control servers. A single actor, using three IPs in DigitalOcean ASN 14061, sent identical HTTP POST requests to the SparkRAT in-place update endpoint, each IP scanning for about 13 hours and reaching 65-85% of F5's sensors. CVE-2017-9841 (PHPUnit RCE) remained the most exploited, with nearly 60,000 attempts. Exploitation of CVE-2022-42475 (FortiOS SSL-VPN) roughly doubled from 2025-03-25, in line with Fortinet's 10 April warning. Exploitation of SAP NetWeaver CVE-2025-31324 was low to moderate, though ReliaQuest links BianLian and RansomEXX to opportunistic attacks using it.
Technical Details
- Top exploited CVEs: CVE-2017-9841 (PHPUnit), CVE-2019-9082 (ThinkPHP), CVE-2022-24847 (GeoServer JNDI), CVE-2020-8958 (Guangzhou ONU command injection) and CVE-2022-42475 (FortiOS SSL-VPN heap overflow). Activity against TP-Link CVE-2023-1389 dropped by an order of magnitude.
- Fortinet reported a threat actor using CVE-2022-42475, CVE-2023-27997 and CVE-2024-21762 against SSL-VPN devices. F5 saw only minor attempts against the latter two in January and February 2025. CERT-FR found compromises dating back to early 2023.
- F5 saw no exploitation of Ivanti Connect Secure CVE-2025-22457, only low-level requests to
auth/url_admin/welcome.cgi, which fingerprints the Ivanti version. - CVE-2025-31324 (CVSS 10) is exploited by uploading a malicious JSP.
- SparkRAT scan:
POST /api/client/update?arch=amd64&commit=08059e95dacafe0bf6e5782f8e2c8ec9cd8c5a17&os=windows, with User-AgentSPARK COMMIT: <hash>and a Secret header. The commit corresponds to XZB-1248/Spark v0.2.16 (2023-02-01). - SparkRAT is open source (Go, 500+ forks) and cross-platform (Windows, Linux, macOS). It communicates over HTTP and websockets with obfuscated payloads, and its client embeds a configuration of 384 bytes. It has typical RAT features, and no anti-analysis countermeasures were found in the public code.
- Sangfor linked SparkRAT to Patchwork APT, and Hunt.io reported in-the-wild use, but F5 does not attribute the scanning to any named actor.
Remediation
- Patch high-priority vulnerabilities promptly: PHPUnit, ThinkPHP, GeoServer, FortiOS and SAP NetWeaver.
- Deploy a WAF to block web exploits, and scan the environment for vulnerabilities.
- Monitor anomalous outbound traffic and websocket C2 activity, and use the published Suricata rules for SparkRAT detection.