Phishingtool analysieren: SSL/TLS entschlüsseln

Hey guys,

ich wollte zu Lernzwecken mal spaßeshalber ein Phishingtool analysieren. Das Tool, was ich mir vorgenommen habe, erfordert die Eingabe von Benutzername und Passwort zu einem Onlinegame und die Menge an Punkten der Ingamewährung, die man sich ercheaten will. Natürlich funktioniert das nicht, sondern dient dazu, den Usern das Passwort zu klauen.

Als erstes kam mir in den Sinn mit OllyDbg mal zu gucken, ob ich irgendwelche Strings auslesen kann. Da ich auf dem Gebiet des Decompilierens aber totalen Noob bin, bin ich schon daran gescheitert, die Datei überhaupt zu öffnen. Scheinbar ist das Tool irgendwie gegen Decompilieren geschützt.

Also zum interessanteren Teil für mich: Ich hab mir den Netzwerkverkehr mit Wireshark angeguckt. Offensichtlich schickt das Tool über smtp.google.com eine Mail. Das entnehme ich den DNS-Abfragen. Aber der Programmierer war klug genug, STARTTLS zu verwenden. Mir ist klar, dass ich zum direkten decrypten des Traffics den Private Key von Google bräuchte, den ich wohl eher nicht in die Finger bekomme :)

Wir haben in der Uni mal mit Ettercap rumgespielt. Über ARP-Spoofing Pakete mitgesnifft und sogar mit einem eigenen Zertifikat SSL faken können. Allerdings habe ich keine funktionierende Version von Ettercap mehr gefunden. Alle crashen beim Hosts Scannen oder Sniffen. Aber man muss diese Funktion von Ettercap doch auch irgendwie manuell nachstellen können.

Vorhanden sind Windows 7 und Ubuntu Desktops, ein geswitchtes LAN, sowie ein Debian Server.

Folgende Probleme habe ich aber nun:

  1. Wie kann ich quasi einen SSL Proxy realisieren, der mit meinem Zertifikat und meinem Private Key die Verbindung aufbaut und dann an Google weiterleitet?
  2. Wie kriege ich das Tool dazu, eben diesen Proxy zu verwenden, statt direkt zu smtp.google.com zu verbinden?
Vielen Dank für etwaiges Interesse. Ich würde gerne diesbezüglich etwas dazu lernen.

PS: Das Tool, falls es wen interessiert: Free Cloud Storage - MediaFire
 
Zuletzt bearbeitet:
Als erstes kam mir in den Sinn mit OllyDbg mal zu gucken, ob ich irgendwelche Strings auslesen kann. Da ich auf dem Gebiet des Decompilierens aber totalen Noob bin, bin ich schon daran gescheitert, die Datei überhaupt zu öffnen. Scheinbar ist das Tool irgendwie gegen Decompilieren geschützt.
Das Tool ist wahrscheinlich in VisualBasic geschrieben, auf jeden Fall irgendwas mit .NET. Und lässt sich mit dem .NET Reflector decompilieren.
Sogar das Gmail Passwort kann man auslesen.

Hat zwar nichts mit deiner eigentlichen Frage zu tun, aber ich wollte es dennoch mitteilen.
 
Zuletzt bearbeitet:
Hey blub.txt,

vielen Dank! Das entspricht zwar nicht der Antwort, die ich jetzt erwartet hatte, löst aber mein ursprüngliches Problem. Die Mail inkl. Passwort zu finden ist ja nun ein Kinderspiel. Wieder was gelernt, was ich sicher nochmal brauchen kann. :)

Dennoch würden mich Antworten auf meine Eingangsfragen weiterhin interessieren.
 
Hallo!

Naja, was du sucht nennt sich sslsniff und ist für viele gängige Linuxdistris erhältlich. Damit terminierst du die eigentliche SSL Verbindung und leitest sie dann weiter. Du musst nur darauf achten, dass dein gefaktes Zertifikat zirka so ausschaut wie das Original ;)
Dabei erhält der Benutzer nur eine Zertifikatswarnung- das wars.

Und wie bekommst du nun den User über deine Verbindung? Du spoofst das lokale Gateway, leitest jeden Traffic über dich um und dann weiter.

