securesocketfunneling / ssf

Secure Socket Funneling - Network tool and toolkit - TCP and UDP port forwarding, SOCKS proxy, remote shell, standalone and cross platform
https://securesocketfunneling.github.io/ssf/
Other
1.59k stars 235 forks source link

Remote UDP Port Forwarding Issue #71

Closed Jedmeyer closed 5 years ago

Jedmeyer commented 5 years ago

Hey team, nice work on this project. It's really helpful for the my tunneling work.

I'm trying to Remote UDP Port Forward from/to a digital ocean droplet. The client is behind a reasonable firewall.

Steps taken:

Droplet (Server) side (Ubuntu 18.04) - Running sudo ./ssfd -v trace -g Client Side (Windows 10 Pro) - Running ./ssf -v trace -g -V *:11000:localhost:11000 server.address.com Demo UDP Traffic has been sent using netcat (nc -u server.address.com 11000)

Expected Outcome

I intend to remote UDP Port Forward (port 11000) from the Digital Ocean Droplet to the Connected Client, while remaining on port 11000. The traffic hitting the Droplet should then be redirected and hit a server listening on the Client.

Issue

I have a confirmed the two are able to communicate using a UDP connection, but the remote UDP Port Forward doesn't seem to be working entirely.

I've attached the logs of both machines.

There are two parts I want to highlight so that I can crack down the issue. Specifically, the end of the Droplet.log contains several datagrams, which are the handshakes from the program I'm trying to forward for.

[DROPLET.log] [2019-01-30T08:34:29+00:00] [trace] [microservice] [datagram_listener]: receiving new datagram [2019-01-30T08:34:29+00:00] [trace] [demux] sending 1 76536 3499343708 8 24 [2019-01-30T08:34:32+00:00] [trace] [microservice] [datagram_listener]: receiving new datagram [2019-01-30T08:34:32+00:00] [trace] [demux] sending 1 76536 3499343708 8 67

[CLIENT.log] <Some lines omitted due to size, see file> [2019-01-30T02:34:29-06:00] [trace] [demux] dispatch 1 76536 3499343708 8 24 [2019-01-30T02:34:29-06:00] [trace] [demux] handle dgr [Line 124] [Line 125] [Line 126] [2019-01-30T02:34:32-06:00] [trace] [demux] dispatch 1 76536 3499343708 8 67 [2019-01-30T02:34:32-06:00] [trace] [demux] handle dgr [Line 129] [Line 130] [Line 131]

So, my client is receiving the datagram through the tunnel. However, it's not hitting the server I have listening on UDP port 11000. Have I configured improperly?

Help would be appreciated!

client.log droplet.log

Jedmeyer commented 5 years ago

I misconfigured the tunnel with the client. If anyone is confused, this is the command that I used that successfully remote forwarded the UDP port: ./ssf -g -V remote_server:11000:127.0.0.1:11000 remote_server