Kann ich TLS Pakete aus dem Smartphone Netzwerkverkehr entschlüsseln?

  • Antworten:2
Christian F
  • Forum-Beiträge: 16

21.05.2012, 17:28:08 via Website

Hallo zusammmen,

Für diejeningen, die keine Zeit haben die ganze Leidensgeschichte zu lesen, hier die Frage vorab:
"Gibt's ne Möglichkeit die TLSv1 Pakete aus dem Traffic meines Smartphones, die ich mit Wireshark aufzeichne, mit Hilfe des jeweiligen Account-Passworts zu entschlüsseln? Wenn ja, wie?"

Ich hab mir gestern die Nacht um die Ohren geschlagen, mit der Frage was mein Telefon denn so alles den ganzen lieben langen Tag in der Gegend rumsendet. Also dachte ich, könnte ich einfach mit Wireshark auf dem PC den Verkehr meines Smartphones mit schneiden und ihn mir dann zu Gemüte führen. Das war aber nicht so leicht...

Der Versuchsaufbau war recht simpel:
1.) Normaler WLAN-Router mit Anschluss zum Internet (Thomson Speedtouch) und WLAN mit WPA gesichert
2.) Ubuntu PC per WLAN mit Router verbunden
3.) HTC Hero Smartphone per WLAN mit Router verbunden.

Beim ersten Versuch habe ich in Wireshark nur Broadcast-Nachrichten anderer Netzwerkteilnehmer gesehen. Nach einiger Recherche bin ich zum Entschluss gekommen, dass mein Router wohl nicht im Promiscous-Mode arbeitet und deshalb jede Nachricht nur an den jeweiligen Teilnehmer sendet, für den das Paket bestimmt ist. Wie er das macht (mit Kanalwechsel oder durch Zauberei) weiß ich leider nicht. Nach weiterer Recherche habe ich herausgefunden, dass man seine WLAN Karte mit etwas Glück auch in den sog. "Monitor Mode" schalten kann, damit nicht schon die Hardware die Pakete, die nicht für einen selbst bestimmt sind wegwirft. Das habe ich mit airmon-ng gemacht und wenn ich in Wireshark das daraus entstandene virutelle Device mon0 abfrage, sehe ich leider nur jede Menge 802.11 Pakete, aus denen ich nicht schlau werde. Auch wenn ich Wireshark den WPA Key meines WLANs mit gebe ändert sich daran nichts.

Also habe ich die Trickkiste weiter geöffnet und habe einen Man in the Middle Angriff auf mein Handy durchgeführt. Mit Hilfe von arpspoof und ettercap. Damit konnte ich tatsächlich den Traffic meines Smartphones sehen. Aber: Ein Großteil der Pakete - eigentlich alle, in denen ich mir interessante Informationen erwarte, sind verschlüsselt und tauchen in Wireshark als TLSv1 Pakete auf. Ich vermute dahinter stecken die eigentlichen HTTP-Requests der einzelnen Apps. Darauf hin habe ich sslstrip angeworfen um die SSL Sessions entschlüsseln zu können. Mit mäßigem Erfolg: Ich schaffte es mein Facebook und mein Google Passwort bei einer Authentifizierung über den Browser des Handys mit zu sniffen... Die Passwörter kannte ich natürlich schon. Aber interessant, dass es funktioniert :-) Interessant ist auch, dass ich mich in Google-Mail nicht einloggen konnte - in Facebook schon, nachdem ich sämtliche Zertifikatsmeldungen ignoriert habe. Google scheint da noch einen kleinen Sicherungsmechanismus drin zu haben. Vielleicht mit Cookies oder so?
Die dazu gehörigen Apps (googleMail und Facebook for Android) haben übrigens während dem MITM-Angriff ihren Dienst versagt und mir mitgeteilt, es gäbe keine Verbindung.

