¿Cómo generar un shell usando netcat en el lado del cliente?

¿Cómo generar un shell usando netcat en el lado del cliente?

Sé que puedo generar el shell en el lado del servidor usando:

nc -l 1111 -e /bin/bash

Pero quiero generar el shell en el lado del cliente.

Intenté hacer:nc 127.0.0.1 1111 | /bin/bash

Funciona pero no puedo ver el resultado de los comandos ejecutados.

Entonces la pregunta es, ¿hay alguna forma de generar el shell en el lado del cliente usando netcat?

Respuesta1

Parece funcionar para mí, aunque depende de la versión de netcat. Debian ha empaquetado dos: "netcat-tradicional" y "netcat-openbsd". El primero admite -etanto el modo cliente como el servidor, el segundo no lo admite en absoluto.

$ nc.traditional localhost 1234 -e /bin/bash

$ nc.openbsd localhost 1234 -e /bin/bash
nc.openbsd: invalid option -- 'e'

El de mi OSX tampoco lo admite.

Si necesita hacer esto con un netcat que no es compatible -e, es posible que necesite algo como esto:¿Cómo hacer una tubería bidireccional entre dos programas?

información relacionada