Sofern ich mich erinnere, macht das aber sslsniff alles in einem!

hth,
bubbles
 
Ahh, endlich mal was anderes als Ettercap. Ich konnte immer nur Ettercap finden und das funktioniert ja nicht mehr so ganz. Dann werd ich das nun damit versuchen, auch wenn ich dafür iptables und arp spoofing selbst machen muss. Das sollte mich nicht aufhalten. Danke!

Morgen erstmal Klausur und dann werd ich mal sehen, ob's klappt.
 
Ok, Klausuren endlich vorbei, ich hatte ein wenig Zeit, mich damit zu beschäftigen.

Ich bin eigentlich Schritt für Schritt nach folgender Anleitung vorgegangen:
HTTPS mitlesen (oder: Wie sehe ich, was meine Apps treiben?) - ahnungslos.ch

Notebook

  • sslsniff 0.7.1 aus den Packetquellen für Ubuntu installiert.
  • iptables-Regeln wie vorgeschlagen eingefügt.
PC

  • statische IP mit Standardgateway Notebook-IP
Test mit wireshark auf dem Notebook ergibt: Sämtlicher Traffic läuft nun über das Notebook.


Notebook

  • Nach Anleitung ein fakeca.pem erstellt.
  • sslsniff ausgeführt.
  • iptables-Regel, um HTTPS auf sslsniff umzuleiten, eingefügt.
Aufrufen normaler Internetseiten logischerweise kein Problem, aber https gibt eine Warnung: Unbekannte Identität. Auch logisch. Ausnahme dauerhaft im Firefox gespeichert, aber der Fehler kommt immer wieder. Wenn ich auf Details klicke steht auch komischerweise nichts im Zertifikat.


Also das .pem zu .crt konvertiert, und auf dem PC im Firefox importiert.
Code:
openssl x509 -in fakeca_public.pem -out fakeca.crt
Code:
openssl x509 -in fakeca.pem -out fakeca.crt
Aber da steckt ja der private Key mit drinnen.
Ergebnis: Nicht mehr der Firefox-Fehler Unbekannte Identität, nun bekomme ich von den Webservern 400 Bad Request.


Nun steh ich auf'm Schlauch. Wie geht's nun weiter? Was habe ich übersehen?


Ich weiche in einem Punkt leicht von der Anleitung ab, weil ich es für einen Fehler vom Author halte:
Jetzt haben wir zwei neue Dateien: „private/cakey.pem“ (privater Schlüssel) und „fakeca_public.pem“ (öffentlicher Schlüssel). Später brauchen wir beide Schlüssel in einer Datei. Wir führen sie deshalb zusammen mit „cat private/cakey.pem fakeca.pem > fakeca.pem“.
Ich habe folgendes ausgeführt, weil es fakeca.pem ja noch gar nicht gibt:
Code:
[I]cat private/cakey.pem fakeca_public.pem > fakeca.pem[/I]

Kann mir da noch jemand helfen?

Gruß AmShaegar
 
Vielleicht noch als Zusatz:

192.168.2.106

  • echo 1 > /proc/sys/net/ipv4/ip_forward
  • iptables -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-ports 4433
  • sslsniff -a -c /root/fakeCA/fakeca.pem -s 4433 -w /tmp/https.log
192.168.2.100


Ergebnis
RST vom Server.

Directupload.net - a92il7pp.png
Wireshark https://rapidshare.com/files/1263153852/log_400_error

http.log sslsniff 1333120608 INFO sslsniff : Certificate Ready: AmShaegar/emailAddress=admin@domai - Pastebin.com
 
Mal eine Frage zum besseren Verständniss für mich, funktioniert das Programm denn prinzipiell?

Ansonsten könnte ich dir noch das
HTML:
http://resources.infosecinstitute.com/mitm-using-sslstrip/
Tutorial bieten, ich hab es nur kurz angeschaut sah aber ganz brauchbar aus.

Normalerweise ist ein Man-In-Middle Angriff relativ leicht, du könntest noch versuchen den SSL Traffic als normalen HTTP Traffic umzuleiten, dann sparst du dir die Arbeit mit den Zertifikaten.
 
Zurück
Oben