SonicWall 2024 Mid-Year Cyber Threat Report: IoT Madness, PowerShell Problems and More

The first half of 2024 is in the rearview mirror, and SonicWall’s 2024 Mid-Year Cyber Threat Report uses the data we gathered in that time to paint a clearer picture of the current threat landscape and industry trends. Business email compromise (BEC) attacks are on the rise, supply chain attacks and the risks associated with them are increasing and IoT malware is becoming more and more of an issue. Plus, we provide a SOC perspective on the year’s threats and trends so far. And to measure it all, we have a more accurate system in place.

Goodbye HITS, Hello TICKS

As threats evolve to be more dangerous and our protection evolves alongside them, the importance of the way we’re measuring threats is often overlooked. For the 2024 Mid-Year Cyber Threat Report, we decided it was time for a change.

Previously, we were counting every hit (HITS) against a firewall, which is akin to counting every single raindrop in a rainstorm and can lead to an inflated view of what’s actually going on. The TICKS metric works by counting the number of hours a firewall is under attack rather than every single hit. To take the rain analogy further, saying “We had three million raindrops this afternoon,” vs “It rained hard for an hour this afternoon,” is a pretty stark difference. TICKS is more consistent, simplifies comparisons and data interpretations, and overall significantly improves the way we’re analyzing and reporting telemetry data. It also allows us to better break down exactly how much of your revenue was at risk and protected by SonicWall, but for more information on that you’ll need to check out the full report.

Threat Roundup

Business Email Compromise (BEC): Business Email Compromise (BEC) attacks have been on the rise. In fact, there are ten BEC events reported for every one ransomware event, with 70% of BEC events involving a variety of different social engineering methods.

IoT Malware: Internet of Things (IoT) malware spiked 107% in the first half of 2024, and among devices that were under fire, those devices spent an average of 52.8 hours under attack.

Cloud Attacks: 83% of customer-received alerts from our managed services team are related to cloud apps and compromised credentials, which means the growth of cloud as an attack surface is continuing into 2024 and beyond.

Supply Chain Attacks Continue to Rise

If we’ve learned anything about supply chain attacks in 2024 so far, it’s that they’re becoming more common, more impactful and more difficult to deal with. This year, we’ve already seen several high-profile supply chain vulnerabilities, such as the JetBrains TeamCity authentication bypass vulnerability, which attackers were able to exploit to gain control of affected systems – sometimes complete control. In fact, 16% of SonicWall customers were targeted with attacks attempting to exploit this vulnerability. A majority of these attacks (83%) occurred in March, with a steep decline in the months that followed.

It wasn’t just new vulnerabilities that led to supply chain attacks – the first half of this year has shown that old dogs can learn new tricks. We found that Log4j and Heartbleed are still significant threats, especially to small- to medium-sized businesses (SMBs) with more limited resources.

PowerShell: Useful for Good and Evil?

PowerShell is awesome. It has incredibly powerful scripting capabilities and deep integration with Windows operating systems. As an automation tool, it may be the absolute best there is. Unfortunately, the same features that make it an incredible tool for any developer also make it an incredible tool for cybercriminals. In fact, more than 90% of major malware families are utilizing PowerShell for nefarious purposes – AgentTesla, GuLoader, AsyncRat, DBatLoader and LokiBot all abuse it.

While it’s becoming more common now, this has also been happening for a while, with some reports indicating a huge spike in PowerShell-based attacks going back to 2020. While PowerShell has made efforts to thwart these bad actors, they’ve simply found workarounds and continued plugging away.

The Dramatic Rise In Internet of Things (IoT) Attacks

Attacks on IoT devices have risen an absurd 107% year-over-year in the first half of 2024. And the reason for the increase in attacks is likely simpler than you think – security on IoT devices tends to be bad. Many attackers prefer easier targets, and IoT devices are among the easiest targets. Combine this with the fact that more mainstream operating systems like Windows are getting better security, and the choice for these bad actors becomes even easier. One of the biggest factors in this dramatic increase is CVE-2023-1389, which is a TP-Link command injection vulnerability. This vulnerability has impacted 21% of SMBs by itself. Combine that with other IoT attacks and the meteoric rise begins to make sense. And with these devices often being directly tied to critical infrastructure, one wonders when manufacturers may start to take security more seriously.

Something Phishy This Way Comes: How the SonicWall SOC Proactively Defended Partners Against a New Attack

Same threats, different days? Not necessarily. Threat actors are forever innovating, looking for better and more effective ways to achieve their goals. While tactics like phishing are often in the news, even these attacks can have more beneath the surface – tactics are often combined as part of an overall attack. For example, an attack may start with phishing for initial access but ultimately lead to adversary-in-the-middle as a means of credential theft, which could then lead to account access removal, data exfiltration or other nefarious ends. To stay ahead of these threats, it’s crucial to stay on top of security alerts at all hours of the day and night, but for many managed service providers (MSPs), that simply isn’t possible. Many MSPs don’t have 24/7 staff who are knowledgeable about cyber attacks and equipped to respond.

The SonicWall Security Operations Center (SOC) works to defend our MSP partners as part of our Managed Security Services. As we discussed in our recent post exploring the lifecycle of a threat, much of the work of the SOC is monitoring and responding to security alerts being thrown by security tools. The SOC triages the alerts and takes immediate action to stop any critical threats in their tracks and mitigate any damage, essentially putting out the fire before it spreads. And the SOC brings even more value – the SOC is staffed by experts, who recognize patterns in alerts and conduct proactive research to better secure all of our partners. This research is often triggered by alerts coming into the SOC, and what the SOC learns from one partner can benefit all of SonicWall’s partners. Here’s a recent example.

Can You Get to Phoenix from New York in 20 Minutes?

The SOC received an alert about an authentication failure in Microsoft 365 due to the user not usually being in the location where the attempt was coming from. The activity was flagged as risky by security tools because the user typically logged in from New York, and this authentication failure came from Phoenix, Arizona. By itself, this alert might not be malicious – people travel for business or go on vacation which could lead to a similar alert. Upon further investigation, the SOC found there was only about 20 minutes between login attempts: one in New York, and the suspicious attempt in Arizona. Because it’s impossible to get from New York to Arizona in 20 minutes, this alert was particularly suspicious, and an authentication failure alert does not necessarily mean the login failed. The SOC upgraded the alert to critical, and contacted our MSP partner, who confirmed that this was a compromise as the user was in fact in New York. The SOC locked down the affected account, and our MSP partner worked with the user to reset their login credentials.

Not long after, an alert came in for a user from a different partner. On its face, it was similar: Security tools flagged an authentication failure from Phoenix, when the user was not typically in Arizona. The SOC contacted the partner and was told the user was actually vacationing in Arizona. In many cases, this confirmation from the partner would cause the SOC to close out the alert as a false positive. However, because of the previous issue, the SOC analyst took a closer look and found that the authentication failure came from the same IP address that the previous, now known to be malicious alert came from, which was so coincidental that it strongly suggested malicious activity. The SOC analyst contacted the partner again, this time by phone, to inform them that this might still be malicious, despite the user being on vacation near the IP address location. After the conversation, the partner reset the account as a precaution.

Digging Deeper

After these two alerts, it was clear to the SOC team that something more was going on. They began researching, leveraging other security researchers and open-source intelligence around the latest threat actor campaigns. The team learned that a fresh adversary-in-the-middle campaign had begun over the Independence Day (July 4) holiday in the United States, using phishing emails claiming that a secured document had been shared with the user and prompting the user to click a link to log in. Upon clicking the link in the email, the users were presented with a fake Microsoft login screen, where the two users from our partners entered their credentials, including MFA codes. The threat actors used automated infrastructure to then take these credentials and automatically attempt to log in to the account.

