Blog
/
AI
/
November 6, 2022

Behind Yanluowang: Unveiling Cyber Threat Tactics

Discover the latest insights into the Yanluowang leak organization, uncovering its members and tactics.
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
Taisiia Garkava
Security Analyst
Written by
Dillon Ashmore
Security and Research
Default blog imageDefault blog imageDefault blog imageDefault blog imageDefault blog imageDefault blog image
06
Nov 2022

Background of Yanluowang

Yanluowang ransomware, also known as Dryxiphia, was first spotted in October 2021 by Symantec’s Threat Hunter Team. However, it has been operational since August 2021, when a threat actor used it to attack U.S. corporations. Said attack shared similar TTPs with ransomware Thieflock, designed by Fivehands ransomware gangs. This connection alluded to a possible link between the two through the presence or influence of an affiliate. The group has been known for successfully ransoming organisations globally, particularly those in the financial, manufacturing, IT services, consultancy, and engineering sectors.

Yanluowang attacks typically begin with initial reconnaissance, followed by credential harvesting and data exfiltration before finally encrypting the victim’s files. Once deployed on compromised networks, Yanluowang halts hypervisor virtual machines, all running processes and encrypts files using the “.yanluowang” extension. A file with name README.txt, containing a ransom note is also dropped. The note also warns victims against contacting law enforcement, recovery companies or attempting to decrypt the files themselves. Failure to follow this advice would result in distributed denial of service attacks against a victim, its employees and business partners. Followed by another attack, a few weeks later, in which all the victim’s files would be deleted.

The group’s name “Yanluowang” was inspired by the Chinese mythological figure Yanluowang, suggesting the group’s possible Chinese origin. However, the recent leak of chat logs belonging to the group, revealed those involved in the organisation spoke Russian. 

 Leak of Yanluowang’s chat logs

 On the 31st of October, a Twitter user named @yanluowangleaks shared the matrix chat and server leaks of the Yanluowang ransomware gang, alongside the builder and decryption source. In total, six files contained internal conversations between the group’s members. From the analysis of these chats, at least eighteen people have been involved in Yanluowang operations.

Twitter account where the leaks and decryption source were shared
Figure 1: Twitter account where the leaks and decryption source were shared

Potential members: ‘@killanas', '@saint', '@stealer', '@djonny', '@calls', '@felix', '@win32', '@nets', '@seeyousoon', '@shoker', '@ddos', '@gykko', '@loader1', '@guki', '@shiwa', '@zztop', '@al', '@coder1'

Most active members: ‘@saint’, ‘@killanas’, ‘@guki’, ‘@felix’, ‘@stealer’. 

To make the most sense out of the data that we analyzed, we combined the findings into two categories: tactics and organization.

Tactics 

From the leaked chat logs, several insights into the group’s operational security and TTPs were gained. Firstly, members were not aware of each other’s offline identities. Secondly, discussions surrounding security precautions for moving finances were discussed by members @killanas and @felix. The two exchanged recommendations on reliable currency exchange platforms as well as which ones to avoid that were known to leak data to law enforcement. The members also expressed paranoia over being caught with substantial amounts of money and therefore took precautions such as withdrawing smaller amounts of cash or using QR codes for withdrawals.

Additionally, the chat logs exposed the TTPs of Yanluowang. Exchanges between the group’s members @stealer, @calls and @saint, explored the possibilities of conducting attacks against critical infrastructure. One of these members, @call, was also quick to emphasise that Yanluowang would not target the critical infrastructure of former Soviet countries. Beyond targets, the chat logs also highlighted Yanluowang’s use of the ransomware, PayloadBIN but also that attacks that involved it may potentially have been misattributed to another ransomware actor, Evil Corp.

Further insight surrounding Yanluowang’s source code was also gained as it was revealed that it had been previously published on XSS.is as a downloadable file. The conversations surrounding this revealed that two members, @killanas and @saint, suspected @stealer was responsible for the leak. This suspicion was supported by @saint, defending another member whom he had known for eight years. It was later revealed that the code had been shared after a request to purchase it was made by a Chinese national. @saint also used their personal connections to have the download link removed from XSS.is. These connections indicate that some members of Yanluowang are well embedded in the ransomware and wider cybercrime community.

Another insight gained from the leaked chat logs was an expression by @saint in support of Ukraine, stating, “We stand with Ukraine” on the negotiation page of Yanluowang’s website. This action reflects a similar trend observed among threat actors where they have taken sides in the Russia-Ukraine conflict.

