Der notorische Dan Kaminsky mit seinen jährlichen Black Ops. Ich frage mich ja, was er dann auf dem Congress im Dezember bringt, weil da kann er seine Black Hat Slides nicht schon wieder recyceln. Das gab übrigens ganz schön Buh-Rufe von den Zuhörern, dass auf den Slides nicht mal „Black Hat Conference“ durch „Chaos Communication Camp“ ausgetauscht war. Ich frag mich ja, was eigentlich originäre Arbeit von Dan in den Präsentationen ist und was er so zugetragen bekommt. Beim Thema Flash-Vulnerabilites fand ich den Vortrag von Fukami inhaltlich um Klassen besser. Nur die Show und das gehampel auf der Bühne hat Dan besser drauf.
Angriffe mit Flash und DNS Rebinding
Jedenfalls hat Dan das Thema Flash und DNS Rebinding wieder aufgegriffen und ein wenig genauer erklärt. Das Problem wurde wohl erstmals 1996 als Princeton Attack veröffentlicht und für Flash von Dan Boneh von der Stanford University genauer untersucht. Zurückzuführen lässt sich das alles auf die „Same Origin Policy“, die davon ausgeht, dass eine Datenquelle mit einem Rechnernamen identisch ist. Nur stammen die Daten von einer IP-Adresse und der Rechnername aus DNS. Und die DNS-Einträge lassen sich schnell mal ändern. Zu einem Zeitpunkt zeigt www.example.com auf einen Webserver und lädt die Flash-Applikation, zu einem späteren Zeitpunkt (nur Sekunden später) auf eine private interne IP-Adresse und führt einen Angriff aus. Damit lässt sich natürlich sehr schön jede Firewall umgehen.
Dan unterscheidet zwischen Angriffen Level 1 (nur der Browser ist betroffen), Level 2 (Web-Plugins werden zum Angriff verwendet) und Level 3 (Plugins mit Socket-Funktion werden verwendet, Angriffe in das LAN sind möglich). Sockets finden sich beispielsweise in Flash und Java. Java war übrigens das Originalziel der Princeton Attacke von ’96.
Für das DNS-Rebinding sieht Dan als alter DNS-Hacker drei Möglichkeiten:
- Temporal: Die TTL wird auf 0 gesetzt, dann darf der DNS-Server eigentlich nicht cachen. Einige DNS-Server implementieren jedoch eine Minimum-TTL (meist so etwa 5 Minuten) und ignorieren eine TTL=0.
- Spatial: Man kann für einen DNS-Namen mehrere IP-Adressen angeben. Allerdings hat man dann keine Kontrolle, welche IP-Adresse der Browser wann verwendet. Aber man kann ja mehrfach versuchen.
- Ridiculous: Mit Hilfe von CNiping, d.h. der Verwendung von CNAME anstatt direkten IP-Adressen lässt sich ein Eintrag im DNS-Cache auch überschreiben, wenn die TTL noch nicht abgelaufen ist. Da kann man was mit anfangen.
Und nun setzt Dan ein paar Bausteine zusammen. Dazu verwendet er den Browser mit einer speziellen Flash-Anwendung, den Angreifer, der über den Browser in das lokale Netz eindringen will und einen speziellen Proxy (Slirpie). Dabei handelt es sich um einen Multiprotokoll-Server, der TCP-Stream von/zum Flash, HTTP für den Browser, DNS für das Rebinding und XML-Socket zur Kontrolle der Policy unterstützt. Anscheinend hat Dan sowas programmiert, leider jedoch nicht veröffentlicht.
Mit einem Rückgriff auf Slirp (1995) und PPTP ist es damit möglich, VPN über den Browser einzurichten, wobei der Browser nicht als VPN-Client sondern als VPN-Gateway dient. Scary!
Provider Hostality
Der zweite Teil des Vortrags beschäftigt sich mit der Thematik eines neutralen Netzes. Welche Möglichkeiten gibt es, um eine Provider zu entdecken, der einzelne Webseiten in seinem Netz bevorzugt transportiert und andere Seiten ausbremst oder noch schlimmer Content manipuliert in dem z.B. Werbeeinblendungen verändert werden.
Hier gab es ein paar interessante Ideen, z.B. über einen transparenten Proxy, der alle Seiten cached zu ermitteln, ob der Provider irgendwas manipuliert. Als geeignetes Werkzeug bietet sich ein Sniffer im Browser an, hier hat Dan etwas mit dem Namen „Inspector Pakket“ gebastelt aber leider auch noch nicht veröffentlicht.
Mal sehen, was davon demnächst als reale Software auftaucht. So ein Metasploit als Flash im Browser um die Angriffe von innen auszuführen wäre schon cool 🙂
Kommentare gesperrt wegen Spam
Comment by Christian — 7. Juni 2012 @ 08:07