Now armed with this information and a list of indicators of compromise including IP addresses, the SOC team was able to build a new security rule to automatically respond to access attempts that include these indicators. Not even a day later, the rule triggered for a third partner, stopping the compromise in its tracks.

Defending the Defenders, Proactively

Small- to medium-sized businesses (SMBs) typically depend on MSPs for all of their cybersecurity needs, and the reality is that attacks against SMBs are increasing, making MSPs even more crucial. However, most MSPs don’t have their own 24/7 SOC, and because they are also handling all of their clients’ IT needs (not just security), they often don’t have the deep cyber knowledge to recognize patterns in alerts or the time to conduct research when a new anomaly pops up in a security tool. That’s where partnering with a SOC can make a huge difference.

The SonicWall SOC is focused on defending all of our partners against threats every day, with expert humans both responding to alerts and conducting proactive research. Their work to put out the fire of a critical security incident and minimize damage is crucial to keeping SMBs up and running, but what they learn from the security incidents they address and their ongoing research has cascading benefits for the larger SonicWall partner community. By partnering with the SonicWall SOC, you’re not just getting cyber firefighters – you’re getting the backing of an MSP-focused team of experts working to proactively make the entire community more secure in the face of cyber threats.

Ready to learn how SonicWall’s Managed Security Services can bring the power (and peace of mind) of a 24/7 SOC to your clients? Contact us today!

SonicWall Elevates MSP Platform with Cloud Secure Edge Integration

We are very excited to announce the integration of Cloud Secure Edge’s (formerly Banyan Security) robust Secure Access Service Edge solutions into our MySonicWall MSP platform. This strategic move enhances SonicWall’s service offerings and also provides managed service providers (MSPs) easy-to-deploy advanced security tools to meet the evolving demands of modern businesses.

Strengthening Security with Zero Trust

The integration of Cloud Secure Edge brings Zero Trust Network Access (ZTNA) principles to customers in MySonicWall, enabling MSPs to enforce strict access controls based on user identity, device posture and contextual data. This approach reduces the attack surface and mitigates the risk of unauthorized access, ensuring that only verified users and devices can access resources using the principle of least privilege.

Key Benefits for MSPs

  • MSP-Centric ZTNA Solution: Cloud Secure Edge (CSE) enables MSPs to deliver ZTNA with simple deployment models and multi-tenant management capabilities on any operating system in any environment, ensuring all access requests are continuously evaluated, providing a higher level of security.
  • Seamless Integration: The addition of Cloud Secure Edge is designed to integrate seamlessly with the existing MySonicWall platform. This ensures a smooth transition for MSPs, allowing them to leverage new capabilities without disrupting their current operations.
  • Monthly Billing: The integration features the addition of Cloud Secure Edge (CSE) to the Service Provider Program to offer no-commitment, in-arrears billing which aligns with how MSPs charge their customers – with flexible and cost-effective license tiers.  
  • Regional Compliance: The integration will feature a new Cloud Secure Edge data center hosted in Frankfurt, Germany, to ease adoption and data residency compliance with frameworks like GDPR.
  • New Packaging: Cloud Secure Edge features new Secure Private Access and Secure Internet Access bundles to ease adoption and provide flexibility in terms of mixing bundles and having unique counts for each. This also includes a new DNS filtering-only option to help comply with CIPA compliance and have endpoint anytime, anywhere protection.
  • Firewall Connector: On SonicWall Gen 7 firewalls, we now have the option to enable the Cloud Secure Edge Connector. This makes ZTNA adoption a matter of a few clicks in the private resources behind the firewall. Learn more.
  • Free Trial: Not convinced yet? A 30-day free trial is available in MySonicWall and includes up to 25 users with all the features unlocked.

Looking Ahead

We’re not done yet. Look out for Cloud Secure Edge (CSE) coming into SonicPlatform and continuous improvements to our SASE stack. SonicWall’s acquisition of Banyan Security earlier this year and the subsequent integration into MySonicWall marks a significant milestone in the company’s commitment to providing cutting-edge security solutions. By empowering MSPs with advanced tools and capabilities, SonicWall is helping businesses navigate the complexities of the modern threat landscape with confidence and ease.

For more information on how this integration can benefit your MSP operations, visit the SonicWall website.

Critical Splunk Vulnerability CVE-2024-36991: Patch Now to Prevent Arbitrary File Reads

Overview

The SonicWall Capture Labs threat research team became aware of an arbitrary file read vulnerability affecting Splunk Enterprise installations. Identified as CVE-2024-36991 and given a CVSSv3 score of 7.5, the vulnerability is more severe than it initially appeared. Labeled as a path traversal vulnerability and categorized as CWE-35, this vulnerability allows attackers to traverse the file system to access files or directories outside the restricted directory. Splunk software uses computer-generated data to track, scan, analyze and visualize it in real-time. It is used for business and web analytics, application management, compliance, and security.

A proof of concept is publicly available on GitHub. In Splunk Enterprise, versions below 9.2.2, 9.1.5 and 9.0.10 are vulnerable. An attacker could perform a path traversal on the /modules/messaging/ endpoint in Splunk Enterprise with Splunk Web enabled. Although Splunk is famous mainly for dev environments, up to 230k exposed servers are running Splunk according to Fofa. Splunk has released a patch, and it is advisable to update it immediately.

Technical Overview

The vulnerability exists because of the Python os.path.join function that removes the drive letter from path tokens if the drive in the token matches the drive in the built path. The function os.path.join() takes multiple path components as arguments and concatenates them into a single path. It ensures that the correct path separator is used according to the operating system, as shown in Figure 1.

Figure 1: os.path.join() function

Windows has a concept of a current directory for each drive. Due to that, “C: source dir” means “source dir” inside the current C: directory.

Figure 2: Directory listing on Windows and Linux

According to the os.path.join documentation, the drive is not reset on Windows when a rooted path segment (e.g., d’\foo’) is encountered. If a segment is on a different drive or is an absolute path, all previous segments are ignored, and the drive is reset.

Figure 3: Absolute path as Output in Python os.path.join () function

The CVE-2024-36991 flaw leverages the os.path.join function allowing an attacker to perform a directory listing on the Splunk endpoint, potentially enabling unauthorized access to sensitive files on the system. The issue is confined to instances of Splunk Enterprise with Splunk Web enabled.

Figure 4 shows utilizing a sample path traversal crafted GET request that can impact vulnerable Splunk Enterprise instances and lead to arbitrary file reads.

Figure 4: CVE-2024-36991 attack request

Exploiting the Vulnerability

A crafted GET request to a vulnerable Splunk instance with Splunk Web enabled is necessary and sufficient to exploit the issue. An attacker only needs to be able to access the instance remotely, which could be over the Internet or a local network. A working PoC with a crafted GET request aids in exploiting this vulnerability. Figure 5 is a demonstration of exploitation leveraging the publicly available PoC.

Figure 5: CVE-2024-36991 Exploitation

SonicWall Protections

To ensure SonicWall customers are prepared for any exploitation that may occur due to this vulnerability, the following signatures have been released:

  • IPS: 4469 – Splunk Enterprise Path Traversal

Remediation Recommendations

Administrators could turn Splunk Web off as a possible workaround. Secondly, they could disable unnecessary Splunk Enterprise components in the web.conf configuration specification file on active Splunk Enterprise.

