Chisel: A fast TCP/UDP tunnel over HTTP
github.com
github.com
It helps for "flipping" the "server connects to client".
But... it gets detected as malware really easily haha
It's a common tool in the red teamer's toolbox.
Just search "chisel" on https://ippsec.rocks to see how often it's utilised in a pentest type of scenario.
This is a good example of how language evolves because tomahto has not ever been a correct spelling of tomato, and tomatoe is an incorrect spelling derived from making tomato plural into tomatoes and then (incorrectly) dropping just the s to make tomatoes singular again. A mistake based off of a mistake. So while intelligible if incorrect, who's to say if it's wrong?
What we need is a self-updating mechanism. See for instance yt-dlp, which breaks every now and then but a simple update almost always puts you back in action. We need something similar for tunnels.
I do not often operate below application layer, but as I understand it both the HTTP and SSH layers would add back-and-forths from client to server that UDP does not perform. Would UDP over HTTP over SSH have a slowdown steeply (but linearly?) correlated with the ping to the server? And (>linear) increased effects on packet loss? Crowbar seems to only do HTTP, so saves some considerable amount of backs-and-forths... but doesn't have the benefit from websockets...
Can I get in touch with you in any way? We have some interesting problems, would love to hear your thoughts.
Please don't be a troll.
The fact that the OP is not easy to reach is not an oversight on their end. Take a hint and go through channels that they left open, i.e. issues on GH.
If your request has merit, you will hear back.
Chisel – A fast TCP tunnel over HTTP - https://news.ycombinator.com/item?id=13353457 - Jan 2017 (38 comments)
Another tool I recommend is Ligolo-ng [1]. You set up a network interface and use "ip route" to send traffic through it. In a way, it "feels like a VPN".
I could also imagine that many corporate firewalls know HTTP CONNECT and filter it.
With HTTP/1, I don't think there is a way to multiplex multiple TCP or UDP bindings over a single connection – maybe this supports it? The diagram seems to suggest it, and e.g. SSH does too (and is equivalent to CONNECT proxying over HTTP/2 in that sense).
It supports connecting over HTTPs, so the traffic doesn't look fishy with the setup of: SSH Client -> HTTPs Encryption -> Corporate Packet Sniffing Proxy -> Your Server -> HTTPs Decryption -> SSHD Server
Looking forward to explore chisel as well.
https://tailscale.com/blog/how-tailscale-works#encrypted-tcp...
And Tailscale is doing a great job at trying to only resort to relaying when there's really no other choice, both because it improves latency and saves them bandwidth on their relays.
It's very similar to VoIP and videocalls (1:1; conferencing usually performs better with SFUs) in that regard.
Actually, nvm I don't need to know, you can keep your cursed ourobouros protocol to yourself.
So basically the same as ssh -L or ssh -R .