Editor's note: This report was authored by Alexa Feminella and James Xiang 

Key Points

  • The China-backed advanced persistent threat (APT) group “Flax Typhoon” maintained year-long access to an ArcGIS system by turning trusted software into a persistent backdoor.

  • The attackers inserted and repurposed a legitimate Java server object extension (SOE) into a web shell, gated access with a hardcoded key, and embedded it in backups to evade detection and maintain persistence. 

  • While ArcGIS was targeted for its access to interconnected systems, any public-facing application with backend access is at risk. 

  • To prevent long-term compromises, organizations must move beyond IOC-based detection, proactively hunt for unusual behavior in legitimate tools, and treat every public-facing application as a potential high-risk asset. 


What if attackers could turn your trusted software components into persistent backdoors? 

For over a year, a China-backed advanced persistent threat (APT) group (“Flax Typhoon”) did just that, proving attackers don’t need their own tools when they can corrupt yours. The group cleverly modified a geo-mapping application server's Java server object extension (SOE) into a functioning web shell. By gating access with a hardcoded key for exclusive control and embedding it in system backups, they achieved deep, long-term persistence that could survive a full system recovery. 

This quiet foothold was all they needed for “hands-on-keyboard activity,” enabling malicious command execution, lateral movement, and credential harvesting across multiple hosts.  

But this isn’t just an ArcGIS story; it’s a warning about a dangerous gap in security assumptions. Having to fundamentally rethink security directives proves the flawed belief that customers treat every public-facing tool as a high-risk asset. This attack is a wake-up call: Any entry point with backend access must be treated as a top-tier priority, no matter how routine or trusted. 

In this report, we’ll walk you through: 

  • The key defensive lessons from this innovative attack. 

  • Evidence linking the activity to Flax Typhoon and the group’s hallmark tactics, techniques, and procedures (TTPs).  

  • The unique, advanced steps the attackers took to maintain year-long persistence. 

  • How to defend against prolonged threats and the necessary shift in mindset.  

The Lessons Hidden in Plain Sight

This attack truly stands out for its sheer ingenuity preying on a common security blind spot: the inherent trust placed in legitimate software components. Instead of using a known malicious tool, the attackers opted to repurpose a legitimate ArcGIS server SOE into a covert web shell. This allowed their movements to cleverly appear as normal system operations, bypassing detection tools focused on known-bad artifacts.  

This made the security team’s job exponentially harder, as they were hunting for malware while the threat was disguised as a trusted process. By adding a hardcoded key, Flax Typhoon prevented other attackers, or even curious admins, from tampering with its access.  

This forces a critical shift in security thinking, away from asking “Is this file malicious?” to “Is this application behaving as expected?” If you lack visibility into the normal behavior of your applications, you are blind to this entire class of attack. 

The group’s persistence method was even more insidious. By ensuring the compromised component was included in system backups, they turned the organization's own recovery plan into a guaranteed method of reinfection. This tactic turns a safety net into a liability, meaning incident response teams must now treat backups not as failsafe, but as a potential vector for reinfection. 

Public-Facing Applications Are High-Risk Assets 

Although specialized applications like ArcGIS may escape heavy scrutiny, the weakness exploited exists in any public-facing application an organization considers “safe.” No matter how secure a product is designed to be, a gap is inevitably created by the unique way each customer implements it. Attackers are skilled at operating in this gap. This situation also reveals a common disconnect between the assumption that security best practices are always being followed and the complex realities of real-world environments. 

When attackers weaponize legitimate functionality, they challenge the very foundation of an organization's defense and recovery strategies. A secure product can be made vulnerable if its operating environment is not managed with equal rigor. A proactive posture requires hardening all applications with the assumption that any feature can become a vulnerability in the right context. 

ArcGIS is a geographic information system (GIS) used to visualize, analyze, and manage spatial data for critical functions like disaster recovery, urban planning and emergency management. A single compromise can disrupt core operations, expose sensitive data like infrastructure vulnerabilities attackers can exploit later, and provide a gateway for lateral movement into interconnected enterprise and operational technology (OT) networks. 

Flax Typhoon’s Blueprint: Persistence, Patience, Precision 

We attribute this attack with high confidence to Chinese APTs and with moderate confidence to Flax Typhoon (aka “Ethereal Panda”).  

Several factors in this attack support this attribution: 

Category 

Description 

Primary Tooling 

Flax Typhoon uses SoftEther VPN to create VPN bridges to its infrastructure.i 

Targeting Profile 

