A campaign targeting government organizations and state-linked infrastructure used AI-assisted scripts to steal credentials, maintain persistence on Linux servers and search for sensitive data, according to new research from Unit 42.
Attackers modified users’ shell startup files to intercept the sudo command. The tampered configuration captured passwords entered by users, saved them to a file controlled by the attackers, and then forwarded the password to the real sudo so the command appeared to work normally.
Unit 42’s investigation found the operation also used web shells, custom malware, mailbox searches and attempts to erase traces of activity. Collectively the tracked activity is labeled CL-UNK-1211.
The adversaries did not exploit a flaw in the sudo binary itself. Instead they placed a malicious alias into .bashrc, the file executed when a Bash shell starts. That distinction is important because applying a software patch to sudo would not remove this type of tampering. Unit 42 noted the credential interception stemmed from the modified shell configuration rather than a vulnerability in sudo.
Researchers observed activity from October 2025 through April 2026, focusing on government entities and infrastructure tied to state organizations. Unit 42 uses the “UNK” label for clusters where links to either state-backed operators or cybercriminal groups remain undetermined; the report does not attribute CL-UNK-1211 to a known actor.
Several scripts contained conversational comments and step-by-step reasoning notes that the researchers said are consistent with AI-generated code or an automated AI agent. While the evidence indicates AI helped create or adapt parts of the toolkit, it does not prove AI independently planned or executed the campaign.
Unit 42 also observed Base64-encoded commands and scripts that moved between PHP, JavaScript, Bash and Python. Those patterns may help defenders identify suspicious code, although the encodings are not definitive proof of AI involvement on their own.
How the credential interception worked
Operators replaced a user’s .bashrc with a modified copy that defined an alias for sudo. When the user invoked sudo, the alias printed a prompt that looked like the normal password request, captured the typed password, and appended it to a log file controlled by the attackers. The alias then invoked the legitimate sudo with the captured password so the command completed as expected.
The attackers named the file Solarwinds.StatusLog.txt, apparently to make it resemble a routine system artifact. Unit 42 found no evidence that SolarWinds products or infrastructure were compromised.
The shell-based credential theft was part of a broader effort. The threat actors injected code into a PHP login page to harvest administrator credentials, and they searched configuration files and shell histories for email, SMTP and database credentials. Web shells and hidden persistence mechanisms were used to maintain access—methods similar to other Linux credential-stealing campaigns, though those are separate threats and not to be conflated with CL-UNK-1211.
Malware, persistence and data exfiltration
Unit 42 identified a custom remote access Trojan written in Go, named SysGoRAT. The malware runs on Linux and Windows, communicates with command-and-control infrastructure over WebSocket, and supports remote commands, shell access, file operations and persistence. Operators disguised the binary using names such as sys-control-client, pip2.7 and ea_install. Its default C2 address in the samples was 104.194.158[.]65:443, although the operator could change that value at launch.
Attackers also deployed PHP web shells, adjusted PHP configuration so a malicious file would load before other scripts, searched government mailboxes for messages about social-media accounts, attempted to archive mailbox contents, and sought database data. Unit 42 noted one mailbox-archiving script contained a syntax error and would fail as written, illustrating that observed malicious code does not always function as intended.
To evade detection and remove traces, operators attempted to stop endpoint security processes, delete logs and shell history, remove temporary scripts after use and modify file timestamps. They also planted red-team-like markers such as RedTeamOps2025 and pentest123 to make activity appear authorized. Unit 42 reported that endpoint protections on some systems detected and blocked attempts to terminate Cortex XDR processes; that observation refers to the examined systems and does not imply every attempted action was prevented.
The campaign aligns with a broader pattern of attackers using AI to speed script development, as seen in other research on AI-generated malware. For defenders, Unit 42 recommends reviewing unexpected changes to .bashrc, PHP configuration and login pages; looking for unfamiliar aliases or credential log files; monitoring unusual outbound connections and interactive shell activity; and preserving logs and system evidence during investigations.
The indicators of compromise (IoCs) below are taken from the Unit 42 report and should be validated against local telemetry before being treated as confirmation of compromise.
Indicators of compromise (IoCs)
| Type | Indicator | Description |
|---|---|---|
| SHA-256 | 2bf7992e6260c1a98c709fa98ec766fb9f27692f338b30b43ac821b824fd849e |
CVE-2025-55182 scanner |
| SHA-256 | 27d799ceadb570bfca890d4c2572314afe57eecf14083d30409da15afdfc4704 |
CVE-2025-55182 scanner |
| SHA-256 | d73186cea6cf2cf3d48c09139a9d15521365aab675787b4e7a6f81767331c9fd |
CVE-2025-55182 scanner |
| SHA-256 | 9e45830171eb607cf2c0fc80f5cc9cc3db39bb937032136990383a595f6f151e |
CVE-2025-55182 scanner |
| SHA-256 | c527b94e3d21824a674face4cd9d862e536b60ccbf54573839e3360f99188343 |
Custom shell backdoor |
| SHA-256 | d94f75a70b5cabaf786ac57177ed841732e62bdcc9a29e06e5b41d9be567bcfa |
GSocket reverse shell |
| SHA-256 | 44e83f84a5d5219e2f7c3cf1e4f02489cae81361227f46946abe4b8d8245b879 |
CVE-2021-4034 PwnKit binary |
| SHA-256 | 1505a3a727f8899b2ad343519f7bf9c438b8b802f8d6b854f5db3b52f857c76a |
PHP web shell |
| SHA-256 | 76c58fad4f70cf277a15a499b9a2151ac60e7a6b5c7a9ab684843dcc19f0d0a5 |
PHP web shell |
| SHA-256 | b1e82c6b0caea177e8bb71ad826867f509c65f0a43a651b50253e7c726566eac |
PHP web shell |
| IP address |
45.88.188[.]140, 198.23.185[.]234, 138.68.244[.]146, 185.21.136[.]6,72.61.89[.]179, 104.194.158[.]65, 109.224.53[.]140, 162.243.175[.]162,154.93.37[.]228, 141.164.58[.]87, 88.80.150[.]232, 88.119.167[.]57,173.212.247[.]23, 104.248.131[.]53, 147.182.224[.]216, 93.93.112[.]57,192.210.183[.]17
|
Reported campaign infrastructure |
| Domain | magento[.]ink, solidmonpe[.]com, wibu-bau-bawang[.]online, beraskencur[.]site |
Reported domains |
Note: IP addresses and domains are intentionally defanged (for example, [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat-intelligence platforms such as MISP, VirusTotal or your SIEM.
Defenders should promptly investigate unexpected changes to .bashrc, altered PHP settings or modified login pages; search for unfamiliar aliases and potential credential log files; monitor for unusual outbound connections and interactive shell sessions; and preserve logs and artifacts for forensic analysis.
Update defenses against new malware as soon as it appears. Integrate threat intelligence feeds with telemetry from SOCs to improve detection and response.

