Unit 42 Details AI-Assisted Espionage Campaign Targeting Government Linux Systems

Summary
Unit 42 describes CL-UNK-1211 activity targeting government Linux infrastructure from October 2025 to April 2026, including web shells, credential theft, a custom RAT and attempted data exfiltration. AI-generated code is suggested, not confirmed.
Key points
- Unit 42 observed the activity from October 2025 through April 2026 and tracks the unattributed cluster as CL-UNK-1211.
- Attackers used web shells and altered PHP configuration to establish persistence, while harvesting credentials through modified shell and PHP files.
- The campaign deployed SysGoRAT, a custom Go RAT for Windows and Linux, and used in-memory reverse shells, SSH, proxies and database features for access and movement.
- Attackers enumerated government mailboxes and social-media-related emails, dumped database contents, and attempted exfiltration; one mailbox-collection script had syntax errors and would fail.
- Scripts contained conversational annotations and other characteristics Unit 42 says are consistent with AI-assisted generation; the researchers say AI use is suggested, not proven.
- The attackers attempted to disable endpoint protection, erase logs and disguise activity as red-team operations. Cortex XDR detected and mitigated the attempts to terminate its processes.
Article Details
- Attack Vectors
- Deployed custom and open-source web shells on targeted Linux servers, including persistence through changes to PHP auto_prepend_file settings.
- Harvested credentials by hijacking the sudo command through .bashrc, inserting credential-logging code into PHP login pages, and searching configuration files and command histories for cleartext passwords.
- Used SysGoRAT and in-memory reverse shells for remote access, command execution, proxying, and persistence.
- Enumerated mailboxes and attempted to collect email and database contents for exfiltration.
- Used SSH with hard-coded administrative credentials for lateral movement and added an SSH public key to authorized_keys for persistence.
- Used PHP scripts to scan networks and enumerate SQL servers, databases, users, computers, and open shares; also scanned for systems vulnerable to CVE-2025-55182.
- Attempted privilege escalation with PwnKit and SUID-enabled binaries.
- Attempted to disable endpoint protection, alter file timestamps, delete logs and residual files, and disguise activity as a red-team operation.
- Defensive Notes
- Enforce strict outbound firewall rules and use endpoint detection to identify standard utilities spawning interactive shells.
- Maintain visibility across Linux servers and database environments, and monitor for attempts to terminate endpoint protection, manipulate shell history, or delete system logs.
- The article reports that Cortex XDR detected and mitigated attempts to terminate its processes; endpoint protection was not suppressed.
Indicators of compromise
| Type | Indicator | Context |
|---|---|---|
| DOMAIN | beraskencur[.]site | Domain listed in the article's IOC section for the CL-UNK-1211 activity; its specific role is not stated. |
| DOMAIN | magento[.]ink | Domain listed in the article's IOC section for the CL-UNK-1211 activity; its specific role is not stated. |
| DOMAIN | solidmonpe[.]com | Domain listed in the article's IOC section for the CL-UNK-1211 activity; its specific role is not stated. |
| DOMAIN | wibu-bau-bawang[.]online | Domain listed in the article's IOC section for the CL-UNK-1211 activity; its specific role is not stated. |
| IPV4 | 104[.]194[.]158[.]65 | Hardcoded default C2 IP address used by SysGoRAT for its WebSocket connection. |
| IPV4 | 104[.]248[.]131[.]53 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 109[.]224[.]53[.]140 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 138[.]68[.]244[.]146 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 141[.]164[.]58[.]87 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 147[.]182[.]224[.]216 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 154[.]93[.]37[.]228 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 162[.]243[.]175[.]162 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 173[.]212[.]247[.]23 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 185[.]21[.]136[.]6 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 192[.]210[.]183[.]17 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 198[.]23[.]185[.]234 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 45[.]88[.]188[.]140 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 72[.]61[.]89[.]179 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 88[.]119[.]167[.]57 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 88[.]80[.]150[.]232 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| IPV4 | 93[.]93[.]112[.]57 | Listed in the article's IP-address IOC set for CL-UNK-1211; its individual role is not specified. |
| SHA256 | 1505a3a727f8899b2ad343519f7bf9c438b8b802f8d6b854f5db3b52f857c76a | SHA-256 hash listed for a PHP web shell deployed by the attackers. |
| SHA256 | 27d799ceadb570bfca890d4c2572314afe57eecf14083d30409da15afdfc4704 | SHA-256 hash listed for the campaign's CVE-2025-55182 vulnerability scanner. |
| SHA256 | 2bf7992e6260c1a98c709fa98ec766fb9f27692f338b30b43ac821b824fd849e | SHA-256 hash listed for the campaign's CVE-2025-55182 vulnerability scanner. |
| SHA256 | 76c58fad4f70cf277a15a499b9a2151ac60e7a6b5c7a9ab684843dcc19f0d0a5 | SHA-256 hash listed for a PHP web shell deployed by the attackers. |
| SHA256 | 9e45830171eb607cf2c0fc80f5cc9cc3db39bb937032136990383a595f6f151e | SHA-256 hash listed for the campaign's CVE-2025-55182 vulnerability scanner. |
| SHA256 | b1e82c6b0caea177e8bb71ad826867f509c65f0a43a651b50253e7c726566eac | SHA-256 hash listed for a PHP web shell deployed by the attackers. |
| SHA256 | c527b94e3d21824a674face4cd9d862e536b60ccbf54573839e3360f99188343 | SHA-256 hash listed for a custom shell backdoor used for privilege escalation. |
| SHA256 | d73186cea6cf2cf3d48c09139a9d15521365aab675787b4e7a6f81767331c9fd | SHA-256 hash listed for the campaign's CVE-2025-55182 vulnerability scanner. |
| SHA256 | d94f75a70b5cabaf786ac57177ed841732e62bdcc9a29e06e5b41d9be567bcfa | SHA-256 hash listed for a GSocket reverse shell. |
MITRE ATT&CK
T1003.008 · /etc/passwd and /etc/shadowAfter SSH pivots, attackers read /etc/shadow to obtain password hashes.T1005 · Data from Local SystemAttackers dumped database contents and targeted mailbox data from compromised systems.T1021.004 · SSHAttackers used sshpass with administrative credentials to pivot to internal SSH targets and added a public key to authorized_keys for persistence.T1041 · Exfiltration Over C2 ChannelSysGoRAT could exfiltrate files to its C2, and attackers attempted to send compressed database dumps to C2 servers.T1053.003 · CronSysGoRAT supported Linux persistence through a crontab entry that ran at five-minute intervals.T1059.004 · Unix ShellAttackers used Bash commands for reverse shells, credential collection, cleanup, and remote command execution.T1070.002 · Clear Linux or Mac System LogsAttackers attempted to erase authentication, command-history, email, operating-system, web-server, and PHP session logs.T1070.006 · TimestompAttackers used touch -t to alter access and modification times on malicious files.T1114.001 · Local Email CollectionAttackers enumerated mail directories, searched messages for social-media-related emails, and attempted to collect mailbox contents.T1505.003 · Web ShellAttackers deployed PHP web shells on Linux servers and configured auto_prepend_file to load a malicious shell before other PHP scripts.T1543.002 · Systemd ServiceSysGoRAT could persist on Linux by copying itself and installing an enabled systemd service.T1547.001 · Registry Run Keys / Startup FolderSysGoRAT supported Windows persistence by adding a Run key under HKCU.T1552.001 · Credentials In FilesAttackers searched configuration files and command histories for cleartext email, SMTP, and database passwords.T1560.001 · Archive via UtilityAttackers attempted to compress mailbox contents into ZIP archives and database dumps into tar.gz archives.T1562.001 · Disable or Modify ToolsAttackers used pgrep and pkill in an attempt to terminate Cortex XDR-related processes.
CVE
Threat Actors
Malware
Vendors
Products
Tools
gs-netcatGSocket and gs-netcat: The attackers misused Global Socket, a framework designed to solve NAT and firewall traversal problems.GSocketGSocket reverse shellLinPEASThey started by deploying and executing an open-source tool called LinPEAS to check for local privilege escalation paths.pwnkitCVE-2021-4034 (PwnKit binary)pysoxypysoxy: The tool set also included pysoxy, an open-source Python SOCKS proxy script used to route traffic.revsocksrevsocks: The attackers deployed the open-source tool revsocks, a reverse SOCKS5 tunneling tool with SSL/TLS and proxy support.sshpassThe attackers also used the sshpass command with hard-coded administrative credentials to enable lateral movement across the internal network.