blog.sonicwall.com Open in urlscan Pro
107.154.76.50  Public Scan

URL: https://blog.sonicwall.com/en-us/2024/04/updated-strelastealer-targeting-european-countries/
Submission: On April 03 via api from TR — Scanned from DE

Form analysis 1 forms found in the DOM

GET https://blog.sonicwall.com/en-us/

<form action="https://blog.sonicwall.com/en-us/" id="searchform" method="get" class="">
  <div> <input type="submit" value="" id="searchsubmit" class="button avia-font-entypo-fontello"> <input type="text" id="s" name="s" value="" placeholder="Search"></div>
</form>

Text Content

 * Home
 * Topics
   * All Posts
   * Boundless Cybersecurity
   * BYOD and Mobile Security
   * Cloud Security
   * Education
   * Email Security
   * Government
   * Healthcare
   * Industry News and Events
   * Network Security
   * Partners
   * Retail
   * Small & Medium Businesses
   * SonicWall Community
   * Threat intelligence
   * Wireless Security
 * Authors
 * English
 * Search
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * Menu

 * Facebook
 * Twitter
 * Linkedin
 * Instagram
 * Mail
 * Rss




UPDATED STRELASTEALER TARGETING EUROPEAN COUNTRIES




By Security News
April 2, 2024

Overview

SonicWall Capture Labs threat research team has observed an updated variant of
StrelaStealer. StrelaStealer is an infostealer malware known for targeting
Spanish-speaking users and focuses on stealing email account credentials from
Outlook and Thunderbird. StrelaStealer was reported in the wild in early
November 2022. StrelaStealer has been updated with an obfuscation technique and
anti-analysis technique.

Technical Analysis

MD5: 1E37C3902284DD865C20220A9EF8B6A9

SHA256: F2D7CF39392D394D6CCD0F9372DB7D486D4CB2BB6C3BBFD0D8BFBB6117A5E211

This updated version of malware delivered via JavaScript comes in archive files
as attachments in emails. The initial vector is JavaScript which will drop the
64-bit executable file in the %userprofile% folder and execute the malware
process. We have observed that StrelaStealer is being delivered as a 64-bit exe
as well as a DLL via JavaScript. We are explaining the analysis for the 64-bit
executable in this blog. This 64-bit executable is a wrapper that will act as a
loader for the actual payload.

In the main 64-bit executable file, the data section has an encryption key, and
the size of the encryption key is 0x2714 bytes. The encoded payload is embedded
in the data section at the end of the encryption key. The size of the payload is
0x1C600. A single-byte XOR encryption is performed to decrypt an encoded PE file
from the data section.



Figure 1:  Encryption key started from 0x10th offset in the data section



Figure 2:  Obfuscated Jumps



Figure 3: Graph view for obfuscated function



Figure 4: Another graph view of the obfuscated function



Figure 5:  PEB parsing code fragments inside the jump code block

This obfuscation is quite effective. Anti-analysis techniques delay the
execution, and the researcher has to search the code fragments inside the jump
blocks, which is a tedious task.

Along with jump blocks and multiple loops, there are multiple dummy functions
that are not doing anything but wasting time while analyzing the sample.



Figure 6: Dummy functions inside nested Jumps



Figure 7: Dummy functions



Figure 8: XOR decryption to decrypt the encoded payload

Once it decrypts the payload, it reads the encoded API string array at the end
of the encoded payload embedded in the data section. Within the payload, the
first DWORD is the size of the array and next is the API function array. This
array is of size 0x52 bytes and the encryption key used earlier to decrypt the
payload will also be used to decrypt the API array. The only difference between
the decryption of the payload and the array  is malware uses an encryption key
of size 0x52 bytes from the 4th offset of encryption key.



Figure 9: Encoded API array



Figure 10: Malware calculates the start offset of the encoded API string and
starts decrypting it



Figure 11: API array after an XOR decryption

It accesses the PEB structure and parses it to get the list of loaded modules in
process memory.

The following is an example of the instructions set to parse the PEB.



Figure 11B: Instructions

Here InLoadOrderModuleList is a doubly-linked list that contains the loaded
modules for the process.

The malware parses this “InLoadOrderModuleList” to get the Imagebase address of
kernel32.dll with the goal of resolving the VirutalAlloc API Then the malware
will parse the PE structure of kernel32.dll to get the name of each exported
function and matches them with the API string that got decrypted earlier in 0x52
byte array. If the API name matches the exported function name, then the malware
will read the associated function RVA from the export directory and add it to
the Imagebase of kernel32.dll,. Using this method, the malware resolves each API
dynamically. It will resolve 4 APIs – here VirtualAlloc,  LoadLibraryA ,
GetProcAddress , and MessageBoxTimeoutA. Once its finished resolving the APIs,
the malware will show the error massage box and then continue execution.

