www.cybereason.com Open in urlscan Pro
45.60.64.106  Public Scan

URL: https://www.cybereason.com/blog/research/threat-analysis-report-inside-the-lockbit-arsenal-the-stealbit-exfiltration-tool
Submission: On December 30 via api from DE — Scanned from DE

Form analysis 2 forms found in the DOM

/hs-search-results

<form action="/hs-search-results">
  <input type="search" class="hs-search-field__input" name="term" autocomplete="on" placeholder="Search...">
  <input type="hidden" name="type" value="BLOG_POST">
  <input type="hidden" name="type" value="LISTING_PAGE">
  <button type="submit" class="arrow"></button>
</form>

/hs-search-results

<form action="/hs-search-results">
  <input type="search" class="hs-search-field__input" name="term" autocomplete="on" placeholder="Search">
  <input type="hidden" name="type" value="BLOG_POST">
  <input type="hidden" name="type" value="LISTING_PAGE">
  <button type="submit" class="arrow"></button>
</form>

Text Content

Back to Cybereason.com
 * All Posts
 * Research
 * Podcasts
 * Webinars
 * Resources
 * Videos
 * News

Subscribe
Subscribe
 * All
 * Research
 * Podcasts
 * Webinars
 * Resources
 * Videos
 * News

Search
Subscribe
X


SEARCH




THREAT ANALYSIS REPORT: INSIDE THE LOCKBIT ARSENAL - THE STEALBIT EXFILTRATION
TOOL

Written By

Cybereason Global SOC Team

The Cybereason Global Security Operations Center (GSOC) issues Cybereason Threat
Analysis reports to inform on impacting threats. The Threat Analysis reports
investigate these threats and provide practical recommendations for protecting
against them. 

In this Threat Analysis report, the GSOC investigates the StealBit malware, a
data exfiltration tool that the LockBit threat group develops and maintains. The
LockBit group provides StealBit to affiliates as part of the group’s ransomware
affiliate program. Ransomware operators use StealBit to exfiltrate data from
compromised systems for double extortion purposes. 

This report provides an in-depth insight into the functionalities and
architecture of StealBit as well as the evolution of relevant configuration and
implementation aspects of StealBit across different samples. The detailed
insight into how StealBit works and evolves is important for the timely
detection of ransomware attack operations that involve StealBit at the point
when malicious actors exfiltrate data before deploying ransomware.


STEALBIT MALWARE KEY POINTS

Feature updates and widened target base: A comparative analysis between
relatively older and newer StealBit samples shows that StealBit has been
undergoing improvement with new features, especially evasion and hiding
features. In addition, although older samples do not execute on systems located
in the former Soviet countries Russia, Ukraine, Belarus, Tajikistan, Armenia,
Azerbaijan, Georgia, Kazakhstan, Kyrgyzstan, Turkmenistan, Uzbekistan, and
Moldova, newer StealBit samples do not implement this restriction and execute on
any system. 

Developed for maximum data exfiltration efficiency: StealBit implements the
Microsoft input/output (I/O) completion port threading model to maximize the
overall efficiency of data exfiltration activities. For example, StealBit
parallelizes the exfiltration of the content of multiple files to shorten the
overall exfiltration timespan. This is important to ransomware operators, since
fast data exfiltration reduces the chances of being discovered in the process.

Developed for maximum usage convenience and scalability: StealBit implements
interprocess communication (IPC) between multiple StealBit processes that run on
a single compromised system to designate many files for exfiltration in a
scalable manner. In addition, StealBit supports dragging and dropping of files
or folders for exfiltration to StealBit windows in scenarios where the StealBit
operators have access to the graphical user interface of compromised systems.
This feature enables StealBit operators to designate many files for exfiltration
in a convenient and scalable manner.

Somewhat incomplete implementation: The implementation of some StealBit features
that we analyzed is not complete. This includes features that the LockBit threat
group advertises as advantageous to alternative exfiltration tools on the
underground market, such as compression of exfiltrated data and a hidden mode of
operation. For example, a recent StealBit sample that we analyzed does not
compress exfiltrated data and does not properly hide the windows that StealBit
creates, making the malware visible in the graphical user interface of the
compromised system.

StealBit Malware Detected and prevented: The Cybereason XDR Platform effectively
detects and prevents StealBit when the malware exfiltrates data, and also
detects and prevents the execution of the related LockBit ransomware, which
LockBit affiliates may execute after they use StealBit to exfiltrate data for
double extortion. 

Cybereason Managed Detection and Response (MDR): The Cybereason GSOC has zero
tolerance towards attacks that involve ransomware and data exfiltration tools,
such as StealBit, and categorizes such attacks as critical, high-severity
incidents. The Cybereason GSOC MDR Team issues a comprehensive report to
customers when such an incident occurs. The report provides an in-depth overview
of the incident, which helps to scope the extent of compromise and the impact on
the customer’s environment. In addition, the report provides attribution
information when possible as well as recommendations for mitigating and
isolating the threat.


STEALBIT MALWARE INTRODUCTION

The traditional ransomware extortion tactic, where malicious actors demand
payment for decrypting data that the actors have encrypted using ransomware,
does not always work as intended. Victims may not pay ransom for several
reasons, such as lack of financial resources, concerns that ransomware operators
may not decrypt the data, or the availability of backups of the encrypted data. 

