Schlagwort-Archive: BlackHat

BlackHat Europe 2013 Hacking (Polycom) Video Conferencing Systems

Moritz Jodeit, ein Security Consultant der n.runs AG, hat sich mit der Sicherheit von Video Konferenz Systemen beschäftigt und seine Ergebnisse auf der BlackHat vorgestellt. Die bereits bekannten bzw. weit verbreiteten Konfigurationsfehler zur automatischen Anrufannahme solcher Systeme waren dabei nicht Gegenstand seiner Arbeit wenngleich jedem der ein solches System betreibt zu empfehlen ist, diese Funktion zu deaktivieren oder mindestens einzuschränken.

Aufgrund der Kosten solcher Systeme (~20 T€) wurden die Tests derzeit nur mit einem Polycom HDX 7000 HD durchgeführt. Weitere Untersuchungen anderer großer Hersteller wie z. B. Cisco werden ggf. noch folgen. Das erste Ziel der Arbeit war es auf dem System Root-Rechte zu erlangen um gezielt nach weiteren möglichen Schwachstellen suchen zu können:

Wie die meisten Produkte kann auch dieses System über ein Webinterface mit Firmware Updates versorgt werden. Die Analyse dieses Files zeigte dabei, dass das ZIP Archiv eine PUP Datei enthält. Bei der Installation der Firmware wird dabei, wie sich das gehört, die Datei verifiziert. Leider hat man sich jedoch für einen HMAC entschieden, was bedeutet, dass auf dem Gerät selbst auch irgendwo ein privater Key zu finden sein müsste. In diesem speziellen Fall war dies sogar noch einfacher, da der Key direkt in der Update Datei (puputils.ppc) zu finden war. Der Key selbst lässt auf ein gesundes Selbstvertrauen der Entwickler schließen: „weAREtheCAMPIONS“. Die Entwickler wollten es sich und damit auch Angreifern jedoch noch einfacher machen. Das Tool pubutils.ppc wird zur Verifizierung von Update Paketen verwendet. Gibt man diesem Tool nun ein Packet mit einer falschen Prüfziffer vor, so ist es so freundlich und gibt nicht nur eine Fehlermeldung aus sondern es gibt auch gleich den Wert mit aus, den es erwarten würde. Clever! J

image_thumb5-8251172

Damit konnte man jedoch noch kein eigenes Update Paket auf das System laden. Es gibt noch eine zweite Prüfroutine welche mittels einer Public Key DSA Signatur die Integrität des gesamten Files prüft. Dieser Mechanismus erschien auf den ersten Blick recht starkt – daher erfolgte keine weitere Untersuchung dieses Vektors. Dies war jedoch auch nicht weiter notwendig. Die bereits erhaltenen Einblicke in das System zeigten, dass es einen Entwickler Modus gibt welcher auch in der produktiven Version der Firmware noch vorhanden ist. Aktiviert wird dieser Modus recht einfach durch die Übergabe von Variablen wärend des Bootens. Dies wiederum erreicht man über die Flash Variablen „othbootargs“ (z. B. mit command injection über den Dateinamen der Firmware). Nach dem aktivieren des Entwicklermodus wird u. a. ein telnet server auf port 23 gestartet welcher den root Zugang ohne Passwort erlaubt. BINGO. Eine kurze Analyse der Umgebung zeigte auch, dass z. B. der Webserver der für des Webinterface verwendet wird unter root läuft und neben der bereits erwähnten command injection noch unzählige weitere Schwachstellen enthält ;-).

Root-Rechte auf dem System zu erlangen war somit offensichtlich recht einfach. Allerdings wollte Moritz Jodeit einen Zugang zu dem System finden, der einfacher aus der Entfernung ausgenutzt werden kann und zudem nicht so einfach zu patchen ist. Sein nächstes Ziel war somit das core-business der Geräte – die Übertragung von Sprach / Video Daten (H.323 und SIP). Auch der hierfür verwendete Service läuft unter root und bietet somit einen perfekten Ansatzpunkt für weitere Untersuchungen. Schon der erste Blick war dabei sehr vielversprechend:

  • Mehr als 800 xrefs zu strcpy()
  • Mehr als 1400 xrefs zu sprintf()
  • Keinerlei Schutz gegen Exploits im Code
  • Einfaches reverse engineering da die Symbols vorhanden sind

