Article Details

Original Article Text

Click to Toggle View

Something nasty injected login-stealing JavaScript into 50K online banking sessions. Why keeping your PC secure and free of malware remains paramount. IBM Security has dissected some JavaScript code that was injected into people's online banking pages to steal their login credentials, saying 50,000 user sessions with more than 40 banks worldwide were compromised by the malicious software in 2023. Judging by the evidence to hand, it appears the Windows malware DanaBot, or something related or connected to it, infects victims' PCs – typically from spam emails and other means – and then waits for the user to visit their bank website. At that point, the malware kicks in and injects JavaScript into the login page. This injected code executes on the page in the browser, and intercepts the victim's credentials as they are entered, which can be passed to fraudsters to exploit to drain accounts. The code has been spotted attacking customers of dozens of financial orgs in North America, South America, Europe, and Japan, IBM's Tal Langus reported this week. The miscreants behind this caper bought the domain names used by the JavaScript code in December 2022, and started their web injection campaign shortly after. We're told the credential stealing continues to this day. The JS targets a webpage structure that multiple banks use for their sites, and it sounds as though it can harvest multi-factor authentication tokens, too, from marks. When the requested banking page "contains a certain keyword and a login button with a specific ID present, new malicious content is injected," Langus explained. "Credential theft is executed by adding event listeners to this button, with an option to steal a one-time password (OTP) token with it." The script is fairly smart: it communicates with a remote command-and-control (C2) server, and removes itself from the DOM tree – deletes itself from the login page, basically – once it's done its thing, which makes it tricky to detect and analyze. The malware can perform a series of nefarious actions, and these are based on an "mlink" flag the C2 sends. In total, there are nine different actions that the malware can perform depending on the "mlink" value, we're told.  These include injecting a prompt for the user's phone number or two-factor authentication token, which the miscreants can use with the intercepted username and password to access the victim's bank account and steal their cash. The script can also inject an error message on the login page that says the banking services are unavailable for 12 hours. "This tactic aims to discourage the victim from attempting to access their account, providing the threat actor with an opportunity to perform uninterrupted actions," Langus said. Other actions include injecting a page loading overlay as well as scrubbing any injected content from the page.  "This sophisticated threat showcases advanced capabilities, particularly in executing man-in-the-browser attacks with its dynamic communication, web injection methods and the ability to adapt based on server instructions and current page state," Langus warned. "The malware represents a significant danger to the security of financial institutions and their customers." He also urged banking customers to "practice vigilance" with their banking apps. This includes using (and not re-using) strong passwords, not downloading software from unknown sources, and reporting any odd behavior to the banks. See the above-linked write-up for more technical info and some indicators of compromise, if you want to look out for this particular software nasty. PS: AT&T Alien Labs this week drilled into information-stealing malware dubbed JaskaGO, which is written in Go and said to pose "a severe threat to both Windows and macOS operating systems." The code uses multiple techniques to persist on an infected computer, and can siphon data including login credentials stored by browsers and attack cryptocurrency wallets. The telco also shared indicators of compromise if you want to seek and destroy that malware.

Daily Brief Summary

MALWARE // Malicious JavaScript Hijacks 50K Bank Logins Worldwide

IBM Security identified a JavaScript code injected into online banking sessions that stole login credentials, affecting 50,000 users at over 40 banks globally.

The malware, believed to be related to DanaBot, enters via victims' PCs, often through spam emails, and becomes active when users access their bank's website.

The script is sophisticated, with the ability to intercept multi-factor authentication tokens and communicate with a command-and-control server for specific actions.

Attackers can manipulate user interactions by prompting for additional credentials such as phone numbers or two-factor tokens, and inject fake error messages or overlays to hinder user access.

Threat actors used domain names purchased in December 2022 for the web injection campaign, which continues to surreptitiously harvest banking credentials.

IBM emphasizes the importance of robust cybersecurity practices for banking customers, including strong, unique passwords and caution when downloading software.

Additional malware dubbed JaskaGO also poses a threat to Windows and macOS by stealing data and targeting cryptocurrency wallets, with AT&T Alien Labs providing indicators of compromise.