Präsentationen
Browser Hijacking (Deepsec 2007)
Autor: Daniel Fabian
XSS-Attacken machen sich zumeist DOM zunutze, um Session Credentials der Opfer zu stehlen, und es dem Angreifer so zu ermöglichen, sein Opfer zu personifizieren. Andere Angriffsmethoden sind z.B. Relogin-Trojaner und Keylogger. Diese Attacken sind für komplexere Webapplikationen, wo individuelle TAN-Codes für einzelne Transaktionen benötigt werden, allerdings nicht geeignet.
Diese Präsentation von Daniel Fabian stellt einen, von SEC Consult entwickelten, vielseitigen "Cross Site Scripting Trojaner" vor. Dieser Trojaner übernimmt, nachdem er über eine XSS-Lücke injiziert wurde, die Session des Benutzers und erlaubt es dem Angreifer, die Aktionen seines Opfers zu beobachten und zu manipulieren ("Browser Hijacking"). Während der Attacke verbindet sich der Trojaner mit einem zentralen Kontrollserver, wodurch eine Art Botnet entsteht. Das Trojaner-Script weist ein modulares Design auf, d.h. bestimmte Script-Module können auf den infizierten Browser heruntergeladen werden. Dadurch sind sehr spezifische Angriffe, wie z.B. die Manipulation einer TAN-Transaktion in Echtzeit, möglich. Andere Module sind z.B. ein Keylogger und eine "Browser-Kamera", mit welcher der Angreifer alle Tätigkeiten des Opfers beobachten kann. In dieser Präsentation wird die Architektur des Trojaners erklärt, und praktische Anwendungsbeispiele werden erläutert.
In-process SSL packet injection
Autor: Bernhard Müller
Bei Penetrationstests ist es manchmal notwendig, Blackbox-Tests von proprietären Client-/Server-Architekturen durchzuführen, in denen ein im Binärformat vorliegender Client über SSL mit dem Server kommuniziert. In diesen Situationen kann es nützlich sein, Pakete direkt in den SSL Stream zwischen Client und Server zu injizieren, ohne dass das verwendete Protokoll im Ganzen verstanden und implementiert werden muss.
Diese Präsentation aus dem SEC Consult Vulnerability Lab zeigt eine Technik, mit der Pakete direkt über den Client-Prozess in die SSL-Verbindung eingeschleust werden können. Themen wie DLL Injection, API Hooking und das Erzeugen von remote Threads mit der WIN32 Debugging API werden besprochen.
Stateful Fuzzing of Wireless Device Drivers in an Emulated Environment (Blackhat Japan 2007)
Autor: Clemens Kolbitsch und Sylvester Keil (Seclab TU Wien) und SEC Consult Vulnerability Lab
Dieses Paper dokumentiert eine Technik, die das effektive Auffinden von Schwachstellen in IEEE 802.11 Treibern ermöglicht. Augrund der relativ hohen Komplexität des 802.11-Standards entstehen einige nicht-triviale Anforderungen an einen effektiven Protokoll-Fuzzer. Die Präsentation von Clemens Kolbitsch und Sylvester Keil aus dem SEClab der TU Wien, das in Zusammenarbeit mit dem SEC Consult Vulnerability Lab entstanden ist, beschreibt einen neuen Ansatz des Fuzzings von Wireless-Treibern auf Basis von Hardware-Emulation.
Im ersten Schritt wird ein virtuelles 802.11-Device für den Emulator QEMU erstellt. Der zweite Teil der Präsentation beschreibt die Entwicklung eines Stateful 802.11 Fuzzers basierend auf den Open Source MADWifi-Treibern. Zusätzlich werden Methoden zur Ausführung beliebigem Code im Kernel-Mode unter Windows und Linuk diskutiert.
Taming Bugs (Blackhat USA 2006)
Autor: Paul Böhm
Bei der Entwicklung von sicherem Code geht es nicht nur um das Vermeiden von Bugs. Wenn 1000 Programmierer die selbe Aufgabe mit denselben Tools lösen, werden höchstwahrscheinlich viele der resultierenden Programme durch die gleichen Inputs verwundbar sein. Sichere Programmierung ist nicht nur von Code und Programmiertechniken, sondern auch von den handelnden Personen abhängig.
Dieser Talk beschäftigt sich mit der Frage, warum sich bestimmte Fehler wiederholt in den Code der Entwickler einschleichen. Es werden Strategien vorgeschlagen, wie die verbreiteten Fehlerquellen eingeschränkt werden können. Unter anderem werden typisierte Strings für die Verhinderung von Injection-Schwachstellen, und Pfadnormalisierung als Lösung für Path Traversal Lücken vorgeschlagen.