The Onion Network (TOR)

root@linux

Lt. Junior Grade
Registriert
Apr. 2018
Beiträge
393
Hallo,
Ich habe mir Tor auf meinem System installiert und lasse ihn als Client laufen. Über den Proxy verbinde ich mich ins Netz, dafür habe ich ein Script (siehe Bilder).
var FindProxyForURL = function(init, profiles) {
return function(url, host) {
"use strict";
var result = init, scheme = url.substr(0, url.indexOf(":"));
do {
result = profiles[result];
if (typeof result === "function") result = result(url, host, scheme);
} while (typeof result !== "string" || result.charCodeAt(0) === 43);
return result;
};
}("+proxy", {
"+proxy": function(url, host, scheme) {
"use strict";
switch (scheme) {
case "http":
return "SOCKS5 127.0.0.1:9050; SOCKS 127.0.0.1:9050";

case "https":
return "SOCKS5 127.0.0.1:9050; SOCKS 127.0.0.1:9050";

case "ftp":
return "SOCKS5 127.0.0.1:9050; SOCKS 127.0.0.1:9050";

default:
return "SOCKS5 127.0.0.1:9050; SOCKS 127.0.0.1:9050";
}
}
});
Tor-05.png

Opera Browser
TOR-04.png

Wenn der Tor auf meine PC läuft, dürfte die letzte Verbindung nicht unverschlüsselt sein, da mein PC ein Teil des Onion Netzwerkes ist. Ich könnte ja eine Internetseite (Onion Service) auf meinem PC einrichten.

tor-structure.jpg

Das funktioniert aber nicht, die letzte Verbindung geht immer über HTTPS (Port 443).

TOR-07.png

Wieso ist das so?
 
Du kannst doch mehr als ein Layer an Verschlüsselung haben/nutzen. Die Skizze/Erklärung zeigt ja nur, dass der letzte Teil (zwischen tor exit node & destination) nicht mehr durch das TOR Netz geschützt bzw verschlüsselt ist.
 
Hier meine Netzwerkverbindungen, nur SSL verschlüsselt

tor-07-png.674275
 
und? Ich verstehe deine Frage nicht genau, bzw worauf du hinaus willst?
 
Das ich keine Verbindung über das ClearNet habe will, alle Verbindungen sollen über TOR laufen.
Was macht es für einen Sinn sich über eine Verschlüsseltes Netzwerk zu verbinden, wenn die Endverbindung nur mit SSL verschlüsselt ist und bis ich die Verbindung nicht trenne, bin ich immer nicht dem gleichen Server verbunden, der hat die Möglichkeit einer Man-in-the-middle atak und sieht alles was ich im Netzwerk mache.
Welchen nutzen hat das TorNet dann überhaupt noch?
Gibt es keine Möglichkeit Anonym zu bleiben?
 
Du vermischt hier Anonymität und Verschlüsselung. Über deinen lokalen SOCKS steigst du ins Tor-Netz ein. Baust du jetzt eine Verbindung zu https://www.computerbase.de auf, nehmen deine Pakete mehrere Wege.
1. Hop Du als Entry Point
2. Hop irgend ein TOR relay Node (in deinem Fall 51.15.89.218)
3. Hop im besten Fall noch ein TOR relay Node
4. Hop irgendein Exit Node
5. Hop dann https://www.computerbase.de

In dem Fall ist deine Verbindung anonym aber nicht verschlüsselt. Das https in deiner lsof -i -nn Ausgabe bedeutet lediglich, dass der Tor Node mit dem du verbunden bist, auf dem Standard https Port, also 443 lauscht.
Anonym deshalb, da jeder Hop nur seinen direkten Kommunikationspartner sieht. Computerbase sieht nur eine Anfrage vom Exitnode und nicht deine IP und in deinen Verbindungslogs ist nur der o.g. TOR Node.
Willst du jetzt noch verschlüsselt mit computerbase.de kommunizieren, sprich kein TOR Node soll sehen, welchen Artikel du liest bzw was da drin steht, dann musst du eben https://www.computerbase.de aufrufen.