Regarding Yanluowang’s engagement with other groups, it was found that a former member of Conti had joined the group. This inference was made by @saint when a conversation regarding the Conti leak revolved around the possible identification of the now Yanluowang member @guki, in the Conti files. It was also commented that Conti was losing a considerable number of its members who were then looking for new work. Conversations about other ransomware groups were had with the mentioning of the REVIL group by @saint, specifically stating that five arrested members of the gang were former classmates. He backed his statement by attaching the article about it, to which @djonny replies that those are indeed REVIL members and that he knows it from his sources.

Organization 

When going through the chat logs, several observations were made that can offer some insights into the group's organizational structure. In one of the leaked files, user @saint was the one to publish the requirements for the group's ".onion" website and was also observed instructing other users on the tasks they had to complete. Based on this, @saint could be considered the leader of the group. Additionally, there was evidence indicating that a few users could be in their 30s or 40s, while most participants are in their 20s.

More details regarding Yanluowang's organizational structure were discussed deeper into the leak. The examples indicate various sub-groups within the Yanlouwang group and that a specific person coordinates each group. From the logs, there is a high probability that @killanas is the leader of the development team and has several people working under him. It is also possible that @stealer is on the same level as @killanas and is potentially the supervisor of another team within the group. This was corroborated when @stealer expressed concerns about the absence of certain group members on several occasions. There is also evidence showing that he was one of three people with access to the source code of the group. 

Role delineation within the group was also quite clear, with each user having specific tasks: DDoS (distributed denial of service) attacks, social engineering, victim negotiations, pentesting or development, to mention a few. When it came to recruiting new members, mostly pentesters, Yanluowang would recruit through XSS.is and Exploit.in forums.

Underground analysis and members’ identification 

From the leaked chat logs, several “.onion” URLs were extracted; however, upon further investigation, each site had been taken offline and removed from the TOR hashring. This suggests that Yanluowang may have halted all operations. One of the users on XSS.is posted a picture showing that the Yanluowang onion website was hacked, stating, “CHECKMATE!! YANLUOWANG CHATS HACKED @YANLUOWANGLEAKS TIME’S UP!!”.

Figure 2: The screenshot of Yanluowang website on Tor (currently offline)

After learning that Yanluowang used Russian Web Forums, we did an additional search to see what we could find about the group and the mentioned nicknames. 

By searching through XSS.Is we managed to identify the user registered as @yanluowang. The date of the registration on the forum dates to 15 March 2022. Curiously, at the time of analysis, we noticed the user was online. There were in total 20 messages posted by @yanluowang, with a few publications indicating the group is looking for new pentesters.

Figure 3: The screenshot of Yanluowang profile on XSS.is 

Figure 4: The screenshot of Yanluowang posts about pentester recruitment on XSS.is 

While going through the messages, it was noticed the reaction posted by another user identified as @Sa1ntJohn, which could be the gang member @saint.

Figure 5: The screenshot of Sa1ntJohn’s profile on XSS.is

Looking further, we identified that user @Ekranoplan published three links to the website doxbin.com containing information about three potential members of the YanLuoWang gang: @killanas/coder, @hardbass and @Joe/Uncle. The profile information was published by the user @Xander2727.

Figure 6: The screenshot of Yanlouwang member-profile leak on XSS.is
Figure 7: The screenshot of @hardbass Yanlouwang member profile leak
Figure 8: The screenshot of @killanas/coder Yanlouwang member profile leak.

If the provided information is correct, two group members are Russian and in their 30s, while another member is Ukrainian and in his 20s. One of the members, @killanas, who was also referenced in chat logs, is identified as the lead developer of the Yanluowang group; giving the interpretation of the chat leaks a high-level of confidence. Another two members, who were not referenced in the logs, took roles as Cracked Software/Malware provider and English translator/Victim Negotiator.

Implications for the wider ransomware landscape

To conclude with the potential implications of this leak, we have corroborated the evidence gathered throughout this investigation and employed contrarian analytical techniques. The ascertained implications that follow our mainline judgement, supporting evidence and our current analytical view on the matter can be categorized into three key components of this leak:

Impact on the ransomware landscape

The leak of Yanluowang’s chat logs has several implications for the broader ransomware landscape. This leak, much like the Conti leak in March, spells the end for Yanluowang operations for the time being, given how much of the group’s inner workings it has exposed. This could have an adverse effect. While Yanluowang did not control as large of a share of the ransomware market as Conti did, their downfall will undoubtedly create a vacuum space for established groups for their market share. The latter being a consequence of the release of their source code and build tools. 