Therefore, many modern ransomware operators use a double extortion tactic:
ransomware operators exfiltrate data from compromised systems before encrypting
the data, and if the victim refuses to pay ransom for data decryption, the
malicious actors threaten to leak the exfiltrated data online or sell the data
for profit. 

The proliferation of double extortion on the ransomware scene marks a major
turning point in the evolution of the ransomware threat, with ransomware actors
massively joining in on the trend. For example, in June 2021, TrendMicro
reported that it has observed 35 ransomware families that use double extortion —
with a growing tendency. 

Since the double extortion tactic relies on exfiltrated data, data exfiltration
tools are crucial to ransomware operators that use this tactic. Ransomware
operators use publicly available tools for data exfiltration, such as Rclone, as
well as custom data exfiltration tools that are intended specifically for use in
ransomware operations. Some custom data exfiltration tools are Ryuk Stealer, the
recently discovered Exmatter, and StealBit. 

The StealBit malware is a data (file content) exfiltration tool that the LockBit
threat group develops and maintains. StealBit exfiltrates file content to remote
attacker-controlled endpoints for double extortion purposes. In addition to
StealBit, the LockBit threat group develops and maintains the LockBit
ransomware, which has a strong presence on the ransomware threat scene. 

As of June 2021, the LockBit group runs a ransomware affiliate program, LockBit
2.0, which provides access to the LockBit ransomware and the StealBit data
exfiltration tool to affiliates. As part of affiliate recruitment efforts, the
LockBit group advertises the features of the LockBit ransomware and StealBit by
comparing the ransomware and StealBit to alternative solutions. The LockBit
group claims that StealBit is superior, especially in terms of data exfiltration
speed:



The LockBit group advertises StealBit (source: KELA, Twitter)

This report discusses the implementation of StealBit and its internal working
principles. In addition, this report provides an overview of the evolution of
relevant configuration and implementation aspects of StealBit across different
StealBit samples. Previous research documents some aspects of the implementation
of StealBit, with a focus on automating the de-obfuscation of relevant StealBit
configuration: the IP addresses of the attacker-controlled endpoints to which
StealBit exfiltrates file content. 

This report provides an in-depth and comprehensive insight into the
functionalities, architecture, and evolution of StealBit. The detailed insight
into how StealBit works and evolves is important to build proper detection and
protection strategies against the malware. This, in turn, is crucial for the
timely detection of ransomware operations that involve StealBit at the point
when malicious actors exfiltrate data before deploying ransomware.


STEALBIT MALWARE ANALYSIS

The Deep Dive Analysis section discusses the implementation of StealBit and its
internal working principles. In this section, we focus on a recent StealBit
sample with a Secure Hash Algorithm (SHA)-256 hash of
6c9a92955402c76ab380aa6927ad96515982a47c05d54f21d67603814d29e4a5. The
Comparative Analysis section compares different StealBit samples to provide an
overview of the evolution of relevant configuration and implementation aspects
of StealBit across the samples.


STEALBIT MALWARE DEEP DIVE ANALYSIS 

StealBit first checks whether the StealBit process runs in the context of a
debugger by evaluating the value of the NtGlobalFlag field of the Process
Environment Block (PEB). If the value of NtGlobalFlag is 0x70, StealBit executes
an empty infinite loop:



StealBit detects the presence of a debugger

StealBit then de-obfuscates the filenames of the dynamic-link libraries (DLLs)
advapi32, gdi32, gdiplus, shell32, ntdll, ole32, user32, shlwapi, kernel32, and
ws2_32 and loads the libraries by executing the LoadLibraryExA function.
StealBit stores the XOR obfuscated filenames of these DLLs in the malware’s
executable file:



StealBit loads DLLs

StealBit then decrypts RC4-encrypted strings that the malware stores in the
malware’s executable file. StealBit uses these strings for different purposes
throughout the malware’s operation. For example, one string specifies a Windows
command that StealBit executes, another string specifies the path to a named
pipe file that StealBit creates, and StealBit displays some of the strings to
the malware operator. We discuss these aspects of the StealBit operation in
greater detail later in this section:



StealBit decrypts RC4-encrypted strings

StealBit then configures the process to not display certain Windows error
messages by invoking the NtSetInformationProcess function and parses the command
line parameters that the StealBit operator may have specified. The table below
lists the command line parameters that StealBit supports. We discuss the exact
impact of these command line parameters on the execution of StealBit in greater
detail later in this section:

Command line parameter

Description

Required / optional

Default value

<path to file or folder>

This parameter specifies the filesystem path to the file or the folder whose
content StealBit is to exfiltrate. Setting this parameter configures StealBit to
read and exfiltrate the content of the file, or the content of the files placed
in the folder. 

Required

none

-hide/-h yes/y | no/n

This parameter controls the visibility of the graphical user interface of
StealBit—that is, this parameter hides (yes/y) or displays (no/n) windows that
StealBit creates. 

Optional

no/n: StealBit displays windows

-delete/-d yes/y | no/n

This parameter configures StealBit to self-delete (yes/y)—that is, to delete the
executable file that implements StealBit from the filesystem of the compromised
system when StealBit is finished executing—or not to self-delete (no/n).

