26. Dezember 2008
Meine fertige Agenda ab morgen:
27.12.2008
Ich schätze, die 14:00 Uhr Vorträge lasse ich aus, dann kann ich vormittags gemütlich aus München anreisen. Dan Kaminsky halte ich für etwas überschätzt, insbesondere ist mir in seinen Vorträgen zu viel Show und zuwenig greifbare Informationen. Da kann man auch die Präsentation lesen und muss sowieso alles nacharbeiten. Ansonsten ist der erste Tag für mich nicht so spannend. Das sind kaum Themen, mit denen ich mich tatsächlich beschäftige.
28.12.2008
Ich verspreche mir hier besonders viel von Attacking Rich Internet Applications, da Webserver heute das Haupteinfallstor in Unternehmen sind, außerdem von Short Attention Span Security und Tricks: makes you smile. Die Italiener waren letzte Jahr schon cool. Da sind bestimmt ein paar Anregungen für Pentests oder Sicherheitsanalysen dabei. Außerdem möchte ich die TCP Denial of Service Vulnerabilites ansehen. Da weiß ich einiges und Fabian hat letztes Jahr ja schon den Vortrag über Port Bunny gehalten, der kennt sich mit TCP sehr gut aus.
29.12.2008
Sehr interessant wird sicher der Flash-Vortrag von fukami und vermutlich auch der IOS-Vortrag von FX. Mich persönlich interessieren auch die Vorträge zu Honeypots (Squeezing Attack Traces) und zu den chinesischen Hackern (We got owned …).
30.12.2008
Mal sehen, der vierte Tag sieht noch nicht so spannend aus aber da fehlen zu einigen Vorträgen auch noch Details.
Also … man sieht sich. Und für ein Bier einfach durchklingeln, meine Nummer steht im Impressum.
28. November 2008
Der erste Entwurf des Fahrplans zum 25. Chaos Communication Congress vom 27.-30.12.2008 wie immer im Berliner BCC ist online.
Ich habe mir folglich auch einen vorläufigen Plan der Themen die mich interessieren zusammengestellt:
27.12.2008
14:00 Uhr
Der Hackerparagraph 202c
Auswirkungen des Hackerparagraphen
von lexi, Jürgen Schmidt, Jan Münther, Felix von Leitner
14:00 Uhr
Security Failures in Smart Card Payment Systems
Tampering the Tamper-Proof
von Steven J. Murdoch
18:30 Uhr
Chip Reverse Engineering
von Karsten Nohl, starbug
20:30 Uhr
Beyond Asimov – Laws for Robots
Developing rules for autonomous systems
von Frank Rieger
21:45 Uhr
Locating Mobile Phones using SS7
von Tobias Engel
28.12.2008
12:45 Uhr
Full disk encryption internals
Everything to hide
von Juergen Pabel
14:00 Uhr
Attacking Rich Internet Applications
Not your mother’s XSS bugs
von kuza55, Stefano Di Paola
14:00 Uhr
Exploiting Symbian
Symbian Exploit and Shellcode Development
von collin
16:00 Uhr
Vulnerability discovery in encrypted closed source PHP applications
von Stefan Esser
17:15 Uhr
Security of MICA*-based wireless sensor networks
von Dan Cvrcek
20:30 Uhr
Banking Malware 101
Overview of Current Keylogger Threats
von Thorsten Holz
29.12.2008
14:00 Uhr
An introduction to new stream cipher designs
Turning data into line noise and back
von Tor E. Bjørstad
16:00 Uhr
Hacking into Botnets
Get the real challenge
von Felix Leder
17:15 Uhr
Security and anonymity vulnerabilities in Tor
Past, present, and future
von Roger Dingledine
18:30 Uhr
SWF and the Malware Tragedy
Hide and Seek in A Flash
von BeF, fukami
18:30 Uhr
Attacking NFC mobile phones
First look at the security of NFC mobile phones
von collin
20:30 Uhr
Methods for Understanding Targeted Attacks with Office Documents
von Bruce Dang
21:45 Uhr
Cisco IOS attack and defense
The State of the Art
von FX of Phenoelit
30.12.2008
14:00 Uhr
Security Nightmares 2009
Oder: worüber wir nächstes Jahr lachen werden
von Frank Rieger, Ron
Mir fällt auf, dass deutlich weniger spannende Vorträge dabei sind als in den letzten Jahren. Insbesondere fehlen (vielleicht nur bisher) die renommierten amerikanischen Referenten. Entweder trauen sich die nicht mehr nach Deutschland (wegen dem § 202c?) oder der Congress des CCC ist nicht spannend genug … jedenfalls schade. So ausgedünnt wie der Fahrplan zur Zeit (noch) ist, könnte man den Congress auch wieder auf 3 Tage verkürzen.
15. Mai 2008
schreibt Spiegel Online übrigens völlig zu recht.
Wann tritt dieser unsägliche Schwätzer Schaar eigentlich endlich zurück?
2. Januar 2008
Ein paar Links auf Artikel in diversen Online-Medien …
am umfangreichsten berichtete natürlich Heise:
dann natürlich Golem
Spiegel Online als wichtigstes Nachrichtenportal will da nicht zurückstehen, nur schafft es der Spiegel leider nicht, die Artikel mit 24C3 oder so zu kennzeichnen damit man sie leichter findet. Dabei ist das doch gar nicht so schwer, oder liebe Redaktion?
Für Focus Online sind übrigens so Themen wie Jackass wichtiger als der Chaos Communication Congress … aber Focus Online war noch nie mein bevorzugtes Portal und das Heft hat meiner Meinung nach auch stark nachgelassen.
Dafür hat der britische The Register ein paar Themen aufgegriffen
Indymedia ist auch dabei, hier nur der Link auf den Hauptartikel
und zu guter Letzt darf die TAZ nicht fehlen, in deren Räumen der CCC ja gegründet wurde
Weitere Hinweise und Links nehme ich gerne mit auf.
Nachtrag:
Die Welt (ja genau, die reaktionäre Springer-Presse) hat sich auch zu einem übrigens erstaunlich positiven Artikel durchgerungen:
Ich persönlich finde den Beitrag von Thomas Lindemann jedenfalls recht gelungen.
31. Dezember 2007
Die aufgelegten Folien will ich kommentarlos als Fotobeweis dokumentieren 🙂
Tim Pritlove hat dann zum Ende noch ein paar Statistiken geliefert:
- 4013 – Besucher
- 17 – Alter des jüngsten Referenten
- 16105 – Zurückgelegte Kilometer des entferntesten Sprechers (gleichzeitig der jüngste)
- 25 – Workshops
- 100 – Präsentationen
- 3 – davon die ausgefallen sind
- 580 – MB Sputnik Tracking Data
- 25,2 – Millionen Sputnik-RFID-Tag Sichtungen
- 37 – Sputnik-Leser im Gebäude
- 210 – Sputnik-Träger die getrackt wurden
- 76 – nicht-anonyme Sputnik-Träger
Das war’s, nächstes Jahr, gleiche Zeit, gleicher Ort.
Alexander Kornbrust ist neben David Litchfield vermutlich der wichtigste Oracle Sicherheitsexperte den wir haben. Wenn von ihm ein Vortrag zu Oracle Security kommt, dann kann man eigentlich immer etwas wichtiges erwarten.
Zu Beginn gab es einen kurzen Abriss zu alten Lücken, insbesondere PL/SQL-Injecion-Fehler. Hier hat Oracle in den letzten Jahren über 1000 Fehler behoben und verwendet inzwischen einen Fortify-Sourcecode-Scanner um weitere Lücken zu erkennen. Das Spiel heißt jetzt nicht mehr „Hacker gegen Oracle“ sondern „Hacker gegen Fortify“. Dummerweise ist der PL/SQL-Code der nicht von Oracle ist weiterhin dramatisch schlecht da die Entwickler in den Unternehmen nur auf ihre Business-Logik achten und teilweise noch nie von SQL-Injection gehört haben. Eine einzige Lücke reicht einem Angreifer jedoch aus um die komplette Datenbank zu übernehmen.
Eie weitere Fehlerklasse hat David Litchfield auf der Black Hat DC 2007 vorgestellt, dort nutzte er eine Lücke im Cursor aus die jedoch inzwischen behoben ist. Der Hack zeigt jedoch, dass weiterhin mit Lücken zu rechnen ist und immer mehr Angriffe automatisiert werden.
Ein Thema mit dem sich Alexander als erster intensiv beschäftigt hat sind „Database Rootkits“. Dabei werden einzelne Einträge wie Benutzer und Passwörter oder Jobs in der Datenbank versteckt. Diese Rootkits haben darüber hinaus den Vorteil, plattformunabhängig und nur datenbankspezifisch zu sein. Eine Variante ist die Modifikation der Database-Views. Die meisten Tools verwenden Views um auf die Inhalte von Tabellen zu kucken. Ein Eintrag kann so in einem View verborgen werden während er in der Tabelle selbst weiter enthalten ist. Es gibt inzwischen sogar kommerzielle DB-Rootkits, z.B. von Argeniss, inzwischen von Gleg aufgekauft. Von Paul Wright (PDF) gibt es ebenfalls ein Rootkit-Whitepaper, außerdem eine neue Methode von David Litchfield, der im Memory (PPT) einzelne Funktionen patcht.
Die wichtigsten Probleme aktuell sind:
- Unvollständiges Auditing, z.B. kann die User-Table nicht überwacht werden
- Default Passwörter / Login und Passwort identisch
- Nicht eingespielte Patches
- Ungeschützte Listener
Die Listener sind ab 10g automatisch geschützt, die Hauptprobleme werden weiterhin Patches sein, da viele Anwender nicht kurzfristig oder regelmäßig Patches einspielen können.
Eine weitere neue Funktion mit Missbrauchspotential ist die Transparent Data Encryption (TDE) die auf jeder neuen Oracle-Installation vorhanden ist und nicht deinstalliert werden kann (jedoch zur Nutzung eine eigene 10.000 USD/CPU Lizenz verlangt). Wenn die TDE eingesetzt wird, hilft sie dem Angreifer, relevante Daten zu finden da nur wichtige Sachen verschlüsselt sind (und die Entschlüsselung beim Query ja transparent erfolgt). Wenn sie nicht eingesetzt wird, gibt es ganz neue Erpressungsmethoden. Einfach die TDE aktivieren und kritische Daten verschlüsseln. Das passiert (da transparent) unsichtbar für den Nutzer. Nach einem Reboot bzw. Neustart der Datenbank ist dann der Schlüssel weg und das Unternehmen zahlt sicher gerne für das fehlende Passwort.
Weitere Themen waren Skripten in Clients für SQL*Plus, die z.B. beim Starten des Oracle-Clients automatisch nach der Anmeldung ausgeführt werden (quasi wie ein Trojaner) sowie Shellcode in Tablenamen, z.B. wenn ein Table „!rm -rF /“ heißt 🙂 Cooles Zeug.
30. Dezember 2007
In der Präsentation „Unusual Web Bugs“ von kuza55 ging es Schlag auf Schlag mit den unterschiedlichen Sicherheitslücken in Browsern und Servern, in PHP und anderen Sprachen. Das ging so schnell, viele Punkte konnte ich gar nicht mitschreiben, ich hoffe die FeM-Leute kriegen das Video bald (und brauchbar) kodiert. Die folgenden Stichpunkte sind daher lediglich meine eigene Gedächtnisstütze, schaut Euch das Video selbst an.
- XSS bei angemeldeten Benutzern
- Missbrauch des Passwort-Managers
- Automatisches Einfügen von Passwörtern in Formulare
- Session Fixation
- Abhängig von Cookies und Regeneration der Cookies
- Cache auslesen (nur IE)
- Sonstige Cookie-Spiele
- Logout durch blockieren des Cookie (CSRF/Flash, Firefox-Tool)
- Login als der Angreifer (Cookie via Flash in Header einschleusen)
- Hilfreich ist, dass die Cookie Policy schwächer als die Same Origin Policy ist
- IE FindMimeFromData
- Encoding-Angriffe gegen SQL-Server (Multibyte-Char)
- und vieles mehr
Ferruh Mavituna hat einiges in diesem Bereich gemacht und bietet u.a. ein SQL Injection Sheet auf seiner Homepage an. Eine andere Quelle ist Ha.ckers.org.
Für meinen Geschmack richten sich die meisten Probleme jedoch gegen den Browser und nicht gegen den Server und die Webapplikation. Angriffe gegen Browser sind mehr für Leute, die Schadprogramme auf die Clients bekommen wollen und ich bin sicher, einige der Angriffe sind bereits im berüchtigten MPack implementiert. Für meine Pentest-Arbeit sind jedoch Lücken in Serverapplikationen nützlicher, da lässt sich auch legal (§ 202c StGB) noch der eine oder andere Exploit anwenden.
Post-Exploitation, d.h. die effiziente Datensammlung von gehackten Systemen wird immer wichtiger, da in den nächsten Jahren insbesondere bei Windows weniger Lücken und Exploits zu erwarten sind. Luke Jennings hat sich in seinem Vortrag (bereits auf der Defcon 15 gehalten (PDF)) daher mit Windows Access Token beschäftigt. Diese Token werden von Windows für praktisch alles verwendet, angefangen von Zugriffsrechten auf Dateien bis hin zu den Rechten mit denen Prozesse gestartet werden und ob sich ein Benutzer anmelden darf.
Mit einem fremden Token sind daher interessante Angriffe möglich, vom Datendiebstahl über Impersonation bis zur lokalen und domainweiten Rechteeskalationen. In älteren (nicht gepatchten) Windows Systemen gibt es darüber hinaus einen Fehler, dass solche Token nicht komplett gelöscht werden wenn sich ein Benutzer abmeldet. Dieses Token kann mit speziellen Tools wiedergefunden und genutzt werden.
Die Programme find_user und incognito sind von Luke veröffentlicht worden und kann entweder von der Milwaukee Area Defcon Group oder von SourceForge heruntergeladen werden.
Bei den Vorträgen von Ilja hab ich regelmäßig das Problem, dass ich höchstens die Hälfte davon verstehe. Das geht immer so weit in C- und Kernel-Interna, das brauche ich normalerweise nicht und ich programmiere auch nicht besonders gern. Diesmal habe ich zwar ganz gut verstanden, worum es ging aber die potentiellen Lücken zu einem Exploit zu entwickeln ist nochmal ein eigener Schritt.
Der erste Teil beschäftigte sich mit /dev/kmem und möglichen Race Conditions beim Auslesen des Kernel-Speichers. Die Lücken sind auf NetBSD bezogen, können aber ähnlich in allen anderen Systemen auftreten, die noch /dev/kmem verwenden (neuere Systeme greifen auf sysctl bzw. /proc zu und benötigen /dev/kmem nicht mehr).
Das Auslesen der Prozesstabelle via /dev/kmem funktioniert im Detail wie folgt:
- Finde die Prozesstabelle im Kernel-Speicher
- Finde die passende Prozessstruktur in der Prozesstabelle
- Finde den Zeiger in der Prozessstruktur, der z.B. auf den Prozessnamen zeigt
- Lese die Informationen auf die der Zeiger der Prozessstruktur zeigt
- Gib die Daten aus
Zwischen den Schritten zwei und drei kann eine interessante Race Condition auftreten. Das kommt vor, wenn während dieses Ablaufs der Prozess beendet wird und aus der Prozesstabelle verschwindet. Der Angriff sieht dann wie folgt aus:
- die Prozessstruktur wird wieder freigegeben
- der Speicher kann reallokiert werden
- wenn der Angreifer die Kontrolle über diesen Speicherbereich bekommt, kann er dort beliebigen Inhalt hineinschreiben
- der Inhalt sollte aussehen wie eine Prozessstruktur
- die Stelle an die der Pointer zeigt kann ausgelesen werden
Ein wunderbarer Data Leak direkt aus dem Kernel mit allen damit verbundenen Sicherheitsimplikationen. Noch schöner ist es, dass zwei SGID-kmem NetBSD-Programme (trsp/trpt) ihre Privilegien beim Starten nicht verwerfen und sogar core-Files einlesen (womit sie anfällig für manipulierte core-Files werden). Damit dürfte unter geeigneten Umständen eine Rechteeskalation zur Gruppe kmem und damit der komplett lesende Zugriff auf /dev/kmem möglich sein.
Eine zweite Fehlerklasse verursacht der Systemaufruf snprintf() in C, der zwei Eigenschaften hat. Zum einen ist der Rückgabewert der Funktion beim Schreiben in einen Puffer nicht die Zahl der tatsächlich geschriebenen Zeichen sondern die Zahl der geschriebenen Zeichen wenn alles in den Puffer gepasst hätte. Zum zweiten gibt snprintf() bei einem Fehler -1 als Rückgabewert zurück. Einige Funktionen prüfen jedoch den Rückgabewert nicht sondern verwenden ihn direkt zur Zeigermanipulation. Bei geeigneten mehrfachen Aufrufen mit Fehler (-1) kann dieser Zeiger dann auf eine beliebige Adresse gesetzt werden.
Der letzte Teil des Vortrags beschäftigt sich mit Out of Band Daten bei TCP. Dafür wird das Urgent-Flag und der Urgent-Pointer im TCP-Header genutzt. Allerdings gibt es kaum noch Anwendungen die Out of Band Daten nutzen.
Das Senden von OOB-Daten ist recht einfach: send(fd, data, len, MSG_OOB);
Das Lesen ist etwas kniffliger, da beim Empfänger Out of Band Daten normalerweise einfach ignoriert werden. Mittels der Funktion: fcntl(fd, F_SETOWN, getpid()); kann der Filehandle so gesetzt werden, dass OOB-Daten empfangen werden. Der Aufruf recv(fd, buf, len, MSG_OOB); kann dann zum Lesen genutzt werden. (Alternative Unix-Versionen haben andere Konstantennamen, MSG_OOB ist dann entsprechend anzupassen).
Eine Alternative ist OOB_INLINE, mit der Daten beim Empfänger auch in den normalen Empfangsdatenstrom eingebunden werden können. Und hier bekommen spätestens Intrusion Detection Systeme Probleme denn wie soll das IDS erkennen, dass die Daten zwar OOB gesendet aber Inline empfangen werden. Und pauschal Inline-Empfang anzunehmen ist auch nicht möglich eben weil das Standardverhalten des Empfängers einfach das Ignorieren der Daten ist.
Ich sag ja … ist immer krasses Zeug mit dem sich Ilja da beschäftigt.
Nun gab es doch noch den bereits vermissten Vortrag zur Schweizer Postcard. Die beiden Referenten hatten schon auf dem letzten CCC gezeigt, dass die Schweizer Karte nur einen 320-Bit RSA-Key verwendet, der innerhalb von 24 Stunden gecrackt werden konnte. Damit ist nicht nur diese eine Karte kompromittiert, da es sich um den Privaten Schlüssel der Issuing Party handelt, d.h. mit diesem Schlüssel können neue Karten digital signiert werden. Interessanterweise hat das die Schweizer Presse nicht wirklich interessiert.
In diesem Jahr ging der kompakte Vortrag über die Möglichkeiten, SmartCards zu clonen, d.h. komplette identisch funktionierende Kopien herzustellen. Dazu musste jedoch zuerst das verwendete Kommunikationsprotokoll analysiert werden, was sich recht mühsam herausstellte. Zum Einsatz kamen eine Javacard, eine Prozessorcard und die Überlegung, das ganze mit spezieller Hardware zu machen wie es die Briten kurz vorher vorgeführt hatten.
Funktion |
Hardware |
Javacard |
Prozessorcard |
Timing |
X |
– |
– |
T1 Sniffing |
X |
– |
X |
Direct Convention |
X |
– |
X |
Indirect Convcention |
X |
X |
X |
Ease of Use |
low |
high |
med |
Secrecy |
low |
high |
high |
Special Hardware |
X |
– |
X |
Die komplette verwendete Hardware und Software und weitere relevante Informationen sind auf der Webseite Postcard-Sicherheit.ch veröffentlicht.
Meiner Meinung nach ist hier neben der technischen Sicherheit vor allem die politische Implikation interessant. Die Schweizer Öffentlichkeit hat von den Sicherheitsproblemen gar keine Kenntnis genommen (im Gegensatz zum Bericht aus Großbritannien, dort hat die BBC eine Fernsehsendung zu den Lücken der Chip&PIN-Karte gesendet). Ebenso werden vom Anbieter, der Schweizerischen PTT die Probleme kleingeredet oder komplett abgestritten. Das Risiko liegt also wie in Deutschland alleine beim Kunden. Ein Umkehrung der Beweislast bei sämtlichen unklaren Zahlungen solcher Karten, d.h. die Bank muss dem Kunden grob fahrlässigen Umgang nachweisen, ist daher dringend geboten.
URLs zum Thema: