Analysis Report

MAR-10365227-1.v1 - Impacket

Release Date
Alert Code
AR22-277A

Notification

This report is provided "as is" for informational purposes only. The Department of Homeland Security (DHS) does not provide any warranties of any kind regarding any information contained herein. The DHS does not endorse any commercial product or service referenced in this bulletin or otherwise.

This document is marked TLP:CLEAR--Disclosure is not limited. Sources may use TLP:CLEAR when information carries minimal or no foreseeable risk of misuse, in accordance with applicable rules and procedures for public release. Subject to standard copyright rules, TLP:CLEAR information may be distributed without restriction. For more information on the Traffic Light Protocol (TLP), see http://www.cisa.gov/tlp.

Summary

Description

This Malware Analysis Report (MAR) is the result of analytic efforts by the Cybersecurity and Infrastructure Security Agency (CISA) to provide detailed analysis of files associated with CovalentStealer malware, which is designed to identify and exfiltrate files to a remote server. CISA obtained CovalentStealer malware samples during an on-site incident response engagement at a Defense Industrial Base (DIB) Sector organization compromised by advanced persistent threat (APT) actors.



CISA analyzed 19 files associated with CovalentStealer malware. The files are designed to identify file shares on a system, categorize the files, and upload the files to a remote server. The files include two configurations that specifically target the victim's documents using predetermined files paths and user credentials. The two remaining files were identified as open source utilities the threat actor utilized on the victim's system. One file is a publicly available utility used to compress and archive other files. The second file is an open source utility used to extract the Master File Table (MFT) from a volume and can be used for file enumeration.

CISA is distributing this MAR to enable network defense and reduce exposure to APT sponsored malicious cyber activity.



For more information on the confirmed compromise, see Joint CSA: Impacket and Exfiltration Tool Used to Steal Sensitive Information from Defense Industrial Base Organization.

Download the PDF version of this report:

For a downloadable copy of IOCs, see:

MAR-10365227.r1.v1 STIX XML (XML, 1.42 MB )
Submitted Files (19)

09605981a072c604e6ef9ad2dd7d2a78b48b07ee3339589bfcf0a466a9190904 (msexch.log)

0b01f392fa030be1ddd549fb79cf280d2a2c745578a56fedd4cb5e9438ae72cb (ntstatus.bat)

0b7d15968d44710b3e7f153c04b5038d03900a6685643bc8efe688c4d5a5deab (ntstatus_temp.log)

157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656 (ntstatus.exe)

25afc6741abfa27f5b50844331772466182ebe3f74bc84f911314d1a68c62cb2 (mqsvn.ini)

30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc (msexch.exe)

3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350 (mqsvn.exe)

517faa4a0666ec68842f256f08d987935b6ce9ef64e33f027e084e8f45b9366d (onedrv.dat)

52765525103f5b3b07d0882cc8ee4bb8e279ad5d451e1ed07cae3b98565cce29 (msexch.ini)

5ba0d0bfda372c1f6aa382a70f4ab8427ec998b680510e208fdf878cfda9afe3 (ntstatus.log)

603e75db59285734cfb5a469e984c4e359e660ccb7836ff9c209aec36931bc2b (mqsvn.log)

6a0cd866c849e62f9ccc26575d8794c2e0b14722387742b965d4358e1e0e8b3c (msexch_temp.log)

84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb (onedrv.exe)

91a8b31c126a021f5c156742016acdcca7d83eac4b583bae5d4fd0a85a96813b (onedrv.ini)

b03ac5eaf2131060ee381e5e46ebc705d8d617a90cc61fa4918174545b4fbaa6 (ntstatus.bin)

bfa7adeda4597b70bf74a9f2032df2f87e07f2dbb46e85cb7c091b83161d6b0a (vmware.exe)

da267c72f58ec487761de99d0f3bcfd87771a36afc06716053960633a74139df (ntstatus.ini)

e03a2c8a6e81cf62ba7401c598ea1d4635b08bbf9c2fec080b536dde29e6392f (msexch.bin)

fae38156e9ce12368c846836b87861f4f12e14698cb65f14545205fa56d8c496 (vmware.ps1)

Additional Files (2)

1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da (result.exe)

d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8 (Uploader.exe)

Findings

84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb

Tags

information-stealeruploader

Details
Name onedrv.exe
Size 791040 bytes
Type PE32+ executable (GUI) x86-64 Mono/.Net assembly, for MS Windows
MD5 806998079c80f53afae3b0366bac1479
SHA1 9f7378da13ca1da75e12e536c8e2dc4cd2236489
SHA256 84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb
SHA512 3d592a606426386fa5f1224c7d3f82f31f5a4d23f9c67422d774e080725bc5698e7786407863dd50d7172e814871bdfabbbe6dce9545733d995ddd892249ba22
ssdeep 12288:kyIzsYTd+LXxWtmtOdnPR3xTexehCkijOcXF8qSH8gdkMdCNGCWJOWCmP8pSMmVN:ky4sO+9ymtsnPRBnlivXPSHxkMNHCNp
Entropy 7.996795
Antivirus
Avira HEUR/AGEN.1221987
YARA Rules
  • rule CISA_10365227_03 : ClientUploader

    {

       meta:

           Author = "CISA Code & Media Analysis"

           Incident = "10365227"

           Date = "2021-12-23"

           Last_Modified = "20211224_1200"

           Actor = "n/a"

           Category = "n/a"

           Family = "n/a"

           Description = "Detects ClientUploader_onedrv"

           MD5_1 = "806998079c80f53afae3b0366bac1479"

           SHA256_1 = "84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb"

       strings:

           $s1 = "Decoder2"

           $s2 = "ClientUploader"

           $s3 = "AppDomain"

           $s4 = { 5F 49 73 52 65 70 47 ?? 44 65 63 6F 64 65 72 73 }

           $s5 = "LzmaDecoder"

           $s6 = "$ee1b3f3b-b13c-432e-a461-e52d273896a7"

       condition:

           uint16(0) == 0x5a4d and all of them

    }
ssdeep Matches

No matches found.

PE Metadata
Compile Date 2021-09-10 17:59:57-04:00
Internal Name ClientUploader.exe
Original Filename ClientUploader.exe
Product Version 1.0.0.0
PE Sections
MD5 Name Raw Size Entropy
6b81a95076cc3d6f6dff7d32afa3b7e2 header 512 2.297287
2d3081eb51c7c393e0a670c8bfcf7c24 .text 788992 7.998126
5569bca67ba8c174f30990c07b585dbe .rsrc 1536 3.966404
Packers/Compilers/Cryptors
Microsoft Visual C++ v6.0
Relationships
84164e1e80... Used 91a8b31c126a021f5c156742016acdcca7d83eac4b583bae5d4fd0a85a96813b
84164e1e80... Created 517faa4a0666ec68842f256f08d987935b6ce9ef64e33f027e084e8f45b9366d
Description

This file has been identified as CovalentStealer malware. The actor utilized code from several open source projects, including ClientUploader. The retained the internal name "ClientUploader.exe". The program is a file management system that is capable of uploading files to the Internet.



When the program is executed, it will spawn an instance of itself in memory called ‘koi’. This instance accesses several embedded resources that it uses to locate and manipulate files on the system. The following is a list of the primary embedded resources:



---Begin Embedded Resources---

BaseNetwork – This resource is used to create sessions and establish connections to the server.

FileContainer – This resource is used to access file shares via Server Message Block (SMB). It is also used to enumerate files and directories and sort them by Message Digest 5 (MD5) hash. It maintains Internet Protocol (IP) addresses, logins, domain names, passwords, and paths for shares on the network.

