Blog

Inside the SOC

PrivateLoader: network-based indicators of compromise

Default blog imageDefault blog imageDefault blog imageDefault blog imageDefault blog imageDefault blog image
26
Jul 2022
26
Jul 2022
This blog explores the network-based IOCs for PrivateLoader, a modular downloader which is increasingly being used by pay-per-install (PPI) providers to deliver malicious payloads.

Instead of delivering their malicious payloads themselves, threat actors can pay certain cybercriminals (known as pay-per-install (PPI) providers) to deliver their payloads for them. Since January 2022, Darktrace’s SOC has observed several cases of PPI providers delivering their clients’ payloads using a modular malware downloader known as ‘PrivateLoader’.

This blog will explore how these PPI providers installed PrivateLoader onto systems and outline the steps which the infected PrivateLoader bots took to install further malicious payloads. The details provided here are intended to provide insight into the operations of PrivateLoader and to assist security teams in identifying PrivateLoader bots within their own networks.  

Threat Summary 

Between January and June 2022, Darktrace identified the following sequence of network behaviours within the environments of several Darktrace clients. Patterns of activity involving these steps are paradigmatic examples of PrivateLoader activity:

1. A victim’s device is redirected to a page which instructs them to download a password-protected archive file from a file storage service — typically Discord Content Delivery Network (CDN)

2. The device contacts a file storage service (typically Discord CDN) via SSL connections

3. The device either contacts Pastebin via SSL connections, makes an HTTP GET request with the URI string ‘/server.txt’ or ‘server_p.txt’ to 45.144.225[.]57, or makes an HTTP GET request with the URI string ‘/proxies.txt’ to 212.193.30[.]45

4. The device makes an HTTP GET request with the URI string ‘/base/api/statistics.php’ to either 212.193.30[.]21, 85.202.169[.]116, 2.56.56[.]126 or 2.56.59[.]42

5. The device contacts a file storage service (typically Discord CDN) via SSL connections

6. The device makes a HTTP POST request with the URI string ‘/base/api/getData.php’ to either 212.193.30[.]21, 85.202.169[.]116, 2.56.56[.]126 or 2.56.59[.]42

7. The device finally downloads malicious payloads from a variety of endpoints

The PPI Business 

Before exploring PrivateLoader in more detail, the pay-per-install (PPI) business should be contextualized. This consists of two parties:  

1. PPI clients - actors who want their malicious payloads to be installed onto a large number of target systems. PPI clients are typically entry-level threat actors who seek to widely distribute commodity malware [1]

2. PPI providers - actors who PPI clients can pay to install their malicious payloads 

As the smugglers of the cybercriminal world, PPI providers typically advertise their malware delivery services on underground web forums. In some cases, PPI services can even be accessed via Clearnet websites such as InstallBest and InstallShop [2] (Figure 1).  

Figure 1: A snapshot of the InstallBest PPI login page [2]


To utilize a PPI provider’s service, a PPI client must typically specify: 

(A)  the URLs of the payloads which they want to be installed

(B)  the number of systems onto which they want their payloads to be installed

(C)  their geographical targeting preferences. 

Payment of course, is also required. To fulfil their clients’ requests, PPI providers typically make use of downloaders - malware which instructs the devices on which it is running to download and execute further payloads. PPI providers seek to install their downloaders onto as many systems as possible. Follow-on payloads are usually determined by system information garnered and relayed back to the PPI providers’ command and control (C2) infrastructure. PPI providers may disseminate their downloaders themselves, or they may outsource the dissemination to third parties called ‘affiliates’ [3].  

Back in May 2021, Intel 471 researchers became aware of PPI providers using a novel downloader (dubbed ‘PrivateLoader’) to conduct their operations. Since Intel 471’s public disclosure of the downloader back in Feb 2022 [4], several other threat research teams, such as the Walmart Cyber Intel Team [5], Zscaler ThreatLabz [6], and Trend Micro Research [7] have all provided valuable insights into the downloader’s behaviour. 

Anatomy of a PrivateLoader Infection

The PrivateLoader downloader, which is written in C++, was originally monolithic (i.e, consisted of only one module). At some point, however, the downloader became modular (i.e, consisting of multiple modules). The modules communicate via HTTP and employ various anti-analysis methods. PrivateLoader currently consists of the following three modules [8]: 

  • The loader module: Instructs the system on which it is running to retrieve the IP address of the main C2 server and to download and execute the PrivateLoader core module
  • The core module: Instructs the system on which it is running to send system information to the main C2 server, to download and execute further malicious payloads, and to relay information regarding installed payloads back to the main C2 server
  • The service module: Instructs the system on which it is running to keep the PrivateLoader modules running

Kill Chain Deep-Dive 

The chain of activity starts with the user’s browser being redirected to a webpage which instructs them to download a password-protected archive file from a file storage service such as Discord CDN. Discord is a popular VoIP and instant messaging service, and Discord CDN is the service’s CDN infrastructure. In several cases, the webpages to which users’ browsers were redirected were hosted on ‘hero-files[.]com’ (Figure 2), ‘qd-files[.]com’, and ‘pu-file[.]com’ (Figure 3). 

