Exposed Server Reveals RedGolf-Linked Fortinet Exploits and Shiseido Reconnaissance

· Original article ↗

Summary

A briefly exposed server linked to KeyPlug and RedGolf/APT41 contained Fortinet exploit scripts, a PHP webshell, reverse-shell tools, and reconnaissance files listing Shiseido-related domains and authentication portals.

Key points

  • The server at 45.77.34[.]88 was exposed for less than 24 hours; a captured snapshot preserved its files after direct access was no longer possible.
  • The infrastructure was linked to KeyPlug activity and attributed to RedGolf, which the article says overlaps with APT41.
  • Reconnaissance files listed nearly 100 Shiseido-related domains, including login portals, development environments, internal dashboards, and identity providers.
  • A script fingerprinted Fortinet VPN and firewall login portals and gathered version-related JavaScript hashes.
  • Exploit scripts targeted FortiOS WebSocket CLI endpoints associated with CVE-2024-23108 and CVE-2024-23109, attempting unauthenticated privileged commands.
  • The directory included an encrypted PHP webshell and a PowerShell TCP reverse shell, plus an ELF listener for managing sessions.
  • The article provides network and file-hash indicators and recommends monitoring for suspicious requests to Fortinet login and WebSocket CLI paths.

Article Details

Attack Vectors
  • Fortinet reconnaissance scripts identify live VPN and firewall login portals and collect version-specific JavaScript hashes to fingerprint appliances and assess exploit compatibility.
  • Scripts ws_test.py, test.py, and ws_tests.py target FortiOS WebSocket CLI endpoints, spoof local traffic with a Forwarded header, and attempt unauthenticated privileged CLI access associated with CVE-2024-23108 and CVE-2024-23109.
  • The bx.php PHP webshell accepts encrypted HTTP POST payloads, decrypts them using AES-128 or a fallback XOR/base64 routine, and executes commands dynamically in memory.
  • client.ps1 establishes an encrypted TCP reverse-shell connection to 45.77.34[.]88:8080, executes received PowerShell commands, and returns encrypted output.
  • The Server ELF binary listens for HTTP-based operator commands on port 8080 and manages sessions.
  • Reconnaissance scripts enumerate Shiseido-related domains, identify origin IPs, and check for assets lacking common CDN headers.
Defensive Notes
  • Patch Fortinet SSL VPN interfaces and run supported versions, particularly on internet-exposed appliances.
  • Monitor for repeated or automated requests to /remote/login and /login, including requests with consistent User-Agent strings that do not proceed through authentication.
  • Review historical proxy and firewall logs for WebSocket handshakes to /ws/newcli/open and /ws/cli/open, and for crafted identity strings such as admin, root, and super_admin.
  • Monitor the listed IP addresses and file hashes as reported indicators, and investigate unexpected TCP connections to port 8080.

Indicators of compromise

TypeIndicatorContext
DOMAINcombinechina[.]comDomain listed alongside RedGolf open-directory infrastructure.
IPV4108[.]160[.]129[.]175Listed as a RedGolf open-directory network observable.
IPV4154[.]31[.]217[.]200RedGolf-attributed server associated with KeyPlug infrastructure and exposed tooling.
IPV4185[.]82[.]219[.]201Listed as a RedGolf open-directory network observable.
IPV445[.]32[.]21[.]176Listed as a RedGolf open-directory network observable.
IPV445[.]77[.]249[.]100Listed as a RedGolf open-directory network observable.
IPV445[.]77[.]34[.]88Exposed staging server hosting attacker tools; also used as the client.ps1 reverse-shell controller.
IPV466[.]42[.]55[.]203Listed as a RedGolf open-directory network observable.
SHA25609b220a315ea0aebae2de835a3240d3690c962a3c801dd1c1cf6e6e2c84ede95Hash of 1.py, a Fortinet reconnaissance script.
SHA2562386baf4bf3a57ae7bca44c952855a98edf569da7b62bb0c8cbe414f1800d2b6Hash of script.py, a CDN fingerprinting script recovered from the exposed directory.
SHA25653a24e00ae671879ea3677a29ee1b10706aa5aa0dccd4697c3a94ee05df2ec45Hash of a malicious ELF sample exhibiting backdoor functionality.
SHA2567146774db3c77e27b7eb48745aef56b50e0e7d87280fea03fa6890646af50d50Hash of bx.php, an obfuscated command-execution webshell.
SHA25698261d1f92ae8f7a479bc5fc4d0a8d6a76c0d534e63e9edbc2d6257a9ba84b9dHash of ws_test.py, Fortinet WebSocket exploitation code.
SHA256c1da6449513844277acc969aae853a502f177e92f98d37544f94a8987e6e2308Hash of a Linux-based reverse-shell artifact.
SHA256c8d2b2ba5b6585584200ca46564b47db8048d748aefbdfe537bceaf27fb93ad7Hash of client.ps1, a PowerShell reverse shell.
SHA256e82ecbe3823046a27d8c39cc0a4acb498f415549946c9ff0e241838b34ed5a21Hash of fscan, a port-scanning and service-enumeration tool present in the exposed directory.
SHA256f21a7180405c52565fdc7a81b2fb5a494a3d936a25d1b30b9bd4b69a5e1de9a3Hash of Server, an HTTP-based session-control binary.

MITRE ATT&CK

CVE

People

Threat Actors

Malware

Vendors

Products

Tools

Countries

Industries

Related Articles