it-swarm.com.de

Wie funktioniert SSLstrip?

Ich habe SSLstrip gelesen und bin mir nicht 100% sicher, wie es funktioniert.

Viele Dokumentationen scheinen darauf hinzudeuten, dass das Auftreten von "https" im Datenverkehr, auf den es Zugriff hat, einfach durch "http" ersetzt wird. Eine URL wie " https://Twitter.com " wird also als " http://Twitter.com " an das Opfer weitergeleitet.

Kommuniziert SSLstrip zu diesem Zeitpunkt weiterhin in unserem Namen über HTTPS mit Twitter? Etwas wie das:

Victim  <== HTTP ==>  Attacker  <== HTTPS ==>  Twitter

Oder ist es nur die Tatsache, dass der Client jetzt über HTTP mit Twitter kommuniziert, die uns Zugriff auf den Datenverkehr gewährt?

Victim  <== HTTP ==>  Attacker  <== HTTP ==>  Twitter

Ich vermute, es wäre die erste Option, bei der der Angreifer weiterhin über HTTPS mit Twitter kommuniziert, da dies von Twitter erzwungen wird, aber ich möchte nur eine Klarstellung, danke.

92
Scott Helme

Sie sollten sich Moxie Marlinspikes Vortrag ansehen SSL mit SSLStrip besiegen . Kurz gesagt, SSLStrip ist eine Art MITM-Angriff, der den Browser eines Opfers dazu zwingt, über HTTP im Klartext mit einem Gegner zu kommunizieren, und der Gegner den geänderten Inhalt von einem HTTPS-Server überträgt. Zu diesem Zweck "entfernt" SSLStrip https:// URLs und verwandeln sie in http:// URLs.

HSTS ist eine vorgeschlagene Lösung für dieses Problem.

76
rook

Über mögliche Lösungen sprechen: Der einzig wirklich zuverlässige Weg, um SSL-Stripping zu verhindern/zu erkennen, ist die Verwendung der immer verschlüsselten Kommunikation und der Seitenkanalauthentifizierung des TLS (verwenden Sie grundsätzlich den TLS-Schlüsselaustausch, ersetzen Sie jedoch die PKI-/zertifikatbasierte Authentifizierung durch eine benutzer- oder gerätebasierte Authentifizierung Authentifizierung). In der Praxis bedeutet dies, dass der Server und der Benutzer nach einem Schlüsselaustausch bestimmte gemeinsame Geheimnisse oder Schlüssel erhalten. Client und Server verwenden dann einen diskreten Authentifizierungskanal (z. B. mithilfe von SSH oder anderen Methoden der starken asymmetrischen Authentifizierung) und authentifizieren sowohl ihre Identität als auch die TLS-Schlüssel. Wenn die Schlüssel identisch sind, haben Sie die Gewissheit, dass der Kanal zu 100% durchgehend verschlüsselt ist.

Wenn es einen Mann in der Mitte gibt, könnte er 2 Angriffsvektoren ausführen:

  1. MITM könnte die TLS-Kommunikation mit dem Server an seinem Punkt beenden und den Benutzer über HTTP kommunizieren lassen. Dies verursacht keine Warnungen in herkömmlichen TLS/HSTS. Dies wird jedoch durch die Seitenkanalauthentifizierung erkannt, da der Server und der Client unterschiedliche TLS-Schlüssel haben (Schlüssel 1 und kein Schlüssel).

  2. MITM könnte ein gefälschtes oder gestohlenes Zertifikat verwenden. Dies kann je nach verwendetem Zertifikat eine Warnung auslösen oder auch nicht (dank der Initiative Let's Encrypt wird dies möglicherweise immer einfacher). Dieser Angriff würde erneut vom vom Seitenkanal authentifizierten TLS entdeckt, da der Server einen anderen Schlüssel als der Client hätte (Server hat Schlüssel1, MITM hat Schlüssel1 für den Server, MITM hat Schlüssel2 für den Client, Client hat Schlüssel2).

Dies beendet die SSL-Zertifikate als Bonus und funktioniert auch mit CDNs. Bitte beachten Sie, dass diese Lösung nicht gegen Backdoors gegen Verschlüsselung immun ist.

3
Ivo

Ich denke, es ist wichtig zu beachten, dass das Strippen auf den Client-zu-Server-Nutzdaten erfolgt und der Client zuerst HTTP-Inhalte anfordern muss.

Bei Verwendung des Twitter-Beispiels müsste der Client zuerst http://www.Twitter.com anfordern, wenn die Site den Client zu HTTPS SSL Strip umleitet, wird das "s" in der Antwort so entfernt, dass Der Client fordert weiterhin HTTP-Inhalte an, nicht HTTPS.

Wenn ein Client https://www.Twitter.com anfordert (oder HSTS verwendet wird), ist ein SSL-MiTM-Angriff erforderlich, um die Antwort abzufangen, wodurch der Zweck dieses Angriffs zunichte gemacht wird.

1
Matt

HSTS ist ein einfacher "http-Header", der von MITM manipuliert und geändert werden kann

Bevorzugen Sie Addons wie HTTPnowhere oder HTTPS Everywhere mit 90% Erfolg ... Eine andere Art von Addons ist https://addons.mozilla.org/en-US/firefox/addon/enable-disable-weak-ssl -cip / zum Verschlüsseln von Daten nach SSL-Handshake-Aushandlung.

Als Kunde sind Sie offensichtlich in einer INFERIOR-Position und Router zwischen Ihnen und dem Internet können leicht gesteuert werden. Verstehen Sie also, dass Clients nur über geringe Ressourcen verfügen, um den Datenverkehr zu steuern. Und dafür ist VPN/Stunnel nur die beste Lösung. Sie wissen jedoch nie, ob NSA/ISPs/vorbereitete Personen das magische Geheimnis haben, diese Kommunikation abzufangen und zu entschlüsseln.

1
Mário Guedes