Una vez que ganamos acceso a un servidor por medio de una reverse shell no será interactiva al 100%, para solucionar estó debemos aplicar un tratamiento a la TTY, al aplicar este tratamiento podemos hacer Ctrl + C
sin miedo a perder la Shell y tambien limpiar la pantalla y tabular para el autocompletado.
Tratamiento
1
2
3
4
5
root@f5fd61010b2d:~$ script /dev/null -c bash
script /dev/null -c bash
Script started, file is /dev/null
root@f5fd61010b2d:~$
Presionamos Ctrl + Z
para suspender la shell
1
2
root@f5fd61010b2d:~$ ^Z
zsh: suspended nc -lvnp 444
Reiniciamos la shell y configuramos el tipo de terminal
1
❯ stty raw -echo; fg
1
2
3
4
❯ stty raw -echo; fg
[1] + continued nc -lvnp 444
reset xterm
Ya podemos aplicar Ctrl + C
y no perderemos la conexión, pero el Ctrl + L
no funciona, para ello cambiamos la variable de entorno TERM a xterm
1
root@f5fd61010b2d:~$ export TERM=xterm
A veces la variable SHELL
vale nologin
, hacemos lo siguiente para que sea una shell
1
root@f5fd61010b2d:~$ export SHELL=/bin/bash
Ya tenemos una consola semi-interactiva, para que sea full-interactiva debemos cambiar las filas y columnas, en la mæquina victima hacemos un:
1
2
3
root@f5fd61010b2d:~$ stty size
24 80
root@f5fd61010b2d:~$
Y en nuestra máquina hacemos lo mismo y confirmamos que los valores no coinciden.
1
2
❯ stty size
48 184
Regresamos a la máquina victima y cambiamos los valores
1
2
root@f5fd61010b2d:~$ stty rows 48 columns 184
root@f5fd61010b2d:~$
Una vez hecho esto nuestra TTY ya sera 100% interactiva.