Considering the severe consequences of this vulnerability and the trend of nefarious actors trying to leverage the exploit in the wild, users are strongly encouraged to upgrade their instances in accordance with the Splunk advisory to address the vulnerability.

Relevant Links

Volcano Demon Group Targets Idealease Inc. Using LukaLocker Ransomware

Overview

The SonicWall Capture Labs threats research team has recently been tracking new ransomware known as LukaLocker.  This malware has been seen in the wild over the last few weeks and is being distributed by the Volcano Demon group.  A conversation with the operator reveals that the malware is targeted at Idealease Inc., a truck leasing company.  Communication with the operator is via qTox.

Infection Cycle

The malware is in the form of a x64 binary, written in C++.  Upon running the malware, a command prompt window appears and shows a list of processes that the malware attempts to kill:

Figure 1: Process killing stage

After this process is complete, it encrypts files on the system and appends “.NBA” to their filenames.

It writes readme.txt to the desktop.  This text file contains the following message, with a touch of leet speak:

Figure 2: Ransom note

Decompiling the binary reveals a large list of targeted processes to kill:

Figure 3: List of processes to kill in decompiled code

Various security, monitoring and backup services are targeted.  This includes antivirus software such as Malware Bytes, Sophos, McAfee and Trend Micro.  If any of these are present on the system, the service is disabled by the malware.

Figure 4: List of security and backup services to stop

The ransom message states that the qTox encrypted chat client must be used to communicate with the operator in order to retrieve files.  qTox is an Instant messaging client aimed at evading government monitoring.

We had the following conversation with the operator.  However, this variant of the malware is targeted at a specific company called Idealease Inc.  Help is only provided to someone in senior management at that company:

Figure 5: Conversation with operator

SonicWall Capture Labs provides protection against this threat via the following signature:

  • GAV: LukaLocker.RSM(Trojan)

This threat is also detected by SonicWall Capture ATP w/RTDMI and the Capture Client endpoint solutions.

Better Network Management: Latest Features in Network Security Manager 2.5

We are thrilled to announce new Network Security Manager (NSM) 2.5 features, designed to make our platform more user-friendly while providing additional value to our users. These enhancements are based on customer feedback and our commitment to providing the best network management services. Here’s a summary of what’s new.

Enhancing NSM Alerts

One of the key improvements in NSM 2.5 is the alert enhancements. Accurate and specialized alerts are critical to users maintaining network security. We want to make sure that NSM provides this value for users in a simple way. The improvements to alerts include:

VPN Up/Down Alerts Enhancements: This alerts admins when a VPN link goes up or down. NSM 2.5 allows admins to select the VPN tunnels they want to monitor. The alert will also provide details on which VPN link went down and the reason behind it. This ensures their network’s smooth operation and security, enabling prompt responses to connectivity issues and minimizing user downtime.

WAN Failover Email Detail Enhancements: These alerts ensure that admins are immediately informed of a WAN failover event, allowing for rapid response and mitigation of failed interfaces. NSM 2.5 provides more data about WAN failovers in the email alert. This includes more details on why there was a failover, whether due to a physical interface down or the probe.

Firewall Reboot Alerts: This new alert informs admins when a firewall is rebooted. Firewall reboot alerts are crucial for network admins to ensure the network’s security, stability, and performance. They help admins investigate and mitigate potential security breaches immediately and verify that security policies are re-applied correctly to maintain network security.

WAN Probe Failure Alerts: This new alert informs admins when probes fail due to WAN load balancing or HA firewall failovers. WAN probe failure alerts help identify connectivity problems between different sites or with internet connectivity, allowing admins to address these issues immediately. HA firewall failover alerts are crucial for network admins to ensure critical systems and applications’ resilience, reliability, and performance.

Improved Management and Reporting

Adding user value is one of the themes of NSM 2.5. We’ve made enhancements to reports and templates, assisting users in managing their network security to their preference:

Enhanced Firewall Reporting: Generate Firewall Up-Time Summary Reports to get an on-demand view of your firewall health periodically and when the devices last went offline or online.

Storage Settings in Templates: NSM now supports storage settings in templates, so admins can quickly configure storage settings in templates. This allows them to store system logs, threat logs, packet capture logs, and AppFlow report data in external storage.

Integration with Cloud Secure Edge (Formerly Banyan Security) Connector

One of the most significant features of NSM 2.5 is that it will support Cloud Secure Edge Connector integration, starting with SonicOS 7.1.2, to enable zero-trust network access to private apps hosted behind the firewall. NSM enables this integration on Gen7 firewalls.

To learn more about our new integration with the Cloud Secure Edge Connector, visit this blog.

Network Security Manager 2.5 represents a significant step forward in network security management by offering enhanced alerting, improved usability, and advanced features to help you protect your network more effectively.

Learn more about NSM here or book a live demo today!

Disarming DarkGate: A Deep Dive into Thwarting the Latest DarkGate Variant

The SonicWall RTDMI ™ engine has recently protected users against the distribution of the “6.6” variant of DarkGate malware by a phishing email campaign containing PDF files as an attachment. DarkGate is an advanced Remote Access Trojan that has been widely active since 2018. The RAT has been marketed as Malware-as-a-Service in underground forums, and threat actors are actively updating its code. The malware supports a wide range of features, including (Anti-VM Anti-AV Delay Execution multi-variant support and process hollowing, etc.), which are controlled by flags in the configuration data. This variant of DarkGate RAT supports more than 65 commands from the Command-and-Control server. The SonicWall threat research team has observed a spike in PDF file attachments that lead to the execution of DarkGate malware on the victim’s machine.

PDF

The PDF file disguises itself as an invoice file dated “26 Jun2024” and contains a download button that redirects to a compromised website to download a malicious VBScript file.

Figure 1: PDF file containing download link

VBScript

Function names and variable names in VBScript code are obfuscated, and large comments are added to harden the readability of the code. The malware keeps the malicious compressed data in the comments at the end of the VBScript code. The malware retrieves the compressed data using the regular expression “’\s([0-9A-Fa-f]+)(\r?\n|$)” and extracts files into “C:\Default\Autoit3.exe” and “C:\Default\script.a3x.” The malware executes the compiled AutoIt3 (AU3) script file using the WMIC command “wmic process call create “cmd /c C:\Default\Autoit3.exe C:\Default\script.a3x”” which further continues the execution of the malware.

Figure 2: Obfuscated VBScript code

AU3 Script

After decompiling the script file “script.a3x,” we get the legible AU3 script. It concatenates hexadecimal encoded strings of shellcode bytes, which are followed by the DarkGate loader binary bytes.

Figure 3: AU3 script decryption logic and shellcode

The AU3 script contains encrypted instructions, which are decrypted using a byte XOR operation, and the equivalent C representation of the algorithm is shown below.

Figure 4: C code for AU3 decryption logic

Figure 5: Encrypted command in the AU3 script

After decryption, the below instructions are executed by the AU3 script to transfer control to the shellcode bytes by registering a callback using API EnumWindows.

DllStructCreate(“byte[75613]”) DllCall(“kernel32.dll”, “BOOL”, “VirtualProtect”, “ptr”, DllStructGetPtr($pt), “int”, 75613, “dword”, 0x40, “dword*”, “null) DllStructSetData($pt, 1, $data) DllCall(“user32.dll”, “int”, “EnumWindows”, “ptr”, DllStructGetPtr($pt), “lparam”, 0)

Shellcode