IFileWorker – This resource is a file management program that is capable of moving and categorizing files. It contains compression libraries for Gzip and Brotli, as well as a file blacklist.

Encryption – This resource handles file encryption, decryption and secure communications. It decrypts the configuration file, onedrv.ini (91a8b31c126a021f5c156742016acdcca7d83eac4b583bae5d4fd0a85a96813b) using the hard-coded Advanced Encryption Standard (AES) key ‘M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h’ and an Initialization Vector (IV) using the first half of the AES key (See Figure 1).

OneDriveClient – This resource targets a user’s OneDrive account and creates an upload session to send the files to a remote server. It is able to access files in the victim’s OneDrive by unique ID (See Figure 2). Files are uploaded to a Microsoft Azure client identified in the configuration file onedrv.ini by client ID.

---End Embedded Resources---



The program runs a debugging routine and will output debugging data to a file with the same name as the malware and with the .dat extension, e.g. onedrv.dat (517faa4a0666ec68842f256f08d987935b6ce9ef64e33f027e084e8f45b9366d).

Screenshots

Figure 1 - This is the AES encryption routine. The routine uses the hard-coded string 'M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h' as the AES key and the first half of the key as the IV.

Figure 2 - This is the configuration for the upload session. This module is able to access items in the user's OneDrive by unique ID.

517faa4a0666ec68842f256f08d987935b6ce9ef64e33f027e084e8f45b9366d

Details
Name onedrv.dat
Size 267224 bytes
Type ASCII text, with CRLF line terminators
MD5 dc0414dec9a84d6342c5d5fc77bbdbed
SHA1 1dad19123564d7d02c3259ab4b06c90181dc4b37
SHA256 517faa4a0666ec68842f256f08d987935b6ce9ef64e33f027e084e8f45b9366d
SHA512 1d262f06881516ca2274d8fb18bcb4bcf9c0b3229370b0609f3803f356a676b1149e22da6a33957862d8470a8531d9719af07bd75379df2ca29e373604fb32cb
ssdeep 3072:ERNwmyBvqZKFkVfhJnEFbDcazPQLTnVy8JR6Ylb3uQ0PQNIfFrCGdDlBXZuZpZfB:bWrjgA
Entropy 5.360335
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
517faa4a06... Created_By 84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb
Description

This file contains output from the debugging routine in onedrv.exe (84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb).

91a8b31c126a021f5c156742016acdcca7d83eac4b583bae5d4fd0a85a96813b

Tags

information-stealer

Details
Name onedrv.ini
Size 1088 bytes
Type data
MD5 a0ab6d3e643d4dd51ee6ae9079b175a4
SHA1 f179fcc4c41ca5cb443551f88a1074d5176d33f4
SHA256 91a8b31c126a021f5c156742016acdcca7d83eac4b583bae5d4fd0a85a96813b
SHA512 237baa401e0c52ca816cebafa5abf088e9a757f4da452e97210a1fe8eda8c0adc67aa19cacd662dcc98f5bd355d679fb096ff4e97cd54e16c199c66946d65a5e
ssdeep 24:olkc5V0yhsd/AFvaPo3b6EJ2ITY9UI62JPld5oKLeWb6l+vTI:olkq0yK/Ata5EJ2I5nOTvTI
Entropy 7.824751
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
91a8b31c12... Used_By 84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb
Description

This artifact is the encrypted configuration file for the OneDriveClient module contained in the file ondrv.exe (84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb). The data is decrypted using the hard-coded key ‘M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h’.



The file contains paths to two archives targeted by the attacker. The file includes the IP address of the server, stolen credential information, and a key to encrypt the uploaded data. NOTE: The decrypted configuration contains confidential client information and therefore is not included in this report.



In addition, the data contains a refresh token for an OAuth client for Microsoft Azure with the Client ID of ‘7a3b4b84-ed28-4f18-b30d-218788c74a5f’. Speed and compression information as well as times that the OneDrive share can be accessed are also included in the configuration.

157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656

Tags

information-stealerobfuscatedtrojanuploader

Details
Name ntstatus.exe
Size 6656 bytes
Type PE32+ executable (GUI) x86-64 Mono/.Net assembly, for MS Windows
MD5 c435d133b45783cce91a5d4e4fbe3f52
SHA1 9ddfa0669358bc19a166a41fd93cec5a3c88205d
SHA256 157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656
SHA512 e4d43dc23ff78f55bc857608fa33691eb7fb3e132332660b46460e7e7512104bc22484489d3d0fbd136270de9f7060641505ad2854cefd50b31ca6bb31b2ae18
ssdeep 96:nPbVkB7jiZStZC+01RPmaUrfzvDwiFMCnd+taflUTsqzNt:nPbqFiwW+g5maMzDwQMCQwmT
Entropy 4.921630
Antivirus
Adaware Gen:Variant.Tedy.82790
Bitdefender Gen:Variant.Tedy.82790
ESET a variant of MSIL/Agent.VOV trojan
McAfee Generic trojan.ri
NETGATE Malware.Generic
Symantec Process timed out
YARA Rules
  • rule CISA_10365227_01 : APPSTORAGE

    {

       meta:

           Author = "CISA Code & Media Analysis"

           Incident = "10365227"

           Date = "2021-12-23"

           Last_Modified = "20211224_1200"

           Actor = "n/a"

           Category = "n/a"

           Family = "APPSTORAGE"

           Description = "Detects AppStorage_ntstatus_msexch samples"

           MD5_1 = "c435d133b45783cce91a5d4e4fbe3f52"

           SHA256_1 = "157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656"

           MD5_2 = "baa634fdd2b34956524b5519ee97b8a8"

           SHA256_2 = "30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc"

       strings:

           $s1 = "026B924DD52F8BE4A3FEE8575DC"

           $s2 = "GetHDDId"

           $s3 = "AppStorage"

           $s4 = "AppDomain"

           $s5 = "$1e3e5580-d264-4c30-89c9-8933c948582c"

           $s6 = "hrjio2mfsdlf235d" wide

       condition:

           uint16(0) == 0x5a4d and all of them

    }
ssdeep Matches

No matches found.

PE Metadata
Compile Date 2101-07-23 04:43:10-04:00
Internal Name AppStorage.exe
Original Filename AppStorage.exe
Product Version 1.0.0.0
PE Sections
MD5 Name Raw Size Entropy
3994632889cebeff28c360da22c696f3 header 512 2.255013
bec2cac9d419ae07e526a03c4a94cb64 .text 4608 5.307382
0551c676439e5d812cb2bab3f2060c1b .rsrc 1536 3.934855
Packers/Compilers/Cryptors
Microsoft Visual C++ v6.0
Relationships
157a0ffd18... Related_To b03ac5eaf2131060ee381e5e46ebc705d8d617a90cc61fa4918174545b4fbaa6
157a0ffd18... Dropped 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
157a0ffd18... Related_To 0b01f392fa030be1ddd549fb79cf280d2a2c745578a56fedd4cb5e9438ae72cb
Description

This artifact is an obfuscated .NET executable that is used to decode a variant of the CovalentStealer malware. When executed, the program will check the present name of the program and then look in the current directory for a file with the same name and a .bin extension, e.g. ntstatus.bin (b03ac5eaf2131060ee381e5e46ebc705d8d617a90cc61fa4918174545b4fbaa6).



