Giter VIP home page Giter VIP logo

espreversetcp's Introduction

ESPReverseTCP

A reverse TCP tunnel for the ESP32

How to use

  1. Edit config.h to match your SSID details and public listener (This is the vps the ESP connects to).
  2. Edit TCPImplantBackend.py (in lisenter folder) to match the LAN IP + PORT you want to reach remotely.
  3. Run the TCPImplantBackend.py on your VPS (Preferably with the screen command).
  4. Upload the code to your ESP32, see the serial log as it connects to your VPS. (Make sure port is reachable by VPS firewall rules).
  5. On your VPS traffic you send to localhost:8080 will be forwarded to the ESP, thus to the server on the LAN and you will get a response back.
  6. The ESP tunnels all TCP traffic, not UDP. You can use curl for http requests (ex: curl http://localhost:8080/pwn?cmd=ls)

How to detect

  1. Monitor connected MAC addresses to your corporate LAN, force employees to register their devices.
  2. Detect reverse TCP tunnels with an IDS (How? data send to server on LAN equals data sent to server REMOTE thus data is being exfiltrated!).
  3. Need a better implant? Hire me.

espreversetcp's People

Contributors

semvoigt avatar userlandkernel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

espreversetcp's Issues

Really promising library!

I want to implement a websocket tunnel to my node js server which is in the cloud.
In my mind it would work like this

esp connects to server ( from intranet to internet )
server serves an http page to the client
client do an http request to the server
server captures every http request sends to esp32 via websocket
esp process websocket data like it was an http request
sends response back via websocket

This is a lot of work and a lot of data ping ponging.
I need some kind of an HTTP tunnel solution where

esp connects to server via http and not close the socket
server forwards every http request to esp
esp gets requets like it was in local

Can it work with this library?

I already have a setup with ESP Async Webserver.
I have setup the HTTP endpoints and it is working in local.
Now i need a server implementation.

[Errno 104] Connection reset by peer

First of all, thanks for sharing this project. It's a great idea!

I am seeing [Errno 104] Connection reset by peer as soon as i do curl http://localhost:8080 I was wonding whether you had the same problem and how did you solve it ?

From the ESP. Looks fine

23:55:09.927 -> WNET xxxx FORWARD TO xxxxxxx
23:55:10.443 -> WLAN_CONN_RETRYWLAN_CONNECTED
23:55:10.443 -> IP: xxxx MAC: xxx
23:55:10.443 -> CONN_LISTENER
23:55:10.443 -> CONN_TCP
23:55:10.770 -> RECV_FROM_LISTENER
23:55:11.049 -> RECV_NOP
23:55:11.049 -> RECV_NOP
23:55:11.049 -> RECV_NOP
23:55:11.049 -> RECV_NOP
23:55:11.563 ->
23:55:11.563 ->
23:55:11.563 -> RECV_AUTH

Python

Waiting for ESP-32 to connect to us...
('Got connection from ESP32:', ('xxxxx', 52826))
Starting local input socket on 127.0.0.1 port 8080...
('Got local connection from:', ('127.0.0.1', 42714))
Sending 78 bytes to the target...
[Errno 104] Connection reset by peer
Waiting for ESP-32 to connect to us...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.