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"?
Why Cybersecurity Must Be an International Effort
Kelly Sheridan, Associate Editor, Dark Reading,  12/6/2017
NIST Releases New Cybersecurity Framework Draft
Jai Vijayan, Freelance writer,  12/6/2017
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win a Starbucks Card! Click Here
Latest Comment: This comment is waiting for review by our moderators.
Current Issue
The Year in Security: 2017
A look at the biggest news stories (so far) of 2017 that shaped the cybersecurity landscape -- from Russian hacking, ransomware's coming-out party, and voting machine vulnerabilities to the massive data breach of credit-monitoring firm Equifax.
Flash Poll
The State of Ransomware
The State of Ransomware
Ransomware has become one of the most prevalent new cybersecurity threats faced by today's enterprises. This new report from Dark Reading includes feedback from IT and IT security professionals about their organization's ransomware experiences, defense plans, and malware challenges. Find out what they had to say!
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2017-0290
Published: 2017-05-09
NScript in mpengine in Microsoft Malware Protection Engine with Engine Version before 1.1.13704.0, as used in Windows Defender and other products, allows remote attackers to execute arbitrary code or cause a denial of service (type confusion and application crash) via crafted JavaScript code within ...

CVE-2016-10369
Published: 2017-05-08
unixsocket.c in lxterminal through 0.3.0 insecurely uses /tmp for a socket file, allowing a local user to cause a denial of service (preventing terminal launch), or possibly have other impact (bypassing terminal access control).

CVE-2016-8202
Published: 2017-05-08
A privilege escalation vulnerability in Brocade Fibre Channel SAN products running Brocade Fabric OS (FOS) releases earlier than v7.4.1d and v8.0.1b could allow an authenticated attacker to elevate the privileges of user accounts accessing the system via command line interface. With affected version...

CVE-2016-8209
Published: 2017-05-08
Improper checks for unusual or exceptional conditions in Brocade NetIron 05.8.00 and later releases up to and including 06.1.00, when the Management Module is continuously scanned on port 22, may allow attackers to cause a denial of service (crash and reload) of the management module.

CVE-2017-0890
Published: 2017-05-08
Nextcloud Server before 11.0.3 is vulnerable to an inadequate escaping leading to a XSS vulnerability in the search module. To be exploitable a user has to write or paste malicious content into the search dialogue.