Source code

The release of Yanluowang’s source code has several outcomes. If the recipients have no malintent, it could aid in reverse engineering the ransomware, like how a decryption tool for Yanluowng was released earlier this year. An alternative scenario is that the publication of the source code will increase the reach and deployment of this ransomware in the future, in adapted or modified versions by other threat actors. Reusing leaked material is notorious among ransomware actors, as seen in the past, when Babuk’s source code was leaked and led to the development of several variants based on this leak, including Rook and Pandora. This could also make it harder to attribute attacks to one specific group.

Members

The migration of unexposed Yanluowang members to other ransomware gangs could further add to the proliferation of ransomware groups. Such forms of spreading ransomware have been documented in the past when former Conti members repurposed their tactics to join efforts with an initial access broker, UAC-0098. Yet, the absence of evidence from members expressing and/or acting upon this claim requires further investigation and analysis. However, as there is no evidence of absence – this implication is based on the previously observed behavior from members of other ransomware gangs.

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
Taisiia Garkava
Security Analyst
Written by
Dillon Ashmore
Security and Research

More in this series

No items found.

Blog

/

/

April 24, 2025

The Importance of NDR in Resilient XDR

picture of hands typing on laptop Default blog imageDefault blog image

As threat actors become more adept at targeting and disabling EDR agents, relying solely on endpoint detection leaves critical blind spots.

Network detection and response (NDR) offers the visibility and resilience needed to catch what EDR can’t especially in environments with unmanaged devices or advanced threats that evade local controls.

This blog explores how threat actors can disable or bypass EDR-based XDR solutions and demonstrates how Darktrace’s approach to NDR closes the resulting security gaps with Self-Learning AI that enables autonomous, real-time detection and response.

Threat actors see local security agents as targets

Recent research by security firms has highlighted ‘EDR killers’: tools that deliberately target EDR agents to disable or damage them. These include the known malicious tool EDRKillShifter, the open source EDRSilencer, EDRSandblast and variants of Terminator, and even the legitimate business application HRSword.

The attack surface of any endpoint agent is inevitably large, whether the software is challenged directly, by contesting its local visibility and access mechanisms, or by targeting the Operating System it relies upon. Additionally, threat actors can readily access and analyze EDR tools, and due to their uniformity across environments an exploit proven in a lab setting will likely succeed elsewhere.

Sophos have performed deep research into the EDRShiftKiller tool, which ESET have separately shown became accessible to multiple threat actor groups. Cisco Talos have reported via TheRegister observing significant success rates when an EDR kill was attempted by ransomware actors.

With the local EDR agent silently disabled or evaded, how will the threat be discovered?

What are the limitations of relying solely on EDR?

Cyber attackers will inevitably break through boundary defences, through innovation or trickery or exploiting zero-days. Preventive measures can reduce but not completely stop this. The attackers will always then want to expand beyond their initial access point to achieve persistence and discover and reach high value targets within the business. This is the primary domain of network activity monitoring and NDR, which includes responsibility for securing the many devices that cannot run endpoint agents.

In the insights from a CISA Red Team assessment of a US CNI organization, the Red Team was able to maintain access over the course of months and achieve their target outcomes. The top lesson learned in the report was:

“The assessed organization had insufficient technical controls to prevent and detect malicious activity. The organization relied too heavily on host-based endpoint detection and response (EDR) solutions and did not implement sufficient network layer protections.”

This proves that partial, isolated viewpoints are not sufficient to track and analyze what is fundamentally a connected problem – and without the added visibility and detection capabilities of NDR, any downstream SIEM or MDR services also still have nothing to work with.

Why is network detection & response (NDR) critical?

An effective NDR finds threats that disable or can’t be seen by local security agents and generally operates out-of-band, acquiring data from infrastructure such as traffic mirroring from physical or virtual switches. This means that the security system is extremely inaccessible to a threat actor at any stage.

An advanced NDR such as Darktrace / NETWORK is fully capable of detecting even high-end novel and unknown threats.

Detecting exploitation of Ivanti CS/PS with Darktrace / NETWORK

On January 9th 2025, two new vulnerabilities were disclosed in Ivanti Connect Secure and Policy Secure appliances that were under malicious exploitation. Perimeter devices, like Ivanti VPNs, are designed to keep threat actors out of a network, so it's quite serious when these devices are vulnerable.