The attack sector and region are consistent with previous Flax Typhoon patterns. 

Defining Hallmark 

Maintaining long-term, persistent access—often for over 12 months—is a key characteristic of this APT group. 

Attack Focus 

Flax Typhoon prioritizes persistence, lateral movement, and credential harvesting, typically gaining initial access by exploiting public-facing servers, deploying web shells, and establishing VPN connections. 

Activity Timing 

Observed activity aligns with Chinese business hours (12AM – 6PM UTC). 

Active since at least 2021, Flax Typhoon is known for long periods of dormancy, which it uses to plan and prepare before conducting precise, high-impact attacks. The group consistently focuses on critical infrastructure, and it's highly likely that its re-emergence is not a random event, making this attribution significant for defenders.  

Therefore, we assess it is probable (a 55-70% likelihood) that Flax Typhoon is already active in new networks or planning its next victim; this finding necessitates that organizations in critical infrastructure must move beyond prevention and actively hunt for any signs of compromise. 

Unpacking the Yearlong Intrusion

Data retention obscured the original entry point, so our investigation centered on what the attackers did post-access. Their activity began with inserting and repurposing an ArcGIS server SOE to behave as a web shell. We considered whether execution involved an unknown vulnerability, a misconfiguration, or a gap in security practices. After thorough analysis, we discounted a product vulnerability and homed in on demystifying an unusually clever attack chain. 

Initial Access

Malicious SOE decompiled

Figure 1: Malicious SOE decompiled

Working with Esri (ArcGIS developer), we found the attackers compromised a portal administrator account and deployed a malicious SOE. This method of attack specifically targets the self-hosted environment and does not impact ArcGIS Online, as the software-as-a-service (SaaS) platform does not allow the installation of custom SOEs. The attackers found a public-facing ArcGIS server that was connected to a private, internal ArcGIS server for backend computations (a common default configuration). ArcGIS documentation shows this as a standard setup where the public portal acts as proxy, forwarding commands to the internal server through a Web Adapter. We observed the threat actor executing base64-encoded (disguised) commands to the portal server (see Figure 1), consistent with this proxying model. They could then view the output to confirm if their commands worked or failed. 

Execution 

GET request instructing the server to create a new directory image

Figure 2: GET request instructing the server to create a new directory

For initial execution, they sent a malicious GET web request (see Figure 2) with a base64-encoded payload in the “layer” parameter. Decoded, it resolved to "cmd.exe /c mkdir C:\Windows\System32\Bridge,” instructing the server to create a hidden system directory named “Bridge.” This serves as a private workspace for the attackers. A hardcoded key was appended to the request, this was extremely important as it was required to trigger the web shell and execute commands.

They then repeatedly abused this same web shell to run additional encoded PowerShell commands; all routed through the same “JavaSimpleRESTSOE” extension and “getLayerCountByType” operation. This consistent method allowed them to advance their objectives while blending in with normal server traffic.

Discovery

After confirming the web shell worked, the attackers executed typical discovery commands like “whoami” to identify account permissions. They discovered the compromised service account had local administrator rights and quickly created new directories to serve as a staging area for the tools they would use later.

Later, they ramped up their activity by scanning the internal network over various protocols, including Secure Shell (SSH), HTTPS, Server Message Block (SMB), and Remote Procedure Call (RPC), and conducted several SMB scans across different internal subnets. By mapping the network topology and identifying critical hosts, the attackers understood the environment enough to precisely plan their next moves and maximize their impact.

Persistence

To establish long-term access, the attackers uploaded a renamed SoftEther VPN executable “bridge.exe” into the default Windows System32 directory (see Figure 3), along with several of its required configuration and installation files.

Figure 3: Malicious renamed bridge.exe ingressed image

Figure 3: Malicious renamed bridge.exe ingressed

They then created a new service pointing to the malicious executable, set to start automatically, and repeatedly restarted it (see Figure 4)—several times until successfully configured.Their repeated troubleshooting efforts underscored their determination to establish a durable backdoor that would have the highest level of system privileges whenever the server was rebooted.

Figure 4: Configuration of “SysBridge” Service with start on boot image

Figure 4: Configuration of “SysBridge” Service with start on boot

Renaming the VPN executable and placing it into the “System32” folder helped them in two ways. First, it actively reduces the chances of detection by blending malicious activity with what might appear to be a legitimate process in a trusted path. Second, running it as a service ensured it would survive patches or reboots.

