Systems 2008 - Spiel, Spaß, Spannung

23. Juli 2008 | No Comments »

Für den diesjährigen Messeauftritt (Eindrücke der Messe werden wir im Oktober dann auch bloggen) haben wir uns ein Schmankerl zum Abend hin geleistet. So ab halb sechs wird eine Nintendo Wii ausgepackt und gemeinsam mit allen, die gerne spielen möchten eine Runde Tennis, Bowling, Mario Kart oder ähnliches gespielt.
Es ist zwar noch ein wenig hin, aber wir haben das Gerät schonmal bestellt :) Heute ist die Wii angekommen und einer unserer Geschäftsführer, unser Stift und meine Wenigkeit haben uns die ersten Kämpfe um den Titel des besten Wii-Daddlers der Firma geliefert.

Die Wii ist das

Die Wii ist das

RL und GT beim Wii spielen

RL und GT beim Wii spielen

/gt

Tags:, ,

Was ist eigentlich Vishing?

17. Juli 2008 | No Comments »

Auf der Voipsec Mailingliste hat ein holländischer Student von der Diskussion mit seinem Mentor berichtet, was eigentlich Visihing genau ist.
Insbesondere ging es um die Frage, ob nur beim Einsatz von interactive-voice-response (IVR) Systemen vishing der richtige Begriff wäre, oder z. B. auch beim Aufbau eines gefakten Call-Centers in Indien (die Idee ist irgendwie lustig ;) ).

Ich habe versucht das ganze wie folgt zu definieren:
Vishing kommt von Voice Phishing. Phishing ist aus password fishing zusammengebastelt. Also ist Vishing der Versuch Passwörter, bzw. sensitive Daten über ein Telefonie-System “abzufischen”. Welche Technik dabei zum Einsatz kommt (klassische Telefonie, VoIP jeglicher Couleur, IVR-Systeme, Botnetze die die Anrufe absetzen oder gar indische Call-Center) spielt dabei eine untergeordnete Rolle.

Um den Unterschied zwischen klassischer Telefonie und VoIP klarzustellen könnte man z. B. von VoIPhishing sprechen (was mir außerordentlich gut gefällt) und um den Unterschied zwischen dem Einsatz von IVR-Systemen und realen Personen bei den Anrufen klarzumachen, könnten Begriffe wie passive-vishing und active-vishing hilfreich sein.

/gt

Tags:, , , , ,

IT-Security 2008 Rückblick

16. April 2008 | No Comments »

Ich war vom IT-Verlag eingeladen auf der IT-Security 2008 einen Vortrag im Hack-Track zum Thema VoIP-Sicherheit zu halten (der Vortrag kam dem Feedback nach trotz eines defekten Phones in der Demo ganz gut an und war auch gut besucht).

Ich war in erster Linie im Hack-Track zugegen, um den Kollegen ein wenig zuzusehen.
Interessant waren insbesondere die Vorträge zu Oracle-Sicherheit von Red-Database-Security, die ja bereits in der Vergangenheit durch Advisories für Oracle aufgefallen sind.
Sehr gut aufbereitet war auch der Vortrag von Bruce Sams zu Sicherem Software Development Lifecycle. Insbesondere die Flußdiagramme in Power-Point haben den Referenten und das Auditorium erfreut ;) Vielleicht in “Hack-Attack” nicht ganz richtig zugeordnet, aber wie gesagt inhaltlich und von der Präsentation her prima.
Ebenfalls spannend waren Angriffe auf SAP-Systeme von Wikima4. Leider waren recht wenig SAP-spezifische Angriffe, sondern einige auf veraltete Windows-Installationen zu sehen, aber für uns, die wir nicht tief in der SAP Welt stecken auf jeden Fall ein interessanter Blickwinkel auf die Thematik.

Insgesamt wie gesagt interessant, sowohl bzgl. der Inhalte und auch der Kontakte. Sowohl zwischen uns “Dienstleistern”, als auch wie ich mitbekommen habe zwischen den Teilnehmern.

/gt

Tags: ,

Path Evasion, Flash Decompiling oder Voting für Fortgeschrittene

16. April 2008 | No Comments »

Hier haben wir bereits von einem Download-Script auf einer Webseite berichtet, das gegenüber Directory Traversal anfällig war.

Der Freund des Freundes eines Freundes (oder so in der Art) nahm mit seiner Band an einem Contest eines großen Brause-Herstellers teil und bat in einem Forum darum, dass man doch bitte für ihn voten sollte. Das haben auch viele getan. Da die Bitte in einem techniklastigen Forum erging, haben einige einen Flash-Decompiler angeworfen und folgendes entdeckt:
Der Vote ging auf eine URL in Form von /vote/a?34567754345677654356765456765456123123. Der String war nicht in irgendeinerweise einfach so fälschbar, um die Abstimmung zu beeinflussen (rein akademisch betrachtet). Das Decompiling ergab, dass der Aufwand für den String sehr hoch war. Die Basis-Infos (ID der Band, Timestamp, etc) werden mittels AES einem Passwort verschlüsselt, dann noch noch Electronic Code Book Mode und ein PKCS#5-Padding.
Aufgrund dessen konnte ein Proof-of-Concept Script von dem Freund eines Freundes entwickelt werden, um diese sehr komplexe Absicherung in insgesamt ~1 Stunde zu umgehen.

Ein andere fand ein Script, dass den Download von MP3s ermöglicht hat (woher kenne ich das nur?..) und, tadaaaa, auch hier war ein Directory Traversal möglich. Letztlich fand der Freund eines Freundes auch eine include-Datei mit folgendem Inhalt

 $DBNAME = "einedb";
 $DBUSER = "einuser";
 $DBHOST = "xx.xx.xx.xx";
 $DBPASS = "komplexespw";


Der Freund eines Freundes hat sich auf die Datenbank verbunden (MySQL, Port 3306/TCP) und hätte so alle Daten, inkl. den Votes, verändern oder löschen können. Ein Bild der Datenbank verdeutlicht dies (klicken = groß).

Tabellenansicht

Tabellenansicht

Ein spannendes Fallbeispiel, bei dem vieles richtig gemacht wurde und zuviel falsch:

  • Richtig: URLs für Votings sollten nicht vorhersehbar sein (es geht aber sicherlich auch einfacher)
  • Falsch: Schlechte bzw. keine Benutzer-Validierung in PHP-Scripten
  • Falsch: Sensitive Informationen in Flash-Dateien

/gt

Tags:, , ,

Openstage XML Applikation über FPK-Taste starten

25. März 2008 | No Comments »

Im letzten Artikel hatte ich ja bereits über XML Applikationen für die Siemens Openstage Serie geschrieben. Eine Funktion, die bedauerlicherweise von den Entwicklern vergessen wurde, ist das Starten von Applikationen über die sogenannten Functional Programming Keys, zu deutsch FPK-Tasten. Durch geschickte Kombination verschiedener Funktionen konnte ich in unserem VoIP-Labor die Funktion allerdings nachstellen. Nur leider kann man aus einem Ackergaul kein Rennpferd machen, das hier beschriebene Konstrukt hat leider zwei Nachteile. Es funktioniert nur, wenn gleichzeitig kein Anruf geführt wird, und zweitens gibt es ein großes Geflacker auf dem Display für etwas mehr als eine Sekunde.

Warum Siemens nicht das Anlegen von Applikations Shortcuts auf FPK-Tasten ermöglicht ist schwer nachvollziehbar. Es scheint, dass sich die Entwicklung und das Produktmanagement des Openstage nicht entscheiden konnte, ob XML Applikationen wichtig für das Produkt sind oder nicht.

Aber wie lösen wir das Problem? Folgende Zutaten nutzen für unser kleines Rezept eine XML Applikation mit nur einem Tastendruck zu starten: (1) FPK-Taste mit einer Zielwahl belegen, (2) ein Scripts auf einem Telefonie Server ausführen, (3) Remote Starten einer XML Appliation. Das folgende Bild illustriert die drei Schritte, die wir im folgenden noch im Detail beschreiben.

Zunächst brauchen wir eine freie Rufnummer oder einen freien Featurecode auf unserem Telefonie Server, wir wählen hierzu die *21. Diesen Featurecode legen wir als Zielwahl auf eine FPK Taste am Openstage.

Als Telefonie-Server nutzen wir ein Asterisk System. Dort registrieren wir für die Extension *21 im Dialplan einen Scriptaufruf. Der eigentliche Scriptaufruf muss allerdings sehr spät erfolgen, da ansonsten die interne Telefon Applikation auf dem Openstage den Fokus der zuvor gestarteten XML Applikation wieder wegnimmt. Folgende Zeilen schreiben wir in den Dialplan, sodass wir relativ modular verschiedene Applikationen starten können, die Asterisk-interne Bedeutung der Aufrufe ignorieren wir an dieser Stelle.

exten => *21, 1, Answer
exten => *21, 2, Set(script=serverpush.sh)
exten => *21, 3, Set(scriptarg1=${SIPCHANINFO(peerip)})
exten => *21, 4, Set(scriptarg2=helloworld)
exten => *21, 5, Set(scriptarg3=xmlopenstage/helloworld.php)
exten => *21, 6, Hangup
exten => h, 1, DeadAGI(${script}|${scriptarg1}|
${scriptarg2}|${scriptarg3})

Laut Siemens Developers Guide für Openstage XML Applications kann ein PUSH Request auf dem Openstage gestartet werden, indem der Webserver des Telefons auf Port 8085 mit einem HTTP POST Anfrage angesprochen wird. PUSH bedeuetet, dass das Telefon veranlasst wird eine zuvor konfigurierte XML Applikation zu starten, also genau das, was wir auch über eine FPK-Taste machen würden.

Im folgenden ist das Shell-Script aufgeführt, dass wir zum Aufruf des Telefon Webservers verwenden. Das Script erwartet die drei Parameter, die oben im Dialplan angegeben wurden. Unser Webserver hatte die IP 192.168.5.33, den Port 80 und sprach HTTP, diese Parameter können im Script aber auch leicht angepasst werden. Das Script sollte als serverpush.sh in /var/lib/asterisk/agi-bin/ installiert werden.


#!/bin/sh
sleep 1
url="http://$1:8085/server_push.html/ServerPush"
data="ServerAddr=192.168.5.33&ServerPort=80&ProgramName=$3&
RequestType=force&MidletName=$2&ServerProtocol=http"
wget -q -O /dev/null --post-data $data $url

Mit den drei Konfigurationen sollte dann bereits der Aufruf einer XML Applikation über eine PFK-Taste funktionieren und etwas besser von der Hand gehen.

/sf