27. Dezember 2007

24C3: DNS Rebinding

Category: CCC,Hacking — Christian @ 23:59

Dan Kaminsky war natürlich auch wieder da und hat in seinem Vortrag zu DNS Rebinding die Themen vom Camp wieder aufgewärmt. Ich will das gar nicht alles wiederholen. Wenigstens stand nicht mehr Black Hat auf den Folien. Lediglich ein paar Notizen für mich selbst:

Browser-Angriffe:

  • XSS
  • XSRF
  • DNS Rebinding (Princeton Attack, Dan Bonek, RSnake)
  • Same Origin Policy

DNS Rebinding Angriff:

  1. Browser lädt Seite mit Flash von Server www.mydomain.com
    DNS für www. mydomain.com ergibt: 212.18.45.xx mit TTL=1
  2. Browser lädt xmlsocket-Policy von Server www.mydomain.com, die Port 22 erlaubt
    DNS für www. mydomain.com ergibt: 212.18.45.xx mit TTL=1
  3. Flash im Browser öffnet verbindung zu www.mydomain.com:22
    DNS für www.mydomain.com ergibt 192.168.1.1 mit TTL=1

Und das ist alles innerhalb der „Same Origin Policy“ erlaubt.

Außerdem zum DNS-Rebinding nochmal die DNS-Tricks:

  • Temporal (TTL)
  • Spatial (mehrere IP-Adressen für eine Antwort)
  • Ridiculous (verwendet CNAME)

Das CNAME-Verfahren geht so:

  1. der Browser stellt eine Anfrage nach www1.domain.de
  2. der DNS-Server antwortet mit einem DNS-Paket, das zwei Antworten enthält:
    www1.domain.de CNAME www.domain.de
    www.domain.de A 10.0.0.1
  3. der Browser stellt eine Anfrage nach www2.domain.de
  4. der DNS-Server antwortet mit einem DNS-Paket, das wieder zwei Antworten enthält:
    www2.domain.de CNAME www.domain.de
    www.domain.de A 10.0.0.2
  5. Obwohl der Client vorhin die Information hatte, dass www.domain.de auf 10.0.0.1 abbildet, wird diese Information im Cache direkt durch die zweite Antwort überschrieben.

Eigentlich ganz einfach 🙂

Ach ja, HaXe muss ich mir auch mal angucken.

24C3: Programming DNA

Category: CCC,Hacking — Christian @ 23:28

Vom Vortrag „Programming DNA“ habe ich nur die letzte Viertelstunde mitbekommen. Die skizzierte Vorstellung, dass DNA-Sequenzer und DNA-Printer irgendwann für jeden zu haben sind und daher jeder sich seine Organismen selbst basteln kann sind jedoch gleichzeitig faszinierend und erschreckend.

Eine DNA-Synthese kostet heute nach seinen Angaben rund 45.000 USD und man bekommt vielleicht 20.000 Basen Maximallänge (weil die chemischen Reaktionen keine 100% Sicherheit haben sondern ab und an fehlschlagen) mit 50% Sicherheit korrekt zusammengebaut. In 10 Jahren kann das vielleicht noch 2.000 USD kosten und in 20 Jahren vielleicht nur noch so viel wie ein Papierausdruck.

Das wirft zwei interessante, vom Vortragenden gestellte Fragen auf:

  • „Will there be biological hackers?“
  • „Will there be a biological hacker community?“

Hab ich das falsche studiert? Hätte ich Biochemie (damals in Tübingen mit Numerus Clausus von 1.2) statt Informatik nehmen sollen? Irgendwie ist mir die eine Blade Runner Szene dabei vor Augen gestanden, in der ein Replikantenentwickler von Roy bedroht wird, weil der seine Lebensspanne erfahren will.

24C3: AnonAccess

Category: CCC,Hacking — Christian @ 23:26

Ok, da haben ein paar Jungs ein Smartcard-basiertes Zugangskontrollsystem gebastelt und versucht, da etwas Anonymität hineinzubekommen. Kernproblem war, der Zugang sollte günstig sein und da fällt ein Schließsystem natürlich aus. Günstige Karten bekommt man ja schon für 50 Cent und wenn man sich die Elektronik selbst bastelt kommt man mit wenigen Euro auch hin.