The program seeks to generate a key called ‘HDDId’ to decode ntstatus.bin. The embedded string ‘hrjio2mfsdlf235d’ is used to decode instructions within the program to generate the key (See Figure 3). The first command identifies the machineName of the system. The second command reads the Windows Management Instrumentation (WMI) namespace root/cimv2 to locate the volumeserialnumber of the current drive. Both variables are then modified using an exclusive OR (XOR) routine and the same string above is used to generate the key (See Figure 4). The first part of the key is generated from the volumeserialnumber, and during analysis resolved to ‘76D55BD2’. The machineName resolved to ‘F3124EDD’ creating the key ‘76D55BD2F3124EDD’ (See Figure 5). Note: The key is an example.



To generate the correct key the machineName and volumeserialnumber must match the victim’s system, otherwise it fails to decode ntstatus.bin and the program will terminate. This method is used to thwart independent analysis of the file, ntstatus.bin.

Screenshots

Figure 3 - Screenshot of the XOR routine using the string 'hrjio2mfsdlf235d'.

Figure 4 - The program collects the machineName and volumeserialnumber to generate the HDDId key.

Figure 5 - This is the generated HDDId key used to decode ntstatus.bin

b03ac5eaf2131060ee381e5e46ebc705d8d617a90cc61fa4918174545b4fbaa6

Tags

information-stealerobfuscateduploader

Details
Name ntstatus.bin
Size 1834496 bytes
Type data
MD5 d5a7b90177cdf81c2e1de40dc834d764
SHA1 d5dee0a05101cf9ed3c3ca76cf01f518c3ef922c
SHA256 b03ac5eaf2131060ee381e5e46ebc705d8d617a90cc61fa4918174545b4fbaa6
SHA512 cfccd6701a69047c7de246601d2cd41cdc87d314bdcf070778938dad22e3bf5911d3beca0d75379dabdda1ad3c229c3bec329b840f5e4828c8bab41c1cdff159
ssdeep 24576:vsGNL+Kei7j3iTeG0fYHTlyAUoFwZJuaEh68w8To7FgunNZG10guctbAgYMEc+1B:DNb7dEh68E72O4hEVF
Entropy 6.681125
Antivirus
Symantec Unavailable (production)
YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
b03ac5eaf2... Related_To 157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656
b03ac5eaf2... Contains 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
Description

This is an obfuscated version of CovalentStealer malware. The file is decoded by ntstatus.exe (157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656) using the key '76D55BD2F3124EDD'. The decoded file is called result.exe (1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da) and is detailed in this report.

1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da

Tags

information-stealeruploader

Details
Name result.exe
Size 1834496 bytes
Type PE32+ executable (console) x86-64 Mono/.Net assembly, for MS Windows
MD5 27a0ba098b8403570c7b1e0863c2d6c5
SHA1 22cb98b9548ffd1010b2799a791ef42b8943f3c9
SHA256 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
SHA512 7eb71e11947a762d8a9a396de21d6b704f8021acc0ddfc7a959897569d429f3347c9bd1c3206703375d09a81defd3d1f9bba0ea137157d8546b862ded030c4c2
ssdeep 49152:F2f6rfgMSneK065JlYaDmxZF5ax00MSMoOKiYyBg9FzfJNFL5QPWES2s1B+dBrSY:F2f6rfgMSneK065JlYaDmxZF5ax00MSt
Entropy 5.579937
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches
97 d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
PE Metadata
Compile Date 2021-10-19 20:19:25-04:00
Import Hash f34d5f2d4577ed6d9ceec516c1f5a744
Internal Name ClientUploader.exe
Original Filename ClientUploader.exe
Product Version 1.0.0.0
PE Sections
MD5 Name Raw Size Entropy
8a2ac318e59571d7c72221d67498bd5f header 512 2.722440
be70af56c305ef153e32ecc2430d4d8a .text 1831936 5.581972
5488f249cf62feed84546911d54f96f2 .rsrc 1536 3.971470
f80d2b416a07808182a35c49f6967d8f .reloc 512 0.101910
Relationships
1352dbb093... Created 5ba0d0bfda372c1f6aa382a70f4ab8427ec998b680510e208fdf878cfda9afe3
1352dbb093... Created 0b7d15968d44710b3e7f153c04b5038d03900a6685643bc8efe688c4d5a5deab
1352dbb093... Used da267c72f58ec487761de99d0f3bcfd87771a36afc06716053960633a74139df
1352dbb093... Dropped_By 157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656
1352dbb093... Created 0b01f392fa030be1ddd549fb79cf280d2a2c745578a56fedd4cb5e9438ae72cb
1352dbb093... Contained_Within b03ac5eaf2131060ee381e5e46ebc705d8d617a90cc61fa4918174545b4fbaa6
Description

This artifact has been identified as CovalentStealer malware. When the program is executed it will decrypt and read the configuration file ntstatus.ini (da267c72f58ec487761de99d0f3bcfd87771a36afc06716053960633a74139df) in the current directory. It uses the hard-coded AES-256-CBC key ‘M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h’ to decrypt the file. The configuration file will include a path to the directory containing the targeted files, compression parameters, and connection parameters for connecting to a system on the Internet to upload data.



The malware has several primary modules. The module IFileWorker contains the following functions:



---Begin IFileWorker Functions---

Brotli. – This function contains the Brotli compression library to compress and decompress files.

ContainersFilesWorker. – This function keeps track of uploaded files. It compares the files to a hash list for the file and path before uploading and also compares them to a whitelist and a blacklist by file extension. It also logs the status of each file in the upload process.

Extension. – This function checks the file extension to determine if the file needs to be compressed.

File Archive. – This function verifies the size of the file and disposition before compressing the file.

FileBlock. – This function converts the file data into a byte stream.

FileContainers. – This function segregates files by file type based on the extension.

GZip. – This function contains the Gzip compression library to compress and decompress files.

Logger. – This function logs debug status messages and telemetry data from other functions and outputs them to a file using the base name and the .dat extension, e.g. ntstatus.dat (See Figure 6).

WhiteAndBlackList. – This function maintains a list of files by name and a list of files by extension that match the whitelist or blacklist from the configuration file.

---End IFileWorker Functions---



Note: The actor utilized this code from the open source project IFileWorker.



The module OneDriveClient contains the following functions:



---Begin OneDriveClient Functions---

OneDrive. – This function uploads files to a Uniform Resource Locator (URL). It configures speed, buffer size, time, etc. based on the parameters in the configuration file, ntstatus.ini. Then, it reports the status of each file to the IFileWorker.Logger function. The following are examples of the OneDrive commands:



    ---Begin OneDrive Commands---

    OneDriveClient.OneDriveChannel+<Send>

    OneDriveClient.OneDrive+<GetAccessToken>

    OneDriveClient.OneDrive+<UploadData>

    OneDriveClient.OneDrive+<UploadFile>

    OneDriveClient.OneDrive+<UploadLargeFile>

    OneDriveClient.OneDrive+<GetUploadUrl>

    OneDriveClient.OneDrive+<UploadPartWithStopwatch>

    OneDriveClient.OneDrive+<UploadPart>

    OneDriveClient.OneDrive+<UploadSmallFileWithStopWatch>

    OneDriveClient.OneDrive+<UploadSmallFile>

    ---End OneDriveClient Functions---



OneDriveChannel. – This function establishes the connection to the server.

OneDriveChannelSettings. – This function reads the ClientID, Redirect, Refresh Token, and Scopes from the configuration file, ntstatus.ini to negotiate the connection to the client.

UploadedFiles. – This function logs the hash and the file path of the uploaded files and records the information into two files where ntstatus.log contains a list of file hashes and ntstatus_temp.log contains a list of file path hashes (See Figure 7).

---End OneDriveClient Functions---



The program also contains supporting libraries for the SMB protocol versions 2 and 3. The libraries have the capacity to maintain a list of IP addresses, logins, domainNames, passwords, and SMB clients that can be used to attempt to search for and log into SMB file stores. Files can be searched by file path, file status (e.g., open or closed), and file attributes (e.g. shared, read only, etc.).