Für eine der gefundenen Schwachstellen (Format String Bug) beim Anrufaufbau mit Hilfe von H.323 hat Moritz Jodeit auch einen Exploit entwickelt welcher nach seinen Ausführungen wie folgt funktioniert:

  • Turn bug into write4 primitive (single SETUP pkt)
  • Use write4 primitive to store shellcode
  • Trigger again to overwrite function pointer

Für seinen Proof of Concept Exploit hat er eine payload geschrieben welche die volle Kontrolle über die Kamera, das Mikrofone, die Lautsprecher und das Display übernimmt. Im vorgeführten Beispiel wurde von den Lautsprechern Musik abgespielt und die Kamera bewegte sich passend dazu wie ein Scheinwerfer hin und her…

Wie Moritz betonte ist der Hersteller Polycom ein sehr gutes Beispiel für ein Unternehmen, welches offen mit entsprechenden Schwachstellen umgeht und konstruktiv daran arbeitet diese zu beseitigen. Es gab wohl sehr regen Kontakt und ein sehr weitgehenden Informationsaustausch zu dem Thema. Dies resultierte auch in einem Firmware Update welches am Tag vor der BlackHat veröffentlicht wurde. Allein Besitzern entsprechender Geräte sei als angeraten dieses Update zeitnah zu installieren und auch in Zukunft ein Auge auf die Geräte zu werfen. Die aufgezeigten doch sehr grundliegenden Schwächen lassen vermuten, dass noch sehr viel Arbeit auf Polycom zukommt um das System sicher zu machen.

BlackHat Europe 2013 – Secure Coding Workshop

Nachdem ich den ganzen Morgen des ersten Tages immer die zu diesem Zeitpunkt gerade schlechteste Session ausgewählt hatte, war dieser Vortrag eine inhaltliche und unterhaltsame Wohltat für mich. Jim Manico hat anhand sehr vieler Beispiele aus der realen Welt aufgezeigt welche Schwachstellen in Web-Anwendungen vorzufinden sind, wie diese ausgenutzt werden und vor allem was man machen kann (und muss) um es den Angreifern möglichst schwer zu machen. Abgedeckt wurden alle klassischen Angriffsvektoren von SQL Injections über XSS bis hin zu Authentifizierungsfunktionen. Bei letzteren ging er in seinem Vortrag auch auf die Speicherung von Passworten in der Datenbank, die dafür empfohlenen Verschlüsselungsmethoden und Funktionen wie „Passwort Vergessen“ ein.

Bei diesem Vortrag kann ich daher nur empfehlen, die auf der BlackHat Seite bereitgestellten Folien durchzusehen. Gerade für Webentwickler sollte hier einiges dabei sein.

Blackhat Europe 2013 – Keynote

photo-2_thumb-5282537Die Keynote der Blackhat Europe 2013 wurde dieses Jahr von Rick Falkvinge gehalten. Er ist Mitglied der zwischenzeitlich in den meisten europäischen Staaten vertretenen Piraten Partei. Im Gegensatz zu vielen Keynotes hat mir diese richtig gut gefallen und das obwohl er direkt zu Beginn zugeben musste, dass er Politiker ist clip_image001_thumb-6339667.

photo-1_thumb-3628867Im Detail hat er sehr exemplarisch aufgezeigt wie in der Geschichte immer wieder vergleichbare Versuche unternommen wurden um die Menschheit und im Besonderen deren Meinung zu Kontrollieren und diese Kontrolle aufrecht zu erhalten.

