Hackers Exploit Fortinet Vulnerabilities to Deploy Stealthy PEERSTITCH Malware on FortiGate Firewalls
Attackers exploited Fortinet flaws at a telecom MSP and deployed the stealthy PEERSTITCH implant on FortiGate firewalls.
Unit 42 says attackers tracked as CL-STA-0954, also known as UNC5820, compromised a telecommunications MSP’s FortiManager in September 2024 by exploiting CVE-2024-47575 (FortiJump). They stole an archive of configurations, credentials, and trust material tied to more than 500 managed FortiGate firewalls, then used recovered credentials and packet captures. Through authenticated path-traversal flaw CVE-2025-61624, they deployed PEERSTITCH, a memory-only implant injected into FortiOS processes miglogd and iked, and set up a separate reverse shell via Apache mod_md.
- Attackers breached a telecom MSP FortiManager using CVE-2024-47575.
- Stolen data covered configurations for more than 500 managed FortiGates.
- CVE-2025-61624 let them write a root-level loader via auto-script.
- PEERSTITCH injects into miglogd and iked and stays memory-resident.
- They also abused Apache mod_md and deleted logs and staging files.
Vulnerabilities mentionedAll →
- CVE-2024-475759.895%Unauthenticated RCE in Fortinet FortiManager and FortiManager Cloudpublished · Fortinet FortiManager KEV PoC
Indicators of compromiseauto-extracted · verify before use · export allAll →
| Type | Indicator | Context |
|---|---|---|
| sha256 | 829b1cd270b30565739a478441833f49f10a49bd06f0d18cc96c8ae4a0431f11 | f868b9429ae21533bb9cd1e70 PEERSTITCH ARM64 injector SHA-256 829b1cd270b30565739a478441833f49f10a49bd06f0d18cc96c8ae4a0431f11 ARM64 memory-mapping bootstrap SHA-256 bd064244dad748cf2a44 |
| sha256 | 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 | 106dab2e4fb7d14ce15a8 Emscripten WebAssembly module SHA-256 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 Runtime shared-secret artifact IP address 23.240.77[.]233 I |
| sha256 | 9c4c4436ff5cdf0d6d68f5108031cbf3708a095cde4ef8c09316af7a7110437e | 18ee944b75d1b3febd4c1fe02a Core hook injection data SHA-256 9c4c4436ff5cdf0d6d68f5108031cbf3708a095cde4ef8c09316af7a7110437e Staging and preparation script SHA-256 fc1b10c58057ef9f1f9a |
| sha256 | b7ae166fd49a7ecfe6322a80b8aa56d6aa0825d8f5d106dab2e4fb7d14ce15a8 | 1995a37be8249c5e379ab Emscripten JavaScript runtime SHA-256 b7ae166fd49a7ecfe6322a80b8aa56d6aa0825d8f5d106dab2e4fb7d14ce15a8 Emscripten WebAssembly module SHA-256 8d969eef6ecad3c29a3a6 |
| sha256 | b9fb0b27ddd59b58d3ae53c7227298a3e0de1e6f868b9429ae21533bb9cd1e70 |
Full article1,073 words · extracted from cybersecuritynews.com · click to collapse
Attackers compromised a telecommunications managed service provider by exploiting vulnerabilities in Fortinet’s centralized management and firewall systems, then deployed PEERSTITCH, a stealthy malware implant that runs inside FortiGate processes.
Unit 42 says the activity began with a breach of a FortiManager appliance and exposed configurations and sensitive data linked to more than 500 managed FortiGate firewalls.
The researchers say this exposure did not confirm that the clients’ firewalls were also compromised. In the September 2024 intrusion, the attackers exploited CVE-2024-47575, also known as FortiJump, against FortiManager.
The flaw let an unauthenticated remote attacker send crafted requests through the device’s management channel and run commands. Unit 42 reported that the attackers registered a rogue device, created an archive and stole it.
The archive included firewall configurations, network details, credentials and cryptographic trust material. Analysts from Unit 42 identified PEERSTITCH while investigating the intrusion, which they track as CL-STA-0954, also known as UNC5820.
Their technical report on the FortiGate implant describes a multi-stage operation that moved from FortiManager compromise to credential use, network monitoring and malware deployment.
The stolen archive gave the attackers a map of the managed environment: device serial numbers and public IP addresses, network routes, firewall rules, and management relationships.
It also contained encrypted administrative and VPN credentials and certificates used to establish trust between FortiManager and managed devices. Unit 42 says researchers were able to recover administrative and VPN passwords from the stolen configuration files.
After a period of inactivity, the attackers used the compromised management platform to push unauthorized packet-capture settings to some managed firewalls.
.webp)
These rules monitored unencrypted HTTP traffic and selected services, including remote administration and network discovery. The researchers also observed captures aimed at TFTP, RADIUS and LDAP traffic, which could reveal files, authentication data and directory activity.
Hackers Exploit Fortinet Vulnerabilities
Using recovered credentials, the attackers then opened unauthorized FortiGate VPN sessions and reached internal network-management areas.
The operation shows how a compromise of a central management system can expose other connected devices: the attackers used stolen trust material and device information to continue their activity beyond the first appliance.
Cybersecurity News has previously covered the FortiManager zero-day vulnerability exploited and the mass compromise of FortiManager devices, which provide background on the earlier exploitation of CVE-2024-47575.
.webp)
Unit 42 says the attackers exploited a second flaw, CVE-2025-61624, through FortiOS’s system.auto-script feature. The path traversal issue allowed an authenticated administrator to write files outside the intended directory, with the script running at root level.
That access helped the attackers move from a restricted administrative interface to control of the firewall’s underlying operating system.
The attackers used a traversal string in an auto-script object to place a loader on selected devices. The loader fetched several files, including JavaScript and WebAssembly components, plus a native ARM64 executable named lldprx.
After a delay, the deployment script launched the executable, which searched for two FortiOS processes: miglogd, responsible for logging, and iked, which handles IKE and IPsec VPN functions.
The injector attached to both processes and created a 16-kilobyte memory area with read, write and execute permissions. It placed its payload there and altered execution paths in the daemons.
PEERSTITCH then used process memory to pass session tags between miglogd and iked. When VPN traffic matched specific markers, the implant could take an alternate code path that bypassed normal FortiOS security checks.
This design makes the implant difficult to find with routine checks. It does not leave a persistent malware binary on disk, open a listening port or make its own outbound connection. Instead, it hides its activity inside legitimate system processes and their existing traffic.
A second channel and efforts to hide activity
The researchers also found that the attackers misused Apache’s mod_md module, which supports automated certificate management, to set up a reverse shell.
They altered configuration so that certificate-validation activity could run commands through Node.js and repeatedly contact attacker infrastructure. This gave the attackers a separate route for remote control alongside the memory-based implant.
To make investigation harder, the attackers stopped logging services, cleared crash logs, removed rogue accounts and auto-script objects, and replaced a malicious Apache configuration file with harmless-looking text. The lldprx injector also deleted its own file and stopped the staging process before exiting.
Organizations should review FortiManager and FortiGate records for unexpected device registrations, unfamiliar administrator accounts, suspicious VPN sessions, and auto-script entries containing path traversal strings such as ../../.
They should compare firewall configurations with known-good backups and treat credentials, certificates and trust material stored on a compromised management server as exposed.
Cybersecurity News has also covered a FortiGate firewall configuration leak, a reminder that stolen firewall settings can reveal credentials and network design.
For PEERSTITCH-specific hunting, Unit 42 recommends examining the memory maps of miglogd and iked for anonymous 16-kilobyte regions with read, write and execute permissions. Investigators should also check for memory patches at the offsets listed below, cross-process writes to /proc/<pid>/mem, relevant daemon crashes, and suspicious auto-script objects.
Indicators of compromise (IoCs):-
| Type | Indicator | Context |
|---|---|---|
| SHA-256 | b9fb0b27ddd59b58d3ae53c7227298a3e0de1e6f868b9429ae21533bb9cd1e70 | PEERSTITCH ARM64 injector |
| SHA-256 | 829b1cd270b30565739a478441833f49f10a49bd06f0d18cc96c8ae4a0431f11 | ARM64 memory-mapping bootstrap |
| SHA-256 | bd064244dad748cf2a44074bee56f5bfab4a2b18ee944b75d1b3febd4c1fe02a | Core hook injection data |
| SHA-256 | 9c4c4436ff5cdf0d6d68f5108031cbf3708a095cde4ef8c09316af7a7110437e | Staging and preparation script |
| SHA-256 | fc1b10c58057ef9f1f9a1e2a3d4a1c89f43b0ead451398c70ed7a6e0312b36ee | Node.js deployment orchestrator |
| SHA-256 | f84eea718526706afdf2d1a2774fab76ecb11c18fb61995a37be8249c5e379ab | Emscripten JavaScript runtime |
| SHA-256 | b7ae166fd49a7ecfe6322a80b8aa56d6aa0825d8f5d106dab2e4fb7d14ce15a8 | Emscripten WebAssembly module |
| SHA-256 | 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 | Runtime shared-secret artifact |
| IP address | 23.240.77[.]233 | Installer and malware hosting; ACME activity |
| IP address | 47.18.167[.]159 | Installer and malware hosting |
| IP address | 45.32.41[.]202 | Rogue FortiGate registered to FortiManager |
| IP address | 198.199.122[.]22 | Later IP used for rogue device activity |
| URL | hxxp[:]//23.240.77[.]233:8085/pM.js | PEERSTITCH stager |
| URL | hxxp[:]//47.18.167[.]159:8085/pM.js | PEERSTITCH stager |
| URL | hxxp[:]//23.240.77[.]233:8084/directory | ACME server activity |
| URL | hxxp[:]//23.240.77[.]233:8084/acme/new-acct | ACME account registration |
| URL | hxxp[:]//23.240.77[.]233:8084/acme/order/11111 | ACME order activity |
| URL | hxxp[:]//23.240.77[.]233:8084/acme/authz/1 | ACME authorization activity |
| URL | hxxp[:]//23.240.77[.]233:8084/acme/finalize/61924744/774083503 | ACME finalization activity |
| File/path | lldprx, pM.js, index.js, index.wasm, ipssem.js | Malware and deployment components |
| File/path | ../../../../setup | Path-traversal auto-script name |
| File/path | ../../tmp/apache2/conf/md-acme.conf | Path-traversal Apache configuration path |
Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.
Update defenses against new malware as soon as it appears. Integrate TI Feeds with data from 16K SOCs.
Tushar is a senior cybersecurity and breach reporter. He specializes in covering cybersecurity news, trends, and emerging threats, data breaches, and malware attacks. With years of experience, he brings clarity and depth to complex security topics.