The original web shell (malicious SOE) also provided ongoing access, and because it remained on the ArcGIS server for an extended period, it was stored in the victim’s backups. After remediation and patching, attackers returned via the same malicious backdoor.

Command-and-Control (C2)

The bridge.exe process established outbound HTTPS connections to an attacker-controlled IP address on port 443, executing under system privileges. Based on SoftEther documentation, this executable was indicative of an attempt to set up a VPN bridge (a digital tunnel)—connecting the attacker’s server directly to the victim’s internal network.

Our research confirmed this, finding corresponding SoftEther VPN server on the attacker’s machine (see Figure 5). Additionally, the VPN’s configuration files indicated a registered domain at “<company>05.softether.net.” Further analysis shows additional registered domains months prior, incrementing on the discovered domain (e.g. <company>04.softether.net, <company>03.softether.net, etc.), indicating repeated attempts to establish command-and-control (C2).

Figure 5: The attackers’ C2 (172.86.113[.]142) hosting a SoftEther VPN Server

This VPN bridge allows the attackers to extend the target’s local network to a remote location, making it appear as if the attacker is part of the internal network. This allowed them to bypass network-level monitoring, acting like a backdoor that allows them to conduct additional lateral movement and exfiltration.

Credential Access

Leveraging the insights gathered during their scanning activity, the attackers targeted two workstations within the scanned subnet. These weren’t random targets; both workstations specifically belonged to IT personnel, making them high-value assets for further exploitation.

The attackers attempted to enable RemoteRegistry on the workstations to access sensitive system configurations and dump the Security Account Manager (SAM) database, security registry keys, and LSA secrets, all of which contain critical authentication data. These were clear “hands-on keyboard” attempts to escalate privileges and gain the credentials needed to deepen their foothold in the network.

A particularly noteworthy observation was a file “pass.txt.lnk” being written to disk and accessed, suggesting active credential harvesting likely to move laterally within the Active Directory (AD) environment and compromise additional systems.

Remediation

ReliaQuest worked closely with the customer to contain the threat, remove the attackers, and conduct a comprehensive investigation into the attack chain. By collaborating with Esri and the victim, we analyzed malicious requests, compared them to known-good SOEs, and successfully identified the malicious SOE. ArcGIS confirmed this was the first documented case of a malicious SOE being used in this way.

Discussions with the customer revealed that the password for the ArcGIS portal administrator account was a "leet" password of unknown origin. Such passwords are not standard administrative practice and are characteristic of a system compromise, which suggests an attacker had full control of the account and reset the password.

To prevent reinfection, the entire server stack was rebuilt. During the intrusion, we deployed custom detections alongside existing detections (see below) to monitor the attacker’s activity and expanded our ArcGIS-specific threat coverage. We also recommended network segmentation, architecture enhancements, and the strict application of the principle of least privilege (PoLP) for account management to strengthen the customer’s defenses.

Our detection rules can be paired with the following Agentic Automated Response Playbooks (ARPs):

Isolate Host: The moment attackers ran discovery commands (whoami) or scanned the network, this playbook could have automatically quarantined the compromised ArcGIS server. This would have stopped their reconnaissance at the earliest sign of post-exploitation, preventing them from ever establishing the VPN backdoor.

Block IP: Later in the attack chain, as soon as the bridge.exe process initiated its C2 communication, this playbook could have instantly severed the connection, dismantling the attacker's persistence mechanism before it could be used.

By using ARPs to automate the response to these high-fidelity detections, you can break the attack chain regardless of the adversary's pace, neutralizing a methodical intruder before they can achieve their objectives.

Don’t Let Them Turn Your Tools Against You

When attackers leverage your own systems to hide, it’s time to step up your defenses. This attack highlights not just the creativity and sophistication of attackers but also the danger of trusted system functionality being weaponized to evade traditional detection. It’s not just about spotting malicious activity; it’s about recognizing how legitimate tools and processes can be manipulated and turned against you.

This attack proves the defensive mindset must shift. The new frontline isn’t just the network firewall; it’s every single public-facing application—especially overlooked tools like ArcGIS—must be treated as high-risk assets. This means moving beyond traditional IOC-based detection to find what’s hiding in plain sight and auditing these systems to eliminate the blind spots attackers rely on. This tactic is part of a larger trend of “living-off-the-land” attacks, where attackers repurpose legitimate system components to achieve their objectives. We’ve seen APT groups modify everything from SFTP software to geo-mapping applications for espionage. Because these attacks are so effective and difficult to detect, we assess with high confidence that this trend will not only continue but grow over the next three to six months.

