Shells

Tratamiento de la TTY interactiva

Una vez que tenemos una reverse shell, es vital configurar una TTY interactiva para trabajar de forma cómoda y segura. De esta manera, evitamos cerrar la conexión accidentalmente y ganamos la facilidad de desplazarnos con las flechas o utilizar el tab para autocompletar rutas. El proceso es muy sencillo: solo hay que ajustar la tty siguiendo estos pasos para obtener una sesión más fluida y robusta.


Desde la reverse shell obtenida, script /dev/null -c bash transforma la sesión en una TTY interactiva.

VICTIM
$ script /dev/null -c bash
Script started, file is /dev/null

A continuación, hacemos Ctrl+Z para suspender la Reverse Shell.

VICTIM
www-data@test:/$ ^Z
zsh: suspended  nc -nlvp 443

Desde la reverse shell, con stty raw -echo; fg recuperamos la sesión en primer plano y reset xterm restablece la terminal para una experiencia interactiva óptima.

ATTACKER
 stty raw -echo; fg
ATTACKER
[1]  + continued  nc -nlvp 443
                                reset xterm

Exportamos las variables para que la terminal y la shell funcionen correctamente:

  • export TERM=xterm corrige el valor por defecto de TERM (a veces aparece como "dump") y permite usar atajos de teclado.

  • export SHELL=bash fuerza a que la shell sea bash.

VICTIM
www-data@test:/$ export TERM=xterm
www-data@test:/$ export SHELL=bash

Desde nuestra máquina revisaremos las dimensiones de nuestra terminal para ajustarlas en la máquina víctima.

Desde la máquina configuraremos la terminal con los valores de nuestra terminal. En el caso anterior, como ejemplo nos devolvió 40 filas y 230 columnas, el comando sería el siguiente.


Spawning Interactive Shells

Python

Perl

El comando anterior debe ejecutarse desde un script.

Ruby

El comando anterior debe ejecutarse desde un script.

Lua

El comando anterior debe ejecutarse desde un script.

Awk

Find

Vim

Vim to Shell

Vim Escape

Última actualización

¿Te fue útil?