revsh es una herramienta gratuita que nos va a permitir establecer Shell reversas a través de SSH con posibilidad de ejecutar órdenes por terminal, además, también vamos a poder realizar túneles VPN reversos para pivotar en diferentes equipos y aparecer geográficamente en otros lugares.
Antes de empezar con las principales características de la herramienta revsh, es necesario que sepáis (si es que aún no lo sabéis) qué es una shell reversa y un VPN reverso.
¿Qué es y para qué sirve una Shell reversa usando el protocolo SSH?
Una shell reversa nos va a permitir obtener acceso remoto a un host, normalmente en las conexiones SSH el que inicia la conexión es el cliente, y el servidor se encarga de aceptar la conexión entrante. En una shell reversa también usamos SSH, pero en este caso quien inicia la comunicación es el servidor hacia nosotros, y no el cliente SSH.
Esta técnica avanzada nos va a permitir por ejemplo atravesar cortafuegos, ya que normalmente las conexiones entrantes son las más vigiladas por ellos, no así las conexiones salientes hacia Internet.
¿Qué es y para qué sirve una VPN reversa?
El concepto de VPN reverso es similar al anterior, en una VPN convencional el cliente VPN es quien inicia la conexión al servidor y establece el túnel cifrado. En este caso, es el servidor o host remoto quien inicia la conexión con nosotros, de tal forma que podremos evadir los firewalls que solo se fijan en los datos entrantes desde Internet hacia la red local (entrada), y no desde la red local hasta Internet (salida).
Principales características de revsh
Una vez que ya conocemos los que son las Shell y VPN reversas y para qué nos pueden servir, vamos a hablar de la propia herramienta revsh. Hay muchas herramientas que nos permiten obtener una shell reversa, pero pocas ellas nos permiten además ejecutar comandos en el host remoto, revsh sí permite esto.
Revsh nos ofrece la posibilidad de ejecutar CTRL+C para cancelar la ejecución de órdenes, autocompletados, soporta programas de edición de texto por consola como vi, vim o nano, permite no registrar ningún comando en el host remoto y también permite procesar los archivos del rc al inicio para facilitar los scripts.
Esta herramienta soporta autenticación a través de clave pública, e incluso soporta el algoritmo de intercambio de claves Diffie-Hellmann con Perfect Forward Secrecy para asegurar aún más las comunicaciones. También permite el “Certificate Pinning” para hacer más complicados los ataques MITM. Otras características son que soporta Proxy de tipo punto a punto, SOCKS4 y también SOCKS5, además, los Proxys están disponibles en ambas direcciones para una flexibilidad completa. Por último, soporta TUN/TAP para el reenvío de paquetes IP y tramas Ethernet. Revsh permite fijar un tiempo de espera para la auto-terminación del proceso en el host remoto, también incorpora temporizadores aleatorios para tener una auto-reconexión impredecible.
¿Dónde puedo utilizar Revsh?
El desarrollador de Revsh ha creado esta herramienta como una más a añadir en el kit de programas de un pentester, buena muestra de ello es que está disponible por defecto en la distribución BlackArch Linux orientada a las auditorías informáticas:
Esta herramienta soporta cualquier sistema operativo basado en Linux con arquitectura x86 y x64, asimismo también soporta el sistema operativo FreeBSD.
Os recomendamos acceder a la web de revsh en GitHub donde encontraréis todas las características de esta fantástica herramienta, y la posibilidad de descargarla para su utilización.
Entusiasta de la seguridad cibernética. Especialista en seguridad de la información, actualmente trabajando como especialista en infraestructura de riesgos e investigador.
Experiencia en procesos de riesgo y control, soporte de auditoría de seguridad, diseño y soporte de COB (continuidad del negocio), gestión de grupos de trabajo y estándares de seguridad de la información.
Envía tips de noticias a info@noticiasseguridad.com o www.instagram.com/iicsorg/.
También puedes encontrarnos en Telegram www.t.me/noticiasciberseguridad