ReliaQuest’s Strategy for Tackling Prolonged Threats

  • Agentic AI: Flax Typhoon succeeded because it didn't use known malware; it corrupted a legitimate process. Agentic AI is designed for this exact scenario. Instead of hunting for known bad files (IOCs), it detects malicious behavior, such as a trusted server component suddenly making outbound network connections or executing suspicious commands—the activity that would reveal a repurposed SOE acting as a backdoor.

  • GreyMatter Transit: The attackers used their initial foothold to move laterally and execute commands. Prolonged threats like this thrive on undetected movement. GreyMatter Transit provides visibility into data as it moves across your network, allowing for real-time detection of the anomalous traffic patterns associated with lateral movement or an attacker’s C2 communication, even when it’s disguised within legitimate channels.

  • GreyMatter Discover: A weak administrator password was a key enabler in this attack, providing an easy entry point. By providing continuous visibility into your assets and identities, GreyMatter Discover hardens this attack surface. It proactively identifies and flags security gaps like misconfigured accounts, excessive user privileges, and weak or exposed credentials before they can be exploited by an attacker.

  • GreyMatter Digital Risk Protection (DRP): The credentials that enable an attack like this one are often stolen and traded long before they are used. GreyMatter DRP monitors the dark web and cybercriminal forums for your company's leaked credentials and discussions about exploiting vulnerabilities in your software stack. This provides early warning, giving you the chance to reset exposed passwords or patch vulnerabilities before the worst happens.

Your Action Plan

  • Audit and Harden Public-Facing Applications: The core lesson from this attack is that any application with backend access is a potential open door for attackers. Inventory all such applications—no matter how routine or trusted—and treat them as top-tier security priorities. Assume they will be targeted.

  • Move Beyond IOC-Based Detection: Flax Typhoon didn't use a known bad file; it corrupted a good one. This tactic renders traditional, signature-based detection useless. Shift your focus to behavioral analytics to spot anomalies in legitimate processes—like a web server component spawning unusual processes or making unexpected network connections.

  • Enforce Strong Credential Hygiene: A weak administrator password was a key entry vector in this attack. Enforce strong, unique passwords and multifactor authentication (MFA) across all accounts, especially for public-facing applications. Implement the PoLP to ensure that even if an account is compromised, the attacker’s access is strictly limited.

  • Adhere to Best Practices and Standards: While this attack likely exploited weak credentials, adhering to ArcGIS security best practices could have prevented it. To mitigate future risks, we recommend securing the ArcGIS admin portal from public access, configuring MFA, implementing the PoLP for local accounts, and prioritizing timely patch management. Implementing these best practices will significantly close the door to initial access opportunities. 

MITRE ATT&CK TTPs

ID

Tactics and Techniques

ID

Tactics and Techniques

T1078

Initial Access: Valid Accounts

T1036.005

Defense Evasion: Masquerading: Rename Legitimate Utilities

T1190

Exploit Public-Facing Application

T1564.001

Defense Evasion: Hide Artifacts: Hidden Files and Directories

T1059.001

Execution: Command and Scripting Interpreter: PowerShell

T1071.001

Command and Control: Application Layer Protocol Web Protocols

T1059.003

Execution: Command and Scripting Interpreter: Windows Command Shell

T1043

Command and Control: Commonly Used Port

T1087.001

Discovery: Account Discovery: Local Account

T1003.002

Credential Access: Security Account Manager

T1543.003

Persistence: Create or Modify System Processes: Windows Services

T1003

Credential Access: OS Credential Dumping

IOCs

Artifact

Details

172.86.117[.]230

C2 IP (SoftEther VPN Server)

bridge.exe

Renamed SoftEther VPN Bridge

vpn_bridge.config

SoftEther VPN Config File

hamcore.se2

SoftEther Installation File

4f9d9a6cba88832fcb7cfb845472b63ff15cb9b417f4f02cb8086552c19ceffc

File hash of bridge.exe

8282c5a177790422769b58b60704957286edb63a53a49a8f95cfa1accf53c861

File hash of vpn_bridge.config

84959fe39d655a9426b58b4d8c5ec1e038af932461ca85916d7adeed299de1b3

File hash of hamcore.se2

cec625f70d2816c85b1c6b3b449e4a84a5da432b75a99e9efa9acd6b9870b336

File hash of simplerestsoe.soe

[1]hxxps://www.microsoft[.]com/en-us/security/blog/2023/08/24/flax-typhoon-using-legitimate-software-to-quietly-access-taiwanese-organizations/