The shellcode does PEB traversal to resolve API addresses using API names hashing. The shellcode enumerates PE headers of the DarkGate loader binary, which is followed by the shellcode bytes to get the address of the entry point. Execution is now transferred to the DarkGate loader entry point, and the 0x20th byte in the DOS header of the loader binary is updated to the value “2” to prevent re-execution of the loader binary in the next callback to the shellcode. The shellcode is registered as a callback function, and the updated value of the 0x20th byte in the DOS header helps to prevent multi-instances execution for the DarkGate loader.

DarkGate Loader

The loader reads the script file and retrieves the encrypted DarkGate bytes using the marker value “GDrdcpJy.” The malware decrypts the DarkGate binary with the key “GDrdcpJy” using the EncryptDecrypt algorithm, which is explained in the malware initialization section. The malware now loads the DarkGate binary in memory and transfers execution control to it.

DarkGate

Malware execution starts with initializing the version value “6.6” for the DarkGate variant. It loads the required DLLs and resolves APIs addresses dynamically at runtime in later stages to harden the analysis. Below is the list of loaded DLLs by the malware.

  • Urlmon.dll
  • user32.dll
  • Advapi32.dll
  • Shell32.dll
  • ntdll.dll

The malware invokes a module which is responsible for the initialization of the key value. This key is used by the malware to encrypt and decrypt data.

Figure 6: DarkGate version initialization

Key Initialization

  • Gets value for “ProductID” from registry entry HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion.
  • Gets value for “ProcessorNameString” from registry entry HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor.
  • Gets hexadecimal encoded Unicode computer name using the API GetComputerNameW.
  • Concatenates values (string “4” + ProductID + ProcessorInfo + ComputerName).
  • Generates a customized MD5 value from the concatenated string.
  • Computes MD5 from the customized MD5 value and performs substitute cipher encoding using the cipher table “abcdefKhABCDEFGH” to get the encoded string.
  • Takes the initial 7 bytes “hbKEHBK” from the encoded string to create a file in %appdata%. If the %appdata% directory is not present on the machine, then the malware creates a file in the “c:\temp” directory.
  • Generates a random string of length 0x14 and computes its MD5 and performs substitute cipher encoding to get the encoded string.
  • The encoded string “GehdKEDaHaDcEbEeDHKAdeKFGDDdAhAd” is written into the file “%appdata%\ hbKEHBK.” The value is read from the file in every next execution of the malware on the same machine to compute the key value, which is used to encrypt and decrypt data.
  • Reads file content from “%appdata%\ hbKEHBK” and generates a customized MD5 value, then gets the key value by computing MD5 and encoding using the substitute cipher method from the customized MD5 value.
  • Saves the key value “fHFeFhhCEhbBKBcfKEAbCBeHFCHFEhFK” into memory.

Figure 7: Key generation process

Whenever we refer to the key to encrypt and decrypt data, we will be referring to this key value saved in the memory. Values mentioned above are specific to the infected system and vary on different systems. These values are mentioned for better understanding and referencing purposes.

Figure 8: Code snippet to get the initial 7 characters for the appdata file name

Test Environment Settings

The malware author has implemented a file-based detection method to detect a testing environment to avoid debugging and modification of the code while testing the malware execution. Malware execution can be disabled by creating a file “c:\temp\test.txt” which forces the malware to terminate after creating a file “c:\temp\test_ok.” The presence of “c:\temp\test.txt” on the machine can also save users from DarkGate infection.

Figure 9: Checks for testing environment

AntiVirus Detection

The malware enumerates the processes and saves the list of process names separated by “|.” It detects the security software based on either the presence of the installation directory or by the presence of the process name related to the security software. If security software is detected, the malware sets the corresponding flag and initializes the name string for that security software. If the malware does not find any security software, then it considers the presence of Windows Defender and initializes the flag and name values accordingly. Flag values are used to alter malware behavior based on the presence of particular security software. A list of security software and their detection methods are mentioned in the below table.

Security Software Detection Methods
Bitdefender Presence of directories: C:\ProgramData\Bitdefender, C:\Program Files\Bitdefender
SentinelOne (EDR) Presence of directory: C:\Program Files\SentinelOne
Avast Presence of directories: C:\ProgramData\AVAST, C:\Program Files\AVAST Software
AVG Presence of directories: C:\ProgramData\AVG, C:\Program Files\AVG
Kaspersky Presence of directories: C:\ProgramData\Kaspersky Lab, C:\Program Files (x86)\Kaspersky Lab
Nod32 Presence of process: |egui
Presence of directory: C:\ProgramData\ESET
Avira Presence of directory: C:\Program Files (x86)\Avira
Norton Presence of processes:|ns.exe, |nis.exe, nortonsecurity.exe
Symantec Presence of process: |smc.exe
Trend Micro Presence of process:  uiseagnt.exe
McAfee Presence of processes: mcshield.exe, mcuicnt.exe
SUPER AntiSpyware Presence of process: superantispyware.exe
MalwareBytes Presence of process: |mbam.exe
Presence of directory: C:\Program Files\Malwarebytes
Comodo Presence of processes: vkise.exe, |cis.exe
ByteFence Presence of process: bytefence.exe
Search & Destroy Presence of process: sdscan.exe
360 Total Security Presence of process: qhsafetray.exe
Total AV Presence of process: totalav.exe
IObit Malware Fighter Presence of directory: C:\Program Files (x86)\IObit
Panda Security Presence of process: psuaservice.exe
Emsisoft Presence of directory: C:\ProgramData\Emsisoft
Quick Heal Presence of directory: C:\Program Files\Quick Heal
F-Secure Presence of directory: C:\Program Files (x86)\F-Secure
Sophos Presence of directory: C:\ProgramData\Sophos
G DATA Presence of directory: C:\ProgramData\G DATA
Windows Defender Absence of any other security software

To prevent false detection of security processes for smaller process names, the malware uses “|” with the process name while searching in the list of running processes. As “|” is used as a separator in the running process names list, it will avoid any match from the middle of the running process name.

Figure 11: Code snippet comparing installation directory for security software

Malware Initialization

The malware decrypts the configuration data from memory with the key “ckcilIcconnh” using an XOR-based algorithm. The malware uses the same algorithm to encrypt and decrypt data but with a different key. We will be referring to this algorithm as the EncryptDecrypt algorithm in further discussion.

Figure 12: EncryptDecrypt algorithm

The decrypted data is a representation of key-value pairs, where keys are integer indexes and values are either “Yes” or “No” flags or can be data used by the malware.

Figure 13: Decrypted configuration data

The malware generates hash-encrypted folder names from corresponding plain text folder names.

Plain text folder name Hashed folder name
Mainfolder Dehffdh
Logsfolder Chhdddd
Settings Ddahcgk
Domain Kkgfbgh

Figure 14: Hash-based folder names

The malware creates the hash-encrypted named mainfolder “dehffdh” in “C:\ProgramData.” Instead of “C:\ProgramData,” the malware uses the directory “C:\” if any of the Avast or AVG security software is present on the victim’s machine. The malware creates other folders and files in the mainfolder.

  • C:\ProgramData\dehffdh\
  • C:\ProgramData\dehffdh\chhdddd\
  • C:\ProgramData\dehffdh\ddahcgk
  • C:\ProgramData\dehffdh\kkgfbgh

Figure 15: Code gets hash-based names from plain folder and file names

The code appends “Domain=<host IP>” and “EPOCH=<current timestamp>” to the configuration data, encrypts it using a stored key with the EncryptDecrypt algorithm, and writes the encrypted data into the settings file located at “C:\ProgramData\dehffdh\ddahcgk.” Additionally, it captures domain information using the command “cmd.exe /cz wmic ComputerSystem get domain” and stores it in the domain file “C:\ProgramData\dehffdh\kkgfbgh.” The code also conceals the main folder if Avast or AVG security software is detected on the machine.