Figure 2: An image of a page hosted on hero-files[.]com - an endpoint which Darktrace observed systems contacting before downloading PrivateLoader from Discord CDN
Figure 3: An image of a page hosted on pu-file[.]com- an endpoint which Darktrace observed systems contacting before downloading PrivateLoader from Discord CDN


On attempting to download cracked/pirated software, users’ browsers were typically redirected to download instruction pages. In one case however, a user’s device showed signs of being infected with the malicious Chrome extension, ChromeBack [9], immediately before it contacted a webpage providing download instructions (Figure 4). This may suggest that cracked software downloads are not the only cause of users’ browsers being redirected to these download instruction pages (Figure 5). 

Figure 4: The event log for this device (taken from the Darktrace Threat Visualiser interface) shows that the device contacted endpoints associated with ChromeBack ('freychang[.]fun') prior to visiting a page ('qd-file[.]com') which instructed the device’s user to download an archive file from Discord CDN
 Figure 5: An image of the website 'crackright[.]com'- a provider of cracked software. Systems which attempted to download software from this website were subsequently led to pages providing instructions to download a password-protected archive from Discord CDN


After users’ devices were redirected to pages instructing them to download a password-protected archive, they subsequently contacted cdn.discordapp[.]com over SSL. The archive files which users downloaded over these SSL connections likely contained the PrivateLoader loader module. Immediately after contacting the file storage endpoint, users’ devices were observed either contacting Pastebin over SSL, making an HTTP GET request with the URI string ‘/server.txt’ or ‘server_p.txt’ to 45.144.225[.]57, or making an HTTP GET request with the URI string ‘/proxies.txt’ to 212.193.30[.]45 (Figure 6).

Distinctive user-agent strings such as those containing question marks (e.g. ‘????ll’) and strings referencing outdated Chrome browser versions were consistently seen in these HTTP requests. The following chrome agent was repeatedly observed: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36’.

In some cases, devices also displayed signs of infection with other strains of malware such as the RedLine infostealer and the BeamWinHTTP malware downloader. This may suggest that the password-protected archives embedded several payloads.

Figure 6: This figure, obtained from Darktrace's Advanced Search interface, represents the post-infection behaviour displayed by a PrivateLoader bot. After visiting hero-files[.]com and downloading the PrivateLoader loader module from Discord CDN, the device can be seen making HTTP GET requests for ‘/proxies.txt’ and ‘/server.txt’ and contacting pastebin[.]com

It seems that PrivateLoader bots contact Pastebin, 45.144.225[.]57, and 212.193.30[.]45 in order to retrieve the IP address of PrivateLoader’s main C2 server - the server which provides PrivateLoader bots with payload URLs. This technique used by the operators of PrivateLoader closely mirrors the well-known espionage tactic known as ‘dead drop’.

The dead drop is a method of espionage tradecraft in which an individual leaves a physical object such as papers, cash, or weapons in an agreed hiding spot so that the intended recipient can retrieve the object later on without having to come in to contact with the source. When threat actors host information about core C2 infrastructure on intermediary endpoints, the hosted information is analogously called a ‘Dead Drop Resolver’ or ‘DDR’. Example URLs of DDRs used by PrivateLoader:

  • https://pastebin[.]com/...
  • http://212.193.30[.]45/proxies.txt
  • http://45.144.225[.]57/server.txt
  • http://45.144.255[.]57/server_p.txt

The ‘proxies.txt’ DDR hosted on 212.193.40[.]45 contains a list of 132 IP address / port pairs. The 119th line of this list includes a scrambled version of the IP address of PrivateLoader’s main C2 server (Figures 7 & 8). Prior to June, it seems that the main C2 IP address was ‘212.193.30[.]21’, however, the IP address appears to have recently changed to ‘85.202.169[.]116’. In a limited set of cases, Darktrace also observed PrivateLoader bots retrieving payload URLs from 2.56.56[.]126 and 2.56.59[.]42 (rather than from 212.193.30[.]21 or 85.202.169[.]116). These IP addresses may be hardcoded secondary C2 address which PrivateLoader bots use in cases where they are unable to retrieve the primary C2 address from Pastebin, 212.193.30[.]45 or 45.144.255[.]57 [10]. 

Figure 7: Before June, the 119th entry of the ‘proxies.txt’ file lists '30.212.21.193' -  a scrambling of the ‘212.193.30[.]21’ main C2 IP address
Figure 8: Since June, the 119th entry of the ‘proxies.txt’ file lists '169.85.116.202' - a scrambling of the '85.202.169[.]116' main C2 IP address

Once PrivateLoader bots had retrieved C2 information from either Pastebin, 45.144.225[.]57, or 212.193.30[.]45, they went on to make HTTP GET requests for ‘/base/api/statistics.php’ to either 212.193.30[.]21, 85.202.169[.]116, 2.56.56[.]126, or 2.56.59[.]42 (Figure 9). The server responded to these requests with an XOR encrypted string. The strings were encrypted using a 1-byte key [11], such as 0001101 (Figure 10). Decrypting the string revealed a URL for a BMP file hosted on Discord CDN, such as ‘hxxps://cdn.discordapp[.]com/attachments/978284851323088960/986671030670078012/PL_Client.bmp’. These encrypted URLs appear to be file download paths for the PrivateLoader core module. 

