Citrus Ransomware Uses LLM-Generated Scripts and VLESS Tunnels in Attacks

Summary
Kaspersky details Citrus ransomware attacks involving contractor credentials, LLM-assisted scripts, VLESS tunnels, credential theft, and Sn00py ransomware, and reports tactical similarities with Toy Ghouls.
Key points
- Kaspersky says Citrus gained access through compromised contractors, using stolen employee credentials to connect to corporate VPNs or internet-facing RDP servers.
- The group used LLM-generated commands and scripts alongside tools including Impacket, Mimikatz, Snaffler, and ADRecon.
- For privilege escalation, attackers attempted to exploit CVE-2026-54121 against Active Directory Certificate Services; Kaspersky also found use of a CVE-2020-1337 exploit in one case.
- Citrus used Xray to create reverse VLESS tunnels, and deployed AnyDesk for remote control of compromised hosts.
- The attackers collected credentials and messaging-app data; Kaspersky reports that the Sn00py ransomware encrypted Windows user files with RSA-2048 and ChaCha20, adding the .citrus extension.
- Kaspersky reports shared tools and tactics between Citrus and Toy Ghouls, and says both groups were observed compromising the same infrastructure in several incidents; it notes their infrastructure did not directly overlap.
Article Details
- Attack Vectors
- Initial access through compromised contractors, using stolen employee credentials to connect to corporate VPNs or internet-facing RDP servers.
- Privilege escalation attempts involving CVE-2026-54121 and an exploit for CVE-2020-1337; attackers also exploited insecure configurations on 1C:Enterprise servers.
- Lateral movement over SSH, RDP, and WinRM, including remote command execution with Impacket's atexec and 1C-Shell.
- Delivery of Xray to victim systems followed by reverse VLESS tunnels to command-and-control infrastructure.
- Deployment of the Sn00py-family ransomware through malicious Group Policy Objects and scheduled tasks.
- Collection of credentials with mimikatz and a modified peeping-tom keylogger; searches of network shares for credentials and other secrets with Snaffler.
- Collection of Telegram Desktop data, archiving it with 7-Zip, and uploading it to an external web service through Google Chrome.
- Defensive Notes
- Tightly control and restrict contractor access to organizational infrastructure and corporate VPNs.
- Review and secure internet-facing terminal servers, Active Directory Certificate Services, and 1C:Enterprise configurations.
- Monitor for unusual certificate requests, suspicious machine-account names beginning with GHOST, and anomalous certificate-based domain controller authentication.
- Monitor for unexpected scheduled tasks, malicious Group Policy changes, unusual PowerShell activity, and use of tools such as atexec, Xray, mimikatz, fscan, and Snaffler.
- Protect centralized security-management consoles and prevent unauthorized changes to antivirus settings and exclusion lists.
- Preserve and review event logs and command histories; the attackers were reported to clear logs and delete tools and output files.
Indicators of compromise
| Type | Indicator | Context |
|---|---|---|
| IPV4 | 91[.]210[.]108[.]180 | Listed in the article's Citrus ransomware indicators of compromise as an IP address. |
| IPV4 | 91[.]210[.]109[.]118 | Attacker-controlled system specified for certificate-authority validation; the article also reports stolen keylogger data was sent to this address. |
| MD5 | 17b29b6c9de80402a45e321bbe1168fa | Hash listed for the Sn00py ransomware executable build_64.exe. |
| MD5 | 7107fb029e7c63523e3aca5fc8e56b38 | Hash listed for a Meterpreter stager associated with the reported activity. |
| MD5 | 9eee984b187423c46c10a63d080da15d | Hash listed for the Sn00py ransomware executable build_64.exe. |
| MD5 | cf903e4a1629aa0582fd0363b5786676 | Hash listed for fscan, which the attackers used to scan internal infrastructure. |
| MD5 | d631627131b90d576d77f4bf530e1abe | Hash listed for Xray, which the attackers used to establish reverse VLESS tunnels. |
| MD5 | e251df2d0b7c3682965efb4d2009a2f4 | Hash listed for the keylogger executable jhost.exe used to capture keystrokes. |
MITRE ATT&CK
T1003.001 · LSASS MemoryThe attackers used mimikatz to dump credentials from memory.T1021.001 · Remote Desktop ProtocolRDP was used to access internet-facing terminal servers and for lateral movement.T1021.004 · SSHThe group used SSH for lateral movement.T1021.006 · Windows Remote ManagementThe group used WinRM for lateral movement and enabled the WinRM service through a malicious Group Policy Object.T1053.005 · Scheduled TaskThe attackers created scheduled tasks to launch tools and ransomware automatically.T1056.001 · KeyloggingA modified peeping-tom keylogger was used to capture keystrokes on compromised systems.T1059.001 · PowerShellAttackers ran PowerShell commands and scripts, including scripts used to create malicious Group Policy Objects.T1068 · Exploitation for Privilege EscalationThe article reports attempts to exploit CVE-2026-54121 for privilege escalation and PowerShell scripts containing an exploit for CVE-2020-1337.T1070.001 · Clear Windows Event LogsThe attackers cleared event logs on some systems.T1078 · Valid AccountsAttackers used credentials stolen from contractor employees to access victim infrastructure.T1133 · External Remote ServicesThe attackers gained initial access through corporate VPNs and internet-facing terminal servers.T1484.001 · Group Policy ModificationThe group created and linked malicious Group Policy Objects to distribute ransomware and change security settings across victim systems.T1486 · Data Encrypted for ImpactThe Sn00py-family ransomware encrypted user files and added the .citrus extension.T1562.001 · Disable or Modify ToolsAttackers disabled antivirus protection, including Windows Defender, and added malicious tools to antivirus exclusions.T1649 · Steal or Forge Authentication CertificatesThe attackers attempted to obtain a certificate using forged certificate-request data and then authenticate as a domain controller account.
CVE
CVE-2020-1337Microsoft · Windows 10 Version 1507; Microsoft · Windows 10 Version 1607; +27 moreThe PowerShell scripts run through this file included an exploit for the CVE-2020-1337 vulnerability; the same exploit is available in the Metasploit GitHub repository.CVE-2026-54121Microsoft · Windows 10 Version 1607; Microsoft · Windows 10 Version 1809; +11 moreTo do this, they attempted to exploit the authentication bypass vulnerability CVE-2026-54121 (Certighost); these attempts created machine accounts with telltale names in Active Directory, such as:
Threat Actors
Citrus RansomwareThe article describes Citrus as a previously undocumented group that compromised organizations, used VLESS tunnels and other tools, and deployed Sn00py-family ransomware.Toy GhoulsThe article reports that Toy Ghouls shares TTPs with Citrus and that both groups were observed compromising the same infrastructure in several incidents; it does not establish that they are the same group.
Malware
Vendors
KasperskyKaspersky GPO is the name of the Group Policy Object that distributes the ransomware Trojan in the victim’s infrastructure.MicrosoftBeyond classic vulnerabilities in Microsoft products, the attackers also took an interest in 1C:Enterprise servers with insecure configurations (article in Russian).
Products
1C:EnterpriseWhen the group compromises 1C:Enterprise servers, it uses external data processors (1C-Shell) to run commands.AnyDeskInstalling AnyDeskGoogle ChromeSo the attackers were harvesting messaging app data from remote systems they could reach, packing it with 7-Zip and uploading it to an external web service through Google Chrome.KeePassBesides data from network shares, the attackers were interested in data stored in password managers (for example, KeePass) on administrator workstations.Telegram DesktopThe directory name tdatas and the substring tdata may refer to the C:\Users\<username>\AppData\Roaming\Telegram Desktop\tdata directory.Windows DefenderAt the Impact stage, the attackers also use a Group Policy Object that modifies Windows Defender settings in the registry to switch it off.
Tools
1C-ShellWhen the group compromises 1C:Enterprise servers, it uses external data processors (1C-Shell) to run commands.ADReconOnce they had the access they needed and had moved laterally, the attackers ran ADRecon on domain controllers and SharpHound on one of the workstations.atexecBesides LLMs, the attackers use atexec, a classic tool from the Impacket collection, to create scheduled tasks that run commands on hosts:fscanIn the early stages, the attackers used the fscan scanner to gather information on the internal infrastructure.ImpacketExecution: commands, LLMs, and ImpacketMimikatzIn addition, once they have sufficient privileges, they disable antivirus protection on hosts, which lets them run tools such as mimikatz.SharpHoundOnce they had the access they needed and had moved laterally, the attackers ran ADRecon on domain controllers and SharpHound on one of the workstations.SnafflerTo hunt for credentials and other secrets (SSH keys, access tokens, and the like) in files on accessible network shares, the group uses Snaffler.XrayCreating tunnels with Xray