Figure 16: Gets domain information.

Debug Mode Network Communication 

If the malware finds the string “optpad” in the encrypted configuration data, it considers the execution in a debug environment and uses localhost (127.0.0.1) instead of the actual Command and Control (C2) host. This might be done by the malware author to investigate the proper working of the network communication with the malware. The malware also checks for the presence of the directory “c:\debug” to display a debug message with the DarkGate version number.

Figure 17: Debug message with DarkGate version

Configuration Data 

The table shows the key-value pairs of configuration data and its interpretation in the malware code.

Key Type Value Description
0 data 91.222.173.170| C2 host domain
8 flag No Enables display of message box
11 data DarkGate Caption string for message box
12 data R0ijS0qCVITtS0e6xeZ Custom base64 encoded “Hello World!” text for message box
13 data 6 Unreferenced in this variant
14 flag Yes Unreferenced in this variant
15 data 80 C2 port number
1 flag Yes Enables process hollowing, persistence and installation of malware
32 flag No Enables process hollowing depends on flag 1
3 flag Yes Enables anti-VM on display device name
4 flag No Enables anti-VM on hard disk size
18 data 100 Minimum hard disk size
6 flag Yes Enables anti-VM on display device name
7 flag No Enables anti-VM on minimum RAM size
19 data 4095 Minimum RAM size
5 flag No Enables anti-VM check for Xeon processor
21 flag No Unreferenced in this variant
22 flag No Is DLL variant
23 flag Yes Is AU3 variant
31 flag No Is AHK variant
24 data 26sp Unreferenced in this variant
25 data trafikk897612561 Unreferenced in this variant should be campaign ID
26 flag No Unreferenced in this variant
27 data GDrdcpJy Marker and key to decrypt DarkGate binary from script file
28 flag No Unreferenced in this variant
29 data 2 Used in DLL variant for GUP.exe + libcurl.dll
if value is “7” KeyScramblerLogon.exe + KeyScramblerIE.dll
34 flag No Is C2 communication HTTPS
35 flag No Enables keylogging
Table data (.w]IqBUhsgZ LVbE)xH58FRASkj2K6W&… Unreferenced in this variant

Figure 18: Table contains configuration data as key-value pairs

Anti-VM

  1. If flag 5 is “Yes,” the malware gets the value for “ProcessorNameString” from registry entry HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor and checks for the string “xeon” to terminate malware execution.
  2. If flag 3 is “Yes” or flag 6 is “Yes,” the malware checks for the following strings in the display device name to terminate malware execution:
  • microsoft hyper-v video
  • virtual
  • vmware
  • standard vga graphics adapter
  • microsoft basic display adapter

Figure 19: Compares display device name

  1. If flag 7 is “Yes,” the malware retrieves the minimum RAM size value “4095” from field data 19, and if the system RAM size in MB is less than the minimum RAM size required, the malware terminates its execution.
  2. If flag 4 is “Yes,” the malware retrieves the minimum hard disk size value “100” from data 18, and if the system hard disk size in GB is less than the minimum hard disk size required, the malware terminates its execution.

Multi Variant Support

The malware code is written to support three types of variants listed below and behaves accordingly:

  • AutoHotkey variant (flag 31)
  • AutoIt v3 variant (flag 23)
  • DLL variant (flag 22)

This malware variant is an AutoIt V3 (AU3) variant, which is identified by the value “Yes” for flag 31.

Actions Based on Installed AV

  • If any security software from nod32 (ESET), Avast, or AVG is present on the victim’s machine, the malware sets the value for flag 1 and flag 32 to “Yes,” enabling the execution of the malware using process hollowing.
  • If ESET is present, the malware checks for the username “abby” to terminate the malware execution.
  • If SentinalOne or Bitdefender is present, the malware displays a message box containing random text of length 6 using API MessageBoxTimeoutA. However, the message cannot be seen by the user as it has a timeout value of only 2 milliseconds and disappears immediately.

Delay Execution

Malware delays execution for some time if the user is focused on the Process Hacker or Process Monitor window, to avoid malicious activity observation from the user. The malware runs in a 100 milliseconds sleep loop for 40 times in which foreground window text is checked for strings “process hacker” or “process explorer,” and if it does not match, the malware exits from the loop.

Hello Message

If the value of flag 8 is “Yes,” the malware takes the value “DarkGate” from field data 8 as caption and decrypts the value from field data 12 using custom Base64 decoding to use as text for displaying in the message box with a timeout value of 1770 milliseconds.

Figure 20: DarkGate says Hello World!

Malware Installation

If the value of flag 1 is “yes,” the malware retrieves the running executable path and script path from the process arguments to copy them into Autoit3.exe and AU3 script respectively into the main folder in “c:\ProgramData”. The malware decrypts the DarkGate binary with the key value “GDrdcpJy” from field data 27 using the EncryptDecrypt algorithm. The key value also works as a marker to retrieve the encrypted DarkGate bytes from the AU3 script file.

Process Hollowing

If the value of flag 1 and flag 32 is “Yes,” the malware invokes the process hollowing code. If Norton security software is found, the malware finds the process name “Norton.exe” in running processes to load and inject the DarkGate binary. If SentinalOne is present on the victim’s machine, the malware skips process hollowing. If SentinalOne is not present, the malware targets the following files sequentially for process hollowing:

  • C:\Program Files (x86)\Microsoft\EdgeUpdate\substring<updatecore.exe>
  • C:\Program Files (x86)\Microsoft\EdgeUpdate\MicrosoftEdgeUpdate.exe
  • C:\Program Files (x86)\Google\Update\substring<updatecore.exe>
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

If the value of flag 1 is “Yes” and the value of flag 32 is “No,” the malware skips process hollowing and creates a persistence entry by dropping a Windows Shortcut (LNK) file into “%appdata%\Microsoft\Windows\Start Menu\Programs\Startup”. The LNK file launches the AU3 script using Autoit3.exe on Windows startup, which further executes the DarkGate malware from the script file. The malware spawns a thread that keeps looking for foreground windows text and deletes the dropped LNK file if it finds one of the following strings:

  • process hacker
  • process explorer
  • ccleaner
  • system config
  • malwarebytes
  • farbar recovery
  • avast
  • startup
  • rootkit
  • autoruns
  • editor de registro
  • editor del registro
  • registry editor
  • gerenciador de tarefas
  • zhpcleaner
  • task manager
  • junkware removal
  • administrador de tareas
  • hijackthis
  • tcpview
  • process monitor
  • wireshark
  • taskmanager

Prevent Sleeps

Before starting communication with the C2 server, the malware calls API SetThreadExecutionState to prevent the system from sleeping.

Network Communication

The malware collects the following information from the victim’s machine and concatenates them using separator “|”:

  • Hexadecimal encoded Unicode text from active window
  • Last input time
  • Time in seconds from system start
  • Is user admin
  • DarkGate version

Figure 21: Information sent to C2 in plain text

The data is concatenated with the value “1000” and then encrypted using the EncryptDecrypt algorithm mentioned earlier with the key saved in memory. The malware concatenates the key and encrypted data and encodes using custom Base64 encoding. The malware sends the encoded data to the C2 server “91.222.173.170”. If the value of flag 34 is “Yes,” the malware communicates over HTTPS; otherwise, it communicates over HTTP.

Figure 22: Encrypted and encoded information sent to C2

