Dienstag, 6. Mai 2014

Warnung! Sorgfältiger Umgang mit den SIP Credentials

Vorwort

Dieser Blog hat sicherlich schon einige kontroverse Beiträge verfasst. Unter anderem die im Bezug auf die Extrahierung und Verwendung der Zugangsdaten für die Swisscom IP Telefonie.
Die Storyschreiber des grössten Schweizer Providers haben es in den letzten Jahren schlicht verpasst auf die Bedürfnisse einiger Kunden einzugehen. Trotz Kernkompetenz Telefonie und einem nicht unerheblichen Budget, Manpower und Know-how, hat man bis heute zB. keine App  um die IP Telefonie auch auf anderen Geräten, sprich dem Smartphone, zu verwenden.
Mit der IP Telefonie für Privatkunden ist es zwar weiterhin möglich analoge Endgeräte an den Ports des Routers bzw. über eine Rückspeisung in die Installation zu verwenden. Bezüglich IP Endgerät hat man aber aktuell gerade mal sage und schreibe 1 Telefon im Angebot! Über dessen Qualität und (nicht vorhandenen) Features ich mich schon das eine oder andere Mal geäussert habe. Natürlich im Wohlwollen der Verantwortlichen :)
Mit der neuen Internet Box bringt die Swisscom noch mehr Telefonfunktionalität in ihr CPE. Eine DECT Station, Telefonbuch und die interne Kommunikation wird ermöglicht. Nota bene ist die Internet Box ein absolut geschlossenes System. Funktionalitäten wie das Telefonbuch werden nur mit Swisscom geprüften Endgeräten möglich sein. Unter Umständen gibt es noch eine App welche die Telefonie über die Internet Box auch vom Smartphone aus ermöglichen wird. Tönt doch irgendwie alles fancy.
Aber hey! Vorgeschriebene Endgeräte hatten wird schon mal zu Zeiten der PTT. Die Entwicklung der CPE und gewisser Dienste zeigen in den letzten Jahren doch einige besorgniserregende Tendenzen.
Geschlossene Systeme mit wenigen oder lächerlichen Funktionen, gegipfelt in der Swisscom Internet Box!
Schade, denn die Swisscom verfügt über eine Centrex Anlage welche mehr bietet. Vor allem mehr Freiheit.

Daher wird es immer Leute geben welchen die angebotenen Gerätschaften nicht genügen, daher wird es immer solche Blogs wie diesen geben. Je geschlossener die Systeme werden, desto grösser der Reiz und die Motivation diese Ketten zu sprengen.

Wer solche Systeme entwickelt und Scheisse für Gold verkaufen will muss sich nicht wundern...

Also SCHNAUZE TIEF! >(

Ursache

Trotz Warnung auf der entsprechenden Seite mit den SIP Zugangsdaten einen sorgfältigen Umgang zu pflegen, soll es Personen geben welche dies nicht ganz so beherzigen.
Durch gestohlene Zugangsdaten wird dem Dieb natürlich das telefonieren über die Rufnummer ermöglicht. Dabei kann es so richtig in Geld gehen. Hier bin ich der gleichen Meinung wie Swisscom, dass es natürlich nicht sein kann, dass die Swisscom hier auf Kulanz und Entschädigung eingehen muss. Denn ihr habt es ja gewusst, dass so etwas passieren kann!
Daher gebe ich im folgenden einige Ratschläge wie man die Sicherheit erhöhen und den Schaden begrenzen kann.

Massnahmen

Sperrset

Auch wenn ihr die folgenden Ratschläge nicht befolgen könnt, so geht doch wenigsten ins Kundencenter und aktiviert das Sperrset: "Internationale Verbindungen, 090er Nummer & Carrier Selection sperren"
Braucht ihr 0900 Nummern, braucht ihr die CPS? Ziemlich sicher nicht. Also sperrt das doch gleich. Möglich das ihr internationale Verbindungen zwischen durch mal braucht. Gesperrt und entsperrt ist schnell mal.
Sollten die Zugangsdaten gestohlen sein, so wird das Konto durch dieses Sperrset schnell mal uninteressant!



Updates

Haltet euer System, App oder Endgerät aktuell. Gerade die Sicherheitslücke bei der Fritzbox hat zu vielen Frauds geführt. Ihr wisst das die Daten sensibel sind. Lücken kann es immer mal geben, dagegen ist man kaum gefeit. Jemandem welcher die Credentials ausliest, setze ich allerdings schon ein wenig technischen Interesse voraus, wobei man also davon ausgehen kann, dass die Fritzbox Lücke eigentlich bekannt sein sollte.
Leider zeigen Scans das es viele Knalltüten gibt welche immer noch mit alter Firmware unterwegs sind. Tja.
Fritzbox User halt :))

