NETRESEC Network Security Blog - Tag : PureRAT

rss Google News

PureLogs, PureRAT and misleading zgRAT

No to zgRAT

Please stop classifying malware as zgRAT. That malware label is confusing. As far as I know, there isn’t a proper definition of what zgRAT actually is. Some claim that zgRAT is the same malware family as PureLogs, while others argue that zgRAT should be mapped to PureRAT. There is also a blog post by malware analysts khr0x and Jane where they clearly state that PureLogs is not the same thing as zgRAT.

Despite the similar names PureLogs and PureRAT are not the same type of malware. PureLogs is an infostealer, while PureRAT is a Remote Access Trojan (RAT). Both are, however, built using .NET and are developed by PureCoder.

We previously helped clear up confusion around labels like ResolverRAT and PureHVNC, which were used in the past to refer to PureRAT malware samples. We hope this post helps reduce misunderstandings caused by the use of zgRAT.

Naming malware and threat actors

Malware labels and threat-actor labels serve different purposes. Publicly attributing an attack to a real-world organization might cause political turmoil, which can be avoided by using a threat-actor alias instead. Threat-actor aliases also often reflect each organization’s access to evidence and internal clustering process. As a result, multiple aliases for the same actor can coexist.

Malware-family labels, on the other hand, are usually more deterministic. Given a hash of a malware sample, researchers generally know they’re looking at the exact same artifact. For that reason, the most useful practice is to use the same name as the malware developers or the earliest widely adopted naming and use “unknown” or “unidentified” when classification is unclear. This reduces label fragmentation and downstream confusion when the same label is reused for different malware families.

Why zgRAT causes confusion

Many zgRAT signatures consistently match PureLogs, while others match PureRAT. There’s also a fairly popular YARA rule called “MALWARE_Win_zgRAT” that matches pretty much any binary protected with .NET Reactor. Taken together, this creates a solid foundation for false positives and misunderstandings stemming from the zgRAT label. And without a proper definition of what zgRAT actually is, such as a consistent mapping to a single malware family, false positives and misclassifications involving the zgRAT label are much harder to spot and weed out.

PureLogs

info stealer

PureLogs is an infostealer that automatically collects and exfiltrates credentials and sensitive data from infected hosts, including browser-stored logins, credit card numbers, cookies, crypto-wallet data, VPN credentials and credentials for various chat/messaging platforms.

PureLogs uses a custom binary protocol to exfiltrate stolen data. As of PureLogs v5.0 the network traffic is often wrapped in TLS, thereby making it harder to detect on the network.

Default ports:

  • TCP 7702 (non-TLS)
  • TCP 8443 (TLS)

Server ports are configurable, but the default ports are often used.

Suricata signatures for non-TLS PureLogs traffic:

  • 2048901 ET MALWARE [ANY.RUN] zgRAT / PureLogs Stealer C2 Connection M2
  • 2061601 ET MALWARE zgRAT / PureLogs Stealer GZIP Exfiltration Outbound
  • 2061633 ET MALWARE PureLogs Backdoor Server GZIP C2 Traffic
  • 2061634 ET MALWARE PureLogs Backdoor Client GZIP C2 Traffic
  • 2063215 ET MALWARE zgRAT / PureLogs Stealer C2 Server Connection M3

Selected suricata signatures (not exhaustive) for TLS encrypted PureLogs traffic:

  • 903209570 SSLBL: Malicious SSL certificate detected (PureHVNC C&C)
  • 903209620 SSLBL: Malicious SSL certificate detected (PureHVNC C&C)
  • 903209854 SSLBL: Malicious SSL certificate detected (PureLogsStealer C&C)
  • 903210180 SSLBL: Malicious SSL certificate detected (PureLogsStealer C&C)

FlowCarp protocol names:

  • PureLogs
  • TLS, PureLogs

Recent PureLogs examples:

PureRAT

Trojan Horse

PureRAT is a Remote Access Trojan (RAT) with many built-in features for live interaction with infected hosts, such as:

  • Hidden VNC (HVNC) and remote desktop with mouse and keyboard control
  • Viewing the webcam
  • Listening to the microphone
  • Real-time keylogging
  • Remote command prompt
  • Reverse proxy (HTTP and SOCKS5)
  • Code injection

PureRAT previously used a flawed TLS implementation that could be easily detected on the network. The current TLS implementation is much more difficult to spot.

Default C2 ports:

  • TCP 56001
  • TCP 56002
  • TCP 56003

Server ports are configurable, but the default ports are often used.

