Frequently Asked Questions

Technical Details: SideWalk Backdoor & Related Threats

What is the SideWalk backdoor and how does it operate?

The SideWalk backdoor is a ChaCha20-encrypted shellcode deployed by SparklingGoblin threat actors. It is loaded from disk using InstallUtil-based .NET loaders, which are obfuscated with a modified ConfuserEx. The shellcode is encrypted on disk and loaded using scheduled tasks with filenames like RasTaskStart, RasTaskManager, or WebService. The loader decrypts the shellcode and injects it into legitimate processes using process hollowing, with decryption algorithms varying across samples.

How does SideWalk achieve persistence on infected systems?

SideWalk achieves persistence by creating scheduled tasks with names such as RasTaskStart, RasTaskManager, or WebService. These tasks execute the malicious .NET loader using InstallUtil.exe, ensuring the loader runs with system privileges and remains active across reboots.

What encryption methods does SideWalk use for its payloads?

SideWalk uses ChaCha20 encryption in counter mode (CTR) with a 12-byte nonce and a 32-byte key, with a counter value of 11. It also uses XOR-based decryption for its string and data pools, employing specific 16-byte keys for different sections of the shellcode.

How does SideWalk verify the integrity of its shellcode?

After decrypting its code and data, SideWalk computes a 32-bit checksum, rotates the result right by 13 bits for each 32-bit word, and compares the hash to a reference value. If the hash does not match, indicating tampering or debugging, the shellcode exits to avoid detection.

What is the role of the Google Docs document in SideWalk's operation?

SideWalk uses a Google Docs document as a dead-drop resolver to store and retrieve encrypted IP addresses and configuration data. The document contains delimiters, payloads, decryption keys, and hashes, allowing the malware to dynamically update its command and control (C&C) server information.

How does SideWalk handle proxy configuration for C&C communication?

SideWalk checks for proxy configuration by calling the WinHttpGetIEProxyConfigForCurrentUser API with predefined URLs. If it has SeDebugPrivilege, it retrieves proxy settings from the system registry. If a proxy is found, SideWalk uses it for C&C communication, mimicking techniques seen in the CROSSWALK backdoor.

What is the significance of the update.facebookint.workers[.]dev domain in SideWalk's C&C infrastructure?

The update.facebookint.workers[.]dev domain is a Cloudflare worker used as a command and control (C&C) server by SideWalk. This allows the malware operators to customize the server infrastructure using a widely available public web service, making detection and takedown more difficult.

How does SideWalk's communication protocol with its C&C server work?

SideWalk uses a custom protocol where both requests and responses are ChaCha20-encrypted and LZ4-compressed. The protocol includes fields for hashes, keys, victim and execution IDs, command IDs, counters, and data buffers, ensuring secure and authenticated communication between infected machines and the C&C server.

What similarities exist between SideWalk and CROSSWALK backdoors?

Both SideWalk and CROSSWALK use shellcode loaders that decrypt string pools with XOR loops, employ process hollowing, and handle proxy configurations in similar ways. They also use custom hashing algorithms for function imports and share techniques for persistence and C&C communication.

How does SideWalk avoid detection and analysis?

SideWalk verifies the integrity of its shellcode using custom checksums and exits if tampering is detected. It also uses obfuscated loaders, encrypted payloads, and dynamic C&C infrastructure to evade detection and hinder analysis by security researchers.

What is process hollowing and how does SideWalk use it?

Process hollowing is a technique where malware injects its code into a legitimate process, replacing the original code. SideWalk uses its .NET loader to decrypt the shellcode and inject it into legitimate processes, making malicious activity harder to detect.

What is the Motnug loader and how is it related to SideWalk?

The Motnug loader is a simple shellcode loader used by SparklingGoblin to load the CROSSWALK backdoor. SideWalk uses ChaCha20-based loaders, which share the same ChaCha20 implementation as Motnug, but are tailored for SideWalk's encrypted payloads.

How does SideWalk populate its Import Address Table (IAT)?

SideWalk decrypts DLL names and function name hashes from its string pool, iterates over DLL exports, hashes function names with a custom algorithm, and matches them to the required imports. The addresses of matching functions are then added to the main structure for use during execution.

