Vulnerabilities / Threats

6/22/2017
06:05 PM
Connect Directly
Twitter
LinkedIn
RSS
E-Mail
50%
50%

'GhostHook' Foils Windows 10 64-bit's Kernel Protection

Microsoft says an attacker needs kernel-level access before they can use the 'GhostHook' technique to install a rootkit.

Microsoft's PatchGuard kernel patch protection technology has played a big part in preventing attackers from installing rootkits on systems running Windows 10 64-bit; at least so far. But now, security researchers from CyberArk Labs say they have found a way to bypass PatchGuard protections and gain rootkit abilities on systems running Windows x64 operating systems.

The technique, which the researchers have dubbed GhostHook, involves a weakness in Microsoft’s implementation of Intel Processor Trace (Intel PT), a technology used primarily for performance monitoring, malware analysis, fuzzing, debugging, and exploit detection.

The weakness exists specifically at the point where Intel PT talks to Windows, says CyberArk researcher Kasif Dekel. It gives threat actors a way to "hook" or intercept any piece of code running on the machine and gain control over the way it behaves.

Hooking is neither an exploit technique nor an escalation of privilege approach, Dekel noted separately in a blog. Many software products, including application security tools, system utilities, and software extensions, incorporate the technique. When used in a malicious context, hooking allows threat actors to, among other things, plant rootkits on systems where the attacker already has control over the asset.

GhostHook is the first known technique that gives attackers the ability to use hooking to gain complete control over 64-bit Windows systems at the kernel level. It gives attackers a way to gain access to a Windows system in a manner that is virtually undetectable by anti-malware tools, host intrusion prevention systems, personal firewalls, next-gen endpoint products and any tool that relies on information from the kernel.

Microsoft did not immediately respond to a Dark Reading request for comment on CyberArk's discovery, or of its claims about being able to gain complete kernel-level access on 64-bit Windows systems.

But in a response to CyberArk—which Dekel included in his alert—a member of Microsoft's engineering team said the company's analysis showed that attackers would already need to be running kernel code on the system in order to be able to use GhostHook. 

"As such, this doesn’t meet the bar for servicing in a security update however it may be addressed in a future version of Windows. As such I’ve closed this case," the engineer's response noted.

Dekel though says that the attacker only needs to gain local admin rights on a machine to exploit the technique. "Gaining this level of access is table stakes for attackers, typically accomplished through simple phishing emails," he says. "This technique is about moving beyond admin rights and exploiting the machine at the kernel level. Attackers would be able to gain full control over the network and gain the ability to intercept anything on a system." GhostHook allows attackers to bypass security layers that were specifically designed to combat malware with administrative rights on a system, he says.

For the moment at least there is no evidence that the technique is being actively used to attacks Windows 10 systems. But the skills needed to pull an attack off using the GhostHook technique is well within the capabilities of nation-state actors, especially those who have already proven the ability to craft 64-bit malware like the disk erasing Shamoon.

"We believe that if attackers were able to execute ransomware through this technique, the results would be devastating," Dekel said. "Today’s ransomware works in user mode because of PatchGuard. If they were able to execute this code behind PatchGuard, it would [have a] catastrophic effect."

Mitigating the threat will require Microsoft to implement fixes in several places in the Intel PT feature. The company will also need to add PatchGuard protection to Intel's PT module, says Dekel.

"Third-party players should take in consideration that information coming from kernel modules are not always reliable," Dekel says. "They should gather the same information from various APIs and different locations in order to verify the integrity of it."

Black Hat USA returns to the fabulous Mandalay Bay in Las Vegas, Nevada, July 22-27, 2017. Click for information on the conference schedule and to register.

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
6 Ways Greed Has a Negative Effect on Cybersecurity
Joshua Goldfarb, Co-founder & Chief Product Officer, IDRRA ,  6/11/2018
Weaponizing IPv6 to Bypass IPv4 Security
John Anderson, Principal Security Consultant, Trustwave Spiderlabs,  6/12/2018
'Shift Left' & the Connected Car
Rohit Sethi, COO of Security Compass,  6/12/2018
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2018-12026
PUBLISHED: 2018-06-17
During the spawning of a malicious Passenger-managed application, SpawningKit in Phusion Passenger 5.3.x before 5.3.2 allows such applications to replace key files or directories in the spawning communication directory with symlinks. This then could result in arbitrary reads and writes, which in tur...
CVE-2018-12027
PUBLISHED: 2018-06-17
An Insecure Permissions vulnerability in SpawningKit in Phusion Passenger 5.3.x before 5.3.2 causes information disclosure in the following situation: given a Passenger-spawned application process that reports that it listens on a certain Unix domain socket, if any of the parent directories of said ...
CVE-2018-12028
PUBLISHED: 2018-06-17
An Incorrect Access Control vulnerability in SpawningKit in Phusion Passenger 5.3.x before 5.3.2 allows a Passenger-managed malicious application, upon spawning a child process, to report an arbitrary different PID back to Passenger's process manager. If the malicious application then generates an e...
CVE-2018-12029
PUBLISHED: 2018-06-17
A race condition in the nginx module in Phusion Passenger 3.x through 5.x before 5.3.2 allows local escalation of privileges when a non-standard passenger_instance_registry_dir with insufficiently strict permissions is configured. Replacing a file with a symlink after the file was created, but befor...
CVE-2018-12071
PUBLISHED: 2018-06-17
A Session Fixation issue exists in CodeIgniter before 3.1.9 because session.use_strict_mode in the Session Library was mishandled.