Screenshots

Figure 6 - The IFileWorker.Logger function is used to generate the log file for debug and telemetry data.

Figure 7 - The OneDriveClient.UploadedFiles function records MD5 hashes of uploaded files into the file ntstatus.log and MD5 hashes of the file paths into the file ntstatus_temp.log.

da267c72f58ec487761de99d0f3bcfd87771a36afc06716053960633a74139df

Tags

information-stealeruploader

Details
Name ntstatus.ini
Size 3392 bytes
Type data
MD5 b1a7c2ae593e814cfecdcff709b02615
SHA1 ababa956175b2ddae7ec92162a8464b40b79064a
SHA256 da267c72f58ec487761de99d0f3bcfd87771a36afc06716053960633a74139df
SHA512 f511508878f821f80f10d387a60c7bab14c7384cd4ce0a68c73b0331d13d4b716805e3a53794ef0def0062d08eea489ef6239c53c2fa2d7f1c3478aba7e204b1
ssdeep 96:m74SD0f7Z2wXZ/BFmcktZdsczgmwL1COPP8yeTY4l9N:s4SDA73Zqlt7gmYQEUyMY4jN
Entropy 7.948675
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
da267c72f5... Used_By 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
Description

This artifact is the encrypted configuration file for the OneDriveClient module contained in the file result.exe (1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da) detailed in this report. The data is decrypted using the hard-coded AES-256-CBC key ‘M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h’. The algorithm uses an IV that is derived from the first half of the encryption key (See Figure 8).



The file contains multiple paths to archives targeted by the attacker. The file includes the IP address of the server, stolen credential information, and a key to encrypt the uploaded data. NOTE: The decrypted configuration contains confidential client information and therefore is not included in this report.



In addition, the data contains a refresh token for an OAuth client for Microsoft Azure with the Client ID of ‘7a3b4b84-ed28-4f18-b30d-218788c74a5f’. Speed and compression information as well as times that the OneDrive share can be accessed are also included in the configuration.

Screenshots

Figure 8 - This is the AES encryption routine. The routine uses the hard-coded string 'M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h' as the AES key and the first half of the key as the IV.

0b01f392fa030be1ddd549fb79cf280d2a2c745578a56fedd4cb5e9438ae72cb

Details
Name ntstatus.bat
Size 91 bytes
Type ASCII text, with CRLF line terminators
MD5 d287a50bd0b95d1f153dc071d43e45d3
SHA1 cf1d9da39f4847ee735d46157232585068387763
SHA256 0b01f392fa030be1ddd549fb79cf280d2a2c745578a56fedd4cb5e9438ae72cb
SHA512 1507fd6f41c853f84b7b036280ac6c21556ce5cf10b4008c2902020291255b5bb55e63ebda9921032fd8ebf7f9fd8fffbb7de40e696601bee1486a6155b2a5ed
ssdeep 3:nlKsoFDLAdAIvVNIGfMMAyIJooORKQExLAdAn:n25ABvoGfdICFRZENAC
Entropy 4.579538
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
0b01f392fa... Created_By 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
0b01f392fa... Related_To 157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656
Description

This artifact is a batch file (.bat) that terminates the current process of ntstatus.exe (157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656). It then changes to the directory C:\windows\modemlogs\ and invokes a new instance of ntstatus.exe.

5ba0d0bfda372c1f6aa382a70f4ab8427ec998b680510e208fdf878cfda9afe3

Details
Name ntstatus.log
Size 17520 bytes
Type data
MD5 5753ddd324c2054718252c834d93aac9
SHA1 a2e852b0d911ced7011a7b954fc379c0d0564fc5
SHA256 5ba0d0bfda372c1f6aa382a70f4ab8427ec998b680510e208fdf878cfda9afe3
SHA512 c326d682fdad505f414bbbbbbcd219d40f8f9948c40ffcfd28a5ac5d9cfec647d5f2712ea23eb79bfafd19edfb49577a75f0f99c616abc444da62820eeee4dc6
ssdeep 384:VEiJb1Xwe87kARzd/CT74lZzRdNKHa7QYopmafni+/5vFdIg:VONdKgVm8Qognie5vFdIg
Entropy 7.989546
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
5ba0d0bfda... Created_By 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
Description

This artifact is a log file created by the OneDriveClient.UploadedFiles function contained in the file result.exe (1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da). The file contains the MD5 hash of each file that has been uploaded to the remote server.

0b7d15968d44710b3e7f153c04b5038d03900a6685643bc8efe688c4d5a5deab

Details
Name ntstatus_temp.log
Size 17520 bytes
Type data
MD5 adfac9c5ef66c21b85fde6503c025b58
SHA1 d7950ad0cc1798f2184be502fcb12bc0a6f27864
SHA256 0b7d15968d44710b3e7f153c04b5038d03900a6685643bc8efe688c4d5a5deab
SHA512 f14a0b26627b15f628a702deca3ec1696c518cdd05f70426d5a4631a8ec6ced60ab96bfdadcbb362c27932de9a95f4794656379a5512eac3774f84e569fe2671
ssdeep 384:gyf7wfPR70mHa7Kdghm5dnB9Yr+DLPim849pbm0NNzt0B1rzLw2nd:wBvKKdghAB9YreLPF84r1N5t0B1XT
Entropy 7.990357
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
0b7d15968d... Created_By 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
Description

This artifact is a log file created by the OneDriveClient.UploadedFiles function contained in the file result.exe (1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da). The file contains the MD5 hash of the file path for each file that has been uploaded to the remote server.

3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350

Tags

downloaderinformation-stealertrojanuploader

Details
Name mqsvn.exe
Size 114688 bytes
Type PE32+ executable (console) x86-64 Mono/.Net assembly, for MS Windows
MD5 63cf36ac25788e13b41b1eb6bfc0c6b6
SHA1 22ab6af92ddd984bd054c21799742a5e498e8453
SHA256 3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350
SHA512 52ecffb0004f5aee6f3a0c7e0edcbe1079845e20a712ac26854921dea9b46ece0d5f89698e833804ebdc9c3f525a8cc8c7a6d781b0caf3164b81cea17edae5c8
ssdeep 3072:KNcJNunM5p0TKWODtcT1hR3o92JoeEcfcEcKHWjUNSGdyRCOKFWc70OrZKqaJjLt:Kyf0M5p0TKWwcBhR3o92JoRcJhHMUNSz
Entropy 5.801283
Antivirus
IKARUS Trojan.MSIL.Crypt
YARA Rules
  • rule CISA_10365227_02 : ClientUploader

    {

       meta:

           Author = "CISA Code & Media Analysis"

           Incident = "10365227"

           Date = "2021-12-23"

           Last_Modified = "20211224_1200"

           Actor = "n/a"

           Category = "n/a"

           Family = "n/a"

           Description = "Detects ClientUploader_mqsvn"

           MD5_1 = "63cf36ac25788e13b41b1eb6bfc0c6b6"

           SHA256_1 = "3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350"

       strings:

           $s1 = "UploadSmallFileWithStopWatch"

           $s2 = "UploadPartWithStopwatch"

           $s3 = "AppVClient"

           $s4 = "ClientUploader"

           $s5 = { 46 69 6C 65 43 6F 6E 74 61 69 6E 65 72 2E 46 69 6C 65 41 72 63 68 69 76 65 }

           $s6 = { 4F 6E 65 44 72 69 76 65 43 6C 69 65 6E 74 2E 4F 6E 65 44 72 69 76 65 }

       condition:

           uint16(0) == 0x5a4d and all of them

    }