An NDR solution is critical because it provides network-wide visibility for detecting lateral movement and threats that an EDR might miss, such as identifying command and control sessions (C2) and data exfiltration, even when hidden within encrypted traffic and which an EDR alone may not detect.

Darktrace initially detected suspicious activity connected with the exploitation of CVE-2025-0282 on December 29, 2024 – 11 days before the public disclosure of the vulnerability, this early detection highlights the benefits of an anomaly-based network detection method.

Throughout the campaign and based on the network telemetry available to Darktrace, a wide range of malicious activities were identified, including the malicious use of administrative credentials, the download of suspicious files, and network scanning in the cases investigated.

Darktrace / NETWORK’s autonomous response capabilities played a critical role in containment by autonomously blocking suspicious connections and enforcing normal behavior patterns. At the same time, Darktrace Cyber AI Analyst™ automatically investigated and correlated the anomalous activity into cohesive incidents, revealing the full scope of the compromise.

This case highlights the importance of real-time, AI-driven network monitoring to detect and disrupt stealthy post-exploitation techniques targeting unmanaged or unprotected systems.

Unlocking adaptive protection for evolving cyber risks

Darktrace / NETWORK uses unique AI engines that learn what is normal behavior for an organization’s entire network, continuously analyzing, mapping and modeling every connection to create a full picture of your devices, identities, connections, and potential attack paths.

With its ability to uncover previously unknown threats as well as detect known threats using signatures and threat intelligence, Darktrace is an essential layer of the security stack. Darktrace has helped secure customers against attacks including 2024 threat actor campaigns against Fortinet’s FortiManager , Palo Alto firewall devices, and more.  

Stay tuned for part II of this series which dives deeper into the differences between NDR types.

Credit to Nathaniel Jones VP, Security & AI Strategy, FCISO & Ashanka Iddya, Senior Director of Product Marketing for their contribution to this blog.

Continue reading
About the author
Nathaniel Jones
VP, Security & AI Strategy, Field CISO

Blog

/

/

April 22, 2025

Obfuscation Overdrive: Next-Gen Cryptojacking with Layers

man looking at multiple computer screensDefault blog imageDefault blog image

Out of all the services honeypotted by Darktrace, Docker is the most commonly attacked, with new strains of malware emerging daily. This blog will analyze a novel malware campaign with a unique obfuscation technique and a new cryptojacking technique.

What is obfuscation?

Obfuscation is a common technique employed by threat actors to prevent signature-based detection of their code, and to make analysis more difficult. This novel campaign uses an interesting technique of obfuscating its payload.

Docker image analysis

The attack begins with a request to launch a container from Docker Hub, specifically the kazutod/tene:ten image. Using Docker Hub’s layer viewer, an analyst can quickly identify what the container is designed to do. In this case, the container is designed to run the ten.py script which is built into itself.

 Docker Hub Image Layers, referencing the script ten.py.
Figure 1: Docker Hub Image Layers, referencing the script ten.py.

To gain more information on the Python file, Docker’s built in tooling can be used to download the image (docker pull kazutod/tene:ten) and then save it into a format that is easier to work with (docker image save kazutod/tene:ten -o tene.tar). It can then be extracted as a regular tar file for further investigation.

Extraction of the resulting tar file.
Figure 2: Extraction of the resulting tar file.

The Docker image uses the OCI format, which is a little different to a regular file system. Instead of having a static folder of files, the image consists of layers. Indeed, when running the file command over the sha256 directory, each layer is shown as a tar file, along with a JSON metadata file.

Output of the file command over the sha256 directory.
Figure 3: Output of the file command over the sha256 directory.

As the detailed layers are not necessary for analysis, a single command can be used to extract all of them into a single directory, recreating what the container file system would look like:

find blobs/sha256 -type f -exec sh -c 'file "{}" | grep -q "tar archive" && tar -xf "{}" -C root_dir' \;

Result of running the command above.
Figure 4: Result of running the command above.

The find command can then be used to quickly locate where the ten.py script is.

find root_dir -name ten.py

root_dir/app/ten.py

Details of the above ten.py script.
Figure 5: Details of the above ten.py script.

This may look complicated at first glance, however after breaking it down, it is fairly simple. The script defines a lambda function (effectively a variable that contains executable code) and runs zlib decompress on the output of base64 decode, which is run on the reversed input. The script then runs the lambda function with an input of the base64 string, and then passes it to exec, which runs the decoded string as Python code.