Natürlich sieht der Entry Point alles was du machst bzw alle ausgehenden Anfragen, aber er sieht nur seine nächsten Tor Router/Nodes. Er muss ja deine Pakete weiter leiten können.
 
1. Wenn ich Tor auf meinem System installiert und laufen habe, muss die Verbindung zum EntryNode nicht sein. Ich bin der EntyNode.
Mein Browser verbindet sich über Lokalen SOCKS5 Proxy zu TOR. Somit ist mein TOR der EnryNode, die Verbindung kann dann direkt weiter an den nächsten RelayNode und zurück genauso.
2. Wenn der HTTPS-Server ein ExitNode ist, warum wechselt die IP nicht alle 10 Minuten?
Vom Aufbau der Verbindung, bis zum Trennung der Verbindung, bin ich immer mit der gleichen HTTPS-IP verbunden, ist das nicht seltsam?

PS, die Erklärung wie TOR funktioniert war überflüssig.
 
Zuletzt bearbeitet:
Okay, dann reden wir ggf. aneinander vorbei :)
Warum sollte die IP bzw der Exit Node regelmäßig wechseln? Anonymität ist doch gegeben, da der angesprochene Zielserver nur die IP vom Exit Node sieht, der Exit-Node sieht nur Zielserver und irgendeinen Tor-Node und der Tor-Node sieht nur dich als Entry sowie den Exit Node oder habe ich da einen Denkfehler? Irgendwie muss ja auch das Routing innerhalb des Tor-Netzes funktionieren und wenn bestehende Verbindungen auch noch alle x Minuten den Exit Node wechseln würden, dann müssten ja andauernd die Routing-Tabellen im Tor-Netz aktualisiert werden...
 
