What We Do
How We Do
Resources
Company
Partners
Get Started
Blog

eSentire Threat Intelligence Malware Analysis: DoubleZero

BY eSentire Threat Response Unit (TRU)

April 5, 2022 | 7 MINS READ

Attacks/Breaches

Threat Intelligence

Threat Response Unit

Want to learn more on how to achieve Cyber Resilience?

TALK TO AN EXPERT

DoubleZero is a newly emerging destructive malware targeting Ukrainian enterprises. The initial access vector is unknown, but eSentire Threat Intelligence assesses with medium confidence that the threat actor(s) was able to gain access to the infected machine(s) and escalate, or use, the existing administrative privileges to manually execute the malware.

As the Russia-Ukraine crisis continues, we assess that destructive malware will continue to be actively deployed to disrupt the operations of Ukrainian infrastructure.

Key Takeaways:

Case Study

On March 22, 2022, the Computer Emergency Response Team of Ukraine (CERT-UA) released an advisory warning about the destructive DoubleZero malware found on March 17, 2022. The malicious activity is tracked under UAC-0088 and aimed to disrupt the operations of Ukrainian organizations.

DoubleZero Analysis

The ZIP archives are named “Вирус... крайне опасно!!!.zip” which means “Virus…extremely dangerous!!!.zip” and csrss.zip. The archives contain two files:

The 32-bit executables are compiled with .NET and both executables have the same impash, or import hash, 2916dda3c80b39a540b60c072a91a915 (the hash that is calculated based on the library/APIs used and their order within the executable file). It means that both files have the same functionality.

The compilation timestamp dates to May 28, 2071, which is not valid.

Obfuscation

The .NET malware sample appears to be highly obfuscated (Exhibit 1).

Exhibit 1: Initial obfuscated .NET sample


After the first round of de-obfuscation, we discovered that DoubleZero implements AES (block size 128-bit) encryption in EBC mode with PKCS padding, control flow and switch statements for additional code obfuscation as shown in Exhibit 2.

Exhibit 2: Obfuscation algorithm

Enumeration

The sample enumerates the HKEY_CURRENT_USER, HKEY_USERS, HKEY_LOCAL_MACHINE registry keys including HKEY_LOCAL_MACHINE\BCD00000000 (the key contains the boot configuration data that is required to boot up the Windows system) and subkeys using GetSubKeyNames, Registry.LocalMachine and Registry.CurrentUser properties to remove them later.

The malware also enumerates on the paths listed in Exhibit 3 using Regex to match as few characters as possible with (.*?), also known as lazy mode, and “.*” to match any character except for line terminators.

The paths queried:

Exhibit 3: Enumerating the folders using regex


The following folders get concatenated together forming a path (Exhibit 4):

Exhibit 4: Folder concatenation


It is notable that the sample also enumerates through drivers (Exhibit 4) and C:\Windows\NTDS path. The NTDS file contains a database that stores Active Directory data, including information groups, group membership and user objects. It also includes the password hashes for all users in the domain. eSentire Threat Intelligence team observed that the malware does not run on the Windows Server.

The malware gets the root drive of the infected device and Operating System information using Environment.SystemDirectory and Environment.OSVersion properties (Exhibit 5).

Exhibit 5: Enumerating system directory and OS version


DoubleZero attempts to get all logical drives on the infected computers (Exhibits 6-7).

Exhibit 6: GetLogicalDrives gets a bitmask representing the currently available disk drives


Exhibit 7: Checks if the drive name is valid


Three DLLs (Dynamic Link Library) will be used in this sample (Exhibit 8):

Exhibit 8: DLLs used in DoubleZero


In Exhibit 9, the variables highlighted in orange are some of the API calls available for use by DoubleZero:

Exhibit 9: API calls via the appropriate DLLs


In addition to the API calls, the malware attempts to set the appropriate access control or full access rights to the following files to fill them with zeroes (Exhibit 10):

Exhibit 10: Modifying access control rights

Data Destruction

The NtFsControlFile is responsible for zeroing the data out with the IOCTL code FSCTL_SET_ZERO_DATA (0x980c8) if it was able to open the file with NtOpenFile API (Exhibit 11). The number of bytes to be zeroed out are equal to the size of the file.