Figure 9: HTTP response from server to an HTTP GET request for '/base/api/statistics.php'
Figure 10: XOR decrypting the string with the one-byte key, 00011101, outputs a URL in CyberChef

After PrivateLoader bots retrieved the 'cdn.discordapp[.]com’ URL from 212.193.30[.]21, 85.202.169[.]116, 2.56.56[.]126, or 2.56.59[.]42, they immediately contacted Discord CDN via SSL connections in order to obtain the PrivateLoader core module. Execution of this module resulted in the bots making HTTP POST requests (with the URI string ‘/base/api/getData.php’) to the main C2 address (Figures 11 & 12). Both the data which the PrivateLoader bots sent over these HTTP POST requests and the data returned via the C2 server’s HTTP responses were heavily encrypted using a combination of password-based key derivation, base64 encoding, AES encryption, and HMAC validation [12]. 

Figure 11: The above image, taken from Darktrace's Advanced Search interface, shows a PrivateLoader bot carrying out the following steps: contact ‘hero-files[.]com’ --> contact ‘cdn.discordapp[.]com’ --> retrieve ‘/proxies.txt’ from 212.193.30[.]45 --> retrieve ‘/base/api/statistics.php’ from 212.193.30[.]21 --> contact ‘cdn.discordapp[.]com --> make HTTP POST request with the URI ‘base/api/getData.php’ to 212.193.30[.]21
Figure 12: A PCAP of the data sent via the HTTP POST (in red), and the data returned by the C2 endpoint (in blue)

These ‘/base/api/getData.php’ POST requests contain a command, a campaign name and a JSON object. The response may either contain a simple status message (such as “success”) or a JSON object containing URLs of payloads. After making these HTTP connections, PrivateLoader bots were observed downloading and executing large volumes of payloads (Figure 13), ranging from crypto-miners to infostealers (such as Mars stealer), and even to other malware downloaders (such as SmokeLoader). In some cases, bots were also seen downloading files with ‘.bmp’ extensions, such as ‘Service.bmp’, ‘Cube_WW14.bmp’, and ‘NiceProcessX64.bmp’, from 45.144.225[.]57 - the same DDR endpoint from which PrivateLoader bots retrieved main C2 information. These ‘.bmp’ payloads are likely related to the PrivateLoader service module [13]. Certain bots made follow-up HTTP POST requests (with the URI string ‘/service/communication.php’) to either 212.193.30[.]21 or 85.202.169[.]116, indicating the presence of the PrivateLoader service module, which has the purpose of establishing persistence on the device (Figure 14). 

Figure 13: The above image, taken from Darktrace's Advanced Search interface, outlines the plethora of malware payloads downloaded by a PrivateLoader bot after it made an HTTP POST request to the ‘/base/api/getData.php’ endpoint. The PrivateLoader service module is highlighted in red
Figure 14: The event log for a PrivateLoader bot, obtained from the Threat Visualiser interface, shows a device making HTTP POST requests to ‘/service/communication.php’ and connecting to the NanoPool mining pool, indicating successful execution of downloaded payloads

In several observed cases, PrivateLoader bots downloaded another malware downloader called ‘SmokeLoader’ (payloads named ‘toolspab2.exe’ and ‘toolspab3.exe’) from “Privacy Tools” endpoints [14], such as ‘privacy-tools-for-you-802[.]com’ and ‘privacy-tools-for-you-783[.]com’. These “Privacy Tools” domains are likely impersonation attempts of the legitimate ‘privacytools[.]io’ website - a website run by volunteers who advocate for data privacy [15]. 

After downloading and executing malicious payloads, PrivateLoader bots were typically seen contacting crypto-mining pools, such as NanoPool, and making HTTP POST requests to external hosts associated with SmokeLoader, such as hosts named ‘host-data-coin-11[.]com’ and ‘file-coin-host-12[.]com’ [16]. In one case, a PrivateLoader bot went on to exfiltrate data over HTTP to an external host named ‘cheapf[.]link’, which was registered on the 14th March 2022 [17]. The name of the file which the PrivateLoader bot used to exfiltrate data was ‘NOP8QIMGV3W47Y.zip’, indicating information stealing activities by Mars Stealer (Figure 15) [18]. By saving the HTTP stream as raw data and utilizing a hex editor to remove the HTTP header portions, the hex data of the ZIP file was obtained. Saving the hex data using a ‘.zip’ extension and extracting the contents, a file directory consisting of system information and Chrome and Edge browsers’ Autofill data in cleartext .txt file format could be seen (Figure 16).

Figure 15: A PCAP of a PrivateLoader bot’s HTTP POST request to cheapf[.]link, with data sent by the bot appearing to include Chrome and Edge autofill data, as well as system information
Figure 16: File directory structure and files of the ZIP archive 

When left unattended, PrivateLoader bots continued to contact C2 infrastructure in order to relay details of executed payloads and to retrieve URLs of further payloads. 

Figure 17: Timeline of the attack

Darktrace Coverage 

Most of the incidents surveyed for this article belonged to prospective customers who were trialling Darktrace with RESPOND in passive mode, and thus without the ability for autonomous intervention. However in all observed cases, Darktrace DETECT was able to provide visibility into the actions taken by PrivateLoader bots. In one case, despite the infected bot being disconnected from the client’s network, Darktrace was still able to provide visibility into the device’s network behaviour due to the client’s usage of Darktrace/Endpoint. 

