Tratamiento TTY para una Shell más interactiva y escalar privilegios

Cuando trabajamos desde terminales básicas o accedemos a sistemas remotos, es habitual encontrarnos con limitaciones incómodas en nuestra shell (por ejemplo en un RCE o SSFR), especialmente al usar programas interactivos como nano, vim, top o incluso al intentar escalar privilegios con su.

Sin embargo, hay formas sencillas para mejorar la interactividad y comodidad de nuestras sesiones TTY, y de paso, facilitar la búsqueda de vías para elevar privilegios si fuese necesario.

Mejorar la TTY

python3 -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm

ahora pulsa: Ctrl+Z , esto te sacará de la terminal, pero no te preocupes porque ahora volverás a conectarte a ella.

A continuación ejecuta:

stty raw -echo; fg

y por último pulsa (enter) y ya vuelves a tener la shell interactiva, así:

Otra opción para Mejorar la TTY con script

La herramienta script permite mejorar rápidamente la interactividad de tu terminal. Puedes usarla con el siguiente comando:

script /dev/null -c bash

Exportar variables de entorno

Para que nuestra terminal funcione aún mejor, es importante ajustar ciertas variables de entorno y parámetros:

export TERM=xterm
stty raw -echo; fg

Esto configurará correctamente la terminal, facilitando el uso de editores y herramientas que normalmente presentan problemas en TTYs básicas.

Configurar tamaño adecuado de la terminal

El siguiente paso será especificar las dimensiones adecuadas de nuestra terminal para mejorar aún más la experiencia visual y de uso:

stty cols 120 rows 30

Al definir estas dimensiones, notarás una navegación más clara y precisa en editores y programas interactivos.

Elevar privilegios (Opcional)

Una vez que cuentes con una TTY completamente interactiva, podrías aprovechar para revisar potenciales vías de escalada de privilegios. Algunos ejemplos:

Permisos de sudo

Identifica si tienes permisos especiales asignados:

sudo -l

Archivos con SUID

Encuentra programas con permisos especiales asignados que podrían ayudarte a elevar privilegios:

find / -perm -4000 2>/dev/null

Tareas cron ejecutadas por root

Revisa las tareas programadas en cron que se ejecutan como root:

cat /etc/crontab

Capacidades especiales asignadas

Descubre capacidades especiales asignadas a programas específicos:

getcap -r / 2>/dev/null

Estas comprobaciones podrían ayudarte a encontrar vías rápidas y efectivas para escalar privilegios.

Otros posts relacionados