Optional

no/n: StealBit does not self-delete

-net/-n <transfer rate>

-once/-o <transfer rate>

This parameter configures StealBit to exfiltrate file content at the specified
rate, where rate is an amount of exfiltrated file content in KBs, MBs, or GBs,
over 15 seconds. 

Optional

unlim: there is no file content exfiltration rate

-skipfiles yes/y | no/n

This parameter configures StealBit to not exfiltrate the content of files with
specific filename extensions (no/n). 

Optional

yes/y: StealBit does not consider the filename extensions of files as a
criterion for file content exfiltration

-skipfolders yes/y | no/n

This parameter configures StealBit to not exfiltrate the content of files that
are placed in specific folders (no/n). 

Optional

yes/y: StealBit does not consider folders as a criterion for file content
exfiltration

-file/-f <file size>

This parameter configures StealBit to exfiltrate the content of only those files
of a size equal to, or less than the specified file size in KBs, MBs, or GBs. 

Optional

unlim: there is no maximum file size for file content exfiltration

Examples

stealbit.exe C:\Users\user\Desktop\file.db -hide y -skipfiles n

stealbit.exe C:\Users\user\Desktop\ -net 5MB -delete y -h y -skipfolders n -file
2GB

The command line parameters that StealBit supports

After parsing command line parameters, StealBit creates or opens the named pipe
file \??\pipe\STEALBIT-MASTER-PIPE. The path to the named pipe file is one of
the strings that StealBit has previously decrypted using the RC4 algorithm. 

If the current StealBit instance is the first one that the malware’s operator
has executed on the compromised system, StealBit creates the named pipe file
STEALBIT-MASTER-PIPE by invoking the NtCreateNamedPipeFile function and assumes
the role of a named pipe server. 

We refer to this StealBit instance as a StealBit named pipe server. If not,
StealBit opens the named pipe file STEALBIT-MASTER-PIPE by invoking the
NtCreateFile function and assumes the role of a named pipe client. We refer to
this StealBit instance as a StealBit named pipe client. 

In summary, StealBit implements named pipe-based IPC between multiple StealBit
processes that run on a single compromised system. We show later in this section
that this enables StealBit operators to designate many files for exfiltration in
a scalable manner by executing StealBit named pipe clients with the <path to
file or folder> command line parameter set to the paths to the files. This makes
the overall process for exfiltrating the content of multiple files convenient
and efficient for StealBit operators:



StealBit creates or opens the named pipe file STEALBIT-MASTER-PIPE

At this point in the execution flow of StealBit, the execution of a StealBit
instance that assumes the role of a named pipe server diverges from the
execution of a StealBit instance that assumes the role of a named pipe client.
The StealBit Named Pipe Server section discusses the former and the StealBit
Named Pipe Client section discusses the latter.

STEALBIT NAMED PIPE SERVER

After creating the named pipe file STEALBIT-MASTER-PIPE, the StealBit named pipe
server creates and starts two threads: one that creates two windows, and one
that shows a message about exfiltration progress. 

The first thread creates two windows by invoking the CreateWindowExW function.
The first window is a top-level, parent window, with a title of StealBit 1.1.
The second window is a child window of the top-level window and is therefore
confined to the area of the parent window. The child window can display
formatted text, and this window displays the output of StealBit to the malware
operator. 

We emphasize that setting the -hide/-h command line parameter to yes/y hides
only the child window, while the parent window is still visible. This indicates
that the implementation of the window hiding feature of StealBit—that is, of the
-hide/-h command line parameter—is not complete, because it does not make
StealBit invisible in the Windows graphical user interface by hiding all windows
that StealBit creates. This contradicts the claim of the LockBit group that
StealBit hides its presence on compromised systems:



LockBit claims that StealBit hides its presence on compromised systems (source:
KELA, Twitter)



StealBit displays windows when the malware operator sets the command line
parameter -hide/-h to no/n (upper image) and yes/y (lower image)

The parent StealBit window supports dragging and dropping files or folders and
the F2 and Shift+F2 hotkeys. Pressing the F2 key closes the parent and child
window without terminating execution, which effectively makes StealBit invisible
in the Windows graphical user interface. 

Pressing the key combination Shift+F2 has no effect. Dragging and dropping a
file or folder into the parent StealBit window is equivalent to specifying the
<path to file or folder> command line parameter. The drag and drop activity
causes StealBit to read and exfiltrate the content of the dropped file, or the
content of the files placed in the dropped folder, in a way that we discuss
later in this section. 

The drag and drop feature enables malicious actors to conveniently provide many
file or folder paths to StealBit for file content exfiltration in scenarios
where the StealBit operators have access to the graphical user interface of
compromised systems, such as through an Remote Desktop Protocol (RDP) session.
This makes the overall process for exfiltrating the content of many files
practically convenient and scalable for StealBit operators.

The second thread is active during the overall operation of StealBit and
displays a message in the StealBit window that informs the operator about the
progress of file content exfiltration when exfiltration takes place. In the form
of a format string, the message is: Stats: %I64d files (size %S), read speed
%S/sec (compression ratio %I64d%%), upload %S/sec. This format string is one of
the strings that StealBit has previously decrypted using the RC4 algorithm.