ssdeep Matches

No matches found.

PE Metadata
Compile Date 2021-06-30 15:10:41-04:00
Company Name Microsoft Corporation
File Description AppVClient.exe
Internal Name None
Legal Copyright © Microsoft Corporation. All rights reserved.
Original Filename None
Product Name AppVClient.exe
Product Version 10.0.19041.84
PE Sections
MD5 Name Raw Size Entropy
bdd5c1c64355001493f1f48cc64646a3 header 512 2.279615
204dc02c928d7206969d5e40f4ed4de4 .text 112640 5.814718
c574847bfb2e8be8830c3d846238d2d6 .rsrc 1536 4.261328
Packers/Compilers/Cryptors
Microsoft Visual C++ v6.0
Relationships
3585c31366... Used 25afc6741abfa27f5b50844331772466182ebe3f74bc84f911314d1a68c62cb2
3585c31366... Created 603e75db59285734cfb5a469e984c4e359e660ccb7836ff9c209aec36931bc2b
Description

This artifact is a variant of CovalentStealer malware. The program is a file management system that is capable of uploading files to the Internet.



This variant of CovalentStealer malware contains two main modules, FileContainer and OneDriveClient, with the following functions:



---Begin Functions---

ClientUploader.Program<Main>

FileContainer.FileArchive<Add>

FileContainer.FileStorage<GetData>

OneDriveClient.OneDriveChannel<Send>

OneDriveClient.OneDrive<GetAccessToken>

OneDriveClient.OneDrive<UploadData>

OneDriveClient.OneDrive<UploadFile>

OneDriveClient.OneDrive<UploadLargeFile>

OneDriveClient.OneDrive<GetUploadUrl>

OneDriveClient.OneDrive<UploadPartWithStopwatch>

OneDriveClient.OneDrive<UploadPart>

OneDriveClient.OneDrive<UploadSmallFileWithStopWatch>

OneDriveClient.OneDrive<UploadSmallFile>

---End Functions---



The FileContainer module is used to enumerate and categorize files on the system. This module is capable of generating an MD5 hash of each file and compressing files using the Gzip or Brotli algorithms. The OneDriveClient module is used to upload files to a Microsoft Azure server on the Internet.



The program will look for a configuration file with the same name as the application and the .ini extension, e.g. mqsvn.ini (25afc6741abfa27f5b50844331772466182ebe3f74bc84f911314d1a68c62cb2). Alternatively, if this file is not found it will look for the file ‘config.ini’ (See Figure 9).



The configuration file is decoded using the AES-256-CBC key M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h that is derived from the de-serialized string TSh4Y0hxODhxW3M9cGM3Xit1X0diX31KQyVRUXdQOmg= embedded in the file. The first 16 bytes of the key are then used as an IV (See Figure 8 above).



Other strings were de-serialized to provide additional parameters for the malware program. For example, the string LmJtcDsuanBnOy5qcGVnOy50aWZmOy50AWV7LnBuZw== decoded to a block list of files that the program is supposed to skip containing the extensions ‘.bmp;.jpg;.jpeg;.tiff;.tif;.png’ and the string LmRvY3g7Lnhsc3g7LnBwdHg= decoded to a list of file extensions that the program is supposed to compress before encrypting and exfiltrating. The extensions included ‘.docx;.xlsx;.pptx’ (See Figure 10).



The configuration file contains a refresh token for an OAuth client for Microsoft Azure as well as a ClientID. In addition, it contains a path to the files targeted for uploading, upload times, an encryption key to encrypt the files before uploading, and compression parameters.

Screenshots

Figure 9 - The ClientUploader program attempts to load a configuration file with an .ini extension from the current directory. The base64 encoded string 'Lmlua@==' represents the .ini extension.

FIgure 10 - The ClientUploader program uses the JavaScriptSerializer routine to decode the parameters required to harvest and upload the documents.

25afc6741abfa27f5b50844331772466182ebe3f74bc84f911314d1a68c62cb2

Details
Name mqsvn.ini
Size 800 bytes
Type data
MD5 14b8e37952e1f532be9db40f654e6ac7
SHA1 01d6b5df5761904b7c8c6c4e34490675d4fa0f36
SHA256 25afc6741abfa27f5b50844331772466182ebe3f74bc84f911314d1a68c62cb2
SHA512 c427510f53e54eeea55e2b747bb58f46488f983c47699772d774a94038bc16b12d332741db958c63324258130b9d0376ae2687d5e7a622d9a853717680833f56
ssdeep 24:Y4yqp1BHGwUtSiW0nwPQV1iIN1RBZchbLWuL6e7ZeY:tyqLBm9tSawPPIn7Kqm7t
Entropy 7.761942
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
25afc6741a... Used_By 3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350
Description

This artifact is the encrypted configuration file for the OneDriveClient module contained in the file mqsvn.exe (3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350). The data is decrypted using the de-serialized key M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h found in mqsvn.exe, detailed in this report.



The file contains a path to an archive targeted by the attacker. The file includes the AES-256-CBC key 1khvo39Q2evpi**&R$*^Rjhko8tve2b7 that is used to encrypt the harvested documents before they are uploaded to the Internet.



In addition, the data contains a refresh token for an OAuth client for Microsoft Azure with the Client ID of ‘7a3b4b84-ed28-4f18-b30d-218788c74a5f’. Speed and compression information as well as times that the OneDrive share can be accessed are also included in the configuration. NOTE: The decrypted configuration contains confidential client information and is therefore not included in this report.

603e75db59285734cfb5a469e984c4e359e660ccb7836ff9c209aec36931bc2b

Details
Name mqsvn.log
Size 39504 bytes
Type data
MD5 444ccf674588f47ab5638fb08db98b01
SHA1 4fcf2c22d2ea70430580b487a7834c165deee5d0
SHA256 603e75db59285734cfb5a469e984c4e359e660ccb7836ff9c209aec36931bc2b
SHA512 843cdead51e290ee5466f51f316c5199259b7e55b752efbdcfa83a5c64a0477a4ddcd3ab63785e9e25c01095670073884943fa0419797c0b74d30a9ae240d0cf
ssdeep 768:eYarzB8pLwTFL/FX8ANpGMVYO5kELiD4Z8xKzvkA6A3zZesChaFRR:eYaXB8pKF18ANkMX6ELh8xivpzZDC4FH
Entropy 7.995061
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
603e75db59... Created_By 3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350
Description

This artifact contains encrypted MD5 hashes of files that have been uploaded to the Internet by the file mqsvn.exe (3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350).

30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc

Tags

information-stealerobfuscateduploader

Details
Name msexch.exe
Size 6656 bytes
Type PE32+ executable (GUI) x86-64 Mono/.Net assembly, for MS Windows
MD5 baa634fdd2b34956524b5519ee97b8a8
SHA1 cdc7e3b6905f69d8330c4b0f71494a7db7ac61e7
SHA256 30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc
SHA512 cdcd245fc1dc5072918950b1950527f0b6284453f527623cb600afc775f2cde507278273c75b4af972ac976c06fa73d414350b92c24c7a1dec44aa05527ca532
ssdeep 96:LDuLc7D604Vp9Rzj1HhaUA3zvDwi0MX7gtKflUTsqzNt:LDuw6rVd3aP7Dw9MEQmT
Entropy 4.869180
Antivirus
Adaware Gen:Variant.Tedy.82790
Bitdefender Gen:Variant.Tedy.82790
YARA Rules
  • rule CISA_10365227_01 : APPSTORAGE

    {

       meta:

           Author = "CISA Code & Media Analysis"

           Incident = "10365227"

           Date = "2021-12-23"

           Last_Modified = "20211224_1200"

           Actor = "n/a"

           Category = "n/a"

           Family = "APPSTORAGE"

           Description = "Detects AppStorage_ntstatus_msexch samples"

           MD5_1 = "c435d133b45783cce91a5d4e4fbe3f52"

           SHA256_1 = "157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656"

           MD5_2 = "baa634fdd2b34956524b5519ee97b8a8"

           SHA256_2 = "30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc"

       strings:

           $s1 = "026B924DD52F8BE4A3FEE8575DC"

           $s2 = "GetHDDId"

           $s3 = "AppStorage"

           $s4 = "AppDomain"

           $s5 = "$1e3e5580-d264-4c30-89c9-8933c948582c"

           $s6 = "hrjio2mfsdlf235d" wide

       condition:

           uint16(0) == 0x5a4d and all of them

    }
