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
'Hidden Tunnels' Help Hackers Launch Financial Services Attacks
Kelly Sheridan, Staff Editor, Dark Reading,  6/20/2018
Tesla Employee Steals, Sabotages Company Data
Jai Vijayan, Freelance writer,  6/19/2018
Inside a SamSam Ransomware Attack
Ajit Sancheti, CEO and Co-Founder, Preempt,  6/20/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-12538
PUBLISHED: 2018-06-22
In Eclipse Jetty versions 9.4.0 through 9.4.8, when using the optional Jetty provided FileSessionDataStore for persistent storage of HttpSession details, it is possible for a malicious user to access/hijack other HttpSessions and even delete unmatched HttpSessions present in the FileSystem's storage...
CVE-2018-12684
PUBLISHED: 2018-06-22
Out-of-bounds Read in the send_ssi_file function in civetweb.c in CivetWeb through 1.10 allows attackers to cause a Denial of Service or Information Disclosure via a crafted SSI file.
CVE-2018-12687
PUBLISHED: 2018-06-22
tinyexr 0.9.5 has an assertion failure in DecodePixelData in tinyexr.h.
CVE-2018-12688
PUBLISHED: 2018-06-22
tinyexr 0.9.5 has a segmentation fault in the wav2Decode function.
CVE-2018-10002
PUBLISHED: 2018-06-22
ruby-ffi version 1.9.23 and earlier has a DLL loading issue which can be hijacked on Windows OS, when a Symbol is used as DLL name instead of a String This vulnerability appears to have been fixed in v1.9.24 and later.