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
Newest First  |  Oldest First  |  Threaded View
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"?
Crowdsourced vs. Traditional Pen Testing
Alex Haynes, Chief Information Security Officer, CDL,  3/19/2019
BEC Scammer Pleads Guilty
Dark Reading Staff 3/20/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Current Issue
5 Emerging Cyber Threats to Watch for in 2019
Online attackers are constantly developing new, innovative ways to break into the enterprise. This Dark Reading Tech Digest gives an in-depth look at five emerging attack trends and exploits your security team should look out for, along with helpful recommendations on how you can prevent your organization from falling victim.
Flash Poll
The State of Cyber Security Incident Response
The State of Cyber Security Incident Response
Organizations are responding to new threats with new processes for detecting and mitigating them. Here's a look at how the discipline of incident response is evolving.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-7715
PUBLISHED: 2019-03-26
An issue was discovered in the Interpeak IPCOMShell TELNET server on Green Hills INTEGRITY RTOS 5.0.4. The main shell handler function uses the value of the environment variable ipcom.shell.greeting as the first argument to printf(). Setting this variable using the sysvar command results in a user-c...
CVE-2019-8981
PUBLISHED: 2019-03-26
tls1.c in Cameron Hamilton-Rich axTLS before 2.1.5 has a Buffer Overflow via a crafted sequence of TLS packets because the need_bytes value is mismanaged.
CVE-2019-10061
PUBLISHED: 2019-03-26
utils/find-opencv.js in node-opencv (aka OpenCV bindings for Node.js) prior to 6.1.0 is vulnerable to Command Injection. It does not validate user input allowing attackers to execute arbitrary commands.
CVE-2019-7711
PUBLISHED: 2019-03-26
An issue was discovered in the Interpeak IPCOMShell TELNET server on Green Hills INTEGRITY RTOS 5.0.4. The undocumented shell command "prompt" sets the (user controlled) shell's prompt value, which is used as a format string input to printf, resulting in an information leak of memory addre...
CVE-2019-7712
PUBLISHED: 2019-03-26
An issue was discovered in handler_ipcom_shell_pwd in the Interpeak IPCOMShell TELNET server on Green Hills INTEGRITY RTOS 5.0.4. When using the pwd command, the current working directory path is used as the first argument to printf() without a proper check. An attacker may thus forge a path contain...