Das Problem ist jedoch die Anonymität … wie will man verlorene Karten sperren wenn der Zugang anonym ist. Die Fragestellung war sowieso daneben. „Wenn ich einen Schlüssel benutze weiß das hinterher auch keiner“ sagte einer der beiden in dem Vortrag. Das hat aber nichts damit zu tun, dass ich beispielsweise bei einem Schließsystem weiß, wer welchen Schlüssel hat sondern damit, dass nichts protokolliert wird.

Das Problem mit den verlorenen, sperrbaren und doch anonymen Karten haben sie quasi durch Pseudonyme gelöst. Dabei gibt es dann „Gruppenpseudonyme“, d.h. mehrere Leute verwenden identisch bezeichnete Karten und erreichen so „quasi-anonymen“ Zugriff, weil die Kartennutzungen nicht mehr einem einzelnen Anwender zugeordnet werden kann. Und notfalls sperrt man halt die ganze Gruppe. Erinnert mich irgendwie an die Privacy-Card von FoeBuD.

Jedenfalls hat mich das ganze nicht beeindruckt. Weder die Idee noch die Implementierung, da kann man mehr und klügeres daraus machen. Und dann sind die zwei und ein paar weitere auch noch mit peinlichen Sweatshirts mit diesem komischen AnonAccess-Logo aufgetreten. War das eine Werbeshow oder was? Ich dachte das Labor ist ein gemeinnütziger Verein?

24C3: Cybercrime 2.0 Storm Worm

Category: CCC,Hacking — Christian @ 23:24

Der Vortrag von Thorsten Holz zum Storm Worm war wieder sehr interessant. Der Storm Worm (auch Peacomm, Nuwar, Zhelatin) war der am meisten in den Medien erwähnte Wurm 2007 und ist sehr agressiv in der Verteilung durch Spam. Im Schnitt zwischen 2-5% des Spam-Aufkommens wird inzwischen durch den Storm Worm verursacht. Teilweise wurde die Anzahl der infizierten Rechner auf 1,8 Millionen geschätzt. Thorsten hat das etwas relativiert.

Die Spam-Mails des Storm Worm locken auf Webseiten, die zum einen Browser-Exploits gegen Firefox und Internet Explorer einsetzen, andererseits zum Download von EXE-Files animieren, die dann den eigentlichen Schadcode auf dem Rechner installieren. Das Binary wiederum ist stark obfuscated (wurde von Frank Boldewin analysiert) und implementiert das Overnet Peer-to-Peer Protokoll zur Kommunikation.

In diesem Peer-to-Peer Netzwerk suchen die infizierten Clients nach bestimmten Hashes (die vom Datum und der Zeit abhängen, weshalb der Wurm die Clients per NTP synchronisiert) und findet mit Hilfe dieser Hashes die Kommandos (z.B. DDoS oder Spam-Versand) die auszuführen sind. Rechner mit privaten IPs fungieren nur als Angriffsnode, Rechner mit offiziellen IPs übernehmen Funktionen von Control-Nodes und können Web- und DNS-Server laufen lassen.

Clients authentisieren sich gegenüber dem Controller mit einem einfachen Challenge-Response, wobei Challenge XOR Response immer den Wert 0x3ED9F146 ergeben muss. Die Kommunikation selbst ist Zlib-komprimiert aber (bisher) nicht verschlüsselt (aktuelle Versionen setzen einfache XOR-Verschlüsselung mit festen Werten aber keine starke Kryptographie ein).

Mit Hilfe des KadC-Crawlers, der das komplette Overnet in ca. 20-40 Sekunden abfragen kann, hat Thorsten die Größe des Storm Worm Netzes geschätzt: Die Obergrenze ergibt sich durch 45-80 tausend Peers, 420 tausend Overnet IDs verteilt auf 1,7 Mill. verschiedene IP-Adressen, davon jedoch einige legitime Overnet-Peers die nicht Storm Worm infiziert sind. Die Untergrenze ergibt sich durch die Controller, ca. 5-6 tausend Bots mit Webservern, etwa 30 tausend Peers die Storm Worm Hashes suchen. Die real infizierte Zahl dürfte irgendwo dazwischen liegen auch wenn sicher immer wieder viele infizierte Rechner gerade nicht im Internet aktiv sind.