If a system within an organization’s network becomes infected with PrivateLoader, it will display a range of anomalous network behaviours before it downloads and executes malicious payloads. For example, it will contact Pastebin or make HTTP requests with new and unusual user-agent strings to rare external endpoints. These network behaviours will generate some of the following alerts on the Darktrace UI:

  • Compliance / Pastebin 
  • Device / New User Agent and New IP
  • Device / New User Agent
  • Device / Three or More New User Agents
  • Anomalous Connection / New User Agent to IP Without Hostname
  • Anomalous Connection / POST to PHP on New External Host
  • Anomalous Connection / Posting HTTP to IP Without Hostname

Once the infected host obtains URLs for malware payloads from a C2 endpoint, it will likely start to download and execute large volumes of malicious files. These file downloads will usually cause Darktrace to generate some of the following alerts:

  • Anomalous File / EXE from Rare External Location
  • Anomalous File / Numeric Exe Download
  • Anomalous File / Masqueraded File Transfer
  • Anomalous File / Multiple EXE from Rare External Locations
  • Device / Initial Breach Chain Compromise

If RESPOND is deployed in active mode, Darktrace will be able to autonomously block the download of additional malware payloads onto the target machine and the subsequent beaconing or crypto-mining activities through network inhibitors such as ‘Block matching connections’, ‘Enforce pattern of life’ and ‘Block all outgoing traffic’. The ‘Enforce pattern of life’ action results in a device only being able to make connections and data transfers which Darktrace considers normal for that device. The ‘Block all outgoing traffic’ action will cause all traffic originating from the device to be blocked. If the customer has Darktrace’s Proactive Threat Notification (PTN) service, then a breach of an Enhanced Monitoring model such as ‘Device / Initial Breach Chain Compromise’ will result in a Darktrace SOC analyst proactively notifying the customer of the suspicious activity. Below is a list of Darktrace RESPOND (Antigena) models which would be expected to breach due to PrivateLoader activity. Such models can seriously hamper attempts made by PrivateLoader bots to download malicious payloads. 

  • Antigena / Network / External Threat / Antigena Suspicious File Block
  • Antigena / Network / Significant Anomaly / Antigena Controlled and Model Breach
  • Antigena / Network / External Threat / Antigena File then New Outbound Block
  • Antigena / Network / Significant Anomaly / Antigena Significant Anomaly from Client Block 
  • Antigena / Network / Significant Anomaly / Antigena Breaches Over Time Block

In one observed case, the infected bot began to download malicious payloads within one minute of becoming infected with PrivateLoader. Since RESPOND was correctly configured, it was able to immediately intervene by autonomously enforcing the device’s pattern of life for 2 hours and blocking all of the device’s outgoing traffic for 10 minutes (Figure 17). When malware moves at such a fast pace, the availability of autonomous response technology, which can respond immediately to detected threats, is key for the prevention of further damage.  

Figure 18: The event log for a Darktrace RESPOND (Antigena) model breach shows Darktrace RESPOND performing inhibitive actions once the PrivateLoader bot begins to download payloads

Conclusion

By investigating PrivateLoader infections over the past couple of months, Darktrace has observed PrivateLoader operators making changes to the downloader’s main C2 IP address and to the user-agent strings which the downloader uses in its C2 communications. It is relatively easy for the operators of PrivateLoader to change these superficial network-based features of the malware in order to evade detection [19]. However, once a system becomes infected with PrivateLoader, it will inevitably start to display anomalous patterns of network behaviour characteristic of the Tactics, Techniques and Procedures (TTPs) discussed in this blog.

Throughout 2022, Darktrace observed overlapping patterns of network activity within the environments of several customers, which reveal the archetypal steps of a PrivateLoader infection. Despite the changes made to PrivateLoader’s network-based features, Darktrace’s Self-Learning AI was able to continually identify infected bots, detecting every stage of an infection without relying on known indicators of compromise. When configured, RESPOND was able to immediately respond to such infections, preventing further advancement in the cyber kill chain and ultimately preventing the delivery of floods of payloads onto infected devices.

IoCs

MITRE ATT&CK Techniques Observed

References

[1], [8],[13] https://www.youtube.com/watch?v=Ldp7eESQotM  

[2] https://news.sophos.com/en-us/2021/09/01/fake-pirated-software-sites-serve-up-malware-droppers-as-a-service/

[3] https://www.researchgate.net/publication/228873118_Measuring_Pay-per Install_The_Commoditization_of_Malware_Distribution 

[4], [15] https://intel471.com/blog/privateloader-malware

[5] https://medium.com/walmartglobaltech/privateloader-to-anubis-loader-55d066a2653e 

[6], [10],[11], [12] https://www.zscaler.com/blogs/security-research/peeking-privateloader 

[7] https://www.trendmicro.com/en_us/research/22/e/netdooka-framework-distributed-via-privateloader-ppi.html

[9] https://www.gosecure.net/blog/2022/02/10/malicious-chrome-browser-extension-exposed-chromeback-leverages-silent-extension-loading/