After creating and starting the two threads, StealBit displays the values of the
configuration settings that StealBit operators can configure by setting the
values of the StealBit command line parameters. In addition, StealBit displays
the computer name of the compromised system and the name of the domain to which
the system belongs (if any; see the figure above). 

StealBit then initializes the Windows Socket networking library, which StealBit
uses for communication with the attacker-controlled endpoints to which StealBit
may exfiltrate file content. StealBit de-obfuscates five IP addresses of these
endpoints, which the malware stores in XOR obfuscated form in the StealBit
executable file. StealBit also stores a string that uniquely identifies the set
of the endpoint IP addresses across StealBit samples, such as DI0AN. We refer to
this string as the StealBit configuration ID:






StealBit de-obfuscates IP addresses of attacker-controlled endpoints to which
StealBit may exfiltrate file content

StealBit Malware Threading: I/O Completion Port

After initializing the Windows Socket library, StealBit establishes its core
functionality: the Microsoft I/O completion port threading model for processing
multiple asynchronous I/O requests in parallel. StealBit implements the I/O
completion port threading model to maximize the overall efficiency of file
content exfiltration activities on compromised systems. For example, as we show
later in this section, StealBit parallelizes the exfiltration of the content of
multiple files to shorten the overall exfiltration timespan. This is important
to ransomware operators, since fast data exfiltration reduces the chances of
being discovered in the process.

The I/O completion port threading model works by creating an I/O completion port
and associating one or more file handles with that port. When an asynchronous
I/O operation on one of these file handles completes, the Windows operating
system queues to the port an I/O completion packet:

I/O completion packets carry information about the I/O operation. The
application can then process I/O completion packets by removing them from the
queue in a first-in-first-out (FIFO) order. In addition to a file handle, an
application may associate a handle-specific I/O completion key with an I/O
completion port. I/O completion keys can carry arbitrary data, which is
typically data related to the handle. The figure below depicts the I/O
completion port threading model that StealBit implements:



StealBit implements the I/O completion port threading model

StealBit creates an I/O completion port by invoking the ZwCreateIoCompletion
function. StealBit also creates threads for processing I/O completion packets
that Windows queues to the port, which we refer to as StealBit worker threads.
StealBit creates as many worker threads as processors are available on the
compromised system. StealBit then associates three file handles (and I/O
completion keys) with the I/O completion port by invoking the
ZwSetInformationFile function: 

 * * A handle to the socket to an attacker-controlled endpoint to which StealBit
     exfiltrates file content: This assigns available worker threads to handle
     the communication with the attacker-controlled endpoint. StealBit attempts
     to connect to each of the five IP addresses that the malware has
     de-obfuscated. If StealBit cannot establish a connection to any of these IP
     addresses, the malware indefinitely attempts to establish a connection. If
     the connection to one of these IP addresses succeeds, StealBit opens a
     socket to the attacker-controlled endpoint and associates the socket handle
     and an I/O completion key with the I/O completion port. In addition, to
     make static analysis difficult, StealBit obtains an address to the
     TransmitPackets function at runtime by invoking the WSAIoctl function. The
     TransmitPackets function is crucial to StealBit, since the malware uses
     this function to exfiltrate file content. WSAIoctl returns an address to
     TransmitPackets if an application provides the globally unique identifier
     (GUID) of the TransmitPacket function,
     {0D689DA0-1F90-11D3-9971-00C04F68C876}, as a parameter to WSAIoctl:



StealBit obtains an address to the TransmitPackets function at runtime

 * * A handle to the named pipe STEALBIT-MASTER-PIPE: This assigns available
     worker threads to handle the communication with StealBit named pipe
     clients. The section StealBit Named Pipe Client discusses the activities
     that the worker threads conduct when StealBit named pipe clients send data
     to the StealBit named pipe server. 
   * A handle to a file whose content StealBit is to exfiltrate: This assigns
     available worker threads to handle file content exfiltration upon
     successful file read operations on the file. This parallelizes file content
     exfiltration and shortens the overall timespan of file content exfiltration
     activities. In addition to exfiltrating read file content, it is the
     StealBit named pipe server, and not the StealBit named pipe client, that
     reads file content for exfiltration purposes. 

 

StealBit Malware File Content Exfiltration

The StealBit named pipe server reads and exfiltrates the content of the file or
the folder, whose file system path is either provided by a StealBit named pipe
client or specified as the value of the <path to file or folder> command line
parameter by the StealBit operator. Section StealBit Named Pipe Client discusses
the communication between the StealBit named pipe server and client in more
detail. 

If the StealBit operator has specified a file path as the value of the <path to
file or folder> command line parameter, the StealBit named pipe server first
evaluates whether the path leads to a file or a folder. If the path leads to a
file, StealBit reads the content of the file only if the file meets one or more
of these requirements:

 * * The length of the name of the file is less than, or equal to, four
     characters.
   * The filename extension of the file is not present in a list of filename
     extensions, which StealBit stores in hashed format in the malware’s
     executable file. StealBit enforces this criterion only if the StealBit
     operator has set the -skipfiles command line parameter to no/n.