ssdeep Matches

No matches found.

PE Metadata
Compile Date 2083-06-18 19:48:42-04:00
Internal Name AppStorage.exe
Original Filename AppStorage.exe
Product Version 1.0.0.0
PE Sections
MD5 Name Raw Size Entropy
9b75c9220e4242a6403f02bb9da3d198 header 512 2.261868
a69c4d0928332121839c97d955246112 .text 4608 5.236469
0551c676439e5d812cb2bab3f2060c1b .rsrc 1536 3.934855
Packers/Compilers/Cryptors
Microsoft Visual C++ v6.0
Relationships
30191b3bad... Related_To e03a2c8a6e81cf62ba7401c598ea1d4635b08bbf9c2fec080b536dde29e6392f
30191b3bad... Dropped d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
Description

This artifact is an obfuscated .NET executable that is used to decode a variant of the CovalentStealer malware. When executed, the program will check the present name of the program and then look in the current directory for a file with the same name and a .bin extension, e.g. msexch.bin (e03a2c8a6e81cf62ba7401c598ea1d4635b08bbf9c2fec080b536dde29e6392f).



The program seeks to generate a key called ‘HDDId’ to decode msexch.bin. The embedded string ‘hrjio2mfsdlf235d’ is used to decode instructions within the program to generate the key (See Figure 3 above). This function is similar to the function described in ntstatus.exe detailed elsewhere in this report, however it will take one additional variable to generate the key. The first command identifies the current userName on the system while the second command identifies the machineName. The third command reads the WMI namespace root/cimv2 to locate the volumeserialnumber of the current drive. All of the variables are then modified using an XOR routine and the same string above is used to generate the key (See Figure 11). The first part of the key is generated from the volume serial number which, during analysis resolved to ‘76D55BD2’. The second part of the key is resolved from the userName, which during analysis resolved to ‘34BD153B’. The last part of the key is resolved from the machineName, which resolved to ‘F3124EDD’ creating the key ‘76D55BD234BD153BF3124EDD’ (See Figure 12). Note: The key is an example.



To generate the correct key, the userName, machineName, and volumeserialnumber must match the victim’s system, otherwise it fails to decode msexch.bin and the program will terminate. This method is used to thwart independent analysis of the file, msexch.bin.

Screenshots

Figure 11 - The program collects the userName, machineName, and Volume Serial Number to generate the HDDId key.

Figure 12 - Screenshot of the generated HDDId key used to decode msexch.bin.

e03a2c8a6e81cf62ba7401c598ea1d4635b08bbf9c2fec080b536dde29e6392f

Tags

information-stealerobfuscateduploader

Details
Name msexch.bin
Size 1834496 bytes
Type data
MD5 bd95f0df1272e5b2854b304c71930168
SHA1 2d28c56daf370370d1c4d95fd25e4f0a04ceda07
SHA256 e03a2c8a6e81cf62ba7401c598ea1d4635b08bbf9c2fec080b536dde29e6392f
SHA512 b01a5b459f0b3b619b742f717e7b536cf713dded36b542d5546a59333c6008aaab0c844a9979b4450dc1a1ced5af41beebfda41191920a678026c63fdf7934dd
ssdeep 24576:KNCSFczkVbstNn2I4Evj6ZaIDLdjFu1u1Ww1YfduAiG52Qqlsvz66ZG+b38tTnt4:hz7ePzJuss4caq
Entropy 6.682404
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
e03a2c8a6e... Related_To 30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc
Description

This is an obfuscated version of CovalentStealer malware. The file is decoded by msexch.exe using the key '76D55BD234BD153BF3124EDD'. The decoded file is called Uploader.exe (d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8) and is detailed in this report.

d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8

Tags

information-stealeruploader

Details
Name Uploader.exe
Size 1834496 bytes
Type PE32+ executable (console) x86-64 Mono/.Net assembly, for MS Windows
MD5 f54ae2b0d51bb4cdc2a142733f122311
SHA1 184adab2435e4b0f9b02521fed5e56390b5e775f
SHA256 d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
SHA512 97ed8086dde00af3cbf51c02073aec28957a6bf354799f489ee7c457e82e0b21d7d2fb6ba46589675ed22d51aa0d973ab7d4132a2aeeb0adf15da618d4fb83cd
ssdeep 49152:Z2f6rfgMSneK065JlYaDmxZF5ax00MSMoOKiYyBg9FzfJNFL5QPWES2s1B+dBrSC:Z2f6rfgMSneK065JlYaDmxZF5ax00MSt
Entropy 5.580993
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches
97 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
PE Metadata
Compile Date 2021-09-24 14:56:17-04:00
Import Hash f34d5f2d4577ed6d9ceec516c1f5a744
Internal Name ClientUploader.exe
Original Filename ClientUploader.exe
Product Version 1.0.0.0
PE Sections
MD5 Name Raw Size Entropy
a1eef53765269a304aaa217af7ede436 header 512 2.725476
489bbfac9377f3ef9a60f9d64d9ccda8 .text 1831936 5.583032
5488f249cf62feed84546911d54f96f2 .rsrc 1536 3.971470
fbf8fada938118d358a40e73eb0c8bb9 .reloc 512 0.101910
Relationships
d221ca9c51... Used 52765525103f5b3b07d0882cc8ee4bb8e279ad5d451e1ed07cae3b98565cce29
d221ca9c51... Created 09605981a072c604e6ef9ad2dd7d2a78b48b07ee3339589bfcf0a466a9190904
d221ca9c51... Created 6a0cd866c849e62f9ccc26575d8794c2e0b14722387742b965d4358e1e0e8b3c
d221ca9c51... Dropped_By 30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc
Description

This artifact is a variant of the CovalentStealer program. When the program is executed it will decrypt and read the configuration file msexch.ini (52765525103f5b3b07d0882cc8ee4bb8e279ad5d451e1ed07cae3b98565cce29) in the current directory. It uses the hard-coded AES-256-CBC key ‘M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h’ to decrypt the file. The configuration file will include a path to the directory containing the targeted files, compression parameters, and connection parameters for connecting to a system on the Internet to upload data.



ClientUploader has several primary modules. The module IFileWorker contains the following functions:



---Begin IFileWorker Functions---

Brotli. – This function contains the Brotli compression library to compress and decompress files.

ContainersFilesWorker. – This function keeps track of uploaded files. It compares the files to a hash list for the file and path before uploading and also compares them to a whitelist and a blacklist by file extension. It also logs the status of each file in the upload process.

Extension. – This function checks the file extension to determine if the file needs to be compressed.

File Archive. – This function verifies the size of the file and disposition before compressing the file.

FileBlock. – This function converts the file data into a byte stream.

FileContainers. – This function segregates files by file type based on the extension.

GZip. – This function contains the Gzip compression library to compress and decompress files.