[14] https://www.proofpoint.com/us/blog/threat-insight/malware-masquerades-privacy-tool 

[16] https://asec.ahnlab.com/en/30513/ 

[17]https://twitter.com/0xrb/status/1515956690642161669

[18] https://isc.sans.edu/forums/diary/Arkei+Variants+From+Vidar+to+Mars+Stealer/28468

[19] http://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html

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.
AUTHOR
ABOUT ThE AUTHOR
Sam Lister
SOC Analyst
Shuh Chin Goh
Book a 1-1 meeting with one of our experts
share this article
PRODUCT SPOTLIGHT
항목을 찾을 수 없습니다.
COre coverage
항목을 찾을 수 없습니다.

More in this series

항목을 찾을 수 없습니다.

Blog

클라우드

Securing the cloud: Using business context to improve visibility and prioritize cyber risk

Default blog imageDefault blog image
26
Mar 2024

Why are businesses shifting to the cloud?

Businesses are increasingly migrating to cloud, due to its potential to streamline operations, reduce costs, and enhance scalability and flexibility. By shifting their infrastructure to the cloud, either as a whole or, more commonly in a hybrid model, organizations can access a wide array of services, such as storage, compute and software applications, without the need for extensive on-premises hardware. However, this transition isn't without challenges.  

Security challenges of cloud migration

Data security, compliance, integration with existing systems, and ensuring consistent performance are critical concerns that need to be addressed. Therefore, companies must develop robust oversight, implement comprehensive security measures, and invest in staff training to successfully navigate the transition to the cloud all while minimizing potential disruptions.

Implementing security measures within a company, however, is a complex endeavour that involves coordination among numerous internal stakeholders two of the most pivotal players involved in cloud security investment, are the security team, entrusted with crafting a business's defensive strategy, and the DevOps engineering team, architects of the infrastructure underpinning the organization's business operations.

Key questions to ask when securing the cloud

Which team is responsible for maintaining the application?  

What do they consider normal?  

How are potential misconfigurations increasing the potential risk of an incident?

Best practices of cloud security

Contextual awareness of the business is a crucial facet for securing a company's cloud infrastructure, as it enables organizations to align security measures with specific business objectives, risks, and regulatory requirements. Understanding the context of the business operations, its goals, critical assets, and compliance obligations, allows security teams to tailor their strategies and controls accordingly.

How does Darktrace help secure the cloud?

In response to the difficulties outlined above, Darktrace has adopted a holistic approach to security with an ActiveAI security platform that is context-aware. This platform enables stakeholders to effectively detect and respond to threats that may arise within their cloud or on premises environments.  

By monitoring your network and identity activity, Darktrace can identify what is considered “normal” within your organization. This however doesn’t tell the whole story. It is also important to understand where these actions are occurring within the context of the business.  

Visibility in the cloud

Without visibility into the individual assets that make up the cloud environment, how these are configured, and how they operate at run time, security is incredibly difficult to maintain. Visibility allows security teams to identify potential vulnerabilities, misconfigurations, or unauthorized access points that could be exploited by malicious actors. It enables proactive monitoring and rapid response to security incidents, ensuring that any threats are promptly identified and mitigated before they can cause significant damage.  

Building architecture diagrams

The cornerstone of our strategy lies in the architecture diagrams, which serve as a framework for organizing resources within our cloud environment. An architecture comprises of interconnected resources governed by access controls and network routing mechanisms. Its purpose is to logically group these resources into the applications they support.  

Achieving this involves compiling a comprehensive inventory of the cloud environment, analyzing resource permissions—including both outbound and inbound access—and considering any overarching organizational policies. For networked devices, we delve into route tables, firewalls, and subnet access control policies. This information is then utilized to build a graph of interconnected assets, wherein each resource constitutes a node, and the possible connections between resources are represented as edges.

Once we have built up an inventory of all the resources within your environments, we can then start building architectures based on the graph. We do this by selecting distinct starting points for graph traversal, which we infer from our deep understanding of the cloud, an example would be a Virtual Private Cloud (VPC) - A VPC is a virtual network that closely resembles a traditional network that you'd operate in your own data center.  

All networked devices are usually housed within a VPC, with applications typically grouped into one or more VPCs. If multiple VPCs are detected with peering connections between them, we consider them as distinct parts of the same system. This approach enables us to comprehend applications across regions and accounts, rather than solely from the isolated viewpoint of a single VPC.

However, the cloud isn’t all about compute instances, serverless is a popular architecture. In fact, for many developers serverless architectures offer greater scalability and flexibility. Reviewing prevalent serverless architecture patterns, we've chosen some common fundamental resources as our starting point, Lambda functions and Elastic Container Service (ECS) clusters are prime examples, serving as crucial components in various serverless systems with distinct yet similar characteristics.

Prioritize risk in the cloud

Once we have built up an inventory of all the cloud asset, Darktrace/Cloud utilizes an ‘outlier’ detection machine learning model. This looks to categorize all the assets and identifies the ones that look different or ‘odd’ when compared with the assets around it, this is based on a wide range of characteristics some of which will include, Name, VPC ID, Host Region etc, whilst also incorporating contextual knowledge of where these assets are found, and how they fit into the architecture they are in.  

