Evil Jpegs: Foto-Upload schleust Schadcode ein

Der IT-Sicherheitsexperte Marcus Murray hat sich in die IT-Infrastruktur einer US-Bundesbehörde gehackt, bis hin zum Domainserver – mit Administratorrechten. Den Namen der Behörde wollte er nicht nennen. Murray nutzte dafür die Upload-Funktion eines Webservers und ein manipuliertes Profilfoto im Jpeg-Format. Sein Hack zeigt, dass Fotos oftmals nur unzureichend auf Schadcode untersucht werden und welche Konsequenzen das haben kann. Murray präsentiert seinen Angriff diese Woche auf der Sicherheitskonferenz RSA Security in San Francisco(öffnet im neuen Fenster) .
Murray untersuchte zunächst, ob er eine ausführbare Datei mit der Endung JPG auf den Windows-Webserver hochladen konnte. Dies verweigerte die Upload-Funktion erwartungsgemäß. Offenbar überprüft der Server den Header der manipulierten Datei, ob es sich tatsächlich um ein Jpeg-Format handelt, und ignorierte die Dateiendung. So weit reagierte der Server vorbildlich.
Wenn der Server aber die Dateiendung ignorierte, müsste es doch möglich sein, ein manipuliertes Jpeg-Bild hochzuladen, dachte sich Murray. Und tatsächlich konnte er sich so Zugriff auf den Webserver verschaffen. Dort fand er genügend Informationen, um sich weiter in die IT-Infrastruktur hineinzuhacken.
Schadcode im Foto ausführen
Sein Trick: Er platzierte Schadcode in das Kommentarfeld der Exif-Informationen in einer Jpeg-Datei. Dieser gab er wiederum die Endung aspx, wie sie bei Web Forms bei Microsofts Active Server Pages üblich sind. Der Webserver erkannte zwar das Jpeg als Bild, übersah aber die Dateiendung. Die Vorschaufunktion, die eigentlich das hochgeladene Bild anzeigen sollte, führte dann den Code in dem Kommentarfeld in Form einer Shell aus. Dort konnte Murray sich dann zunächst Informationen über den Server verschaffen, weiteren Code einschleusen und ausführen, durch den er Zugriff auf den Webserver über das Hackerwerkzeug Metasploit erlangte.
Der Webserver holte sich Daten von einem SQL-Server im gleichen Netz, dessen IP-Adresse und auch Zugangsdaten Murray in einem Backup des Codes auf dem Webserver entdeckte. Darüber erhielt er Zugang zunächst zu dem Server mit der Datenbank. Hier konnte er die IP-Adresse des DNS-Servers auslösen, der oftmals und auch in diesen Fall gleichzeitig der Domain-Controller ist. Mit Metasploit konnte sich Murray dann mit administrativen Rechten Zugriff auf den Domain-Controller verschaffen.