Logger. – This function logs debug status messages and telemetry data from other functions and outputs them to a file using the base name and the .dat extension, e.g. msexch.dat (See Figure 4 above).

WhiteAndBlackList. – This function maintains a list of files by name and a list of files by extension that match the whitelist or blacklist from the configuration file.

---End IFileWorker Functions---



The module OneDriveClient contains the following functions:



---Begin OneDriveClient Functions---

OneDrive. – This function uploads files to a URL. It configures speed, buffer size, time, etc. based on the parameters in the configuration file, msexch.ini. Then, it reports the status of each file to the IFileWorker.Logger function. The following are examples of the OneDrive commands:



    ---Begin OneDrive Commands---

    OneDriveClient.OneDriveChannel+<Send>

    OneDriveClient.OneDrive+<GetAccessToken>

    OneDriveClient.OneDrive+<UploadData>

    OneDriveClient.OneDrive+<UploadFile>

    OneDriveClient.OneDrive+<UploadLargeFile>

    OneDriveClient.OneDrive+<GetUploadUrl>

    OneDriveClient.OneDrive+<UploadPartWithStopwatch>

    OneDriveClient.OneDrive+<UploadPart>

    OneDriveClient.OneDrive+<UploadSmallFileWithStopWatch>

    OneDriveClient.OneDrive+<UploadSmallFile>

    ---End OneDriveClient Functions---



OneDriveChannel. – This function establishes the connection to server.

OneDriveChannelSettings. – This function reads the ClientID, Redirect, Refresh Token, and Scopes from the configuration file, msexch.ini to negotiate the connection to the client.

UploadedFiles. – This function logs the hash and the file path of the uploaded files and records the information into two files where msexch.log contains a list of file hashes and msexch_temp.log contains a list of file path hashes (See Figure 7 above).

---End OneDriveClient Functions---



The program also contains supporting libraries for the SMB protocol versions 2 and 3. The libraries have the capacity to maintain a list of IP addresses, logins, domainNames, passwords, and SMB clients that can be used to attempt to search for and log into SMB file stores. Files can be searched by file path, file status (e.g., open or closed), and file attributes (e.g. shared, read only, etc.).

52765525103f5b3b07d0882cc8ee4bb8e279ad5d451e1ed07cae3b98565cce29

Tags

information-stealeruploader

Details
Name msexch.ini
Size 4816 bytes
Type data
MD5 d3951137283e84d42f85bb91f0ccfcdd
SHA1 450982b1420a97dcedb15fb058e00e108d240bb7
SHA256 52765525103f5b3b07d0882cc8ee4bb8e279ad5d451e1ed07cae3b98565cce29
SHA512 082594fced158d5597e1b34ec220fd873365f3ec282add680fc84d4b31010c2485e97611049c2d1432b6a1014784e06d3b11f14a815252a28c0c38c4eb5a31e1
ssdeep 96:XaMTeYZR1Bm3AboPwVUJyWvihHbP11Ho+5EGsW7MlDz1v7Yrtgx3X:XaWZZR1Bx9VP16+5jRQlDR8U
Entropy 7.963703
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
5276552510... Used_By d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
Description