Once outliers are identified, we can use this information to assess the potential risk posed by the asset. Context plays a crucial role in this stage, as incorporating observations about the asset enables effective scoring. For instance, detecting a misconfiguration, anomalous network connections, or unusual user activity can significantly raise the asset's score. Consequently, the architecture it belongs to can be flagged for further investigation.

Adapting to a dynamic cloud environment

The cloud is incredibly dynamic. Therefore, Darktrace does not see architectures as fixed entities. Instead, we're always on the lookout for changes, driven by user and service activity. This prompts us to dive back in, update our architectural view, and keep a living record of the cloud's ever-changing landscape, providing near real-time insights into what's happening within it.  

Darktrace/Cloud doesn’t just consider isolated detections, it identifies assets that have misconfigurations and anomalous activity across the network and management plane and adjusts the priority of the alerting to match the potential risk that these assets could be leveraged to enable an attack.  

While in isolation misconfigurations don’t have much meaningful impact, when they are combined with real time updates and anomaly detection within the context of the architecture you see a very important and impactful perspective.  

Combining all of this into one view where security and dev ops teams can collaborate ensures continuity across teams, playing a vital role in providing effective security.

Continue reading
About the author
Adam Stevens
Analyst Technical Director

Blog

Inside the SOC

Socks5Systemz: How Darktrace’s Anomaly Detection Unraveled a Stealthy Botnet

Default blog imageDefault blog image
22
Mar 2024

What are botnets?

Although not a recent addition to the threat landscape, botnets persist as a significant concern for organizations, with many threat actors utilizing them for political, strategic, or financial gain. Botnets pose a particularly persistent threat to security teams; even if one compromised device is detected, attackers will likely have infected multiple devices and can continue to operate. Moreover, threat actors are able to easily replace the malware communication channels between infected devices and their command-and-control (C2) servers, making it incredibly difficult to remove the infection.

Botnet example: Socks5Systemz

One example of a botnet recently investigated by the Darktrace Threat Research team is Socks5Systemz. Socks5Systemz is a proxy-for-rent botnet, whereby actors can rent blocks of infected devices to perform proxying services.  Between August and November 2023, Darktrace detected indicators of Socks5Systemz botnet compromise within a cross-industry section of the customer base. Although open-source intelligence (OSINT) research of the botnet only appeared in November 2023, the anomaly-based approach of Darktrace DETECT™ allowed it to identify multiple stages of the network-based activity on affected customer systems well before traditional rules and signatures would have been implemented.

Darktrace’s Cyber AI Analyst™ complemented DETECT’s successful identification of Socks5Systemz activity on customer networks, playing a pivotal role in piecing together the seemingly separate events that comprised the wider compromise. This allowed Darktrace to build a clearer picture of the attack, empowering its customers with full visibility over emerging incidents.

In the customer environments highlighted in this blog, Darktrace RESPOND™ was not configured to operate autonomously. As a result, Socks5Systemz attacks were able to advance through their kill chains until customer security teams acted upon Darktrace’s detections and began their remediation procedures.

What is Socks5Systemz?

The Socks5Systemz botnet is a proxy service where individuals can use infected devices as proxy servers.

These devices act as ‘middlemen’, forwarding connections from malicious actors on to their intended destination. As this additional connectivity conceals the true origin of the connections, threat actors often use botnets to increase their anonymity. Although unauthorized proxy servers on a corporate network may not appear at first glance to be a priority for organizations and their security teams, complicity in proxy botnets could result in reputational damage and significant financial losses.

Since it was first observed in the wild in 2016, the Socks5Systemz botnet has grown steadily, seemingly unnoticed by cyber security professionals, and has infected a reported 10,000 devices worldwide [1]. Cyber security researchers noted a high concentration of compromised devices in India, with lower concentrations of devices infected in the United States, Latin America, Australia and multiple European and African countries [2]. Renting sections of the Socks5Systemz botnet costs between 1 USD and 4,000 USD, with options to increase the threading and time-range of the rentals [2]. Due to the lack of affected devices in Russia, some threat researchers have concluded that the botnet’s operators are likely Russian [2].

Darktrace’s Coverage of Socks5Systemz

The Darktrace Threat Research team conducted investigations into campaign-like activity across the customer base between August and November 2023, where multiple indicators of compromise (IoCs) relating to the Socks5Systemz proxy botnet were observed. Darktrace identified several stages of the attack chain described in static malware analysis by external researchers. Darktrace was also able to uncover additional IoCs and stages of the Socks5Systemz attack chain that had not featured in external threat research.

Delivery and Execution

Prior research on Socks5Systemz notes how the malware is typically delivered via user input, with delivery methods including phishing emails, exploit kits, malicious ads, and trojanized executables downloaded from peer-to-peer (P2P) networks [1].

Threat actors have also used separate malware loaders such as PrivateLoader and Amadey deliver the Socks5Systemz payload. These loaders will drop executable files that are responsible for setting up persistence and injecting the proxy bot into the infected device’s memory [2]. Although evidence of initial payload delivery did not appear during its investigations, Darktrace did discover IoCs relating to PrivateLoader and Amadey on multiple customer networks. Such activity included HTTP POST requests using PHP to rare external IPs and HTTP connections with a referrer header field, indicative of a redirected connection.