The malware receives the encrypted and custom Base64 encoded data from the C2 server, which can be decoded using custom Base64 and decrypted using the EncryptDecrypt algorithm with the saved key in memory. At the time of analysis, the malware receives response data “1000|2000,” in which “1000” is the command to perform action and “2000” is the additional data used in performing the action which varies based on the command value.

Figure 23: C2 Communication

The malware performs various actions based on the command received from the C2 server. In this variant, the malware supports more than 65 commands, and a few of them are mentioned below.

The malware performs various actions based on the command received from the C2 server. In this variant, the malware supports more than 65 commands, and a few of them are mentioned below.

Command: 1000 (Continue)

Sleeps based on the value from additional data separated by “|” and sends the machine information again to C2.

Command: 1111 (Ransomware)

The malware retrieves the ransom note and ransomware payload bytes from additional data, which are separated by “||--|--||”. The malware drops the ransom note into the directory “C:\temp” and executes the ransomware binary.

Command: 1065 (WebBrowserPassView)

Along with the command, response data contains multiple binary file bytes, separated by “resourcesplit,” which are written into the following files:

  • c:\temp\freebl3.dll
  • c:\temp\mozglue.dll
  • c:\temp\nss3.dll
  • c:\temp\softokn3.dll
  • WebBrowserPassView

The malware executes the WebBrowserPassView to steal and send credentials to the C2 server and then deletes the created files.

Command: 1108 (Launch DLL variant)

Response data contains multiple binary file bytes for the DLL variant of DarkGate, separated by “||--|--||,” which are written and executed from the directory C:\temp using API ShellExecuteA.

  • libcurl.dll
  • test.txt
  • GUP.exe

Command: 1104 (Launch AHK variant)

Response data contains multiple binary file bytes for the AutoHotKey variant of DarkGate, separated by “||--|--||,” which are written and executed from the directory C:\temp using API ShellExecuteA.

  • script.ahk
  • text.txt
  • AutoHotKey.exe

Command: 1097 (Launch AU3 variant)

Response data contains multiple binary file bytes for the AutoHotKey variant of DarkGate, separated by “||--|--||,” which are written and executed from the directory C:\temp using API ShellExecuteA.

  • script.a3x
  • Autoit3.exe

Command: 1084 (Restart)

Restarts the victim’s machine immediately after closing running applications using command “cmd.exe /c shutdown -f -r -t 0”.

Command: 1110 (Enumerate Drives)

Enumerates system drives except CD-ROM.

Command: 1083 (Shutdown)

Shuts down the victim’s machine immediately after closing running applications using command “cmd.exe /c shutdown -f -s -t 0”.

Command: 1082 (Shutdown Display)

The malware runs in an infinite loop to keep shutting down the victim’s display using API SendMessageA by broadcasting message “WM_SYSCOMMAND” and setting SC_MONITORPOWER with the value “2”.

Figure 24: API call to shut down display

Command: 1081 (BSOD)

The malware generates a hard error with the value “0xC0000350” using API NtRaiseHardError, which displays the BSOD (Blue Screen of Death).

Figure 25: Blue Screen of Death

Command: 1071 (FileZilla)

The malware sends the content of the following files from “%appdata%\FileZilla” to the C2 server:

  • recentservers.xml
  • sitemanager.xml

Command: 1059 (Terminate Process)

The malware terminates the process associated with the received process ID.

Unavailability of the PDF file in any of the popular threat intelligence sharing portals like VirusTotal and ReversingLabs at the time of writing this blog indicates its uniqueness and limited distribution.

Figure 26. VT screenshot

Evidence of detection by RTDMI can be seen below in the Capture ATP report for this file:

Figure 27: Capture Report

IOCs 

0a3764e9972dcdd3819f4728038d094a28a1ccff43d7d9e413eab794c9ecbe05 (PDF)
49a46f2ff414ad11b2b623a7dc811002bf78979b5db1fb6f03334fd1fa20f8a6 (VBScript)
83f1fab236357817270f995a6e3e32f90661dad6d625ad1e1f16b06c248da1d1 (AU3 script)
6c8e82b582f55a03277427e757331e5aa53dcf6656785dcb44f2958ef5516863 (DarkGate)

Give a ZTNA Boost to Your SonicWall Firewall

Solving the Private Access Dilemma 

Firewalls are essential to network security, filtering traffic, and keeping bad actors away. With the rise of cloud applications and remote workforce demands, some customers seek a centralized and easy-to-manage option to provide secure access to their private applications.   

SonicWall customers can now leverage Cloud Secure Edge Connector integration within their Next-Generation firewalls (Gen7), enabling Zero Trust Network Access (ZTNA) to their private apps hosted behind the firewall.  With ZTNA you get a granular security approach. This approach ensures that user and device trust are repeatedly verified before granting access to specific applications, regardless of location and endpoint type. 

Perks of Adopting the Solution  

The Cloud Secure Edge Connector to our next-generation firewalls will provide unparalleled security benefits, including:  

Reduced Attack Surface: Organizations can prevent unauthorized access attempts by adopting a zero-trust approach of “Trust No One, Always Verify,” even if a device is breached in the network perimeter. 

Simplified Remote Access: Cloud Secure Edge Connector integration in SonicOS 7.1.2 allows employees to securely access authorized applications from anywhere, on any device, without having to deal with repetitive and complex VPN and Access Policy configurations. With Cloud Secure Edge, all user and device-level access policies are defined in the cloud command center.  

A Better User Experience: Enabling ZTNA has never been easier. Secure access can now be enabled with a few clicks and a simple private resource definition on your SonicWall Firewall. 

Need More Details On the Underlying Tech? 

The Cloud Secure Edge Connector is a dial-out connector that establishes a secure tunnel with the Global Edge Network, another component of the Cloud Secure Edge. The Connector/Firewall can be deployed in any geolocation and connect to your internal services/Private Applications. 

On the SonicWall Firewall, you have a new option to enable the Cloud Secure Edge Connector. This feature enables the end user to access private resources located behind the firewall. To use this feature, the Connector must be configured and connected to the Global Edge Network, also known as POP (point of presence). 

As the firewall snippet below shows, a simple toggle button enables this feature. This one-click, easy solution automatically takes care of all related firewall settings for the user.  

In the screenshot below, a simple toggle button or one click establishes the Cloud Secure Edge connectivity. This one-click solution automatically sets up the Connector association in Cloud Secure Edge. You can then enable the Connector and customize the routes published and resolvable domains in the Connectors tab. The rest of the configuration is all in the Cloud Secure Edge admin console.   

This functionality is also available on firewalls enrolled in Network Security Manager from release 2.5 onwards.  The Cloud Secure Edge Connectivity is enabled with a click of a button. Network Security Manager acts as a centralized firewall manager, allowing management, alerting, and monitoring of the Connector on the firewall per firewall level and allowing bulk configuration via Templates. 

The SonicOS 7.1.2 release is now available for installation on any SonicWall Gen 7 NGFW. Learn more about what makes Gen 7 our most secure, stable, and scalable lineup yet, or reach out to your SonicWall partner or sales rep to upgrade today. 

Microsoft Security Bulletin Coverage for July 2024

Overview

Microsoft’s July 2024 Patch Tuesday has 138 vulnerabilities, 59 of which are Remote Code Execution. The SonicWall Capture Lab’s threat research team has analyzed and addressed Microsoft’s security advisories for the month of July 2024 and has produced coverage for 7 of the reported vulnerabilities.

Vulnerabilities

