Raising The White Flag
:: Bypassing Application White Listing
– Curt Shaffer and Chris Cuevas
NOTE: The video of this talk has now been made available over at the ShmooCon website.
More and more people are seeing application whitelisting in their environments. Despite what marketing people say, these solutions don’t stop APT and other advanced threats. This talk is designed to shine a light on the issues with whitelisting.
Whitelisting is often touted as a replacement for AV. Despite the fact that something better than AV is needed, application whitelisting isn’t the solution. Their purpose seems good, for the execution is lacking. Things are headed in the right direction, but using simple bypass techniques it’s possible to bypass these whitelisting protections.
The following application whitelisting tools were tested.
- Bit9 Parity 6.0.0
- McAfee Application Protection
- Microsoft Applocker
- Windows File Protection
- File Naming Fun
- Iexpress packagng
- Java Exploits/Malware
- Flash Exploits/Malware
- Adobe Exploits/Malware
- Raw Shellcode
Some other things were excluded due to time constraints (including HTML5, CD-ROM ISO masquerading, Digitally Signed Malware).
Bypassing Techniques Attempted
- PDF attacks
- Office documents
- Inject shellcode into memory
- BeEF hook
- Firefox Extension
- Run script by piping into powershell.exe
- DLL Injection
- Shellcode injection
- Chrome Extension
This is all know. We’ve been pissing on AV for a long time. Time to piss on whitelisting as well.
Most things worked, except Windows File Protection and Iexpress.
Inconsistent results with Windows File Protection, and again Iexpress failed. However everything else works.
Injecting BeEF into a browser process
Windows Help Files
Compiled HTML, but needs a degree of social engineering to get people to click
Can run cmd.exe and game over
Lots of work in this area by Didier Stevens
Powershell code injection into any 32bit or 64 bit
Get between the client and server
ARP spoof, iptables redirect
It’s HTTPS, but it doesn’t check the cert
Enables you to drop level from enforce blocks to only alert
Abilty to inject code into the actual whitelisting exe (in this case parity.exe of Bit9)
Bit9 deny this is an issue.
[ demo of shellcode exection within the Bit9 Notifier process ]
Metasploit module for this will be released to demo this.
Stopping this attack
To protect this on Bit9, go to the admin control panel and add memory rules to protect the notifier.exe process. The memory protection menu is only available in versions above 6.0.1.
- Talk abstract –> HERE
- (NEW) Further Information from the talk –> HERE
- (NEW) Video of the talk –> HERE