Einen Denkfehler hast du nicht, du verstehst meine Situation nicht.
Der Server mit dem ich eine ständige Verbindung über HTTPS habe, bekommt alle anfragen von mit und die antworten bekomme ich auch von ihm, wie bei einem Proxy-Server. Also ist der Server, der Man-in-the-middle. Er bekommt alle Daten mit SSL Verschlüsselung und sendet Daten an mich mit SSL Verschlüsselung, was zwingend da zu führt, das dieser Server, die Onion Verschlüsselung durchführen muss, in beide Richtungen (ver- und entschlüsseln.
Somit kann mein gesamter Traffic von diesem Server gelesen werden, die klassische Man-in-the-middle attac.

Wie kann ich das umgehen, um eine direkte Onion-Verbindung in beide Richtungen zu haben?
Den TOR-Router habe ich bereits installiert und läuft.
Und ja mir ist klar das außer diesem Server mit dem ich eine ständige Verbindung habe, sonst niemand den Traffic mitlesen kann.
Ich gehe mal stark davon aus, das es sich bei diesem Server, um eine Polizeilich- und Geheimdienstlich- übernachten Server handelt, das zum Geheimdienstprogramm "Nemesis" gehört und per US-Gesetz, dem Patriot Act vorgeschrieben ist.
Da ich KEIN Terrorist und auch KEIN Krimineller bin, trifft dieses Gesetz NICHT auf mich zu und ich möchte mich dieser ständigen und illegalen Überwachung entziehen.
 
Versuche bitte, die korrekte Tor Terminologie zu verwenden. Es ist wirklich schwierig, aus deiner Beschreibung schlau zu werden.

Was du auf deinem Tor Client siehst, ist die Verbindung vom Tor Proxy zum Entry Guard. Wenn das nicht alle zehn Minuten wechselt, dann deshalb, weil du eine aktive Verbindung darüber laufen hast. Neue Verbindungen werden nach zehn Minuten einen anderen Entry Guard wählen. Bestehende Verbindungen wechseln nie den Entry Guard, weil das einem Beobachter erleichtern würde, Verbindungen dir zuzuordnen (siehe Tor FAQ für eine bessere Beschreibung).
 
Man seit ihr starrköpfig.
Verstehst du nicht, das diene Theorie in der Praxis nicht funktioniert?
Ich habe doch oben Screenshots gepostet, die alles erklären, was muss ich den noch machen um es euch verständlich zu machen?
Die Realität sieht anders aus als die Theorie.
Der TOR macht nicht das was er laut Theorie machen soll !!!
Ich habe diesen Trade NICHT gestartet, um mir von euch die Theorie erklären zu lassen. Dafür gibt es die Tor Wikii.
Ihr plaudert einfach alles nach was in der Tor Wikii steht.
Ist das der Sinn eines Forums?
 
root@linux schrieb:
Wie kann ich das umgehen, um eine direkte Onion-Verbindung in beide Richtungen zu haben?
Dann mal ganz praktisch zurückgefragt: Wie sollte denn deiner Erwartung nach diese "direkte Onion-Verbindung" im lsof-Output aussehen? Insb.: Was würde sie von der rot markierten Verbindung unterscheiden, wenn ein verbundener Relay Port 443 nutzen würde?
 
Da muss ich mich wiederholen:
root@linux schrieb:
Der Server mit dem ich eine ständige Verbindung über HTTPS habe, bekommt alle anfragen von mit und die antworten bekomme ich auch von ihm, wie bei einem Proxy-Server. Also ist der Server, der Man-in-the-middle. Er bekommt alle Daten mit SSL Verschlüsselung und sendet Daten an mich mit SSL Verschlüsselung, was zwingend da zu führt, das dieser Server, die Onion Verschlüsselung durchführen muss, in beide Richtungen (ver- und entschlüsseln.
Somit kann mein gesamter Traffic von diesem Server gelesen werden, die klassische Man-in-the-middle attac.
Was sich ändern würde fragst du?
Ist das hier ein Quiz?
Wenn ja, was ist der Hauptgewinn?

Die HTTPS Verbindung wehre nicht mehr da, stattdessen eine Verbindung über den Port: 9100, bei der sich die IP-Adresse alle 10 Minuten ändert und die Man-in-the-middle attac wehre dann auch vom Tisch.

tor-maninthemiddle-png.675330
 

Anhänge

  • Tor-ManInTheMiddle.png
    Tor-ManInTheMiddle.png
    106,9 KB · Aufrufe: 655
Du hast offensichtlich dein Tor nicht so konfiguriert, wie du angibst es konfiguriert zu haben. Wieso beschreibst du deine Konfiguration nur in Worten (#7 Punkt 1.) statt torrc und Logs vom Start zu liefern?

Außerdem scheinst du weiterhin dem Glaube verfallen zu sein, dass alle TCP-Verbindungen, die sich mit einem fremden Port 443 verbinden, ausschließlich TLS-verschlüsselten Klartext transportieren. Dem ist nicht so, wie schon in #2 steht. Vielleicht änderst du in deiner /etc/services die Zeile
https 443/tcp
in
SiehtAusWieReinesHttpsKannAberSonstwasSein 443/tcp
um dich von deinem lsof-Output nicht weiter verwirren zu lassen.
 
Zuletzt bearbeitet:
Wenn du eine genauen blick auf die rot unterstrichen Verbindung auf dem Bild wirfst, wirst du erkennen, das der Port 433 nicht auf meinem Computer ist, also kann ich ihn auch nicht ändern. Meine IP ist: 192.168.2.123.
Das hättest du aber selber erkenne müssen.


Hier meine torrc
SOCKSPort 9050
SOCKSPort 192.168.2.123:9100
DataDirectory /root/.arm/tor_data
Log notice file /root/.arm/tor_log
ControlPort 9052
CookieAuthentication 1
ExitPolicy reject *:*
ClientOnly 1
AllowSingleHopCircuits 0
EnforceDistinctSubnets 1
GeoIPExcludeUnknown 0
StrictNodes 1
EntryNodes {ru}
ExitNodes {ru}
ExcludeExitNodes {de}
ExcludeNodes {de}
 
Du willst also ein Relay ohne ORPort sein? :D :freak:

Ich bin mir gaaanz sicher, dass du Tor nicht so betreiben willst, wie du in #7 beschreibst.

/edit:
Nochmal ganz deutlich: Schau dir dein buntes Bild in #1 an. Du bist mit deiner Konfiguration kein EntryNode sondern ein "Tor client" wie ganz links im Bild zu sehen ist. Bei deiner Konfiguration ist auch keinerlei Versuch erkennbar, etwas anderes als "Tor client" sein zu wollen. Spätestens das (in dem Fall auch noch nutzlose) "clientonly 1" macht das wirklich leicht erkennbar. Was du in #7 Punkt 1 schreibst, ist Quark.

Bitte versuche nicht, dich tatsächlich zum EntryNode zu machen. Versuche lieber gedanklich dahin zu kommen, dass "Tor client" genau die Rolle ist, die dein Rechner spielen sollte. Dein Begründung, lieber selbst Entry Node sein zu wollen, basiert auf deinem falschen Verständnis der Rolle des "Tor clients" und seiner Verbindung zum 1. Relay und ist damit witzlos. Der 1. Absatz deine Beitrags #9 ist totaler Mumpitz. Das dort geschilderte Angriffsszenario existiert nicht.

Die von dir immer so schön rot unterstichenen Verbindungen sind genau die vom Client zum Entry Node (in #13 zu einem scheinbar russischen dank der Konfig "EntryNodes {ru}" ) und die sind kein reines HTTPS, also kein TLS-verschlüsselter Plaintext, sondern durch tor verschlüsselt. Das wurde x mal versucht dir zu verklickern und das sieht man auch in deinem bunten Bild. Bisher leider alles erfolglos, weil dich das "https" im lsof-Output, was lediglich "port 443" bedeutet und nichts zum verwendeten Protokoll aussagt, noch immer total verwirrt. Leider hast du meinen scherzhaften """Tipp""" mit der geänderten /etc/services weder verstanden noch ausprobiert.

snaxilian schrieb:
Natürlich sieht der Entry Point alles was du machst bzw alle ausgehenden Anfragen, aber er sieht nur seine nächsten Tor Router/Nodes.
stimmt nicht( oder ist anders deutlich gemeint als ich es interpretieren würde). Ich schreibs detailliert, weil der zentrale Irrtum des Threaderöffners auch dieser Stelle, die Verbindung "Tor client" <---> "Entry Point", betrifft:
Der Entry Point sieht, dass du etwas machst. Er sieht nicht, was du machst. Der Entry Point ("Entry guard" im bunten Bild in #1) sieht Pakete vom und zum "Tor client", kann sie aber nicht komplett entschlüsseln sondern leitet sie verschlüsselt zum nächsten Hop weiter. Die Pakete vom "tor client" kann erst der ExitNode komplett auspacken, die Pakete zum "tor client" erst der "tor client" selbst. Der "Entry Point" ist also kein Man-in-the-middle, dem man blind vertrauen muss, weil er allein alles entschlüsseln könnte. Kann er nicht!
 
Zuletzt bearbeitet:
Warum wechselt die IP niemals?
Solange ich "ExitNodes {ru}" habe, werde ich immer zur gleiche IP verbunden, und diese Verbindung bleibt, auch wenn ich 100 × disconnecte/connect mache, immer die gleiche IP.
Wenn ich

#StrictNodes 1
#EntryNodes {ru}
#ExitNodes {ru}
#ExcludeExitNodes {de}
#ExcludeNodes {de}

Heraus-kommentiere, werde ich immer zur selben deutschen IP verbunden und kann auch 100× connect/disconnect machen, immer die gleiche IP.
Das selbe gilt für: {cu},{in},{jp},{ir},{mx},{ru},{ve} {sz},{su},{za},{rs},{pe},{nz},{cn},{bo},{al},{aq}
eigentlich kann ich mich seit dem update zu {in} nicht mehr verbinden auch zu {jp} nicht.
 
Zurück
Oben