Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Vulnerabilities / Threats

10/27/2016
05:35 PM
Connect Directly
Twitter
LinkedIn
RSS
E-Mail
50%
50%

'AtomBombing' Microsoft Windows Via Code Injection

Researchers have identified a new way to inject malicious code into Windows systems -- and it doesn't exploit a vulnerability.

Security researchers at enSilo have demonstrated a new way for attackers to inject malicious code into practically any Windows system in a manner that is undetectable to existing anti-malware tools.

The method, which enSilo calls "AtomBombing," takes advantage of an underlying mechanism in the Windows operating system called atom tables. There is no way to patch against this code-injection method since it does not rely on any vulnerability, enSilo said in an alert this week.

"AtomBombing affects all Windows versions," Tal Liberman, an enSilo security researcher, said in the alert. "Since the issue cannot be fixed, there is no notion of a patch for this."

Code injection is a technique that attackers often use to execute malicious code by inserting it into a legitimate application or process. The Open Web Application Security Project (OWASP) describes it as an attack that is typically made possible because of a failure by the application or process to properly validate input and output data, like allowed characters, data format, and amount of expected data.

As Liberman noted, attackers often use code-injection when they want to bypass process level restrictions or for doing things like accessing encrypted passwords and man-in-the-middle attacks.

enSilo's AtomBombing attack involves the injection of malicious code into the so-called atom tables that are present in all versions of Windows. The tables allow Windows applications to store, share, and access certain data in the form of strings and associated identifiers.

In researching new code injection techniques for Windows, enSilo researchers discovered a way that attackers could use to write malicious code into an atom table and force applications using the table to retrieve and execute the code.

"This is the first code injection technique that is based on atom tables," Liberman told Dark Reading.

The technique leverages Windows atom tables that allow communication between processes. 

"The code then is not injected into the atom table, rather to a target process through the usage of atom tables," he says. "Once the code has been injected into a process, the attackers can do as they please as though the code was loaded legitimately by the target process."

The oldest version of Windows that uses atom tables is Windows 2000, so the issue dates back to 2000, Liberman says.

An attacker that gains access to a Windows machine can easily use AtomBombing to inject code to any process that has equal privileges. But it is not a privilege-escalation attack, meaning it cannot be used to inject an administrative account from a non-administrative one, he says.

Black Hat Europe 2016 is coming to London's Business Design Centre November 1 through 4. Click for information on the briefing schedule and to register.

 

"What we need to remember is that this method is useful not only during the initial infection," Liberman notes.

An attacker could use AtomBombing to inject code into Internet Explorer. Or to take a screenshot, he could employ AtomBombing to inject code into an explorer.exe. To steal passwords, an attacker could use the attack to inject code into chrome.exe, he says.

"This code-injection technique is not dependent on a vulnerability in Microsoft. Rather, it leverages legitimate building blocks of Windows," he says.

Chris Eng, vice president of research at application security firm Veracode, says this attack technique represents another example of how even well-designed applications can be tricked into performing actions not intended by their developers via code injection.

"New technologies are coming into the scene to actually watch what's happing inside the application and prevent the success of those sorts of attacks," Eng says.

Related Content:

 

Jai Vijayan is a seasoned technology reporter with over 20 years of experience in IT trade journalism. He was most recently a Senior Editor at Computerworld, where he covered information security and data privacy issues for the publication. Over the course of his 20-year ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Threaded  |  Newest First  |  Oldest First
Nexusfactor
50%
50%
Nexusfactor,
User Rank: Apprentice
11/7/2016 | 12:23:57 PM
Encryption Should Be Changed to Hash?
I'm in no way an expert on this, but in the article is says "like accessing encrypted passwords and man-in-the-middle attacks". Shouldn't it be "like accessing hashed passwords and man-in-the-middle attacks"?
Sodinokibi Ransomware: Where Attackers' Money Goes
Kelly Sheridan, Staff Editor, Dark Reading,  10/15/2019
Data Privacy Protections for the Most Vulnerable -- Children
Dimitri Sirota, Founder & CEO of BigID,  10/17/2019
State of SMB Insecurity by the Numbers
Ericka Chickowski, Contributing Writer,  10/17/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
7 Threats & Disruptive Forces Changing the Face of Cybersecurity
This Dark Reading Tech Digest gives an in-depth look at the biggest emerging threats and disruptive forces that are changing the face of cybersecurity today.
Flash Poll
2019 Online Malware and Threats
2019 Online Malware and Threats
As cyberattacks become more frequent and more sophisticated, enterprise security teams are under unprecedented pressure to respond. Is your organization ready?
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-16404
PUBLISHED: 2019-10-21
Authenticated SQL Injection in interface/forms/eye_mag/js/eye_base.php in OpenEMR through 5.0.2 allows a user to extract arbitrary data from the openemr database via a non-parameterized INSERT INTO statement, as demonstrated by the providerID parameter.
CVE-2019-17400
PUBLISHED: 2019-10-21
The unoconv package before 0.9 mishandles untrusted pathnames, leading to SSRF and local file inclusion.
CVE-2019-17498
PUBLISHED: 2019-10-21
In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted SSH server may be able to disclose sensitive information or cause a ...
CVE-2019-16969
PUBLISHED: 2019-10-21
In FusionPBX up to 4.5.7, the file app\fifo_list\fifo_interactive.php uses an unsanitized "c" variable coming from the URL, which is reflected in HTML, leading to XSS.
CVE-2019-16974
PUBLISHED: 2019-10-21
In FusionPBX up to 4.5.7, the file app\contacts\contact_times.php uses an unsanitized "id" variable coming from the URL, which is reflected in HTML, leading to XSS.