CVE CVE Title Signature
CVE-2024-38021 Microsoft Office Remote Code Execution Vulnerability IPS 4468 Microsoft Office Remote Code Execution (CVE-2024-38021)
CVE-2024-38052 Kernel Streaming WOW Thunk Service Driver Elevation of Privilege Vulnerability ASPY 6807 Exploit-exe exe.MP_394
CVE-2024-38054 Kernel Streaming WOW Thunk Service Driver Elevation of Privilege Vulnerability ASPY 6824 Exploit-exe exe.MP_395
CVE-2024-38059 Win32k Elevation of Privilege Vulnerability ASPY 6990 Exploit-exe exe.MP_396
CVE-2024-38060 Microsoft Windows Codecs Library Remote Code Execution Vulnerability ASPY 586 Malformed-tif tif.MP_23
CVE-2024-38080 Windows Hyper-V Elevation of Privilege Vulnerability ASPY 587 Exploit-exe exe.MP_398
CVE-2024-38085 Windows Graphics Component Elevation of Privilege Vulnerability ASPY 6991 Exploit-exe exe.MP_397

Release Breakdown

The vulnerabilities can be classified into following categories:

For July there are 5 critical, 132 Important and one moderate vulnerabilities.

2024 Patch Tuesday Monthly Comparison

Microsoft tracks vulnerabilities that are being actively exploited at the time of discovery and those that have been disclosed publicly before the patch Tuesday release for each month. The above chart displays these metrics as seen each month.

Release Detailed Breakdown

Denial of Service Vulnerabilities

CVE-2024-30105 .NET Core and Visual Studio Denial of Service Vulnerability
CVE-2024-35270 Windows iSCSI Service Denial of Service Vulnerability
CVE-2024-38015 Windows Remote Desktop Gateway (RD Gateway) Denial of Service Vulnerability
CVE-2024-38027 Windows Line Printer Daemon Service Denial of Service Vulnerability
CVE-2024-38031 Windows Online Certificate Status Protocol (OCSP) Server Denial of Service Vulnerability
CVE-2024-38048 Windows Network Driver Interface Specification (NDIS) Denial of Service Vulnerability
CVE-2024-38067 Windows Online Certificate Status Protocol (OCSP) Server Denial of Service Vulnerability
CVE-2024-38068 Windows Online Certificate Status Protocol (OCSP) Server Denial of Service Vulnerability
CVE-2024-38071 Windows Remote Desktop Licensing Service Denial of Service Vulnerability
CVE-2024-38072 Windows Remote Desktop Licensing Service Denial of Service Vulnerability
CVE-2024-38073 Windows Remote Desktop Licensing Service Denial of Service Vulnerability
CVE-2024-38091 Microsoft WS-Discovery Denial of Service Vulnerability
CVE-2024-38095 .NET and Visual Studio Denial of Service Vulnerability
CVE-2024-38099 Windows Remote Desktop Licensing Service Denial of Service Vulnerability
CVE-2024-38101 Windows Layer-2 Bridge Network Driver Denial of Service Vulnerability
CVE-2024-38102 Windows Layer-2 Bridge Network Driver Denial of Service Vulnerability
CVE-2024-38105 Windows Layer-2 Bridge Network Driver Denial of Service Vulnerability

Elevation of Privilege Vulnerabilities

CVE-2024-21417 Windows Text Services Framework Elevation of Privilege Vulnerability
CVE-2024-30079 Windows Remote Access Connection Manager Elevation of Privilege Vulnerability
CVE-2024-35261 Azure Network Watcher VM Extension Elevation of Privilege Vulnerability
CVE-2024-38013 Microsoft Windows Server Backup Elevation of Privilege Vulnerability
CVE-2024-38022 Windows Image Acquisition Elevation of Privilege Vulnerability
CVE-2024-38033 PowerShell Elevation of Privilege Vulnerability
CVE-2024-38034 Windows Filtering Platform Elevation of Privilege Vulnerability
CVE-2024-38043 PowerShell Elevation of Privilege Vulnerability
CVE-2024-38047 PowerShell Elevation of Privilege Vulnerability
CVE-2024-38050 Windows Workstation Service Elevation of Privilege Vulnerability
CVE-2024-38052 Kernel Streaming WOW Thunk Service Driver Elevation of Privilege Vulnerability
CVE-2024-38054 Kernel Streaming WOW Thunk Service Driver Elevation of Privilege Vulnerability
CVE-2024-38057 Kernel Streaming WOW Thunk Service Driver Elevation of Privilege Vulnerability
CVE-2024-38059 Win32k Elevation of Privilege Vulnerability
CVE-2024-38061 DCOM Remote Cross-Session Activation Elevation of Privilege Vulnerability
CVE-2024-38062 Windows Kernel-Mode Driver Elevation of Privilege Vulnerability
CVE-2024-38066 Windows Win32k Elevation of Privilege Vulnerability
CVE-2024-38079 Windows Graphics Component Elevation of Privilege Vulnerability
CVE-2024-38080 Windows Hyper-V Elevation of Privilege Vulnerability
CVE-2024-38081 .NET, .NET Framework, and Visual Studio Elevation of Privilege Vulnerability
CVE-2024-38085 Windows Graphics Component Elevation of Privilege Vulnerability
CVE-2024-38089 Microsoft Defender for IoT Elevation of Privilege Vulnerability
CVE-2024-38092 Azure CycleCloud Elevation of Privilege Vulnerability
CVE-2024-38100 Windows File Explorer Elevation of Privilege Vulnerability

Information Disclosure Vulnerabilities

CVE-2024-30061 Microsoft Dynamics 365 (On-Premises) Information Disclosure Vulnerability
CVE-2024-30071 Windows Remote Access Connection Manager Information Disclosure Vulnerability
CVE-2024-32987 Microsoft SharePoint Server Information Disclosure Vulnerability
CVE-2024-38017 Microsoft Message Queuing Information Disclosure Vulnerability
CVE-2024-38041 Windows Kernel Information Disclosure Vulnerability
CVE-2024-38055 Microsoft Windows Codecs Library Information Disclosure Vulnerability
CVE-2024-38056 Microsoft Windows Codecs Library Information Disclosure Vulnerability
CVE-2024-38064 Windows TCP/IP Information Disclosure Vulnerability

Remote Code Execution Vulnerabilities 

CVE-2024-20701 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21303 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21308 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21317 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21331 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21332 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21333 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21335 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21373 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21398 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21414 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21415 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21425 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21428 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-21449 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-28928 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-30013 Windows MultiPoint Services Remote Code Execution Vulnerability
CVE-2024-35256 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-35264 .NET and Visual Studio Remote Code Execution Vulnerability
CVE-2024-35271 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-35272 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37318 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37319 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37320 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37321 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37322 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37323 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37324 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37326 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37327 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37328 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37329 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37330 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37331 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37332 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37333 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-37334 Microsoft OLE DB Driver for SQL Server Remote Code Execution Vulnerability
CVE-2024-37336 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-38019 Microsoft Windows Performance Data Helper Library Remote Code Execution Vulnerability
CVE-2024-38021 Microsoft Office Remote Code Execution Vulnerability
CVE-2024-38023 Microsoft SharePoint Server Remote Code Execution Vulnerability
CVE-2024-38024 Microsoft SharePoint Server Remote Code Execution Vulnerability
CVE-2024-38025 Microsoft Windows Performance Data Helper Library Remote Code Execution Vulnerability
CVE-2024-38028 Microsoft Windows Performance Data Helper Library Remote Code Execution Vulnerability
CVE-2024-38032 Microsoft Xbox Remote Code Execution Vulnerability
CVE-2024-38044 DHCP Server Service Remote Code Execution Vulnerability
CVE-2024-38049 Windows Distributed Transaction Coordinator Remote Code Execution Vulnerability
CVE-2024-38051 Windows Graphics Component Remote Code Execution Vulnerability
CVE-2024-38053 Windows Layer-2 Bridge Network Driver Remote Code Execution Vulnerability
CVE-2024-38060 Microsoft Windows Codecs Library Remote Code Execution Vulnerability
CVE-2024-38074 Windows Remote Desktop Licensing Service Remote Code Execution Vulnerability
CVE-2024-38076 Windows Remote Desktop Licensing Service Remote Code Execution Vulnerability
CVE-2024-38077 Windows Remote Desktop Licensing Service Remote Code Execution Vulnerability
CVE-2024-38078 Xbox Wireless Adapter Remote Code Execution Vulnerability
CVE-2024-38086 Azure Kinect SDK Remote Code Execution Vulnerability
CVE-2024-38087 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-38088 SQL Server Native Client OLE DB Provider Remote Code Execution Vulnerability
CVE-2024-38094 Microsoft SharePoint Remote Code Execution Vulnerability
CVE-2024-38104 Windows Fax Service Remote Code Execution Vulnerability