So und hier stehe ich nun... Ich möchte wissen, was die einzelnen Apps so an Daten an Ihre Schöpfer senden. Das ist doch nur gut und recht. Es sind schließlich meine Daten. Meine Geo-Daten, mein Nutzerverhalten, mein WLAN, meine Accounts. Da kann ich doch erwarten, dass ich mitlesen darf, welche Daten von wem wann wohin geschickt werden! Nun zur eigentlichen Frage: Gibt's ne Möglichkeit diese TLSv1 Pakete, die ich in Wireshark sehe mit Hilfe des jeweiligen Passworts zu entschlüsseln? Wenn ja, wie?

Ich habe gesehen, dass Wireshark zum Entschlüsseln von SSL Verbindungen die Option bietet Passwort, Keyfiles etc. mit zu geben. Aber welche Keyfiles soll ich denn da angeben? Wo liegen die denn auf meinem Handy? Liegen da überhaupt welche?

Ich habe mir auch Paketsniffer-Apps für Android angeschaut. Aber ich muss sagen, ich finde das unpraktisch. Viel lieber wäre es mir live meinen Verkehr am PC mitsehen zu können. Außerdem enthalten die Mitschnitte von diesen Paketsniffer Apps auch verschlüsselte Pakte und nur geringfügig mehr Informationen, soweit ich das bisher gesehen habe.

Ich möchte weder meine Nachbarn, meine Freundin, meine Mitbewohner oder sonst wen ausspionieren. Nur meinen eigenen Traffic! Wie gesagt, ich habe das WPA Kennwort und natürlich die Passwörter und Benutzernamen der auf dem Handy verwendeten Accounts. Daran gibt es meiner Meinung nach nichts Verwerfliches. Also bitte keine Antworten á la "wir bilden hier keine Hacker aus", etc.

Ich bin auf dem Gebiet noch ein ziemlicher Newbie, daher kann es gut sein, dass ich die verwendeten Programme einfach falsch bedient habe.

Wäre schön, wenn mir jemand weiter helfen kann!

Schönen Gruß!

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.068

21.05.2012, 17:34:45 via App

Du musst Dir dazu einen Proxy aufbauen und den Datenverkehr da durch leiten.

In c't 7/12 auf Seite 120 (Datenschnüffler enttarnen) ist der Aufbau beschrieben.

Das Heft kannst Du auf heise.de nachbestellen.

— geändert am 21.05.2012, 17:35:10

Die Tatsache, dass ich paranoid bin, heißt noch lange nicht, sie seien nicht hinter mir her!

Antworten
Christian F
  • Forum-Beiträge: 16

21.05.2012, 20:14:47 via Website

Hi,

vielen Dank für die schnelle Antwort!
Ich hab mir den Artikel gleich mal gekauft. Die 1,50€ war's mir wert :-)

Nach kurzem überfliegen muss ich sagen, dass ich gar nicht soweit weg war... ich hätte nur noch ein Zertifikat für meinen sslsniffer erstellen müssen. Das mach ich (hoffentlich) heute nacht und ich kann ja dann nochmal bescheid geben, ob's geklappt hat.

Zwei Anmerkungen allerdings noch:
1) Für Android hilft der im Artikel erwähnte Proxy Server "Burp" nicht. Für Android Geräte beschreibt der Autor eigentlich genau den Weg, den ich gestern schon gemacht habe.
  1. IP forwarding aktivieren
  2. Arp-Spoofing (beidseitig)
  3. SSLstrip mit eigenem Zertifikat

2) sslstrip enthält laut Artiikel einen Bug in Bezug auf die Versionsangabe im Zertifikat hat. Keine Ahnung, ob das mittlerweile behoben wurde. Eine angepasste Version findet sich unter http://www.heise.de/ct/12/07/links/120.shtml

/EDIT: Ich muss mich korrigieren: ICH habe "sslstrip" verwendet. Das leitet https traffic auf eine http adresse um, so dass man kein Zertifikat mehr braucht. Was in dem ARTIKEL verwendet wurde ist "sslsniff" und das hat/hatte einen Bug. Immer diese ähnlichen Namen :*)

— geändert am 21.05.2012, 20:41:56

Antworten