20C3 – Tag 3

Der Windows (In)security Vortrag drehte sich im Prinzip um Angriffe, die von der Windows-Architektur begünstigt werden. Hilfreich ist dabei, dass Windows ein nachrichtengesteuertes System ist und Techniken wie DDE, OLE, COM und diverse Abarten davon zur Verfügung stellt.

Es wurde der bekannte WM_TIMER Angriff erläutert, neu war für mich die Idee, den Code über die Nachricht WM_SETTEXT zu injezieren. Man kann damit den Code in jedes sichtbare und unsichtbare Control injezieren, dieser wird dann mit dem Function-Pointer der an WM_TIMER übergeben wird, angesprungen.

Als praktische Anwendung für diese Angriffe eignen sich personal firewalls hervorragend, da sie einem höheren Security Context laufen, als die User-Space Applikationen und es damit möglich ist, den gewünschten Code im Kontext der Firewall auszuführen.

DDE ist seit Windows 2.0 eine komfortablere Möglichkeit u.a. mit Window-Messages umzugehen, OLE ist der objekt-orientierte Oberbau des ganzen, OLE Automation ist der Autopilot für Hacker.
Man muss also nicht mehr wie wild Windows-Messages durch die Gegend schicken, sondern bemüht Methoden wie dde_execute (?). Das ganze lässt sich natürlich auch aus der Ferne auslösen, schliesslich gibt es die bombensichere RPC-Schnittstelle in Windows 😉

Eine nette Möglichkeit in einem mit Policies „abgesicherten“ Windows eine Shell zu bekommen wurde auch noch erläutert: einfach in $APPLIKATION ein OLE-Objekt „cmd.exe“ einfügen. Damit umgeht man sämtliche Policies…

Die weiteren Vorträge habe ich mir dann geklemmt, Bug Hunting war zu voll, Biological Weapons etwas langweilig und bis zum Vortrag von Jörg war es mir zu lang. Ich bin dann abgehauen und habe mein Schlafdefizit nachgeholt 🙂