What is the fallback C&C server IP address used by SideWalk?

The decrypted fallback C&C server IP address used by SideWalk is 80.85.155[.]80. This server uses a self-signed certificate for the facebookint[.]com domain, which has been attributed to BARIUM/Winnti Group by Microsoft.

How does SideWalk generate victim and execution IDs?

SideWalk generates a victim ID by hashing machine-specific information, such as the Machine GUID and computer name. The execution ID is generated using CryptGenRandom and is unique for each execution instance, helping track individual infections and sessions.

What is the purpose of the ChaCha20 counter value in SideWalk?

SideWalk uses a ChaCha20 counter value of 11 (0x0000000B), which differs from the typical value of 0. This unique counter value is part of the encryption scheme for both the loader and the shellcode, ensuring consistency and security in decryption operations.

How does SideWalk handle HTTP communication with its C&C server?

SideWalk's configuration includes HTTP methods, request parameters, and URLs for retrieving proxy settings. It sends encrypted payloads via POST requests to its C&C server, using either the IP address from Google Docs or the update.facebookint.workers[.]dev domain as the Host field.

What is the function of delimiters in SideWalk's configuration data?

Delimiters in SideWalk's configuration data are used for parsing payloads, such as extracting the encrypted IP address, decryption key, and hash from the Google Docs document. This enables flexible and dynamic updates to C&C infrastructure.

How does SideWalk use the SYSTEM account for privilege escalation?

Because SideWalk's loader is executed as a scheduled task, it runs under the SYSTEM account. This allows the malware to impersonate logged-on users, steal user tokens, and access sensitive system resources, including proxy configurations and other privileged information.

Features & Capabilities

What features does Cymulate offer for real-time threat simulation and immediate threat assessment?

Cymulate provides real-time threat simulations and an immediate threats module that is updated rapidly to reflect new attacks. This enables organizations to assess their IT estate for exposure to the latest threats as soon as they emerge and implement remedial actions quickly. Cymulate can simulate attacks across email, web channels, DLP, and more, including ransomware scenarios. Source

Which types of threats can Cymulate validate?

Cymulate validates threats across the full kill chain, including phishing, malware, lateral movement, data exfiltration, and zero-day exploits, using daily updated threat templates and AI-generated attack plans. Source

What types of threats and techniques does Cymulate simulate for endpoint security validation?

Cymulate simulates known malicious file samples, malicious behaviors, ransomware, worms, trojans, rootkits, DLL side-loading, and code injection to validate endpoint security controls. Source

What is threat exposure prioritization in cybersecurity?

Threat exposure prioritization is the process of identifying and ranking vulnerabilities and other security weaknesses based on their actual exploitability and impact on business-critical assets. Cymulate uses automated threat validation and exposure scoring to help teams focus on exposures that are not protected by security controls. Source

What problems does Cymulate's Threat Validation solution solve for security teams?

Cymulate's Threat Validation solution addresses the lack of confidence in security controls—since threats evolve faster than defenses—and the risk of security configuration drift, which can decrease threat coverage and create new gaps. Source

What are some of Cymulate's integrations?

Cymulate integrates with numerous security technologies, including Akamai Guardicore (Network Security Validation), AWS GuardDuty (Cloud Security Validation), BlackBerry Cylance OPTICS, Carbon Black EDR, Check Point CloudGuard, CrowdStrike Falcon, Crowdstrike Falcon LogScale (SIEM), and Cybereason. For a complete list, visit our Partnerships and Integrations page.

Security & Compliance

What security and compliance certifications does Cymulate have?

Cymulate holds several key certifications, including SOC2 Type II (covering security, availability, confidentiality, and privacy), ISO 27001:2013 (Information Security Management), ISO 27701 (Privacy Information Management), ISO 27017 (Security Techniques for Cloud Services), and CSA STAR Level 1. Source

How does Cymulate ensure data security and privacy?

Cymulate hosts services in secure AWS data centers, uses encryption for data in transit (TLS 1.2+) and at rest (AES-256), and follows a strict Secure Development Lifecycle (SDLC). The company also complies with GDPR and employs a dedicated privacy and security team, including a Data Protection Officer (DPO) and Chief Information Security Officer (CISO). Source

