Ich frage mich, ob alle Anwendungen von Drittanbietern tatsächlich Proxy-Einstellungen berücksichtigen. Oder wenn das Ändern der systemweiten Proxy-Einstellungen andere Anwendungen beeinträchtigen kann. (Wenn beispielsweise der Proxy des Unternehmens für den Internetzugang erforderlich ist, kann er nicht geändert werden, um den Datenverkehr umzuleiten twitter.com
.) Wenn die Anwendung HTTPS nicht verwendet, kann sie kein Man-in-the-Middle finden. Also: Legen Sie einen Man-in-the-Middle- twitter.com
Port für Port 80 mit DeleGate an .
Die folgenden Schritte wurden unter Mac OS X 10.6 und Windows XP mit Konten mit vollständigen Administratorrechten getestet.
Laden Sie DeleGate herunter . Lassen Sie sich nicht von der Homepage der 90er Jahre täuschen: Das Programm bleibt erhalten.
Teilen Sie DeleGate mit, dass alle lokalen Anforderungen an Port 80 (und 443) an den HTTPS-Server basierend auf dem Wert des Host-Headers in der HTTP-Anforderung weitergeleitet werden sollen. Wie bei einem Mac unter Intel (wo
sudo
privilegierte Ports unter 1024 erforderlich sind):sudo ./macosxi-dg -v -P80,443 \ SERVER=https \ RELAY=vhost \ RESOLV=cache,dns \ STLS=-fcl,fsv \ ADMIN=a@b.c
Für Windows, wenn entpackt zu
c:\
:cd c:\dg9_9_4\bin dg9_9_4.exe -v -P80,443 SERVER=https RELAY=vhost RESOLV=cache,dns STLS=-fcl,fsv ADMIN=a@b.c
Wenn Sie den Proxy Ihres Unternehmens für den Internetzugang verwenden möchten, verwendet DeleGate diesen gerne, wenn Sie
PROXY=proxy.example.com:8080
der Befehlszeile etwas hinzufügen .Fügen Sie in Ihrer
/etc/hosts
Datei (c:\windows\system32\drivers\etc\hosts
unter Windows XP; Informationen zu Speicherorten in anderen Betriebssystemen von Wikipedia ) die folgende Zeile hinzu, um alle Anfragentwitter.com
an Ihren eigenen Computer zu richten . Beachten Sie, dass bei der Zuordnung von Domänenname zu IP-Adresse das Protokoll nicht berücksichtigt wird. Also: Dies wird nicht nur für HTTP verwendet, sondern auch für HTTPS (und alles andere wie Befehle wieping
).127.0.0.1 twitter.com
Stellen Sie sicher, dass Ihr Browser nicht für die Verwendung eines Proxyservers oder
twitter.com
als Ausnahme festgelegt ist. Nur für den Fall, dass Ihr Browser die IP-Adresse von Twitter zwischengespeichert hat, möchten Sie sie möglicherweise neu starten.Jetzt bekommt http://twitter.com Sie (und alle Ihre Anwendungen)
https://twitter.com
.
Die Ausgabe zeigt, dass die HTTPS-Site tatsächlich angefordert wird von https://twitter.com
:
REQUEST - GET / HTTP/1.1 REQUEST = https://twitter.com:443/ GET / HTTP/1.1 [..] ConnectToServer connected [16] ## SSLway -- TLSxSNI: sent ru=0 ty=0 nm=localhost ## SSLway ## 0.459622 connected/accepted ## SSLway server's cert. = **subject / C=US/ O=twitter.com/ OU=GT09721236/ OU=See www.rapidssl.com/resources/cps (c)09/ OU=Domain Control Validated - RapidSSL(R)/ CN=twitter.com **issuer / C=US/ O=Equifax Secure Inc./ CN=Equifax Secure Global eBusiness CA-1
Bei Verwendung MOUNT="/* https://twitter.com/*"
statt RELAY=vhost
dann http://localhost
würde man sogar eine geben https://twitter.com
:
Wenn explizit mit HTTPS anfordert https://twitter.com
, dann die vertrauenswürdige Zertifikatskette ist gebrochen: ein HTTPS-aware applicate wird der Mann-in-the-Middle - Angriff entdecken, und wird scheitern, wenn es nicht für Ihre Erlaubnis bitten können, um fortzufahren!
Entfernen Sie nach dem Test den Parameter, um ihn als Dienst unter Windows auszuführen -v
. Dadurch wird das Programm als Dienst installiert. Es wird dann im Hintergrund ausgeführt und Sie werden gefragt, ob Sie es beim Start ausführen möchten:
Trying to start as a service [DeleGate Server -P80,443] ... Set Automatic Start on System Startup ? [y] / n :
Nachdem Sie den obigen Befehl ohne -v
Parameter ausgeführt haben, finden Sie weitere Informationen unter Manuelles Starten oder Stoppen von DeleGate unter Systemsteuerung »Verwaltung» Dienste. Beachten Sie, dass sich dieser Dienst auf den Ort bezieht, von dem Sie das dg9_9_4.exe
Programm ursprünglich gestartet haben . Sie sollten das Programm also nicht löschen oder verschieben. entpacken Sie den Download, um beispielsweise c:\dg9_9_4
einen Verweis auf einige Downloads-Verzeichnisse zu vermeiden, die Sie möglicherweise löschen.
Um den Dienst zu entfernen, müssen Sie nur den gleichen Wert für den -P
Parameter angeben :
dg9_9_4.exe -P80,443 ADMIN=a@b.c [..] The service `DeleGate Server -P80,443' exists. Delete it ? [y] / n : y OK. DELETEd the previous service. Create a new service ? [y] / n : n
Schließlich fragt man sich vielleicht, wie DeleGate die IP-Adresse von twitter.com kennt (da wir dies auf 127.0.0.1 in der hosts
Datei festgelegt haben). DeleGate ruft das eigentlich selbst ab, weil RESOLV=cache,dns
:
MOUNT[5]X[2] /* https://twitter.com/* SOA got [162.143.168.in-addr.arpa][ns1.dn.net] [dnsadmin.enterprise.verio.net] 2008121001 10800 3600 604800 86400