VPN

Falls ihr die Daten nomadisch verwenden möchtet, empfehle ich ein VPN ins heimische Netz. Damit bleibt der Telefon Traffic zumindest im Swisscom Netz.

Endgerät/Software

Gebt eure Daten nicht in jede Drecksapp ein. Eigene Analysen haben ergeben das die Bria App für Android eine Digest access authentication vornimmt. Der Swisscom Server sendet einen WWW-Authenticate. Somit wird das eigentliche Passwort mittels md5 gehasht und nicht im Klartext übermittelt. Das Passwort ist also kryptografisch geschützt. Abgesehen von sonstigen Exploits ist man also sicher. So sicher wie beim Einsatz des offiziellen IP Phone Rousseau.
Ob der SIP Server sogar diese Art der Authentifizierung voraussetzt ist mir nicht bekannt. So sehr interessierts mich nun doch auch wieder nicht.


Ich hoffe ihr beherzigt diese Tipps oder aktiviert wenigstens das Sperrset.
Somit werden wir auch in Zukunft unsere Freude abseits der Spezifikationen haben ohne das wir CPE's verwenden müssen mit denen die Swisscom im lokalem Netz rumschnüffeln kann.

Samstag, 3. Mai 2014

Swisscom SIP - Zugangsdaten auslesen Centro Router Motorola/Arris

SIP-Zugangsdaten auslesen Centro Router Motorola/Arris

Um an die SIP Zugangsdaten seinen Swisscom Telefonanschlusses zu kommen brauchte man bisweilen einen Centro Router von Pirelli/ADB.
Durch die Information und freundlicher Genehmigung von revault.ch ist es mir nun möglich euch noch einen anderen Weg mit dem Centro Router von Motorola/Arris zu zeigen. Dieser ist sogar noch etwas einfacher anzuwenden da man hierzu kein Downgrade der Firmware machen muss Dabei spielt es keine Rolle ob es sich um einen grande oder piccolo dieses Herstellers handelt.
Geprüft wurde der Exploit mit der Firmware Version 9.0.10h2d12

Voraussetzung

Die SIP Daten müssen auf den Router geschrieben sein. Die Telefon LED muss also weiss leuchten.
Als Trick verwendet man einen Netcat listener im selben Netzwerk. Die Befehle in diesem Beitrag beziehen sich auf die Linux Version. Die Verwendung der Zugangsdaten wird bereits in diesem Beitrag beschrieben und nicht nochmals erwähnt:



How to

Zuerst startet man einen Netcat listener auf einer Maschine im selben Netzwerk des Routers. Dies kann die gleiche Maschine sein von der aus wir nachher noch eine Telnet Verbindung zum Router aufbauen. Natürlich muss der Port des listeners, in diesem Beispiel 1669, erreichbar sein!

nc -l 1669 |grep siputilsauth.c


Als nächstest startet man mit einem anderen Prozess oder auf einer anderen Maschine eine Telnet Verbindung auf den Router und loggt sich als admin ein.

telnet 192.168.1.1

Mittels dem Befehl magic öffnet man auf dem Router eine erweiterte shell und aktiviert das Logging auf den zuvor eröffneten Netcat listener. Hierzu ist die IP und der Port dem eigenen Netz anzupassen!

magic
voip trace sipstack on
voip extrnlog on 192.168.1.102:1669 8


Um den listener mit Daten zu füllen, muss man einen SIP Parameter ändern. Bei der grande Version kann man gleich beide Linien ändern, bei der piccolo nur eine da ja auch nur eine physikalische Schnittstelle vorhanden ist.

configure
set voip phone 1 sip-expires-time 5
set voip phone 2 sip-expires-time 5
validate
save
exit

Nachdem man einige Sekunden gewartet hat setzt man den Wert wieder auf den dafür vorgesehenen.

configure
set voip phone 1 sip-expires-time 3600
set voip phone 2 sip-expires-time 3600
validate
save
exit



Der Netcat listener sollte sich wie auf dem Bild zu sehen mit den benötigten Daten gefüllt haben. Falls nicht, einfach die Befehle nochmals ausführen.
Hat man im Falle von Multiline mehrere Rufnummern kann man diese den Ports des Routers zuweisen lassen und ebenfalls auslesen.
Ist man fertig schaltet man das Logging auf dem Router noch aus.

voip trace sipstack off
voip extrnlog off

Vielen Dank für die Unterstützung und viel Spass damit!