To help illustrate this, the code can be cleaned up to this simplified function:

def decode(input):
   reversed = input[::-1]

   decoded = base64.decode(reversed)
   decompressed = zlib.decompress(decoded)
   return decompressed

decoded_string = decode(the_big_text_blob)
exec(decoded_string) # run the decoded string

This can then be set up as a recipe in Cyberchef, an online tool for data manipulation, to decode it.

Use of Cyberchef to decode the ten.py script.
Figure 6: Use of Cyberchef to decode the ten.py script.

The decoded payload calls the decode function again and puts the output into exec. Copy and pasting the new payload into the input shows that it does this another time. Instead of copy-pasting the output into the input all day, a quick script can be used to decode this.

The script below uses the decode function from earlier in order to decode the base64 data and then uses some simple string manipulation to get to the next payload. The script will run this over and over until something interesting happens.

# Decode the initial base64

decoded = decode(initial)
# Remove the first 11 characters and last 3

# so we just have the next base64 string

clamped = decoded[11:-3]

for i in range(1, 100):
   # Decode the new payload

   decoded = decode(clamped)
   # Print it with the current step so we

   # can see what’s going on

   print(f"Step {i}")

   print(decoded)
   # Fetch the next base64 string from the

   # output, so the next loop iteration will

   # decode it

   clamped = decoded[11:-3]

Result of the 63rd iteration of this script.
Figure 7: Result of the 63rd iteration of this script.

After 63 iterations, the script returns actual code, accompanied by an error from the decode function as a stopping condition was never defined. It not clear what the attacker’s motive to perform so many layers of obfuscation was, as one round of obfuscation versus several likely would not make any meaningful difference to bypassing signature analysis. It’s possible this is an attempt to stop analysts or other hackers from reverse engineering the code. However,  it took a matter of minutes to thwart their efforts.

Cryptojacking 2.0?

Cleaned up version of the de-obfuscated code.
Figure 8: Cleaned up version of the de-obfuscated code.

The cleaned up code indicates that the malware attempts to set up a connection to teneo[.]pro, which appears to belong to a Web3 startup company.

Teneo appears to be a legitimate company, with Crunchbase reporting that they have raised USD 3 million as part of their seed round [1]. Their service allows users to join a decentralized network, to “make sure their data benefits you” [2]. Practically, their node functions as a distributed social media scraper. In exchange for doing so, users are rewarded with “Teneo Points”, which are a private crypto token.

The malware script simply connects to the websocket and sends keep-alive pings in order to gain more points from Teneo and does not do any actual scraping. Based on the website, most of the rewards are gated behind the number of heartbeats performed, which is likely why this works [2].

Checking out the attacker’s dockerhub profile, this sort of attack seems to be their modus operandi. The most recent container runs an instance of the nexus network client, which is a project to perform distributed zero-knowledge compute tasks in exchange for cryptocurrency.

Typically, traditional cryptojacking attacks rely on using XMRig to directly mine cryptocurrency, however as XMRig is highly detected, attackers are shifting to alternative methods of generating crypto. Whether this is more profitable remains to be seen. There is not currently an easy way to determine the earnings of the attackers due to the more “closed” nature of the private tokens. Translating a user ID to a wallet address does not appear to be possible, and there is limited public information about the tokens themselves. For example, the Teneo token is listed as “preview only” on CoinGecko, with no price information available.

Conclusion

This blog explores an example of Python obfuscation and how to unravel it. Obfuscation remains a ubiquitous technique employed by the majority of malware to aid in detection/defense evasion and being able to de-obfuscate code is an important skill for analysts to possess.

We have also seen this new avenue of cryptominers being deployed, demonstrating that attackers’ techniques are still evolving - even tried and tested fields. The illegitimate use of legitimate tools to obtain rewards is an increasingly common vector. For example,  as has been previously documented, 9hits has been used maliciously to earn rewards for the attack in a similar fashion.

Docker remains a highly targeted service, and system administrators need to take steps to ensure it is secure. In general, Docker should never be exposed to the wider internet unless absolutely necessary, and if it is necessary both authentication and firewalling should be employed to ensure only authorized users are able to access the service. Attacks happen every minute, and even leaving the service open for a short period of time may result in a serious compromise.

References

1. https://www.crunchbase.com/funding_round/teneo-protocol-seed--a8ff2ad4

2. https://teneo.pro/

Continue reading
About the author
Nate Bill
Threat Researcher
Your data. Our AI.
Elevate your network security with Darktrace AI