However, additional adjacent activity that may suggest initial user execution and was observed during Darktrace’s investigations. For example, an infected device on one deployment made a HTTP GET request to a rare external domain with a “.fun” top-level domain (TLD) for a PDF file. The URI also appears to have contained a client ID. While this download and HTTP request likely corresponded to the gathering and transmission of further telemetry data and infection verification [2], the downloaded PDF file may have represented a malicious payload.

Advanced Search log details highlighting a device infected by Socks5Systemz downloading a suspicious PDF file.
Figure 1: Advanced Search log details highlighting a device infected by Socks5Systemz downloading a suspicious PDF file.

Establishing C2 Communication  

Once the proxy bot has been injected into the device’s memory, the malware attempts to contact servers owned by the botnet’s operators. Across several customer environments, Darktrace identified infected devices attempting to establish connections with such C2 servers. First, affected devices would make repeated HTTP GET requests over port 80 to rare external domains; these endpoints typically had “.ua” and “.ru” TLDs. The majority of these connection attempts were not preceded by a DNS host lookup, suggesting that the domains were already loaded in the device’s cache memory or hardcoded into the code of running processes.

Figure 2: Breach log data connections identifying repeated unusual HTTP connections over port 80 for domains without prior DNS host lookup.

While most initial HTTP GET requests across investigated incidents did not feature DNS host lookups, Darktrace did identify affected devices on a small number of customer environments performing a series of DNS host lookups for seemingly algorithmically generated domains (DGA). These domains feature the same TLDs as those seen in connections without prior DNS host lookups.  

Figure 3: Cyber AI Analyst data indicating a subset of DGAs queried via DNS by infected devices.

These DNS requests follow the activity reported by researchers, where infected devices query a hardcoded DNS server controlled by the threat actor for an DGA domain [2]. However, as the bulk of Darktrace’s investigations presented HTTP requests without a prior DNS host lookup, this activity indicates a significant deviation from the behavior reported by OSINT sources. This could indicate that multiple variations of the Socks5Systemz botnet were circulating at the time of investigation.

Most hostnames observed during this time of investigation follow a specific regular expression format: /[a-z]{7}\.(ua|net|info|com|ru)/ or /[a-z0-9]{15}\.(ua)/. Darktrace also noticed the HTTP GET requests for DGA domains followed a consistent URI pattern: /single.php?c=<STRING>. The requests were also commonly made using the “Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)” user agent over port 80.

This URI pattern observed during Darktrace’s investigations appears to reflect infected devices contacting Socks5Systemz C2 servers to register the system and details of the host, and signal it is ready to receive further instructions [2]. These URIs are encrypted with a RC4 stream cipher and contain information relating to the device’s operating system and architecture, as well as details of the infection.

The HTTP GET requests during this time, which involved devices made to a variety a variety of similar DGA domains, appeared alongside IP addresses that were later identified as Socks5Systemz C2 servers.

Figure 4: Cyber AI Analyst investigation details highlighting HTTP GET activity whereby RC4 encrypted data is sent to proxy C2 domains.

However, not all affected devices observed by Darktrace used DGA domains to transmit RC4 encoded data. Some investigated systems were observed making similar HTTP GET requests over port 80, albeit to the external domain: “bddns[.]cc”, using the aforementioned Mozilla user agent. During these requests, Darktrace identified a consistent URI pattern, similar to that seen in the DGA domain GET requests: /sign/<RC4 cipher text>.  

Darktrace DETECT recognized the rarity of the domains and IPs that were connected to by affected devices, as well as the usage of the new Mozilla user agent.  The HTTP connections, and the corresponding Darktrace DETECT model breaches, parallel the analysis made by external researchers: if the initial DGA DNS requests do not return a valid C2 server, infected devices connect to, and request the IP address of a server from, the above-mentioned domain [2].

Connection to Proxy

After sending host and infection details via HTTP and receiving commands from the C2 server, affected devices were frequently observed initiating activity to join the Sock5Systemz botnet. Infected hosts would first make HTTP GET requests to an IP identified as Socks5Systemz’s proxy checker application, usually sending the URI “proxy-activity.txt” to the domain over the HTTP protocol. This likely represents an additional validation check to confirm that the infected device is ready to join the botnet.

Figure 5: Cyber AI Analyst investigation detailing HTTP GET requests over port 80 to the Socks5Systemz Proxy Checker Application.

Following the final validation checks, devices would then attempt TCP connections to a range of IPs, which have been associated with BackConnect proxy servers, over port 1074. At this point, the device is able to receive commands from actors who login to and operate the corresponding BackConnect server. This BackConnect server will transmit traffic from the user renting the segment of the botnet [2].

Darktrace observed a range of activity associated with this stage of the attack, including the use of new or unusual user agents, connections to suspicious IPs, and other anomalous external connectivity which represented a deviation from affected devices’ expected behavior.

Additional Activities Following Proxy Addition

The Darktrace Threat Research team found evidence of the possible deployment of additional malware strains during their investigation into devices affected by Socks5Systemz. IoCs associated with both the Amadey and PrivateLoader loader malware strains, both of which are known to distribute Socks5Systemz, were also observed on affected devices. Additionally, Darktrace observed multiple infected systems performing cryptocurrency mining operations around the time of the Sock5Systemz compromise, utilizing the MinerGate protocol to conduct login and job functions, as well as making DNS requests for mining pools.

