Adobe Sandbox
Adobe Sandbox
Peter Vreugdenhil
Exodus Intelligence
Intro
• Peter Vreugdenhil
• VP of Operations at Exodus Intelligence
• @WTFuzz
• [email protected]
Goal of this talk
http://blogs.adobe.com/asset/files/2010/11/WinXP-A9-Exploit-Steps1.png
Adobe Sandbox Basics
• Available since Adobe Reader X
• Improved in Adobe Reader XI
• Based on the Chromium sandbox
– Less restricted
– Much more communication between client and
broker
• 1 confirmed Adobe Sandbox escape in the
wild (so far)
• 1 unconfirmed escape for sale in Russia
Adobe Sandbox on Windows
• Restricted Token
• Windows Integrity levels
• Separate Desktops
• Separate Jobs
Adobe Sandbox Restricted Token
• Everything is denied.
• Privileges: SeChangeNotifyPrivilege enabled
Adobe Sandbox Integrity Levels
http://blogs.adobe.com/asset/files/2010/11/Sandbox-and-Broker-Process-IPC.png
Broker Client communication
We will focus on the Broker endpoints
http://blogs.adobe.com/asset/files/2010/11/Sandbox-and-Broker-Process-IPC.png
Client Broker communication
struct ClientInfo {
HANDLE process;
HANDLE job_object;
DWORD process_id;
};
Restrictions
• The Broker performs a lot of sanity checks
– Dialog boxes asking for permissions
– Interesting API functions already ‘blocked’
(InternetSetStatusCallback for example)
– File Policy tests
• Attack surface is still pretty big
• Adobe 0-Day used 2 Intercepted API Calls to
trigger a heap buffer overflow
Testing Cross Calls