
Dieser Artikel beschreibt ein Beispiel für die praktische Anwendung des Angriffs "Cache-Verzerrung durch 301-Umleitung", der vom Ausgabeknoten des Tor-Netzwerks mit bösartigem Code verwendet werden kann, um die tatsächlichen IP-Adressen ausgewählter Benutzer zu identifizieren.
Angriffsszenario
Das Angriffsszenario ist wie folgt:
- Kunde: Chrome Canary (76.0.3796.0)
- Echte Client-IP: 5.60.164.177
- Kundenverfolgungsparameter: 6b48c94a-cf58-452c-bc50-96bace981b27
- IP-Adresse des Ausgangsknotens des Tor-Netzwerks: 51.38.150.126
- Transparenter Reverse Proxy: tor.modlishka.io (Modlishka - aktualisierter Code wird veröffentlicht.)
Hinweis: In diesem Szenario wurde der Chrome-Browser über das SOCKS5-Netzwerkprotokoll für die Verwendung des Tor-Netzwerks konfiguriert. Der Tor-Kanal wurde auf einen bestimmten Testausgangsknoten abgestimmt: '51 .38.150.126 '. Es ist auch eine Validierung des Konzepts und viele Einstellungen können in Zukunft optimiert werden ...
Bei einem böswilligen Ausgabeknoten des Tor-Netzwerks wird der gesamte Datenverkehr über den Modlishka-Proxyserver umgeleitet:
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j DNAT --to-destination ip_address:80 iptables -A FORWARD -j ACCEPT
Beschreibung des Angriffsszenarios
Annahmen:
- Eine Browseranwendung (in diesem Fall ein Standardbrowser), die die Netzwerkverbindung „Tor“ verwendet und schließlich die Verbindung über einen böswilligen Ausgabeknoten herstellt.
- Der böswillige Ausgabeknoten des Tor-Netzwerks, der den Cache des gesamten HTTP-Verkehrs abfängt und verzerrt (Antwortcode HTTP 301), der kein TLS (Transport Layer Security Cryptographic Protocol) hat.