Exhibit 11: API responsible for wiping the data


After the sample finishes executing, the system will automatically restart, and the user will get a prompt that the BCD file is missing or corrupted (Exhibit 12). The executables need to be run as an Administrator for it to gain the full access to the system files and registry keys to proceed with deletion/wiping process. If the executables are opened as a user without UAC privilege elevation – the malware only wipes the files under C:\Users and the system shuts down after.

Exhibit 12: Missing \Boot\BCD file (error)

What eSentire is doing about it

Our Threat Response Unit (TRU) combines threat intelligence gleaned from research, security incidents, and the external threat landscape to create actionable outcomes for our customers. We are taking a holistic response approach to combat modern destructive malware by deploying countermeasures, such as:

Recommendations from eSentire’s Threat Response Unit (TRU)

We recommend implementing the following controls to help secure your organization against the DoubleZero malware:

While the Tactics, Techniques, and Procedures (TTPs) used by adversaries grow in sophistication, they lead to a limited set of choke points at which critical business decisions must be made. Intercepting the various attack paths utilized by the modern threat actor requires actively monitoring the threat landscape, developing, and deploying endpoint detection, and the ability to investigate logs & network data during active intrusions.

eSentire’s Threat Response Unit (TRU) is a world-class team of threat researchers who develop new detections enriched by original threat intelligence and leverage new machine learning models that correlate multi-signal data and automate rapid response to advanced threats.

If you’re not currently engaged with an MDR provider, eSentire MDR can help you reclaim the advantage and put your business ahead of disruption.

Learn what it means to have an elite team of Threat Hunters and Researchers that works for you. Connect with an eSentire Security Specialist.

Appendix

Sources

Indicators of Compromise

Name File Hash (SHA-256)
Вирус... крайне опасно!!!.zip d897f07ae6f42de8f35e2b05f5ef5733d7ec599d5e786d3225e66ca605a48f53
csrss.zip 8dd8b9bd94de1e72f0c400c5f32dcefc114cc0a5bf14b74ba6edc19fd4aeb2a5
cpcrs.exe (DoubleZero) 3b2e708eaa4744c76a633391cf2c983f4a098b46436525619e5ea44e105355fe
csrss.exe (DoubleZero) 30b3cbe8817ed75d8221059e4be35d5624bd6b5dc921d4991a7adc4c3eb5de4a

Yara Rules

import "pe"
import "math"
rule  DoubleZero {
    meta:
        author = "eSentire TI"
        date = "03/24/2022"
        version = "1.0"
    strings:
        $file = "Microsoft.NET" wide fullword nocase // .NET binary
        $api1 = "NtFsControlFile"  // send a control code to the file system 
        $api2 = "CreateDecryptor"  // create the AES decryptor
        $api3 = "set_UseShellExecute" // use OS shell to start the process
        $api4 = "FsctlSetZeroData" // zero out the data 
        $access_api1 = "RtlAdjustPrivilege" // modify the privileges
        $access_api2 = "AddAccessRule" //  add a rule to the list of rules within a FileSystemSecurity object
    condition:
        for any i in (0..pe.number_of_sections - 1): (
            math.entropy(pe.sections[i].raw_data_offset, pe.sections[i].raw_data_size) >=4   
                                            and pe.sections[i].name == ".text" ) and
        all of ($api*) and all of ($access_api*) and $file and
        (uint16(0) == 0x5A4D or uint32(0) == 0x4464c457f)
        and filesize < 500KB    
}
eSentire Unit
eSentire Threat Response Unit (TRU)

The eSentire Threat Response Unit (TRU) is an industry-leading threat research team committed to helping your organization become more resilient. TRU is an elite team of threat hunters and researchers that supports our 24/7 Security Operations Centers (SOCs), builds threat detection models across the eSentire XDR Cloud Platform, and works as an extension of your security team to continuously improve our Managed Detection and Response service. By providing complete visibility across your attack surface and performing global threat sweeps and proactive hypothesis-driven threat hunts augmented by original threat research, we are laser-focused on defending your organization against known and unknown threats.

Read the Latest from eSentire