In addition, the size of the file has to be less than or equal to 0.53 GB. The
command line parameter -file/-f does not have an impact on the execution of the
StealBit sample that we analyzed. This indicates that the implementation of the
-file/-f command line parameter is not complete.

If the path leads to a folder, StealBit iterates the folder recursively to
enumerate files placed in the folder and sub-folders. If the StealBit operator
has set the -skipfolders command line parameter to no/n, StealBit enumerates
files only from those folders that are not present in a list of folders, which
StealBit stores in hashed format in the malware’s executable file. After
enumerating the files in a folder, StealBit reads the content of each file,
except the content of system files (FILE_ATTRIBUTE_SYSTEM), if the above
conditions are fulfilled. 

Before reading content from a file, StealBit opens the file and then associates
the handle to the file and an I/O completion key with the I/O completion port
that StealBit has created. StealBit invokes the ZwReadFile function to read the
content of the file in equal-sized blocks. StealBit calculates the block size as
a function of the total file size—the bigger the file, the bigger the block
size.

Each successful file content read operation issues an I/O completion packet to
the I/O completion port. The available worker threads process this packet and
exfiltrate the file content to an attacker-controlled endpoint using the
TransmitPackets function, whose address StealBit has previously obtained. 

To evade exfiltration detection mechanisms that monitor the amount of sent data
to remote endpoints over time, StealBit operators can configure StealBit to
exfiltrate file content at a given rate (amount of exfiltrated file content over
15 seconds) by configuring the -net/-n or -once/-o command line parameters.
These parameters control the file content exfiltration rate by controlling the
rate at which StealBit reads file content.

As we mentioned earlier, the file read activity issues I/O completion packets to
the StealBit I/O completion port and instructs available worker threads to
exfiltrate the read content. StealBit controls the file content reading rate by
delaying invocations of the ZwReadFile function for continuously adjusted time
periods, such that the total amount of read file content over 15 seconds does
not exceed the exfiltration rate that the StealBit operator has specified. 

Every time StealBit reads file content using the ZwReadFile function, available
StealBit worker threads exfiltrate the read file content by issuing the
Hypertext Transfer Protocol 1.1 (HTTP 1.1) PUT request to an attacker-controlled
endpoint. StealBit stores exfiltrated file content on the attacker-controlled
endpoint as a resource that has a random name, which StealBit generates for each
file whose content the malware exfiltrates (for example, 03E76A538… in the
figure below). The data that StealBit sends to the attacker-controlled endpoint
includes:

 * * A Distributed Authoring and Versioning 2 (DAV2) header (DAV2... in the
     figure below)
   * The StealBit configuration ID (for example, DI0AN in the figure below)
   * The computer name of the compromised system and the name of the domain (if
     any) to which the system belongs (for example, NODOMAIN and DESKTOP-PUK8BTP
     in the figure below)
   * The absolute path to the file whose content StealBit exfiltrates (for
     example, C:\Users\<user>\Desktop\SB_6c9a\testfile.txt in the figure below)
   * The file content that StealBit exfiltrates (for example, Hello. This is a
     test file. in the figure below). 

The file content is not compressed. This contradicts the claim of the LockBit
threat group that StealBit compresses exfiltrated file content:



LockBit claims that StealBit compresses exfiltrated file content (source: KELA,
Twitter)



StealBit exfiltrates uncompressed file content

The StealBit sample that we analyzed does not execute indefinitely in order to
keep the StealBit worker threads that handle I/O completion packets active in a
typical server fashion. To the contrary, after creating worker threads and
establishing the I/O completion port threading model, StealBit processes the
<path to file or folder> command line parameter and exfiltrates file content if
the StealBit operator has specified a valid parameter value. 

StealBit then waits until the worker threads have processed all I/O completion
packets, and then closes the named pipe file STEALBIT-MASTER-PIPE. Next,
depending on the value of the -delete/-d command line parameter, StealBit
empties the content of its executable file and deletes the file. StealBit
conducts these activities by invoking the ShellExecuteExW function to execute
these commands, where <file size> is the size of the StealBit executable file in
bytes and <file path> is the path to the StealBit executable file: 

 * * ping 127.0.0.7 -n 7 > Nul

 * * fsutil file setZeroData offset=0 length=<file size> <file path>

 * * del /f /q <file path>

Finally, StealBit terminates its execution:



StealBit deletes its executable file

STEALBIT MALWARE NAMED PIPE CLIENT

After opening the named pipe file STEALBIT-MASTER-PIPE, the StealBit named pipe
client delegates file content reading and exfiltration to the StealBit named
pipe server. To do this, the StealBit named pipe client communicates with the
StealBit named pipe server by following a communication protocol. 

The figure below depicts this protocol. When a StealBit named pipe client sends
data to a StealBit named pipe server, this action issues an I/O completion
packet to the I/O completion port that the StealBit named pipe server creates
(see section StealBit Named Pipe Server). The worker threads of the StealBit
named pipe server then process this packet. The StealBit named pipe server uses
the worker threads that handle the communication with StealBit named pipe
clients to conduct the server's activities that are depicted in the figure
below:



The StealBit named pipe client communicates with the StealBit named pipe server