Schauen wir uns die folgenden Schritte eines Angriffsszenarios an:
- Der Benutzer stellt über das Tor-Netzwerk eine Verbindung zum Internet her, indem er den Browser für die Verwendung des SOCKS5-Netzwerkprotokolls des Tor-Systems konfiguriert oder so konfiguriert, dass der gesamte Betriebssystemverkehr über das Tor-Netzwerk umgeleitet wird.
- Der Benutzer startet seine normale Internetzugangssitzung mit seinem bevorzugten Browser, in dem normalerweise viel HTTP-Verkehr ohne das TLS-Sicherheitsprotokoll über den Tunnel des Tor-Netzwerks gesendet wird.
- Der böswillige Ausgabeknoten des Tor-Netzwerks fängt Anforderungen ab und leitet sie jeweils mit dem HTTP 301-Antwortcode weiter. Diese Weiterleitungen werden vom Browser ständig zwischengespeichert und an die Tracking-URL mit der zugewiesenen Tor-Client-ID gesendet. Die Tracking-URL kann folgendermaßen erstellt werden: user-identifier.evil.tld , wobei 'evil.tld' alle Informationen über die Quell-IP-Adresse sammelt und Benutzer zu den ursprünglich angeforderten Hosts umleitet ... oder alternativ zur transparenten Rückseite Ein Proxyserver, der versucht, den gesamten nachfolgenden Strom des HTTP-Clientverkehrs abzufangen. Da es außerdem möglich ist, den Cache für die meisten der beliebtesten Domänen (wie in einem vorherigen Artikel beschrieben) automatisch zu verzerren, z. Top 100 Websites Laut Statistik des Unternehmens «Alexa» maximiert der Angreifer seine Chancen, echte IP-Adressen zu identifizieren.
- Nach dem Beenden der Tor-Netzwerksitzung wechselt der Benutzer zu seinem regulären Netzwerk.
- Sobald der Benutzer die Adresse einer der zuvor verzerrten Domänen in die Adressleiste eingibt (z. B. "google.com"), verwendet der Browser den Cache für die interne Umleitung zur Tracking-URL mit der Kontextkennung des Ausgabeknotens.
- Der Ausgabehost kann die zuvor abgefangene HTTP-Anforderung mit der tatsächlichen IP-Adresse des Benutzers abgleichen, indem er Informationen verwendet, die von einem externen Host empfangen wurden, der die Tracking-URL mit der Benutzer-ID verwendet hat. Der Host von evil.tld verfügt über Informationen zu allen IP-Adressen, die für den Zugriff auf die Tracking-URL verwendet wurden.
Mit dieser Methode können Sie natürlich ausgewählte HTTP-Anforderungen mithilfe des Ausgabeknotens des Tor-Netzwerks effizient mit Client-IP-Adressen abgleichen. Dies liegt daran, dass die zuvor generierte Tracking-URL vom Client über den Netzwerktunnel „Tor“ und erneut angefordert wird, sobald die Verbindung über die Standardverbindung des Internetproviders hergestellt wird. Es liegt alles am verstümmelten Code im Cache.
Ein anderer Ansatz könnte auf der Einführung eines modifizierten JavaScript-Codes mit eingebetteten URLs zur Verfolgung der entsprechenden Antworten ohne TLS-Sicherheitsprotokoll und der Änderung der erforderlichen Steuerungs-Cache-Header (z. B. 'Cache-Steuerung: max-age = 31536000') basieren. . Dieser Ansatz ist jedoch nicht sehr effektiv.
Das Verfolgen von Benutzern über die Standard-Cookies verschiedener Webanwendungen ist ebenfalls möglich, es ist jedoch sehr schwierig, den Client zu zwingen, die vom Angreifer kontrollierte Domäne zweimal zu besuchen: zuerst beim Herstellen einer Verbindung über den Ausgabeknoten des Tor-Netzwerks und dann erneut nach dem Umschalten auf die Standard-Internetverbindung Anbieter.
Schlussfolgerungen
Tatsache ist, dass ein Angreifer bestimmte Änderungen im Browser-Cache vornehmen kann, indem er fehlerhaften Code über böswillige Ausgabeknoten einfügt und die tatsächlichen IP-Adressen von Tor-Benutzern erkennt, die HTTP-Verkehr ohne das TLS-Sicherheitsprotokoll senden.
Darüber hinaus erhöht die Verzerrung einer signifikanten Anzahl beliebter Domänennamen die Wahrscheinlichkeit, eine umgekehrte Antwort auf eine HTTP-Anfrage (mit einer zugewiesenen Benutzer-ID) zu erhalten, die die tatsächliche IP-Adresse des Benutzers bestimmt. Sie können versuchen, die Domain von einigen Browser-Clients abzufangen, und hoffen, dass ein Tippfehler im Domainnamen vom Benutzer nicht bemerkt oder nicht angezeigt wird (z. B. die mobile WebViews-Anwendung).
Möglichkeiten zur Risikominderung:
- Stellen Sie beim Herstellen einer Verbindung zum Internet über das Tor-Netzwerk sicher, dass der gesamte Datenverkehr, der das TLS-Sicherheitsprotokoll nicht verwendet, deaktiviert ist. Ein Beispiel für Browser-Plugins, die verwendet werden können: für Firefox- und Chrome-Browser.
- Verwenden Sie außerdem immer den "privaten" Browsermodus, wenn Sie über das Tor-Netzwerk eine Verbindung zum Internet herstellen.
- Leiten Sie den Datenverkehr nicht über das Tor-Netzwerk auf Ihr gesamtes Betriebssystem um, bis Sie sicher sind, dass der gesamte ausgehende Datenverkehr das TLS-Sicherheitsprotokoll verwendet ...
- Verwenden Sie nach Möglichkeit die neueste Version des Tor-Browsers, um im Internet zu surfen.
Die neuesten Dual-Prozessor-Konfigurationen dedizierter Server mit Intel Scalable-Prozessoren für 2019 sind auf
DEDIC.SH verfügbar:
- 2x Xeon Silver 4214 - insgesamt 24 Kerne
- 2x Xeon Gold 5218 - insgesamt 32 Kerne
- 2x Xeon Gold 6240 - Konfiguration mit 36 Kernen.
Die Kosten für einen Server mit zwei Xeon Silver 4214 -
ab 15210 Rubel / MonatWir sind auch bereit,
jede Konfiguration für Sie zu sammeln -
schreiben Sie uns !
Wenn keine großen Leistungen eines dedizierten Servers erforderlich sind -
VDS ab 150 Rubel / Monat ist das, was Sie brauchen!