Now, the malware calls the “VirtualAlloc” API to allocate memory in the process
and start its task as loader to load the actual payload.

 * The malware parses the PE file structure of the payload from the data section
   where previously it decrypted the PE file and read each section header one by
   one.
 * To map the process as per section alignment, it reads the virtual address of
   each section and adds it to the image base of the injected PE and copies each
   section of data to this offset in memory.
 * The malware will not copy the PE header to the injected PE, this has been
   done intentionally to evade detection from AV products.
 * It reads the relocation section and does the fixup as it gets loaded at the
   different base address in the memory.
 * It reads the import address table of the payload file from the data section
   region and resolves the API address dynamically using the “LoadLibraryA” and
   “GetProcAddress”  APIs and copies these all function pointers to the IAT of
   the injected payload.
 * When the injected PE file is ready for execution, it will read the RVA of the
   address from the entry point from the PE file in the data section and add the
   base address of the injected payload and redirect execution to the injected
   code.



Figure 12: Configuration setting for the payload

The injected payload is 64-bit executable file, it will call the
“GetKeyboardLayout” API and check the lower words of the return value with the
hardcoded values in binary. It tries to check if the keyboard layout is from the
following countries. If it is, then the malware will continue its execution,
otherwise it terminates itself.

LanguageLocation (or type)Language
IDGermanGermany0x0407SpanishSpain0x040ASpanishSpain0x0C0ACatalanSpain0x0403BasqueSpain0x042DItalianItaly0x0410PolishPoland0x0415



Figure 13: Call to the “GetKeyboardLayout” API and check language identifiers

Now, the payload retrieves the computer name by calling the “GetComputerNameA”
API and encrypts the first 4 bytes of the computer name string using single byte
XOR encryption. The encryption key is “MIR24”, which is hardcoded in binary. It
will create a Mutex with the name of this partially encrypted computer name
string. If a Mutex already exists, it will terminate it.



Figure 14: Creating a Mutex and executing its core functionality to steal data
from the infected machine

As we can see in Figure 14, it will execute the function which will steal
confidential data from the infected machine.

Here, we have found two functions in the malware. The first is used to steal
data from Mozilla Thunderbird, which is a free and open-source email client
software. The other function is intended to steal data from Outlook.

 * It searches for the folder path
   “C:\Users\<username>\AppData\Roaming\Thunderbird\Profiles\”

All of your data such as messages, passwords and user preferences as well as
changes made while you use Thunderbird are stored in a special folder
called profile.

 * If it finds this folder path on the system, it will call the
   FindFirstFileAand FindNextFileA APIs to search for two files in the
   subdirectory. The first is “logins.json” (account and password) and the
   second is “key4.db” (password database).
 * It reads the data from both of these files and appends both files’ data one
   after another, starting network communication.
 * It establishes a connection to its server and prepares an HTTP post request
   with the user-agent “Mozilla/5.0 (Windows NT 10.0; Win64; x64)
   AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36”
   and then exfiltrates this data to its server.

http[:]//45[.]9[.]74.12/server.php .

 * The server IP is hardcoded in binary which is “45.9.74[.]12”
 * Before sending data to the server, it will encrypt it with the single byte
   XOR encryption. The encryption key is hardcoded in binary which is
   “00ca8abe-6ab2-4b10-97c8-925934cf0423”



Figure 15: Searches for the “logins.json” and “key4.db” files from the profile
folder



Figure 16: StrelaStealer is expecting the response from its server

We have analysed the second function statically where it reads the
windows registry key, enumerates data from it and tries to locate the ‘IMAP
User’, ‘IMAP Server’ and ‘IMAP Password’ values.

The IMAP Password contains the user password in encrypted form. The malware will
call the Windows “CryptUnprotectData”  API to decrypt it.

The following registry key is enumerated to steal Outlook data:

“SOFTWARE\Microsoft\Office\16.0\Outlook\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\”



Figure 17: Outlook registry key would have been enumerated to steal data from
the infected machine



Figure 18: Network communication with server

The archive file cannot be found in any of the popular threat intelligence
sharing portals like VirusTotal at the time of writing this blog.



Figure 19: File is not available on VirusTotal

This threat is detected by SonicWall Capture ATP w/RTDMI . Evidence of the
detection by our RTDMI engine can be seen below in the Capture ATP report for
this file.



Figure 20: Capture report

IOCs

Archive file
MD5: ca4797bf995c91864c8b290ebd4e1c7b
SHA256: 74f21472fed71aaccbd60b34615a8390725cbab6cb25bbc6a51bd723ff8bd01a