After opening STEALBIT-MASTER-PIPE and therefore connecting to the StealBit
named pipe server, the StealBit named pipe client sends the four bytes 00 00 00
00 to the server to announce the client's presence. The StealBit named pipe
server keeps track of the state of the connection. When the StealBit named pipe
client announces itself, the server acknowledges the client's presence by
updating the state of the connection to indicate successful client connection.

The StealBit named pipe client then processes the value of the <path to file or
folder> command line parameter in the same manner as the StealBit named pipe
server (see section StealBit Named Pipe Server). However, in contrast to the
StealBit named pipe server, the StealBit named pipe client does not read and
exfiltrate file content, but delegates this task to the server as follows:

 * * The client sends the four bytes 01 00 00 00 to the server to indicate that
     the client is about to send a file path to the server. This file path is
     the path to the file whose content the server is to read and exfiltrate.
     The StealBit named pipe server acknowledges the communication by updating
     the state of the connection to indicate the incoming file path.
   * The client sends four bytes to the server such that the bytes specify the
     length of the file path in a null-terminated Unicode string format. For
     example, the client sends the bytes 3E 00 00 00 to the server when the
     client is about to send the file path C:\Users\user\Desktop\file.txt to the
     server (0x3E in hexadecimal format is 62 in decimal format). The StealBit
     named pipe server updates the state of the connection and allocates a
     virtual memory region of a size that is the same as the file path length
     that the client has sent. 
   * The client sends the file path to the server. The StealBit named pipe
     server updates the state of the connection, stores the file path in the
     previously allocated memory region, and then reads and exfiltrates the
     content of the file at the file path (see section StealBit Named Pipe
     Server). 
   * Delegating file content reading and exfiltration to the StealBit named pipe
     server enables malicious actors to designate many files for exfiltration in
     a scalable manner by executing StealBit named pipe clients with the <path
     to file or folder> command line parameter set to the paths to the files.

The StealBit named pipe client then closes the connection to the server and,
depending on the value of the -delete/-d command line parameter, deletes its
executable file in the same manner as the StealBit named pipe server. The
StealBit named pipe client then terminates its execution. The command line
parameters -hide/-h, -net/-n, and -once/-o do not have an impact on the
execution of the StealBit named pipe client. 


STEALBIT MALWARE COMPARATIVE ANALYSIS 

The table below lists selected StealBit samples that represent StealBit samples
that the security community has observed at the time of writing of this report,
in terms of the  configuration and implementation aspects of StealBit that are
in the scope of this report. For referencing purposes, each sample has a
codename with the prefix SB_ and a suffix that is the first four hexadecimal
numbers of the sample’s SHA-256 hash:

SB_3407

SHA-256 Hash

3407f26b3d69f1dfce76782fee1256274cf92f744c65aa1ff2d3eaaaf61b0b1d

First submission to VirusTotal

2021-08-06

SB_107d

SHA-256 Hash

107d9fce05ff8296d0417a5a830d180cd46aa120ced8360df3ebfd15cb550636

First submission to VirusTotal

2021-09-09

SB_6c9a

SHA-256 Hash

6c9a92955402c76ab380aa6927ad96515982a47c05d54f21d67603814d29e4a5

First submission to VirusTotal

2021-11-08

SB_6b9a

SHA-256 Hash

6b9aa479a5f9c6bfee52046c1afa579977dfcde868fdad3f18fdcd1779535068

First submission to VirusTotal

2021-11-26

Representative StealBit samples

The tables below compare the selected StealBit samples (column ‘Sample’)
considering the following configuration and implementation aspects:

 * * IP addresses and geolocations of attacker-controlled endpoints to which
     StealBit exfiltrates data (column ‘IP addresses’ and ‘Location’).
   * The debugger detection method that StealBit implements as an anti-analysis
     measure (column ‘Debugger detection’).
   * Command line parameters and the respective malware features (column
     ‘Command line parameters’).
   * A named pipe IPC infrastructure that makes exfiltrating the content of
     multiple files practically convenient and efficient for StealBit operators
     (column ‘IPC’).
   * The I/O completion port threading model to maximize the overall efficiency
     of data exfiltration activities (column ‘I/O completion’).
   * Conditions for execution and file content exfiltration (column ‘Execution
     conditions’):
     
     

Sample

IP addresses

Location

SB_3407

88.80.147[.]102

168.100.11[.]72

139.60.160[.]200

193.38.235[.]234

174.138.62[.]35

Bulgaria

The Netherlands

United States

Russia

United States

SB_107d

93.190.139[.]223

168.100.11[.]72

139.60.160[.]200

193.38.235[.]234

174.138.62[.]35

The Netherlands

The Netherlands

United States

Russia

United States

SB_6c9a

185.182.193[.]120

The Netherlands

SB_6b9a

185.182.193[.]120

The Netherlands

Comparison of StealBit samples: Attacker-controlled endpoints

Sample

Debugger detection

Command line parameters

IPC

I/O completion

Execution conditions

SB_3407

NtGlobalFlag 

<path to file or folder>

Yes

Yes

Location

SB_107d

<path to file or folder>

Location

SB_6c9a

<path to file or folder>, -hide/-h, -delete/d, -net/-n, -once/-o, -skipfiles,
-skipfolders, -file/-f

None

SB_6b9a

<path to file or folder>, -hide/-h, -delete/-d, -net/-n, -once/-o, -skipfiles,
-skipfolders, -file/-f

