Adversaries don’t work 9-5 and neither do we. At eSentire, our 24/7 SOCs are staffed with Elite Threat Hunters and Cyber Analysts who hunt, investigate, contain and respond to threats within minutes.
We have discovered some of the most dangerous threats and nation state attacks in our space – including the Kaseya MSP breach and the more_eggs malware.
Our Security Operations Centers are supported with Threat Intelligence, Tactical Threat Response and Advanced Threat Analytics driven by our Threat Response Unit – the TRU team.
In TRU Positives, eSentire’s Threat Response Unit (TRU) provides a summary of a recent threat investigation. We outline how we responded to the confirmed threat and what recommendations we have going forward.
Here’s the latest from our TRU Team…
What did we find?
- In a case investigated by our team of 24/7 SOC Cyber Analysts in October 2022, we discovered encoded PowerShell commands loading a suspicious extension called “chrome-help” into the victim’s browser using the “–load-extension” command-line argument for Chrome.
- Subsequent analysis by TRU identified the extension as ChromeLoader, malware distributed through pirated content such as software, video games or eBooks (Figure 1), which are distributed on various websites and social media platforms.
- ChromeLoader is generally considered adware, with its primary goal being to intercept web traffic and push advertisements.
- It has been widely observed in several variations since January 2022 and is typically delivered using ISO files containing a shortcut file that when clicked executes a hidden batch file.
- The batch file unpacks the malware binary into the AppDataRoaming directory then establishes persistence using a Run key (Figure 2).
ChromeLoader’s PowerShell Execution
The first stage PowerShell script is responsible for executing an XOR-Encrypted C# source file that is decompiled to install the ChromeLoader extension from registry (Figures 3 and 4).
The decryption routine base64 decodes then takes the first 5 bytes from the XOR-encrypted registry value. These bytes are used as a key to XOR a string (in this case “Get-ItemPropertyValue”) which is base64 encoded. The resulting 28-character key is then used to decrypt the C# source file (minus the first 5 bytes) and the code is executed. The PowerShell script also contains redundancy to retrieve code from the C2 (hxxps://evelopedsev[.]autos in this case) and write it to the registry should it be missing or removed.
Examining the cleartext C# source file shows how the Chrome extension is loaded via PowerShell. The code contains a JSON list object which is base64 encoded and XOR-encrypted using similar logic to the function above. In this case, the first 5 bytes of the encrypted JSON object are used as a key. The resulting list items (Figure 5) are then passed as arguments to the Start-Process cmdlet.
PowerShell will attempt to start Chrome from various paths using the “load-extension” argument to load the “chrome_data” extension (Figure 6). It also contains logic to replace this name with others in the list below.
- “chrome_metric”
- “chrome_pref”
- “chrome_settings”
- “chrome_tools”
- “chrome_storage”
- “chrome_configuration”
- “chrome_bookmarks”
- “chrome_flags”
- “chrome_history”
- “chrome_cast”
- “chrome_view”
- “chrome_tab”
- “chrome_panel”
- “chrome_window”
- “chrome_control”
- “chrome_glass”
- “chrome_nav”
- “chrome_profile”
- “chrome_zoom”
- “chrome_find”
- “chrome_help”
The extension files (Figure 7) are stored in C:UsersuserAppDataLocalchrome_data (or another name from the list above). The code contains logic to retrieve a new copy of the extension in from asanttackl[.]autos if removed.
The ChromeLoader extension contains high privileges, such as reading browsing history, managing apps/extensions, page content manipulation, etc. (Figure 8). These privileges are core to its functionality, mainly serving ads and capturing browser history/search terms (Figure 9). It also attempts to block the user from editing Chrome extensions to hinder removal.
How did we find it?
- Our Machine Learning PowerShell classifier detected malicious code execution resulting in the victim manually executing a disguised script file.
What did we do?
- Our team of Cyber Analysts investigated the threat, alerted the customer, and isolated the host on their behalf.
What can you learn from this TRU positive?
- ISO shortcut attacks remain a popular means of code delivery and execution. Few barriers exist to prevent users from easily mounting ISO files and executing their contents.
- ChromeLoader is generally considered adware. However, it poses a risk of redirecting traffic to risky websites or potentially loading more nefarious code, as others have suggested.
- ChromeLoader has shown continuous updates and improvements since it was discovered. TRU has observed the threat across numerous customers/verticals.
Recommendations from our Threat Response Unit (TRU) Team:
- Raise awareness of unknown ISO files among your users, and include in your Phishing and Security Awareness Training (PSAT) program. An effective PSAT program emphasizes building cyber resilience by increasing risk awareness, rather than trying to turn everyone into security experts.
- Display file extensions for known file types and consider showing hidden files to users by default.
- Protect endpoints against malware.
Ask Yourself…
- What level of visibility do you have across your network, endpoint and overall environment to detect malicious behavior at scale?
- Are you monitoring your endpoints 24/7 and what degree of control do you have to initiate a kill switch when required?
eSentire’s Threat Response Unit (TRU) is a world-class team of threat researchers who develop new detections enriched by original threat intelligence and leverage new machine learning models that correlate multi-signal data and automate rapid response to advanced threats.
If you are not currently engaged with an MDR provider, eSentire MDR can help you reclaim the advantage and put your business ahead of disruption.
Learn what it means to have an elite team of Threat Hunters and Researchers that works for you. Connect with an eSentire Security Specialist.
Indicators of Compromise
Indicator | Note |
10CE7795E0D7D0AACB487A3C67A2F59F | ChromeLoader Stage 1 PowerShell |
EA0FCD070E59389EEA6C280B5B582A18 | ChromeLoader XOR-encrypted C# Source File |
5DEFEA9D05D5A2EBB03FBEAC464A948A | ChromeLoader C# Source File |
evelopedsev[.]autos | C2 Domain (Stage 1 PowerShell) |
asanttackl[.]autos | C2 Domain (C# Source File) |
usesianeduke[.]xyz | C2 Domain (Browser Extension) |
Source: https://www.esentire.com/blog/chromeloader-observations-on-the-rise