Upon obtaining scan results, the threat actor transitioned to exploitation.
These attempts focused on CVE-2021-40539, which allows for REST API authentication bypass with resultant remote code execution in vulnerable devices. To achieve this result, the actors delivered uniquely crafted POST statements to the REST API LicenseMgr.
Following initial exploitation, a payload was uploaded to the victim network which installed a Godzilla webshell.
This activity was consistent across all victims; however, analysts also observed a smaller subset of compromised organizations who subsequently received a modified version of a new backdoor called NGLite.
The threat actors then used either the webshell or the NGLite payload to run commands and move laterally to other systems on the network, while they exfiltrated files of interest simply by downloading them from the web server.
Once the actors pivoted to a domain controller, they installed a new credential-stealing tool that analysts track as KdcSponge.
At the time of exploitation, two different executables were saved to the compromised server: ME_ADManager.exe and ME_ADAudit.exe. The ME_ADManager.exe file acts as a dropper Trojan that not only saves a Godzilla webshell to the system, but also installs and runs the other executable saved to the system, specifically ME_ADAudit.exe.
The ME_ADAudit.exe executable is based on NGLite, which the threat actors use as their payload to run commands on the system.
Both Godzilla and NGLite were developed with Chinese instructions and are publicly available for download on GitHub.
Analysts believe threat actors deployed these tools in combination as a form of redundancy to maintain access to high-interest networks.
Godzilla is a functionality-rich webshell that parses inbound HTTP POST requests, decrypts the data with a secret key, executes decrypted content to carry out additional functionality and returns the result via a HTTP response.
This allows attackers to keep code likely to be flagged as malicious off the target system until they are ready to dynamically execute it.
The Godzilla webshell was developed by user BeichenDream, who stated they created this webshell because the ones available at the time would frequently be detected by security products during red team engagements.
As such, the author advertises it will avoid detection by leveraging AES encryption for its network traffic and that it maintains a very low static detection rate across security vendor products.
It’s no surprise that the Godzilla webshell has been adopted by regional threat groups during their intrusions, as it offers more functionality and network evasion than other webshells used by the same groups, such as ChinaChopper.
The JSP webshell itself is fairly straightforward in terms of functionality and maintains a lightweight footprint.
Its primary function is to parse an HTTP POST, decrypt the content with the secret key and then execute the payload.
This allows attackers to keep code likely to be flagged as malicious off the target system until they are ready to dynamically execute it.
NGLite is characterized by its author as an “anonymous cross-platform remote control program based on blockchain technology.”
It leverages New Kind of Network (NKN) infrastructure for its command and control (C2) communications, which theoretically results in anonymity for its users.
It’s important to note that NKN is a legitimate networking service that uses blockchain technology to support a decentralized network of peers.
The use of NKN as a C2 channel is very uncommon.
Upon compromising a network, the threat actor moved quickly from their initial foothold to gain access to other systems on the target networks by running commands via their NGLite payload and the Godzilla webshell.
After gaining access to the initial server, the actors focused their efforts on gathering and exfiltrating sensitive information from local domain controllers, such as the Active Directory database file (ntds.dit) and the SYSTEM hive from the registry.
Shortly after, analysts observed the threat actors installing the KdcSponge credential stealer.
Ultimately, the actor was interested in stealing credentials, maintaining access and gathering sensitive files from victim networks for exfiltration.
Finally, KdcSponge is a novel credential-stealing tool that is deployed against domain controllers to steal credentials.
KdcSponge injects itself into the Local Security Authority Subsystem Service (LSASS) process and will hook specific functions to gather usernames and passwords from accounts attempting to authenticate to the domain via Kerberos.
The malicious code writes stolen credentials to a file but is reliant on other capabilities for exfiltration.
The primary method in which KdcSponge locates the API functions to hook is based on determining the version of the Kerberos module based on the TimeDateStamp value within the IMAGE_FILE_HEADER section of the portable executable (PE) file.
Once the version of the Kerberos module is determined, KdcSponge has hardcoded offsets that it will use to hook the appropriate functions to monitor all calls to them with the intention to steal credentials.
The stolen credentials are encrypted with a single-byte XOR algorithm using 0x55 as the key and written to the system.dat file.