Gegen das Peer-to-Peer Netz des Storm Worm kann man nicht so viel tun … es gibt Eclipsing, d.h. Man-in-the-Middle-Angriffe bei denen man versucht die Hash-Suche durch falsche Antworten zu beeinflussen und Polluting, d.h. man versucht so viel Schrott mit gleichem Hash zu platzieren, dass die Bots keine regulären Befehle mehr entgegen nehmen können. Beides funktioniert nur eingeschränkt.

Das Storm Worm Netz verfügt über clevere Entwickler:

  • Bei mehrfachem Download des Binaries vermutet der Webserver einen Virenscanner-Hersteller und führt einen DDos-Angriff gegen die IP-Adresse durch
  • Es gibt viele Drive-by-Download Angriffe
  • Das Binary selbst wird alle Minute neu verpackt mit jeweils neuer Prüfsumme um Virenscanner zu irritieren
  • Die Javascript Drive-by-Angriffe werden jede Minute mit einem neuen XOR-Key kodiert, ebenfalls um Virenscanner zu irritieren
  • Die Größe des Binaries schwankt je nach Funktion und Packer zwischen 70 und 150 KB
  • Das Botnetz verwendet Fast-Flux Domains mit einer TTL von z.B. 5 Sekunden. Dadurch zeigt ein Webserver immer wieder auf neue IP-Adressen.

Das ist schon sehr nahe an einem effizienten Wurm.

In der Zukunft erwartet Thorsten starke Verschlüsselung, veränderte Kommunikation, z.B. NNTP damit Kommandos leichter an die Clients geschickt werden können und anonymisierte Kommunikation z.B. mittels Tor. Er vermutet übrigens, dass Verschlüsselung nur deshalb noch nicht weit in Würmern verbreitet ist, weil es so einfach ist viele tausend Rechner zu infizieren, dass sich der Aufwand gar nicht lohnt.

Ach ja … und er hat ein Blog.

24C3: Cool Things with Microcontrollers

Category: CCC,Hacking — Christian @ 23:22

Das ist einer der Vorträge von denen ich etwas enttäuscht wurde. Ok, Mitch Altman hat von Microcontrollern Ahnung ohne Ende aber leider hat er wenig davon erzählt. Es gibt da den Atmel AVR Chip, der recht einfach zu programmieren ist und von Ladyada ein Kit, das für 18 USD alles enthält, was man so für den Anfang braucht. Die meiste Software dazu ist erfreulicherweise OpenSource.

Und dann hat Mitch über Hirnwellen und seine Brain Machine erzählt, aber leider keine Details zur Implementierung. Steht aber auch alles in einem Artikel von ihm, inklusive empfohlener Links wie AVR Freaks und so. Hätte man sich quasi sparen können.

Ach ja, für das von ihm entwickelte TV B-Gone hat er noch Werbung gemacht.

24C3: How to Hack the Pfandsystem

Category: CCC,Hacking — Christian @ 23:20

Der Vortrag über AES Side-Channel Attacks ist ja leider mangels Anwesenheit des Vortragenden ausgefallen (und aus dem Programm auch schon verschwunden). In den parallel laufenden Vortrag „How to Hack the Pfandsystem“ wollte ich aber auch nicht. Da war vor der Tür übrigens das größte Gedrängel, das ich in vier Jahren Congress gesehen habe. Lauter Pfandbetrüger 🙂 .

Im Grunde ist es aber immer das gleiche … entweder der Automat ist relativ kundenfreundlich und nimmt alles mögliche an, dann ist er aber auch leicht zu betrügen oder er nimmt nur sehr streng an, dann beschweren sich aber dauernd die Kunden. Das betrifft nicht nur das Pfandsystem, das gab es bei Bahnfahrkarten ja auch schon.

Nachtrag:

