Anonymisierung des Internetverkehrs unter Linux mit ProxyChains und Tor
Es ist relativ unkompliziert, ein Linux-basiertes Betriebssystem zu verwenden, um Ihre Online-Identität zu verschleiern. Dies alles lässt sich realisieren, ohne dass Sie für einen VPN-Dienst bezahlen müssen, wie sie heutzutage üblich sind.
Linux-Distributionen wie Kali Linux werden oft genutzt, um die Sicherheit von WLAN-Netzwerken, Webseiten und Servern zu überprüfen. Auch Betriebssysteme wie Debian und Ubuntu finden häufig in diesem Kontext Anwendung.
Um eine hohe Anonymität zu erreichen und das Zurückverfolgen Ihrer tatsächlichen IP-Adresse zu erschweren, können Proxy-Ketten und Tor verwendet werden, um mehrere Proxys zu verknüpfen. ProxyChains verbirgt Ihre reale IP-Adresse, indem es Ihren Datenverkehr über eine Reihe von Proxy-Servern leitet. Es ist jedoch zu beachten, dass die Internetverbindung mit zunehmender Anzahl von Proxys langsamer wird.
Was genau sind ProxyChains?
Proxychains ist ein UNIX-basiertes Programm, welches die Maskierung der IP-Adresse durch die Umleitung des Netzwerkverkehrs ermöglicht. Es lenkt den TCP-Verkehr durch verschiedene Proxys, darunter TOR, SOCKS und HTTP.
- TCP-Scanning-Tools wie Nmap sind voll kompatibel.
- Es ermöglicht das Weiterleiten jeglicher TCP-Verbindungen über eine konfigurierbare Kette von Proxys ins Internet.
- Standardmäßig wird hierbei das Tor-Netzwerk verwendet.
- Innerhalb einer Liste ist es möglich, unterschiedliche Proxy-Typen zu kombinieren.
- Proxychains kann ebenfalls zur Umgehung von Firewalls und Erkennungssystemen (IDS und IPS) eingesetzt werden.
Das Erstellen von Proxy-Ketten ist einfach und für jeden durchführbar, wie in diesem Artikel gezeigt wird.
Diese Anleitung zeigt Ihnen die Einrichtung von Tor und Proxychains unter Linux für ein erhöhtes Maß an Anonymität.
Installation von Tor und ProxyChains unter Linux
Beginnen Sie mit der Aktualisierung Ihres Linux-Systems, um die neuesten Patches und Anwendungen zu erhalten. Hierfür öffnen Sie ein Terminal und geben folgenden Befehl ein:
$ sudo apt update && sudo apt upgrade
Überprüfen Sie anschließend, ob Tor und ProxyChains bereits installiert sind. Dies geschieht, indem Sie die folgenden Befehle einzeln im Terminal ausführen:
$ proxychains
$ tor
Sollten die Programme nicht installiert sein, können Sie dies mit dem folgenden Befehl nachholen:
$ sudo apt install proxychains tor -y
Bitte beachten Sie, dass wir hier *nicht* den Tor-Browser installieren, sondern den Tor-Dienst. Dieser läuft lokal auf Ihrer virtuellen Maschine oder Ihrem Betriebssystem und ist an einen spezifischen Port auf dem lokalen Host gebunden. In unserem Fall ist dies standardmäßig Port 9050.
So können Sie den Status von Tor überprüfen:
┌──(root💀kali)-[/home/writer]
└─# service tor status
● tor.service - Anonymizing overlay network for TCP (multi-instance-master)
Loaded: loaded (/lib/systemd/system/tor.service; disabled; vendor preset: disabled)
Active: inactive (dead)
So starten Sie den Tor-Dienst:
$ service tor start
So beenden Sie den Tor-Dienst:
$ service tor stop
Konfiguration von ProxyChains
Ermitteln Sie zunächst das Verzeichnis von ProxyChains. Dies gelingt mit dem folgenden Befehl:
┌──(root💀kali)-[~]
└─# locate proxychains
/etc/proxychains4.conf
/etc/alternatives/proxychains
/etc/alternatives/proxychains.1.gz
/usr/bin/proxychains
/usr/bin/proxychains4
/usr/lib/x86_64-linux-gnu/libproxychains.so.4
/usr/share/applications/kali-proxychains.desktop
/usr/share/doc/libproxychains4
/usr/share/doc/proxychains4
Dies ist die Konfigurationsdatei:
/etc/proxychains4.conf
Das Ergebnis zeigt, dass sich die ProxyChain-Konfigurationsdatei in „/etc/“ befindet.
Einige Anpassungen an den ProxyChains-Konfigurationsdateien sind erforderlich. Öffnen Sie die Konfigurationsdatei in Ihrem bevorzugten Texteditor, wie z.B. Leafpad, Vim oder Nano.
In diesem Beispiel verwenden wir den Nano-Editor.
nano /etc/proxychains.conf
Die Konfigurationsdatei wird geöffnet. Nun sind einige Zeilen zu kommentieren bzw. zu dekommentieren, um die Proxy-Ketten zu aktivieren.
Das Zeichen „#“ in der Konfiguration kennzeichnet Kommentare in der Bash-Sprache. Sie können mit den Pfeiltasten nach unten scrollen und die Einstellungen anpassen.
#1. Die Zeile „dynamic_chain“ muss dekommentiert werden. Entfernen Sie hierzu das „#“ am Zeilenanfang.
dynamic_chain
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app
#2. Kommentieren Sie die Zeilen „random_chain“ und „strict_chain“ aus, indem Sie ein „#“ voranstellen.
#random_chain
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see chain_len) from the list.
# this option is good to test your IDS :)
#3. Stellen Sie sicher, dass die Zeile „proxy_dns“ dekommentiert ist, um DNS-Lecks zu vermeiden, die Ihre echte IP-Adresse offenbaren könnten.
# Proxy DNS requests - no leak for DNS data
proxy_dns
#4. Fügen Sie die Zeile „socks5 127.0.0.1 9050“ als letzte Zeile in der Proxy-Liste hinzu.
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4 127.0.0.1 9050
socks5 127.0.0.1 9050
Der Socks4-Proxy ist bereits angegeben. Fügen Sie den Socks5-Proxy wie oben gezeigt hinzu. Speichern Sie die Konfigurationsdatei und beenden Sie den Editor.
Verwendung von ProxyChains
Um ProxyChains zu nutzen, muss der Tor-Dienst zunächst gestartet werden:
┌──(root💀kali)-[/home/writer]
└─# service tor start
Nachdem der Tor-Dienst läuft, können Sie ProxyChains zum anonymen Surfen, Scannen und zur Aufzählung verwenden. Die Kombination aus ProxyChains mit Tools wie Nmap oder sqlmap ermöglicht das anonyme Scannen und Suchen nach Exploits.
Die Verwendung von ProxyChains erfolgt, indem Sie den „proxychains“-Befehl in einem Terminal eingeben, gefolgt vom Namen der Anwendung, die Sie nutzen möchten. Die Syntax lautet wie folgt:
┌──(writer㉿kali)-[~]
└─$ proxychains firefox www.flippa.com
So nutzen Sie Nmap:
$ proxychains nmap -targetaddress
So verwenden Sie sqlmap:
$ proxychains python sqlmap -u target
Sie können auch anonym Exploits testen, wie z.B.:
$ proxychains python sqlmap -u https://www.targetaddress/products.php?product=3
Grundsätzlich kann jedes TCP-Reconnaissance-Tool in Kombination mit ProxyChains eingesetzt werden.
Um final zu überprüfen, ob ProxyChains ordnungsgemäß funktioniert, rufen Sie dnsleaktest.com auf und prüfen Sie dort Ihre IP-Adresse sowie mögliche DNS-Lecks.
Nach der Ausführung von ProxyChains werden Sie feststellen, dass Firefox mit einer anderen Sprache geladen wird. Führen wir nun einen DNS-Leak-Test mittels folgendem Befehl durch:
$ proxychains firefox dnsleaktest.com
Wie Sie erkennen können, hat sich mein Standort von INDIEN nach PAKISTAN verschoben. ProxyChains ändert meine IP-Adresse zudem fortlaufend dynamisch, um die Anonymität zu gewährleisten.
Für ein erneutes Ergebnis, schließen Sie Firefox, bereinigen Sie das Terminal, starten Sie den Tor-Dienst erneut und starten Sie ProxyChains ein weiteres Mal. Der DNS-Leak-Test wird eine Vielzahl von Ergebnissen liefern, wie nachfolgend dargestellt:
Hier hat sich der Standort von Pakistan nach Russland verlagert. Dies ist das Funktionsprinzip dynamischer Chain-Proxys, was die Chancen auf eine höhere Anonymität beim Hacken steigert.
Fazit
Wir haben gelernt, wie man im Internet anonym bleibt und die Online-Privatsphäre während Penetrationstests schützt. ProxyChains kann in Verbindung mit Sicherheitstools wie Nmap und Burpsuite verwendet werden und wird häufig zur Umgehung von IDS-, IPS- und Firewall-Erkennung eingesetzt.
Wenn Sie eine schnellere und einfachere Lösung bevorzugen, könnte die Verwendung eines VPNs eine Alternative sein, das den Datenverkehr in der Regel ebenfalls standardmäßig anonymisiert.