None

Comparison of StealBit samples

The majority of the attacker-controlled endpoints to which the StealBit samples
that we analyzed exfiltrate data are located in western countries, with the
Netherlands and the United States at the top of the list. All StealBit samples
implement named pipe-based IPC and the I/O completion port threading model for
maximum exfiltration efficiency, usage convenience, and scalability. In
addition, all StealBit samples detect the presence of a debugger attached to the
StealBit process by evaluating the value of the NtGlobalFlag field of the PEB
and execute an empty infinite loop if a debugger is present.

OLDER VERSUS NEWER VERSIONS OF STEALBIT MALWARE

A major difference between the StealBit samples that we analyzed is the command
line parameters and the respective malware features that the samples support.
Relatively older StealBit samples do not support the command line parameters
-hide/-h, -delete/-d, -net/-n, -once/-o, -skipfiles, -skipfolders, and -file/-f
and the features that these parameters configure, such as self-deletion and data
exfiltration rate. 

This indicates that StealBit has been undergoing improvement with new features,
especially evasion and hiding features. Another major difference is that
relatively older samples do not execute on systems located in the former Soviet
countries of Russia, Ukraine, Belarus, Tajikistan, Armenia, Azerbaijan, Georgia,
Kazakhstan, Kyrgyzstan, Turkmenistan, Uzbekistan, and Moldova. StealBit
determines the location of a compromised system based on the system’s default
language. Relatively newer samples do not implement this restriction and execute
on any system. 


DETECTION AND PREVENTION OF STEALBIT MALWARE


CYBEREASON XDR PLATFORM

The Cybereason XDR Platform detects and stops StealBit when the malware
exfiltrates data, using multi-layer protection that employs threat intelligence,
machine learning, and next-gen antivirus (NGAV) capabilities to detect and block
malware. The Cybereason platform also detects malicious actors that execute the
related LockBit ransomware:



The Cybereason XDR Platform detects StealBit based on threat intelligence


CYBEREASON GSOC MDR

Cybereason GSOC recommends the following:

 * * Enable the Anti-Malware feature on the Cybereason NGAV, and enable the
     Detect and Prevent modes of this feature.
   * Regularly monitor outgoing network traffic for data exfiltration
     activities.
   * Threat Hunting with Cybereason: The Cybereason MDR team provides its
     customers with custom hunting queries for detecting specific threats - to
     find out more about threat hunting and Managed Detection and Response with
     the Cybereason Defense Platform, contact a Cybereason Defender here.
     * For Cybereason customers: More details available on the NEST including
       custom threat hunting queries for detecting this threat.

Cybereason is dedicated to teaming with Defenders to end cyber attacks from
endpoints to the enterprise to everywhere. Learn more about Cybereason XDR
powered by Google Chronicle, check out our Extended Detection and Response (XDR)
Toolkit, or schedule a demo today to learn how your organization can benefit
from an operation-centric approach to security.


INDICATORS OF COMPROMISE FOR STEALBIT MALWARE

Executables

SHA-256 hash: 3407f26b3d69f1dfce76782fee1256274cf92f744c65aa1ff2d3eaaaf61b0b1d

SHA-256 hash: 107d9fce05ff8296d0417a5a830d180cd46aa120ced8360df3ebfd15cb550636

SHA-256 hash:  6c9a92955402c76ab380aa6927ad96515982a47c05d54f21d67603814d29e4a5

SHA-256 hash:  6b9aa479a5f9c6bfee52046c1afa579977dfcde868fdad3f18fdcd1779535068

Named pipe files

STEALBIT-MASTER-PIPE

IP addresses

88.80.147[.]102

168.100.11[.]72

139.60.160[.]200

193.38.235[.]234

174.138.62[.]35

93.190.139[.]223

185.182.193[.]120

 


MITRE ATT&CK TECHNIQUES FOR STEALBIT MALWARE

Execution

Privilege Escalation

Defense Evasion

Discovery

Exfiltration

Native API

Abuse Elevation Control Mechanism: Bypass User Account Control

Indicator Removal on Host: File Deletion

File and Directory Discovery

Data Transfer Size Limits

Inter-Process Communication

 

Obfuscated Files or Information

System Information Discovery

Exfiltration Over C2 Channel

   

Hide Artifacts: Hidden Window

System Location Discovery

 






ABOUT THE RESEARCHERS:

Aleksandar Milenkoski, Senior Malware and Threat Analyst, Cybereason Global SOC

Aleksandar Milenkoski is a Senior Malware and Threat Analyst with the Cybereason
Global SOC team. He is involved primarily in reverse engineering and threat
research activities. Aleksandar has a PhD in system security. For his research
activities, he has been awarded by SPEC (Standard Performance Evaluation
Corporation), the Bavarian Foundation for Science, and the University of
Würzburg, Germany. Prior to Cybereason, his work focused on research in
intrusion detection and reverse engineering security mechanisms of the Windows
10 operating system.

Kotaro Ogino, Security Analyst, Cybereason Global SOC

Kotaro Ogino is a Security Analyst with the Cybereason Global SOC team. He is
involved in threat hunting, administration of Security Orchestration,
Automation, and Response (SOAR) systems, and Extended Detection and Response
(XDR). Kotaro has a bachelor of science degree in information and computer
science.