Security Feature Bypass Vulnerabilities 

CVE-2024-26184 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-28899 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-30098 Windows Cryptographic Services Security Feature Bypass Vulnerability
CVE-2024-37969 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37970 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37971 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37972 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37973 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37974 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37975 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37977 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37978 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37981 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37984 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37986 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37987 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37988 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-37989 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-38010 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-38011 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-38058 BitLocker Security Feature Bypass Vulnerability
CVE-2024-38065 Secure Boot Security Feature Bypass Vulnerability
CVE-2024-38069 Windows Enroll Engine Security Feature Bypass Vulnerability
CVE-2024-38070 Windows LockDown Policy (WLDP) Security Feature Bypass Vulnerability

Spoofing Vulnerabilities 

CVE-2024-30081 Windows NTLM Spoofing Vulnerability
CVE-2024-35266 Azure DevOps Server Spoofing Vulnerability
CVE-2024-35267 Azure DevOps Server Spoofing Vulnerability
CVE-2024-38020 Microsoft Outlook Spoofing Vulnerability
CVE-2024-38030 Windows Themes Spoofing Vulnerability
CVE-2024-38112 Windows MSHTML Platform Spoofing Vulnerability

Adobe Commerce Unauthorized XXE Vulnerability

Overview

The SonicWall Capture Labs threat research team became aware of an XML External Entity Reference vulnerability affecting Adobe Commerce and Magento Open Source. It is identified as CVE-2024-34102 and given a critical CVSSv3 score of 9.8. Labeled as an Improper Restriction of XML External Entity Reference (‘XXE’) vulnerability and categorized as CWE-611, this vulnerability allows an attacker unauthorized access to private files, such as those containing passwords. Successful exploitation could lead to arbitrary code execution, security feature bypass, and privilege escalation.

A proof of concept is publicly available on GitHub. Adobe Commerce versions 2.4.7, 2.4.6-p5, 2.4.5-p7, 2.4.4-p8, and earlier and Magento Open-Source versions 2.4.7, 2.4.6-p5, 2.4.5-p7, 2.4.4-p8, and earlier are vulnerable. Although Magento Open Source is popular mainly for dev environments, according to Shodan and FOFA, up to 50k exposed Adobe Commerce with Magento template are running.

Technical Overview

Magento (Adobe Commerce) is a built-in PHP platform that helps programmers create eCommerce websites and sell online. It is an HTTP PHP server application. Such applications usually have two global entry points: the User Interface and the API. Magento uses REST API, GraphQL, and SOAP.

Attackers can leverage this vulnerability to gain unauthorized admin access to REST API, GraphQL API, or SOAP API, leading to the disclosure of confidential data, denial of service, server-side request forgery (SSRF), port scanning from the perspective of the machine where the parser is located, and complete compromise of affected systems. This vulnerability poses a significant risk due to its ability to exfiltrate sensitive files, such as app/etc/env.php, containing cryptographic keys used for authentication, as shown in Figure 1. This key is generated during Magento 2 installation process. Unauthenticated actors can utilize this key to forge administrator tokens and manipulate Magento’s APIs as privileged users.

Figure 1: app/etc/env.php

The vulnerability is due to improper handling of nested deserialization in Adobe Commerce and Magento. This allows attackers to exploit XML External Entities (XXE) during deserialization, potentially allowing remote code execution. Unauthorized attackers can craft malicious JSON payloads that represent objects with unintended properties or behaviors when deserialized by the application.

Triggering the Vulnerability

XML External Entities (XXE) attack technique takes advantage of XML’s feature of dynamically building documents during processing. An XML message can provide data explicitly or point to a URI where the data exists. In the attack technique, external entities may replace the entity value with malicious data, alternate referrals, or compromise the security of the data the server/XML application has access to.

In the example below, the attacker takes advantage of an XML Parser’s local server access privileges to compromise local data:

  • The sample application expects XML input with a parameter called “username.” This parameter is later embedded in the application’s output.
  • The application typically invokes an XML parser to parse the XML input.
  • The XML parser expands the entity “test” into its full text from the entity definition provided in the URL. Here, the actual attack takes place.
  • The application embeds the input (parameter “username,” which contains the file) in the web service response.
  • The web service echoes back the data.

Attackers may also use External Entities to have the web services server download malicious code or content to the server for use in secondary or follow-on attacks. Other examples wherein sensitive files can be disclosed are shown in Figure 2.

Figure 2: Disclosing targeted files.

Exploiting the Vulnerability

A crafted POST request to a vulnerable Adobe instance with an enabled Magento template is the necessary and sufficient condition to exploit the issue. An attacker only needs to be able to access the instance remotely, which could be over the Internet or a local network. A working PoC with a crafted POST query aids in exploiting this vulnerability. Figure 4 shows a demonstration of exploitation leveraging the publicly available PoC.

Exploiting CVE-2024-34102, steps are enumerated below, which will exfiltrate the contents of the system’s password file from the target server.

  • Create a DTD file (dtd.xml) on the attacker’s machine. This file includes entities that will read and encode the system’s password file, then send it to your endpoint.
  • Host the dtd.xml file on the attacker’s machine, accessible via HTTP on a random port.
  • Send the malicious payload via a sample curl request to the vulnerable Magento instance, as shown in Figure 3. The payload includes a specially crafted XML payload referencing the DTD file hosted on the attacker’s machine.
  • The XML parser in Magento will process the DTD file, triggering the exfiltration of the system’s password file as shown in Figure 4.
  • Lastly, observe your endpoint to capture and decode the exfiltrated data.

Figure 3: CVE-2024-34102 attack request

Figure 4: CVE-2024-34102 Exploitation

Out of the 50k exposed Magento instances in the wild, multiple events were observed wherein attackers leveraged this vulnerability, as only 25% of instances have been updated since the vulnerability was exploited in the wild. According to Sansec analysis, CVE-2024-34102 can be chained with other vulnerabilities, such as the PHP filter chains exploit (CVE-2024-2961), leading to remote code execution (RCE).

SonicWall Protections

To ensure SonicWall customers are prepared for any exploitation that may occur due to this vulnerability, the following signatures have been released:

  • IPS: 4462 – Adobe Commerce XXE Injection

Remediation Recommendations

Considering the severe consequences of this vulnerability and the trend of nefarious activists trying to leverage the exploit in the wild, users are strongly encouraged to upgrade their instances, according to Adobe advisory, to address the vulnerability.

Relevant Links