This artifact is the encrypted configuration file for the OneDriveClient module contained in the file Uploader.exe (d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8) detailed in this report. The data is decrypted using the hard-coded AES-256-CBC key ‘M(xcHq88q[s=pc7^+u_Gb_}JC%QQwP:h’. The algorithm uses an IV that is derived from the first half of the encryption key (See Figure 8 above).



The file contains multiple paths to archives targeted by the attacker. The file includes the IP address of the server, stolen credential information, and a key to encrypt the uploaded data. NOTE: The decrypted configuration contains confidential client information and therefore is not included in this report.



In addition, the data contains a refresh token for an OAuth client for Microsoft Azure with the Client ID of ‘7a3b4b84-ed28-4f18-b30d-218788c74a5f’. Speed and compression information as well as times that the OneDrive share can be accessed are also included in the configuration.

09605981a072c604e6ef9ad2dd7d2a78b48b07ee3339589bfcf0a466a9190904

Details
Name msexch.log
Size 103904 bytes
Type data
MD5 30ea2a37c7174ed8c3ab88aecee0002b
SHA1 3a6f2826aab7948d8b930f6bf13897160c198807
SHA256 09605981a072c604e6ef9ad2dd7d2a78b48b07ee3339589bfcf0a466a9190904
SHA512 0a78caf6257b8b58578181a9555bf9cee24b1bfced078855145f79757701a53a15968d9bb6acc74fdc9469bd28fa82a53b8d52669fa3952824f51339bd94ad7a
ssdeep 3072:OcopRvQIpMV/EN6PmW9tV/PUdpogFeSQx7:CpVFp8/pFhPUdponR7
Entropy 7.998490
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
09605981a0... Created_By d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
Description

This artifact is a log file created by the OneDriveClient.UploadedFiles function contained in the file Uploader.exe (d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8). The file contains the MD5 hash of each file that has been uploaded to the remote server.

6a0cd866c849e62f9ccc26575d8794c2e0b14722387742b965d4358e1e0e8b3c

Details
Name msexch_temp.log
Size 103904 bytes
Type data
MD5 20b7eb0af9b9e7403a298f7966d5a1d4
SHA1 b2018e61e8b435b6a172b35774377ebc16fd0168
SHA256 6a0cd866c849e62f9ccc26575d8794c2e0b14722387742b965d4358e1e0e8b3c
SHA512 3695120b452c103f54c4eb738648621f162850ec32aca734ecdd552755ecced1500aaf789ec1bf45afc5df4fcfd6144ca4d1fff415a25656dd5493f81b221bfe
ssdeep 3072:2H05Z4/LivIjqjSXZa8HaDhpfUcJkm0YK/:29ivImjSX9qnUcdi
Entropy 7.998385
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Relationships
6a0cd866c8... Created_By d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
Description

This artifact is a log file created by the OneDriveClient.UploadedFiles function contained in the file Uploader.exe (d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8). The file contains the MD5 hash of the path for each file that has been uploaded to the remote server.

fae38156e9ce12368c846836b87861f4f12e14698cb65f14545205fa56d8c496

Tags

information-stealer

Details
Name vmware.ps1
Size 10436 bytes
Type ASCII text
MD5 4825b1e32ff062f4671d5420661695af
SHA1 0cbf85f88e2fb0bc721357acdd543d5a1957886f
SHA256 fae38156e9ce12368c846836b87861f4f12e14698cb65f14545205fa56d8c496
SHA512 a58298346cdf35e432d755942ef2690c6e3182a4fab03df163142e42cdcb0d7bc3810c647078a779d15ee0676b0eacfa59c38512671dc86264b42f2c8d69edb8
ssdeep 192:k9XNMA6GyvE0XJvP0EN3ab3Akz9JUWCUVCRB7/dUV/TpraVm5efUo9wQUyfa3gpA:k9XNMA6pXJvPCUjUmUvaME8obUaYgpj8
Entropy 4.979828
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

Description

This artifact is a script called Export-MFT.ps1 written in PowerShell used to collect the MFT from a system volume. The benign open source script is available on GitHub.

bfa7adeda4597b70bf74a9f2032df2f87e07f2dbb46e85cb7c091b83161d6b0a

Details
Name vmware.exe
Size 497104 bytes
Type PE32 executable (console) Intel 80386, for MS Windows
MD5 0acb06da48d86e1ef15c27a4f5a3bddd
SHA1 12dd7a86001ff2b6b661cd7de60ca6aadc9b78ae
SHA256 bfa7adeda4597b70bf74a9f2032df2f87e07f2dbb46e85cb7c091b83161d6b0a
SHA512 98fbcd4e190e0bc17dc712bbbe808c7d24610c334925381544fb16a8f75931db1c5f6597cafbe6a12a9050e482e55351bedb76b40573f8a7489e3c7755bdecd2
ssdeep 12288:1NsUjyDukqiudnJkx3piQLmGLvdnTJ0CRUyF1I3Kl:1mkyDuZiCccQLmGpTrCm1I3g
Entropy 6.459391
Antivirus

No matches found.

YARA Rules

No matches found.

ssdeep Matches

No matches found.

PE Metadata
Compile Date 2014-12-02 05:07:13-05:00
Import Hash 1324fa350b5f878451cc28b429b96e9b
Company Name Alexander Roshal
File Description Command line RAR
Internal Name Command line RAR
Legal Copyright Copyright © Alexander Roshal 1993-2014
Original Filename None
Product Name WinRAR
Product Version 5.20.0
PE Sections
MD5 Name Raw Size Entropy
98efedab8c1234a79df40e93dc82e136 header 1024 2.635435
0b760a9dbbf12c5d32ca265879aabdb2 .text 410112 6.587893
3874d7a1d17b892215dc07687ac3b75c .rdata 27136 4.857459
e28ebcc7f9a5e3d463ee9d9de071e085 .data 8192 3.720474
5ad98aabb9c5996ee180a98ff9543866 .rsrc 31232 3.540367
ec534cec214c136ef4552b79103e2eaa .reloc 14336 5.427399
Packers/Compilers/Cryptors
Microsoft Visual C++ ?.?
Description

This artifact is a benign publicly available version of the Roshal archiver (RAR), version 5.20.0. RAR.exe is used to compress and archive other files.

Relationship Summary

84164e1e80... Used 91a8b31c126a021f5c156742016acdcca7d83eac4b583bae5d4fd0a85a96813b
84164e1e80... Created 517faa4a0666ec68842f256f08d987935b6ce9ef64e33f027e084e8f45b9366d
517faa4a06... Created_By 84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb
91a8b31c12... Used_By 84164e1e8074c2565d3cd178babd93694ce54811641a77ffdc8d1084dd468afb
157a0ffd18... Related_To b03ac5eaf2131060ee381e5e46ebc705d8d617a90cc61fa4918174545b4fbaa6
157a0ffd18... Dropped 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
157a0ffd18... Related_To 0b01f392fa030be1ddd549fb79cf280d2a2c745578a56fedd4cb5e9438ae72cb
b03ac5eaf2... Related_To 157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656
b03ac5eaf2... Contains 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
1352dbb093... Created 5ba0d0bfda372c1f6aa382a70f4ab8427ec998b680510e208fdf878cfda9afe3
1352dbb093... Created 0b7d15968d44710b3e7f153c04b5038d03900a6685643bc8efe688c4d5a5deab
1352dbb093... Used da267c72f58ec487761de99d0f3bcfd87771a36afc06716053960633a74139df
1352dbb093... Dropped_By 157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656
1352dbb093... Created 0b01f392fa030be1ddd549fb79cf280d2a2c745578a56fedd4cb5e9438ae72cb
1352dbb093... Contained_Within b03ac5eaf2131060ee381e5e46ebc705d8d617a90cc61fa4918174545b4fbaa6
da267c72f5... Used_By 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
0b01f392fa... Created_By 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
0b01f392fa... Related_To 157a0ffd18e05bfd90a4ec108e5458cbde01015e3407b3964732c9d4ceb71656
5ba0d0bfda... Created_By 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
0b7d15968d... Created_By 1352dbb093a337eb8db9d0135adbe0542bb7e7163616e4f8962919becab171da
3585c31366... Used 25afc6741abfa27f5b50844331772466182ebe3f74bc84f911314d1a68c62cb2
3585c31366... Created 603e75db59285734cfb5a469e984c4e359e660ccb7836ff9c209aec36931bc2b
25afc6741a... Used_By 3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350
603e75db59... Created_By 3585c3136686d7d48e53c21be61bb2908d131cf81b826acf578b67bb9d8e9350
30191b3bad... Related_To e03a2c8a6e81cf62ba7401c598ea1d4635b08bbf9c2fec080b536dde29e6392f
30191b3bad... Dropped d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
e03a2c8a6e... Related_To 30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc
d221ca9c51... Used 52765525103f5b3b07d0882cc8ee4bb8e279ad5d451e1ed07cae3b98565cce29
d221ca9c51... Created 09605981a072c604e6ef9ad2dd7d2a78b48b07ee3339589bfcf0a466a9190904
d221ca9c51... Created 6a0cd866c849e62f9ccc26575d8794c2e0b14722387742b965d4358e1e0e8b3c
d221ca9c51... Dropped_By 30191b3badf3cdbc65d0ffeb68e0f26cef10a41037351b0f562ab52fce7432cc
5276552510... Used_By d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
09605981a0... Created_By d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8
6a0cd866c8... Created_By d221ca9c519ae04c7724baca8d36c2ce77454e0f9aa0f119ecfa9246973a92f8

Recommendations

CISA recommends that users and administrators consider using the following best practices to strengthen the security posture of their organization's systems. Any configuration changes should be reviewed by system owners and administrators prior to implementation to avoid unwanted impacts.

  • Maintain up-to-date antivirus signatures and engines.
  • Keep operating system patches up-to-date.
  • Disable File and Printer sharing services. If these services are required, use strong passwords or Active Directory authentication.
  • Restrict users' ability (permissions) to install and run unwanted software applications. Do not add users to the local administrators group unless required.
  • Enforce a strong password policy and implement regular password changes.
  • Exercise caution when opening e-mail attachments even if the attachment is expected and the sender appears to be known.
  • Enable a personal firewall on agency workstations, configured to deny unsolicited connection requests.
  • Disable unnecessary services on agency workstations and servers.
  • Scan for and remove suspicious e-mail attachments; ensure the scanned attachment is its "true file type" (i.e., the extension matches the file header).
  • Monitor users' web browsing habits; restrict access to sites with unfavorable content.
  • Exercise caution when using removable media (e.g., USB thumb drives, external drives, CDs, etc.).
  • Scan all software downloaded from the Internet prior to executing.
  • Maintain situational awareness of the latest threats and implement appropriate Access Control Lists (ACLs).

Additional information on malware incident prevention and handling can be found in National Institute of Standards and Technology (NIST) Special Publication 800-83, "Guide to Malware Incident Prevention & Handling for Desktops and Laptops".

Contact Information

CISA continuously strives to improve its products and services. You can help by answering a very short series of questions about this product at the following URL: https://us-cert.cisa.gov/forms/feedback/

Document FAQ

What is a MIFR? A Malware Initial Findings Report (MIFR) is intended to provide organizations with malware analysis in a timely manner. In most instances this report will provide initial indicators for computer and network defense. To request additional analysis, please contact CISA and provide information regarding the level of desired analysis.

What is a MAR? A Malware Analysis Report (MAR) is intended to provide organizations with more detailed malware analysis acquired via manual reverse engineering. To request additional analysis, please contact CISA and provide information regarding the level of desired analysis.

Can I edit this document? This document is not to be edited in any way by recipients. All comments or questions related to this document should be directed to the CISA at 1-888-282-0870 or CISA Central.

Can I submit malware to CISA? Malware samples can be submitted via three methods:

CISA encourages you to report any suspicious activity, including cybersecurity incidents, possible malicious code, software vulnerabilities, and phishing-related scams. Reporting forms can be found on CISA's homepage at www.cisa.gov.

This product is provided subject to this Notification and this Privacy & Use policy.