Selected suricata signatures (not exhaustive) for PureRAT traffic:

  • 2035595 ET MALWARE Generic AsyncRAT/zgRAT Style SSL Cert
  • 2070181 ET MALWARE PureRAT TLS Certificate Observed (PureRAT Agent)
  • 903208736 SSLBL: Malicious SSL certificate detected (PureHVNC C&C)
  • 903209136 SSLBL: Malicious SSL certificate detected (PureLogsStealer C&C)
  • 903209139 SSLBL: Malicious SSL certificate detected (PureLogsStealer C&C)
  • 903209682 SSLBL: Malicious SSL certificate detected (ResolverRAT C&C)
  • 906200096 SSLBL: Malicious JA3 SSL-Client Fingerprint detected (AsyncRAT)

FlowCarp protocol names:

  • PureRAT
  • TLS, PureRAT

PureRAT sample examples:

Detection notes

As you can see, both PureLogs and PureRAT traffic can trigger Suricata alerts with signatures labeled as “zgRAT”. There are also still signatures using outdated names like “PureHVNC” and “ResolverRAT”. Luckily, analysts know that the alert label often doesn’t map to the correct malware family. The alert labels merely reflect how the rule author named the suspected malware at creation time. Nevertheless, the fact that the “zgRAT“ label is used for PureLogs as well as PureRAT signatures contributes to the confusion regarding what zgRAT actually is.

I use FlowCarp to identify PureLogs and PureRAT traffic and to tell them apart. FlowCarp uses statistical methods for identifying the C2 protocol, which allows it to identify PureLogs as well as PureRAT traffic without having to track every new X.509 certificate that the C2 servers use.

Recommendations

Given the fuzziness and ongoing confusion around the zgRAT label, I strongly recommend not using that term. If you know that a sample is a piece of malware created by PureCoder (including PureLogs, PureRAT, PureMiner or BlueLoader), but you don’t know which one, then label it “unknown PureCoder malware” instead of slapping the poorly defined zgRAT label to it.

Feel free to use the FlowCarp demo service if you have a PCAP file with C2 traffic and want a second opinion on the C2 protocol or malware family. You can use curl to submit a PCAP file to the FlowCarp demo service like this:

curl --data-binary @sandbox.pcap https://demo.flowcarp.com

Posted by Erik Hjelmvik on Monday, 27 July 2026 16:00:00 (UTC/GMT)

Tags: #zgRAT #PureRAT #PureLogs #PureHVNC #ResolverRAT #Suricata #FlowCarp

Short URL: https://netresec.com/?b=267e877


PureRAT = ResolverRAT = PureHVNC

PureRAT is a Remote Access Trojan, which can be used by an attacker to remotely control someone else’s PC. PureRAT provides the following features to an attacker:

  • See the victims user interface
  • Interact with the victim PC using mouse and keyboard
  • View the webcam
  • Listen to the microphone
  • Record keystrokes
  • Upload and download files
  • Proxy network traffic through victim

PureRAT user interface

What the PureRAT user interface looks like to the attacker

PureRAT is the exact same malware as what Morphisec and others call ResolverRAT. PureHVNC, on the other hand, is the predecessor to PureRAT. These three malware names are all used by threat intel companies and researchers when referring to the same malware family. We will call this malware family “PureRAT” in this blog post.

Indicators of PureRAT

Malware analysts might recognize PureRAT through properties like these ones:

  • Loader is a .NET executable obfuscated with Eazfuscator.NET
  • Payload is AES-256 encrypted in CBC mode
  • Payload is gzip compressed
  • Extracted PureRAT payload is a DLL
  • PureRAT DLL is packed with .NET Reactor
  • A handler is registered for the ResourceResolve event to inject a malicious .NET assembly

See analysis by eSentire, Morphisec, Kaspersky, Fortinet and 0xlibris for more reverse engineering details on PureRAT and related software from the PureCoder developer(s).

Another way to identify the malware is to run it in a sandbox and inspect the network traffic. The following characteristics are typical indicators of PureRAT:

  • C2 TCP port is often 56001, 56002 or 56003
  • Client (bot) first sends 04 00 00 00 (in hex), followed by a TLS handshake
  • Client and server run TLS 1.0
  • X.509 cert is self signed
  • X.509 cert expires 9999-12-31 23:59:59 UTC

/ResolverRAT_CapLoader_Transcript

As you can see in the flow transcript above, CapLoader currently identifies this traffic as “ResolverRAT”. This detection will most likely be changed to “PureRAT” in future versions of CapLoader.

IOC List

Here are some IP:port tuples for C2 servers used by recent samples of PureRAT:

  • 193.26.115.125:8883
  • purebase.ddns[.]net:8883
  • 45.74.10.38:56001
  • 139.99.83.25:56001

Posted by Erik Hjelmvik on Tuesday, 12 August 2025 15:43:00 (UTC/GMT)

Tags: #PureRAT #ResolverRAT #PureHVNC #PureCoder

Short URL: https://netresec.com/?b=2589522