While such behavior would fall outside of the expected activity for Socks5Systemz and cannot be definitively attributed to it, Darktrace did observe devices affected by the botnet performing additional malicious downloads and operations during its investigations.

Conclusion

Ultimately, Darktrace’s anomaly-based approach to threat detection enabled it to effectively identify and alert for malicious Socks5Systemz botnet activity long before external researchers had documented its IoCs and tactics, techniques, and procedures (TTPs).  

In fact, Darktrace not only identified multiple distinct attack phases later outlined in external research but also uncovered deviations from these expected patterns of behavior. By proactively detecting emerging threats through anomaly detection rather than relying on existing threat intelligence, Darktrace is well positioned to detect evolving threats like Socks5Systemz, regardless of what their future iterations might look like.

Faced with the threat of persistent botnets, it is crucial for organizations to detect malicious activity in its early stages before additional devices are compromised, making it increasingly difficult to remediate. Darktrace’s suite of products enables the swift and effective detection of such threats. Moreover, when enabled in autonomous response mode, Darktrace RESPOND is uniquely positioned to take immediate, targeted actions to contain these attacks from the onset.

Credit to Adam Potter, Cyber Security Analyst, Anna Gilbertson, Cyber Security Analyst

Appendices

DETECT Model Breaches

  • Anomalous Connection / Multiple Failed Connections to Rare Endpoint
  • Anomalous Connection / Multiple Connections to New External TCP Port
  • Compromise / Beaconing Activity To External Rare
  • Compromise / DGA Beacon
  • Compromise / Beacon to Young Endpoint
  • Compromise / Slow Beaconing Activity To External Rare
  • Compromise / HTTP Beaconing to Rare Destination
  • Compromise / Quick and Regular Windows HTTP Beaconing
  • Compromise / Agent Beacon (Medium Period)
  • Compromise / Agent Beacon (Long Period)
  • Device / New User Agent
  • Device / New User Agent and New IP

Cyber AI Analyst Incidents

  • Possible HTTP Command and Control
  • Possible HTTP Command and Control to Multiple Endpoints
  • Unusual Repeated Connections
  • Unusual Repeated Connections to Multiple Endpoints
  • Multiple DNS Requests for Algorithmically Generated Domains

Indicators of Compromise

IoC - Type - Description

185.141.63[.]172 - IP Address - Socks5Systemz C2 Endpoint

193.242.211[.]141 - IP Address - Socks5Systemz C2 Endpoint

109.230.199[.]181 - IP Address - Socks5Systemz C2 Endpoint

109.236.88[.]134 - IP Address - Socks5Systemz C2 Endpoint

217.23.5[.]14 - IP Address - Socks5Systemz Proxy Checker App

88.80.148[.]8 - IP Address - Socks5Systemz Backconnect Endpoint

88.80.148[.]219 - IP Address - Socks5Systemz Backconnect Endpoint

185.141.63[.]4 - IP Address - Socks5Systemz Backconnect Endpoint

185.141.63[.]2 - IP Address - Socks5Systemz Backconnect Endpoint

195.154.188[.]211 - IP Address - Socks5Systemz Backconnect Endpoint

91.92.111[.]132 - IP Address - Socks5Systemz Backconnect Endpoint

91.121.30[.]185 - IP Address - Socks5Systemz Backconnect Endpoint

94.23.58[.]173 - IP Address - Socks5Systemz Backconnect Endpoint

37.187.148[.]204 - IP Address - Socks5Systemz Backconnect Endpoint

188.165.192[.]18 - IP Address - Socks5Systemz Backconnect Endpoint

/single.php?c=<RC4 data hex encoded> - URI - Socks5Systemz HTTP GET Request

/sign/<RC4 data hex encoded> - URI - Socks5Systemz HTTP GET Request

/proxy-activity.txt - URI - Socks5Systemz HTTP GET Request

datasheet[.]fun - Hostname - Socks5Systemz C2 Endpoint

bddns[.]cc - Hostname - Socks5Systemz C2 Endpoint

send-monitoring[.]bit - Hostname - Socks5Systemz C2 Endpoint

MITRE ATT&CK Mapping

Command and Control

T1071 - Application Layer Protocol

T1071.001 – Web protocols

T1568 – Dynamic Resolution

T1568.002 – Domain Generation Algorithms

T1132 – Data Encoding

T1132 – Non-Standard Encoding

T1090 – Proxy

T1090.002 – External Proxy

Exfiltration

T1041 – Exfiltration over C2 channel

Impact

T1496 – Resource Hijacking

References

1. https://www.bleepingcomputer.com/news/security/socks5systemz-proxy-service-infects-10-000-systems-worldwide/

2. https://www.bitsight.com/blog/unveiling-socks5systemz-rise-new-proxy-service-privateloader-and-amadey

Continue reading
About the author
Adam Potter
Cyber Analyst
Our ai. Your data.

Elevate your cyber defenses with Darktrace AI

무료 평가판 시작
Darktrace AI protecting a business from cyber threats.