Sein erstes Beispiel war dabei die frühe katholische Kirche und ihr quasi-Monopol auf Bücher. Wie viele photo-3_thumb-7794051wissen waren Bücher früher ein teures Gut und Duplikate wurden durch Abschrift dieser Erstellt. Gleichzeitig waren viele der Bücher in Latein verfasst und konnten somit auch nur von Vertretern der Kirch gelesen und interpretiert werden. Folglich hatte die Kirche die volle Kontrolle über die Meinung der Menschen. Diese Entwicklung wurde erst gebrochen als Papier bezahlbar und Druckmaschinen erfunden wurden. Anfangs versuchte die Kirche zwar noch (mehr oder weniger Erfolgreich) auch diese Entwicklung zu unterbinden scheiterte jedoch nach einigen Jahren. Diese Geschichte setzte er fort über die Druckfirmen die verhindern wollten, dass Bücher weiter gegeben werden dürfen etc.

photo-4_thumb-3219112Zum Abschluss schlug er die Brücke in die heutige Zeit und die derzeit laufenden Initiativen die Versuchen den Inhalt des Internets und die Weitergabe von Informationen zu Kontrollieren.

MS-CHAPv2 – cracken in der Cloud

Auf der BlackHat in Las Vegas hat Moxie Marlinspike seinen neuen Cloud Dienst CloudCrack vorgestellt. Dieser ermöglichst mit speziel modifizierter Hardware das knacken von mitgeschnittenen MS-CHAPv2 verschlüsselten Verbindungen innerhalb von etwas 24 h und das für einen moderaten Preis von ca. 200 $.

MS-CHAPv2 wird heute noch recht oft zum verschlüsseln von VPN Verbindungen im privaten und geschäftlichen Umfeld eingesetzt, da es für fast alle Betriebssysteme inkl. solchen für mobile Geräte eine Implementierung gibt. Die Schwächen von MS-CHAPv2 sind zwar schon einige Zeit bekannt an der Verbreitung / Verwendung hat sich jedoch wenig geändert und bei vielen Produkten ist MS-CHAPv2 sogar noch der Standard.

Mit Hilfe des frei verfügbaren Linux Tools chapcrack kann zwischenzeitlich jeder die für das Cracken notwendigen Hashes aus einem Datenstrom extrahieren und dann mit dem Cloud Dienst den Schlüssel dafür berechnen. Jeder der heute also MS-CHAPv2 für kritische Komponenten einsetzt sollte dies zeitnah ändern.

BlackHat 2012: VoIP Sicherheit

img_0811_thumb-8044181Voice over IP ist eine der Technologien, die sich in den letzten Jahren in vielen großen und auch kleinen Unternehmen etabliert hat. Die Technik wird verwendet um Telefonie über reguläre IP Netze abzubilden. Im privaten Bereich werden dabei die zentralen SIP Server etc. i. d. R. von Providern wie 1&1 zur Verfügung gestellt. Größere Unternehmen, die auch interne Gespräche und weitere Funktionen einer Telefonanlage benötigen, setzen hierfür eigene Server auf. Der Vortrag mit dem Titel “All your calls are still belong to us: how we compromised the CISCO VoIP crypto ecosystem” von Enno Rey & Daniel Mende von ERNW war daher sehr gut besucht – und so viel vorweg, die beiden hielten was der Titel versprach. Die gefundene Schwachstelle in einigen CISCO Telefonen besteht vereinfacht gesagt darin, dass die Telefone bei jedem Reboot (und diesen kann man durch einen einfachen SYN-scan auslösen) den Call Manager nach neuem bzw. aktualisiertem Crypto Material fragen. Sendet dieser nun eine neue Konfiguration mit solchen Information, so vergisst das Gerät offensichtlich das Material zu prüfen und spielt die neuen public keys einfach ein. In Folge dessen kann ein Man in the middle ganze einfach den sicher geglaubten Inhalt von Gesprächen mithören. Dies wird auch dadurch begünstigt, dass die meisten VoIP Geräte sehr empfänglich für ARP-Spoofing sind. Die beiden Sicherheitsforsche führten genau dieses Szenario in einer ca. 10 Minuten andauernden Demo vor und demonstrierten damit wie einfach dieser Angriff ist.

img_0812_thumb-2437503img_0814_thumb-2504692img_0815_thumb-5467588img_0816_thumb-8815976