Exploit trotz Adobes Sandbox

Ein kleiner Fehler genügt, um all die Schutzmaßnahmen wie Sandbox, ASLR und DEP quasi hinfällig zu machen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 1 Min.

Adobe Reader X läuft in einer Sandbox mit sehr eingeschränkten Rechten. Alle wichtigen Systemzugriffe müssen eigentlich über einen speziellen Broker-Prozess abgewickelt werden, der sie ausgiebig testet. Doch durch einen kleinen Design-Fehler gelingt es, trotz dieser Sandbox eigenen Code auszuführen, der Systemfunktionen nutzt und ASLR und DEP austrickst.

Die Crux des von Guillaume Delugré beschriebenen Exploits ist, dass der Broker eine mit VirtualAllocEx reservierte Speicherseite benutzt, um den überschriebenen Code der auf sich umgeleiteten Systemcalls zu speichern. Und die von VirtualAllocEx zurück gelieferte Speicheradresse ist trotz Address Space Layout Randomisation nicht zufällig. Damit landet der Aufruf von Windows-Systemfunktionen an einer vorhersagbaren Adresse, die der Exploit gezielt anspringen kann.

Auch den weiteren Weg bis hin zum Ausführen des über eine PDF-Datei eingeschleusten Codes beschreibt Delugré äußerst interessant und anschaulich. Darüber hinaus liefert der Autor Demo-Code und ein ein paar Skripte, die ihm beim Zusammenbau des Exploits geholfen haben.

Update: Nach einem Hinweis des Autors auf mögliche Missverständnisse den Ausdruck "Ausbruch aus der Sandbox" entfernt, da der Exploit-Code nach wie vor Einschränkungen wie denen durch Integrity Level unterliegt. (ju)