The first quarter of 2023 (January 1 to March 31) set a dangerous precedent. Q1 2023 was the most prolific our ReliaQuest Threat Research Team has ever observed in terms of double-extortion ransomware. More victims were named on data-leak sites than in any other quarter to date. There’s no denying that ransomware activity is a steadily growing threat.

Ransomware operators rely on consistent, robust ways to enable command and control (C2) so they can communicate with compromised devices on a targeted network. The most popular C2 framework? Hands down, it’s Cobalt Strike. The popularity of legitimate penetration-testing tool Cobalt Strike probably stems from a perfect blend of effectiveness and user-friendliness. Let’s examine how this benign-by-design tool has been weaponized during 2023.

C2 and Cobalt Strike: Partners in Crime

Attackers often rely heavily on C2 communications to start and progress attacks, including human-operated ransomware attacks. C2 infrastructure empowers them to control infected devices, perform malicious activity, and quickly adapt to a targeted organization’s environment in pursuit of valuable data and assets.

Breaking this link to C2 infrastructure disrupts attacks—it either stops the communication completely or delays its progression, allowing more time for investigation and remediation. By default, Cobalt Strike enables payload staging via a valid checksum8 request (a checksum being the process of checking a file’s integrity). The Cobalt Strike team server then returns a shellcode payload. From that, security researchers can extract the payload’s configuration, uncovering a bounty of details about how the implant operates, including the C2 address, the C2 port, the spawn-to process, and the license ID.

Researchers have meticulously detailed the default configurations of team servers. By searching for unique values in the HTTP response headers, JARM signatures, and default certificates, and using network scan data services like Shodan, ReliaQuest can profile potential Cobalt Strike team servers. That gives our security team the power to proactively monitor customer environments for communication with these indicators.

Team Server Use: Running the Numbers

Our data reflects covers Cobalt Strike team server activity from February 1, 2022, to February 1, 2023. The vast majority of the servers we identified were hosted on infrastructure located in China, followed by the US and Hong Kong (see Table 1). No surprise there—given the number of large legitimate hosting providers in the US and China, as seen in the breakdown of top autonomous system numbers. (In case you missed it, an autonomous system is a large network or group of networks that have a single routing policy, and each system is assigned a unique number, or ASN, to identify it, which is typically owned and operated by a single service provider.)

Threat actors have shown an affinity for using legitimate hosting providers as it helps them blend in with legitimate traffic.

Table 1: Number of Cobalt Strike team servers, by host country
Country Servers Hosted
China 4,830
US 3,176
Hong Kong 781
Russia 325
Singapore 176
Lithuania 175
Romania 150
UK 128
Netherlands 122
Germany 114

Take a look at Table 2 for a breakdown of ASNs: Several well-known cloud hosting providers sit at the top of the list.

Table 2: Number of Cobalt Strike team servers, by ASN
ASN Count
45090 – TENCENT-NET-AP Shenzhen Tencent Computer Systems Company Limited, CN 2,695
37963 – ALIBABA-CN-NET Hangzhou Alibaba Advertising Co.,Ltd., CN 1,136
14061 – DIGITALOCEAN-ASN, US 674
20473 – AS-CHOOPA, US 390
16509 – AMAZON-02, US 373
8075 – MICROSOFT-CORP-MSN-AS-BLOCK, US 203
14618 – AMAZON-AES, US 190
55990 – HWCSNET Huawei Cloud Service data center, CN 181
132203 – TENCENT-NET-AP-CN Tencent Building, Kejizhongyi Avenue, CN 177
134548 – DXTL-HK DXTL Tseung Kwan O Service, HK 164

The most common C2 ports can be seen in Table 3; the default ports for HTTP and HTTPS (80 and 443) were the most commonly used for communication.

Table 3: Most commonly used C2 ports, by number of instances
C2 Port Count
443 4,892
80 3,829
8080 675
8443 541
8090 271
8888 247
8081 183
9999 177
4444 172
8088 167

Of the beacon payloads recorded, most were configured with an IP address for the C2. The C2 address is often the same as the team server address. For beacons that used a domain for C2, most used content delivery networks, such as provided by Tencent, CloudFront, and Azure. These services help beaconing blend in with legitimate traffic.

Table 4: Most commonly used registrars, by number of uses
Registrar Count
NAMECHEAP, INC. 353
ENAME TECHNOLOGY CO.,LTD. 330
MARKMONITOR, INC. 295
GODADDY.COM, LLC 247
OWNREGISTRAR, INC. 171
NICENIC INTERNATIONAL GROUP CO., LIMITED 122
GANDI SAS 103
NAMESILO, LLC 99
HOSTING CONCEPTS B.V. D/B/A REGISTRAR.EU 95
AMAZON REGISTRAR, INC. 86

Notice the high number of C2 domains registered with reputable registrars, like Ename Technology and MarkMonitor, in Table 4? That’s primarily explained by the heavy use of legitimate CDN services (Tencentcs, Cloudfront, Azure). These services assist threat actors via domain fronting: C2 traffic is routed through a legitimate CDN to hide attacker-owned infrastructure. Domain fronting conceals user traffic and threat actors often use it for C2 purposes.

Our data revealed the most commonly used “spawn-to” processes: temporary processes spawned by the Cobalt Strike implant, which are used to inject code that carries out post-exploitation commands. Each beacon configuration lists a spawn-to process for x86 and x64 architecture, but the process selected is typically the same for both. The default spawn-to process is rundll32.exe. Because that process runs without any command-line arguments, an effective detection opportunity arises. Many of the top spawn-to processes listed in Tables 5 and 6 are also rarely executed without command-line arguments.

Table 5: Most commonly used spawn-to processes (x64), by number of uses
Spawn to x64 Count
%windir%\sysnative\rundll32.exe 8,087
%windir%\sysnative\dllhost.exe 1,342
%windir%\sysnative\gpupdate.exe 232
%windir%\sysnative\svchost.exe 195
%windir%\sysnative\WUAUCLT.exe 185
%windir%\sysnative\runonce.exe 184
%windir%\sysnative\regsvr32.exe 149
%windir%\sysnative\WerFault.exe 105
%windir%\sysnative\WerFault -a 73

 

Table 6: Most commonly used spawn-to processes (x86), by number of uses
Spawn to x86 Count
%windir%\syswow64\rundll32.exe 8,087
%windir%\syswow64\dllhost.exe 1,342
%windir%\syswow64\gpupdate.exe 233
%windir%\syswow64\svchost.exe 196
%windir%\syswow64\runonce.exe 184
%windir%\syswow64\WUAUCLT.exe 173
%windir%\syswow64\regsvr32.exe 150
%windir%\syswow64\WerFault.exe 106
%windir%\syswow64\WerFault -a 75
%windir%\syswow64\choice.exe 45

Best Defense: Combatting Cobalt Strike Abuse

At ReliaQuest, we continuously profile team servers in the wild, identifying payloads to extract configuration details. The indicators of compromise collated through this process are fed into GreyMatter Intel, which means they can be used an emergency feed and trigger alerts. The end result? We can offer significant coverage of active Cobalt Strike C2 servers, and our customers can take appropriate steps to block Cobalt Strike infrastructure.

For extra defense, GreyMatter Detect offers coverage to detect behaviors linked to many of the capabilities of Cobalt Strike. And the following steps should also help mitigate Cobalt Strike abuse.