Ya hemos visto varias herramientas para realizar túneles TCP sobre HTTP como regeorg, tunna, ABPTTS o Chisel, pero lo que no habíamos traído hasta ahora es una para realizar túnel TCP sobre WebSockets... así que hoy vamos a jugar con tcp-over-websockets del alemán Jannis Redmann aka derhuerst...
tcp-over-websockets está hecha bajo Node.js, de forma muy similar y sospechosa a su prima-hermana mayor wstunnel, y nos ayudará a evadir firewalls y otros incautos elementos de (des)protección perimetrales; ideal para una fase de post-explotación en la que ya hemos infectado una máquina y queremos a continuación pivotar o incluso acceder remotamente a otro servicio de la misma.
Tenéis el repo en https://github.com/derhuerst/tcp-over-websockets/, pero bastará con ejecutar lo siguiente para instalarlo:
npm install -g tcp-over-websockets
Una vez instalado, para arrancar el servidor (/usr/lib/node_modules/tcp-over-websockets/server.js) simplemente lanzaremos:
tcp-over-websockets-server
listening on 8088
Nota: a mi me funcionó con la versión 7.7.3 de node pero experimenté problemas con versiones anteriores.
Luego la sintaxis del cliente del cliente es muy sencilla:
# tcp-over-websockets --help
Usage:
tcp-over-websockets --tunnel wss://example.org --target localhost:22 --port 8022
Parameters:
--tunnel the WebSocket address of the tunnel server
--target the hostname & port to connect to
--port the port to listen on
Sirva de ejemplo el establecimiento de túnel hacia Github a través del servidor de túneles público de now que cita el Readme:
tcp-over-websockets --tunnel wss://tcp-over-websockets-abvntgfmzf.now.sh --target github.com:22 --port 8022
listening on 8022, exposing github.com:22 via wss://tcp-over-websockets-abvntgfmzf.now.sh
Finalmente podremos atacar al puerto local especificado (8022) para acceder por SSH a Github a través del servidor indicado:
ssh 192.168.1.23 -p 8022
The authenticity of host '[192.168.1.203]:8022 ([192.168.1.203]:8022)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? ^C
tcp-over-websockets está hecha bajo Node.js, de forma muy similar y sospechosa a su prima-hermana mayor wstunnel, y nos ayudará a evadir firewalls y otros incautos elementos de (des)protección perimetrales; ideal para una fase de post-explotación en la que ya hemos infectado una máquina y queremos a continuación pivotar o incluso acceder remotamente a otro servicio de la misma.
Tenéis el repo en https://github.com/derhuerst/tcp-over-websockets/, pero bastará con ejecutar lo siguiente para instalarlo:
npm install -g tcp-over-websockets
Una vez instalado, para arrancar el servidor (/usr/lib/node_modules/tcp-over-websockets/server.js) simplemente lanzaremos:
tcp-over-websockets-server
listening on 8088
Nota: a mi me funcionó con la versión 7.7.3 de node pero experimenté problemas con versiones anteriores.
Luego la sintaxis del cliente del cliente es muy sencilla:
# tcp-over-websockets --help
Usage:
tcp-over-websockets --tunnel wss://example.org --target localhost:22 --port 8022
Parameters:
--tunnel the WebSocket address of the tunnel server
--target the hostname & port to connect to
--port the port to listen on
Sirva de ejemplo el establecimiento de túnel hacia Github a través del servidor de túneles público de now que cita el Readme:
tcp-over-websockets --tunnel wss://tcp-over-websockets-abvntgfmzf.now.sh --target github.com:22 --port 8022
listening on 8022, exposing github.com:22 via wss://tcp-over-websockets-abvntgfmzf.now.sh
Finalmente podremos atacar al puerto local especificado (8022) para acceder por SSH a Github a través del servidor indicado:
ssh 192.168.1.23 -p 8022
The authenticity of host '[192.168.1.203]:8022 ([192.168.1.203]:8022)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? ^C
Comentarios
Publicar un comentario