Umgekehrter SSH-Tunnel mit Socken

807
Iz0r

Meine Situation ist wie folgt:

  • Work Mac hinter der Firewall, genannt "Victim". (High Sierra 10.13.3)
  • Ubuntu VHS im Netz, als "Server" bezeichnet. Welches ssh auf Port 2222 läuft (Ubuntu 16.04)
  • anderer Mac auch hinter der Firewall, genannt "Angreifer". (High Sierra 10.13.3)

Ich möchte Socken verwenden, um interne Websites zu besuchen, die nur von "Opfer" aus zugänglich sind.

Wenn ich ssh -R 5555:localhost:22 serv@server.com -P 2222von 'Opfer' und von 'ssh' in 'Server' von Angreifer gehe und laufe ssh victim@localhost -p 5555, habe ich Shell-Zugriff vom Angreifer auf das Opfer.

Was ich erreichen muss, ist, mit Socken Websites zu besuchen, die nur vom "Opfer" aus zugänglich sind.

Ich verstehe, dass ich einen umgekehrten Tunnel vom Opfer zum Server einrichten und einige Weiterleitungen auf dem Server vom eingehenden Port zum umgekehrten Verbindungsport einrichten und auch die Weiterleitung des Angreifers von Localhost zu Remote (die eine Verbindung zum Server herstellt) aber wie Mach ich das

Wenn ich Socken direkt vom Angreifer auf den Server ssh -D 8080 serv@server.com -p 2222einrichte, führe ich einfach Proxy-Socken v5 localhost: 8080 in Firefox aus, aber ich verstehe nicht, wie ich das auf dem Server vorstelle ...

Wer kann mir das erklären? Vielen Dank

0

1 Antwort auf die Frage

1
iz0r

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 Tunnel
  • 5555: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 Weiterleitung
  • localhost: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....

Genial! Vergewissern Sie sich, dass diese Antwort Ihr Problem löst, damit andere wissen, dass es für Sie funktioniert. jpaugh vor 6 Jahren 0