JavaScript (Initial vector)
Md5 : C235CE3765F9B1606BDA81E96B71C23B
SHA256 : E083662C896C47064FD47411D47459BF4B1CB26847B5D26AEDD7F9D701CABD43

Main 64-bit executable file
MD5 : 1E37C3902284DD865C20220A9EF8B6A9
SHA256 : F2D7CF39392D394D6CCD0F9372DB7D486D4CB2BB6C3BBFD0D8BFBB6117A5E211

Injected 64-bit Payload
MD5 : 95F51B48FB079ED4E5F3499D45B7F14E
SHA256 : C02BB26582576261645271763A17DE925C2D90D430E723204BAEC82030DC889A

Server IP : “45[.]9.74[.]12”

 * 
 * 
 * 
 * 
 * 

Security News

The SonicWall Capture Labs Threat Research Team gathers, analyzes and vets
cross-vector threat information from the SonicWall Capture Threat network,
consisting of global devices and resources, including more than 1 million
security sensors in nearly 200 countries and territories. The research team
identifies, analyzes, and mitigates critical vulnerabilities and malware daily
through in-depth research, which drives protection for all SonicWall customers.
In addition to safeguarding networks globally, the research team supports the
larger threat intelligence community by releasing weekly deep technical analyses
of the most critical threats to small businesses, providing critical knowledge
that defenders need to protect their networks.
Categories: Threat intelligence
Tags: Security News

SHARE THIS ENTRY

 * Share on Facebook
 * Share on Twitter
 * Share on Google+
 * Share on Pinterest
 * Share on Linkedin
 * Share on Tumblr
 * Share on Vk
 * Share on Reddit
 * Share by Mail



https://d3ik27cqx8s5ub.cloudfront.net/blog/media/uploads/sec-news-header-3.png
500 1200 Security News
https://blog.sonicwall.com/wp-content/uploads/images/logo/SonicWall_Registered-Small.png
Security News2024-04-02 11:31:522024-04-02 11:51:44Updated StrelaStealer
Targeting European Countries


RECOMMENDED CYBER SECURITY STORIES

MAC OSX Flashback Backdoor Trojan (Sep 29, 2011)
Microsoft Security Bulletin Coverage (Oct 8, 2013)
Drupal Core Sql Injection Vulnerability CVE-2014-3704 (Oct 24, 2014)
Trojan poses as a Fake Microsoft Office update (Mar 13, 2014)
Apache HTTPD mod_proxy_ajp DoS (Sep 30, 2011)
Trojan uses Rootkit remover tool to disable Anti-virus (Dec 1, 2011)
Microsoft out-of-band Security Advisory for Windows Kernel (Nov 27, 2013)
Android malware with hidden message for Security Analysts (June 19, 2015)
Connect with an Expert


SEARCH




FACEBOOK


Recent
Tags
Recent
 * Updated StrelaStealer Targeting European CountriesApril 2, 2024 - 11:31 am
 * Backup Best Practices To Help You Get Back Up and Runni...March 28, 2024 -
   11:50 pm
 * Progress Kemp LoadMaster Unauthenticated Command Injection...March 27, 2024 -
   12:32 pm
 * Kicking Off Another Winning YearMarch 25, 2024 - 2:43 pm

Tags
802.11AC Advanced Threats Antivirus Awards Capture Cloud Platform Channel Cloud
App Security CRN Cyberattack Cybersecurity Cyber Security cyberthreats DDoS
Education Email Security Encrypted Attacks Encrypted Threats Endpoint Protection
endpoint security Featured Firewall Industry Awards IoT Malware MSSP Network
Security news Next-Gen Firewalls next generation firewalls Phishing Ransomware
Real-Time Deep Memory Inspection (RTDMI) Resources Resources SecureFirst Partner
Program Secure Mobile Access Security Security News SMB SonicWall Capture ATP
SonicWall Capture Client SonicWall WiFi Cloud Manager Threat Intelligence Threat
Report zero-day


ABOUT SONICWALL

About Us
Leadership
Awards
News
Press Kit
Careers
Contact Us


PRODUCTS

Firewalls
Advanced Threat Protection
Remote Access
Email Security


SOLUTIONS

Advanced Threats
Risk Management
Industries
Managed Security
Use Cases
Partner Enabled Services


CUSTOMERS

How To Buy
MySonicWall.com
Loyalty & Trade-In Programs


SUPPORT

Knowledge Base
Video Tutorials
Technical Documentation
Partner Enabled Services
Support Services
CSSA and CSSP Certification Training
Contact Support
Community

© Copyright 2023 SonicWall. All Rights Reserved.
 * Facebook
 * Twitter
 * Linkedin
 * Instagram
 * Mail
 * Rss

Backup Best Practices To Help You Get Back Up and Running




PIN IT ON PINTEREST


Scroll to top