Share

About the Author

CYBEREASON GLOBAL SOC TEAM

The Cybereason Global SOC Team delivers 24/7 Managed Detection and Response
services to customers on every continent. Led by cybersecurity experts with
experience working for government, the military and multiple industry verticals,
the Cybereason Global SOC Team continuously hunts for the most sophisticated and
pervasive threats to support our mission to end cyberattacks on the endpoint,
across the enterprise, and everywhere the battle moves.

All Posts by Cybereason Global SOC Team


RELATED POSTS

THREAT ANALYSIS: MSI - MASQUERADING AS A SOFTWARE INSTALLER

Learn how threat actors are embedding malicious binaries and scripts in
legitimate Microsoft Windows Installation (.msi) files to take over machines
they're targeting with elevated privileges. Find out how to detect this
sophisticated attack technique.

THREAT ANALYSIS REPORT: SOCGHOLISH AND ZLOADER – FROM FAKE UPDATES AND
INSTALLERS TO OWNING YOUR SYSTEMS

This report provides unique insight into SocGholish and Zloader attacks and
provides an overview of the common tactics and techniques in SocGholish
infections...

SUBSCRIBE

Never miss a blog.

RECENT POSTS

CVE-2024-55956: Zero-Day Vulnerability in Cleo Software Could Lead to Data Theft
Your Data Is Under New Lummanagement: The Rise of LummaStealer
Leader in SOC Efficiency and Operational Excellence in MITRE ATT&CK 2024 Results

CATEGORIES

 * Research
 * Podcasts
 * Webinars
 * Resources
 * Videos
 * News

All Posts


RELATED POSTS

THREAT ANALYSIS: MSI - MASQUERADING AS A SOFTWARE INSTALLER

Learn how threat actors are embedding malicious binaries and scripts in
legitimate Microsoft Windows Installation (.msi) files to take over machines
they're targeting with elevated privileges. Find out how to detect this
sophisticated attack technique.

THREAT ANALYSIS REPORT: SOCGHOLISH AND ZLOADER – FROM FAKE UPDATES AND
INSTALLERS TO OWNING YOUR SYSTEMS

This report provides unique insight into SocGholish and Zloader attacks and
provides an overview of the common tactics and techniques in SocGholish
infections...

NEWSLETTER


NEVER MISS A BLOG

Get the latest research, expert insights, and security industry news.

Subscribe
Want to see the Cybereason Defense Platform in action? Schedule a Demo
X

ABOUT

 * Who We Are
 * Careers
 * Contact

RESOURCES

 * Blog
 * Case Studies
 * Webinars
 * White Papers

PLATFORM

 * Overview
 * Endpoint Protection
 * EDR
 * MDR

©Cybereason 2024. All Rights Reserved.

 * Terms of Use
 * Privacy Notice
 * Do Not Sell
 * Security
   

 * 
 * 
 * 
 * 
 * 







By clicking “Accept All Cookies”, you agree to the storing of cookies on your
device to enhance site navigation, analyze site usage, and assist in our
marketing efforts.

Cookies Settings Reject All Accept All Cookies



PRIVACY PREFERENCE CENTER

When you visit any website, it may store or retrieve information on your
browser, mostly in the form of cookies. This information might be about you,
your preferences or your device and is mostly used to make the site work as you
expect it to. The information does not usually directly identify you, but it can
give you a more personalized web experience. Because we respect your right to
privacy, you can choose not to allow some types of cookies. Click on the
different category headings to find out more and change our default settings.
However, blocking some types of cookies may impact your experience of the site
and the services we are able to offer.
More information
Allow All


MANAGE CONSENT PREFERENCES

STRICTLY NECESSARY COOKIES

Always Active

These cookies are necessary for the website to function and cannot be switched
off in our systems. They are usually only set in response to actions made by you
which amount to a request for services, such as setting your privacy
preferences, logging in or filling in forms. You can set your browser to block
or alert you about these cookies, but some parts of the site will not then work.
These cookies do not store any personally identifiable information.

TARGETING COOKIES

Targeting Cookies

These cookies may be set through our site by our advertising partners. They may
be used by those companies to build a profile of your interests and show you
relevant adverts on other sites. They do not store directly personal
information, but are based on uniquely identifying your browser and internet
device. If you do not allow these cookies, you will experience less targeted
advertising.

PERFORMANCE COOKIES

Performance Cookies

These cookies allow us to count visits and traffic sources so we can measure and
improve the performance of our site. They help us to know which pages are the
most and least popular and see how visitors move around the site. All
information these cookies collect is aggregated and therefore anonymous. If you
do not allow these cookies we will not know when you have visited our site, and
will not be able to monitor its performance.

FUNCTIONAL COOKIES

Functional Cookies

These cookies enable the website to provide enhanced functionality and
personalisation. They may be set by us or by third party providers whose
services we have added to our pages. If you do not allow these cookies then some
or all of these services may not function properly.

Back Button


PERFORMANCE COOKIES



Search Icon
Filter Icon

Clear
checkbox label label
Apply Cancel
Consent Leg.Interest
checkbox label label
checkbox label label
checkbox label label

Reject All Confirm My Choices