Use Cases & Benefits

Who can benefit from using Cymulate?

Cymulate is designed for CISOs, security leaders, SecOps teams, red teams, and vulnerability management teams across industries such as media, transportation, financial services, retail, and healthcare. Organizations of all sizes, from small businesses to enterprises with over 10,000 employees, can benefit from Cymulate's platform. Source

What business impact can customers expect from using Cymulate?

Customers can expect a 30% improvement in threat prevention, a 52% reduction in critical exposures, a 60% increase in operational efficiency, 40X faster threat validation, an 85% improvement in threat detection accuracy, and an 81% reduction in cyber risk within four months. Source

What pain points does Cymulate address for security teams?

Cymulate addresses overwhelming threat volumes, lack of visibility, unclear prioritization, operational inefficiencies, fragmented security tools, cloud complexity, and communication barriers for CISOs. Source

How does Cymulate tailor its solutions for different security roles?

Cymulate provides validated exposure scoring and actionable insights for CISOs, automates processes for SecOps teams, offers scalable attack simulations for red teams, and consolidates vulnerability management for vulnerability teams. Source

Implementation & Ease of Use

How long does it take to implement Cymulate and how easy is it to start?

Cymulate is easy to implement and use, with customers reporting that deployment is fast and straightforward. The platform supports agentless mode, quick deployment, and requires minimal resources, allowing organizations to start running simulations almost immediately. Source

What feedback have customers given about Cymulate's ease of use?

Customers consistently praise Cymulate for its intuitive design, ease of deployment, and user-friendly dashboard. Testimonials highlight the platform's simplicity, practical insights, and excellent support. Source

Pricing & Plans

What is Cymulate's pricing model and how is it determined?

Cymulate uses a subscription-based pricing model tailored to each organization's needs. Pricing depends on the chosen package, number of assets, and scenarios selected for simulation. For a detailed quote, organizations can schedule a demo with Cymulate's team. Source

Competition & Comparison

How does Cymulate compare to AttackIQ?

Cymulate offers an industry-leading threat scenario library and AI-powered capabilities for streamlined workflows and accelerated security posture improvement. AttackIQ focuses on automated security validation but lacks Cymulate's innovation, threat coverage, and ease of use. Read more

How does Cymulate compare to Mandiant Security Validation?

Mandiant is one of the original BAS platforms but has seen little innovation in recent years. Cymulate continually innovates with AI and automation, expanding into exposure management as a grid leader. Read more

How does Cymulate compare to Pentera?

Pentera is useful for attack path validation but lacks the depth Cymulate provides for fully assessing and strengthening defenses. Cymulate optimizes defense, scales offensive testing, and increases exposure awareness. Read more

How does Cymulate compare to Picus Security?

Picus may suit organizations seeking a BAS vendor with an on-prem option. Cymulate offers a more complete exposure validation platform covering the full kill chain and cloud control validation. Read more

How does Cymulate compare to SafeBreach?

Cymulate outpaces SafeBreach with unmatched innovation, precision, and automation. It features the industry’s largest attack library, a full CTEM solution, and comprehensive exposure validation. Read more

How does Cymulate compare to Scythe?

Scythe is suitable for advanced red teams building custom attack campaigns. Cymulate provides a more comprehensive exposure validation platform with actionable remediation and automated mitigation. Read more

How does Cymulate compare to NetSPI?

NetSPI excels in penetration testing as a service (PTaaS). Cymulate is designed for continuous, independent assessment and strengthening of defenses, recognized as a leader in exposure validation by Gartner and G2. Read more

New: 2026 Gartner® Market Guide for Adversarial Exposure Validation
Learn More
Cymulate named a Customers' Choice in 2025 Gartner® Peer Insights™
Learn More
New Research: The Security Tradeoffs Behind AI Tooling
Learn More
An Inside Look at the Technology Behind Cymulate
Learn More

The SideWalk new backdoor is as dangerous as the crosswalk

August 29, 2021