Meine Freundin hat sich den Vortrag über Internet-Streaming auch angesehen und fängt schon an, Barcodes und Pfandlogos zu Scannen und wieder auszudrucken. Und natürlich die Pfandbons zu sammeln und zu kopieren. Naja

24C3: 10GE Monitoring Live!

Category: CCC,Hacking — Christian @ 23:18

Arien Vijn hat ein System mit mehreren FPGAs gebaut, das in der Lage ist, eine 10 GigE-Verbindung in Echtzeit nach bestimmten Mustern zu untersuchen und beispielsweise Datenpakete einer vorgegebenen IP-Adresse mitzuprotokollieren. Technisch ist das hochspannend, insbesondere weil er bei der hohen Datenübertragungsgeschwindigkeit auf viele kleine Probleme achten musste:

Mehrere FPGAs behandeln jeweils einen Teil des Datenverkehrs, so kümmert sich ein 32-Bit FPGA um die Source-IP, ein zweiter 32-Bit FPGA um die Destination-IP und weitere FPGAs um andere Teile des Paktes. Das klingt lässig, ist aber erstaunlich schwierig. Beispielsweise gibt es VLAN-Tags, d.h. der IP-Header befindet sich dann an einer anderen Stelle im Ethernet-Frame. Oder der Paket hat IP-Options, dann ist der TCP- bzw. UDP-Header verschoben. Von IPv6 mit variablen Headern will ich gar nicht reden.

Ein anderes Thema ist dann die Synchronisation der FPGAs. Nach seiner Aussage dauert alleine das Propagieren der Sync-Kommandos durch alle FPGAs so lange, dass es schwierig wird die Pakete noch in Echtzeit zu verarbeiten.

Und, das Gerät ist eine aktive Box weil bei der hohen Geschwindigkeit optische Taps zumindest am Anfang nicht mehr zuverlässig funktioniert haben.

Zum Glück war Schäuble nicht anwesend … obwohl, angeblich können die Force10-Kisten die DeCIX installiert hat auch schon vergleichbares.

Accor Ibis Physical Security

Category: Reisen — Christian @ 23:16

Ja, ich habe es getan … freiwillig ein Ibis-Hotel gebucht. Aber nur aus zwei Gründen:

  1. Es war billig
  2. Es gibt auf dem Congress genügend Möglichkeiten für den Internet-Zugang

Und das Zimmer ist soweit auch ok, im 6. Stock und mit Blick zum Alexanderplatz 🙂

Jedenfalls hat sich dieses Ibis eine neue Idee ausgedacht, damit nicht jeder ins Hotel kommt: am Aufzug ist ein Kartenleser und um ein Stockwerk zu drücken muss man seine Karte kurz einschieben. Offensichtlich sollen damit Hotelfremde davon abgehalten werden, einfach in irgendein Stockwerk zu fahren und Unsinn anzustellen. Im Grunde sogar eine löbliche Idee. Nur, die Umsetzung ist natürlich völlig mangelhaft.

  1. Wenn der erste den Aufzug mit seiner Karte entriegelt hat, können beliebig viele Tasten gedrückt werden. Man muss also nur warten bis der erste eingestiegen ist und kann dann in ein beliebig anderes Stockwerk fahren. Eine mögliche Lösung wäre jetzt, dass für jedes angewählte Stockwerk extra mit einer Karte entriegelt werden muss, aber das bietet keinen höheren Schutz. Man kann nämlich von jedem anderen Stockwerk jedes andere problemlos anwählen.
  2. Noch schlimmer ist, man benötigt nicht einmal einen anderen Gast. Man kann nämlich ohne Karte in das UG fahren in dem sich die Tiefgarage befindet. Macht Sinn, denn wenn man die Karte abgegeben und bezahlt hat, muss man ja noch aus der Tiefgarage ausfahren. Unten in der Tiefgarage kann man aber jedes beliebige Stockwerk anwählen. Ohne Karte fährt man also zuerst ins UG, drückt dort dann auf z.B. den 5. Stock und schon ist man wo man hin will.

In der Implementierung also völlig nutzlos und reine Gästeschikane. Aber das sind wir von Accor ja so gewohnt.