The SideWalk backdoor is ChaCha20-encrypted shellcode that is loaded from disk by SparklingGoblin's InstallUtil-based .NET loaders. SideWalk's shellcode is deployed encrypted on disk under the name Microsoft.WebService.targets and loaded using SparklingGoblin's InstallUtil-based .NET loader obfuscated with a modified ConfuserEx, an open source protector for .NET applications that is frequently used by the group. SparklingGoblin's .NET loaders persist via a scheduled task using one of the following filenames: -RasTaskStart -RasTaskManager -WebService It executes the loader using the InstallUtil.exe utility using the following command: C:WindowsMicrosoft.NETFramework64v4.0.30319InstallUtil.exe /logfile= /LogToConsole=false /ParentProc=none /U C:WindowsMicrosoft.NETFramework64v4.0.30319InstallWebService.sql C:WindowsMicrosoft.NETFramework64v4.0.30319InstallUtil.exe /logfile= /LogToConsole=false /ParentProc=none /U C:WindowsMicrosoft.NETFramework64v4.0.30319InstallWebService.sql where InstallWebService.sql is the malicious .NET loader. When started with the /U flag, as here, the Uninstall method from the USCInstaller class in the UPrivate namespace method of the .NET loader is called. the loader is responsible for reading the encrypted shellcode from disk, decrypting it and injecting it into a legitimate process using the process hollowing technique. Note that the decryption algorithm used varies across samples. Additionally, note that SparklingGoblin uses a variety of different shellcode loaders such as the Motnug loader and ChaCha20-based loaders. Motnug is a pretty simple shellcode loader that is frequently used to load the CROSSWALK backdoor, while the ChaCha20-based loaders, as their names suggest, are used to decrypt and load shellcode encrypted with the ChaCha20 algorithm. The ChaCha20 implementation used in this loader is the same one used in the SideWalk backdoor described below. This implementation is counter based (CTR mode), using a 12-byte nonce and 32-byte key with a counter value of 11. The 0x0000000B counter value differs from the usual ChaCha20 implementation, where it's usually set to 0. Similar to CROSSWALK, the SideWalk shellcode uses a main structure to store strings, variables, the Import Address Table (IAT), and its configuration data. This structure is then passed as an argument to all functions that need it. During SideWalk's initialization, first the strings are decrypted and added to the structure, then the part of the structure responsible for storing the IAT is populated, and finally SideWalk's configuration is decrypted. Data and string pool decryption At the very beginning of its execution, the data section at the end of the shellcode is decrypted using an XOR loop and this 16-byte key: B0 1D 1E 4B 68 76 FF 2E 49 16 EB 2B 74 4C BB 3A. This section, once decrypted, contains the strings that will be used by SideWalk, including: -registry keys -decryption keys -path to write files received from the C&C server -HTTP method to be used -HTTP request parameters -URLs used to retrieve the local proxy configuration delimiters used to retrieve the encrypted IP address from the Google Docs document. Note that similar to SideWalk, CROSSWALK also starts its execution by decrypting a string pool using an XOR loop and a 16-byte key. After decrypting the data section at the end of the shellcode, SideWalk then proceeds to decrypt the rest of its instructions (starting at offset 0x528) by using the same XOR loop with a different 16-byte key: 26 74 94 78 36 60 C1 0C 41 56 0E 60 B1 54 D7 31. Once it has decrypted its data and code, SideWalk proceeds to verify its integrity by computing a 32-bit checksum, rotating the result to the right by 13 bits at every 32-bit word and comparing the hash value with a reference one corresponding to the untampered shellcode. If the hash is different from the reference value, it exits. This allows the shellcode to detect breakpoints or patches to its code and to avoid execution in such cases. In addition to the string pool, the decoded data also contains the names of the DLLs, as well as the hashes of the names of the functions, to be loaded. Contrary to CROSSWALK, where the string representation of the hashes is used, the hashes are stored directly in their raw binary representation. SideWalk iterates over the exports of each of the DLLs listed in the decoded data and hashes them with a custom hashing algorithm and then compares them to the hashes of the function names to be imported. Once a match is found, the address of the matching function is added to the main structure. Once the IAT is populated, SideWalk proceeds to decrypt its configuration. The configuration is encrypted using the ChaCha20 algorithm and the decryption key is part of the string pool mentioned above. The ChaCha20 implementation is the same one used for the ChaCha20-based loader. The decrypted configuration contains values used by SideWalk for proper operation, as well as the update.facebookint.workers[.]dev C&C server, and the URL of the Google Docs document that is later used as a dead-drop resolver. Note that the update.facebookint.workers[.]dev domain is a Cloudflare worker that lets the malware operators customize the server, running on a widely used, public web service. During that campaign, SparklingGoblin also used a Cloudflare worker domain with Cobalt Strike: cdn.cloudfiare.workers[.]dev. One feature of SideWalk is to check whether a proxy configuration is present before starting to communicate with the C&C server. To do so, it tries two techniques: -A call to the API function WinHttpGetIEProxyConfigForCurrentUser, with predefined URLs contained in its configuration: https://msdn.microsoft.com https://www.google.com https://www.twitter.com https://www.facebook.com -If SideWalk is able to adjust its privileges to SeDebugPrivilege, it tries to retrieve the proxy configuration from HKUSoftwareMicrosoftWindowsCurrentVersionInternet SettingsProxyServer. Otherwise, it tries to fetch it from HKCUSoftwareMicrosoftWindowsCurrentVersionInternet SettingsProxyServer. If a proxy is found, SideWalk will use it to communicate with the C&C server. This behavior is very similar to the way proxies are handled by CROSSWALK. SideWalk attempts to obtain the proxy configuration of the current user session by stealing the user token from explorer.exe (the process name to search for is in the configuration) and calling the Windows API WinHttpGetIEProxyConfigForCurrentUser. Note that SideWalk has the necessary permissions to impersonate logged-on users because it is loaded by the InstallUtil-based .NET loader, which persists as a scheduled task, and so runs under the SYSTEM account. The Google Docs page used by SideWalk as a dead-drop resolver and at the time of writing, it is still up. Note that anyone can edit this page. This string is composed of: -Delimiters used for proper parsing. -A payload and its size, which consists of a ChaCha20-encrypted IP address, the key to decrypt it, and, for an integrity check, the hash of the decryption key. -Additional strings that are currently unused. To facilitate the potential future usage of that formatting, we have provided a script in our GitHub repository. The decrypted IP address is 80.85.155[.]80. That C&C server uses a self-signed certificate for the facebookint[.]com domain. This domain has been attributed to BARIUM by Microsoft, which partially overlaps with what we define as Winnti Group. As this IP address is not the first one to be used by the malware, it is considered to be the fallback one. Both the URL and the values of the gtsid and gtuvid parameters are randomly generated. The Host field is either the IP fetched from Google Docs, or is set to update.facebookint.workers[.]dev. The data of the POST request is an encrypted payload. The format used by this request is the communication format used by SideWalk operators between C&C server and infected machines, e.g., requests and responses. Note that this format is used for both the request and the response, meaning that when SideWalk handles the data sent back from the C&C server, it parses it according to the same format. There is no particular similarity in the C&C server communication side between CROSSWALK and SideWalk. In this format, the fields are: -hash: the hash of the data from 0x10 to total_size of the payload. The hash algorithm is a custom hash combined of multiple MD5 calls on different portions of the hashed data. -size: the size is equal to total_size - 0x0D. -key1, key2: ChaCha20 keys to encrypt Header Buffer and Data Buffer. -parameter buffer: optional buffer (may be 0…0). -victim ID: authentication information, which is the result of a custom hash of various machine information including Machine GUID and computer name. -execution ID: before launching the threads, this ID is generated using CryptGenRandom. It is different for each execution. -command ID / response ID: ID of the action that has been handled by the malware when it is a request from the malware to the C&C server, and the ID of the command to execute when it is a -response from the C&C server to the malware. -counter: number of commands executed since the current SideWalk process inception. -data: the ChaCha20-encrypted, compressed data fetched by the malware or sent by the C&C server. -compressed size: the size of the LZ4-compressed data. -data size: the uncompressed data size. Header Buffer and Data Buffer are encrypted using the corresponding keys. The first one stands for the metadata to identify the machine that was compromised, and the second buffer corresponds to the actual data shared between the C&C server and the malware.