Saltar al contenido
Herramientas
Índice de contenidos

tmux (flujo de trabajo en terminal)

tmux es un multiplexor de terminal: divide una terminal en varios paneles, mantiene sesiones vivas aunque cierres la ventana, y es imprescindible en pentest. ¿Por qué? Porque un listener de reverse shell dentro de tmux no se pierde si tu terminal se cierra, y porque trabajar con notas + escaneo + shell a la vez multiplica tu velocidad.


Por qué importa en hacking

  1. No perder shells
    El listener vive en una sesión tmux; cierras la ventana y sigue ahí.
  2. Paralelismo
    Un panel escanea, otro enumera, otro tiene la shell, otro las notas.
  3. Scroll y copia
    Revisas salidas largas (linpeas) sin perderlas.
  4. Persistencia
    Reconectas a la sesión tras una caída de VPN.

Supervivencia: lo mínimo que necesitas

El prefijo por defecto es Ctrl+b (se pulsa, se suelta, y luego la tecla de acción).

tmux                      # iniciar una sesión
tmux new -s htb           # sesión con nombre
tmux ls                   # listar sesiones
tmux a -t htb             # reconectar (attach) a 'htb'
Ctrl+b  d                 # "detach": salir dejando la sesión viva

Paneles (divisiones)

Ctrl+b  %        # dividir en vertical (izq/der)
Ctrl+b  "        # dividir en horizontal (arriba/abajo)
Ctrl+b  <flecha> # moverte entre paneles
Ctrl+b  x        # cerrar el panel actual
Ctrl+b  z        # zoom (pantalla completa del panel) / volver
Ctrl+b  {  }     # mover el panel de sitio

Ventanas (pestañas)

Ctrl+b  c        # nueva ventana
Ctrl+b  n / p    # siguiente / anterior
Ctrl+b  <número> # ir a la ventana N
Ctrl+b  ,        # renombrar la ventana

Scroll y copia

Ctrl+b  [        # entrar en modo scroll (flechas / PgUp); 'q' para salir

Consejo: para revisar la salida larga de linpeas o un escaneo, entra en modo scroll con Ctrl+b [. Sin tmux (o con una reverse shell cruda) esa salida se te va y toca relanzarla.


El montaje clásico de pentest

Una ventana con 4 paneles:

Panel 1: nmap/escaneoPanel 2: enumeración (ffuf/web)Panel 3: la shellPanel 4: notas (vim)
tmux new -s maquina
# Ctrl+b %  (divide)   Ctrl+b "  (divide otra vez)   ... hasta tener tu rejilla

El truco que salva shells

Pon tu listener dentro de tmux antes de lanzar la reverse shell:

tmux new -s shells
nc -lvnp 443
# Ctrl+b d  -> te sales, pero el nc sigue escuchando

Si tu VPN cae o cierras la terminal, la shell recibida sigue viva. Reconectas con tmux a -t shells y ahí está. Esto evita el dolor nº1 del novato: perder un foothold costoso por un cierre accidental.


Configuración recomendada (~/.tmux.conf)

# Ratón: seleccionar paneles y hacer scroll con la rueda
set -g mouse on
# Más historial de scroll
set -g history-limit 10000
# Numerar ventanas desde 1
set -g base-index 1
# Recargar config: Ctrl+b r
bind r source-file ~/.tmux.conf \; display "Recargado"

Aplica con tmux source-file ~/.tmux.conf o reinicia tmux.


Herramientas relacionadas

HerramientaDescripción
tmuxMultiplexor de terminal (sesiones, paneles, persistencia).
screenAlternativa clásica (más simple, menos flexible).
pwncat-csListener que además persiste y estabiliza shells.
vim / nanoEditor en un panel para las notas de la máquina.

Consejo: no hace falta dominar tmux entero: con new -s, a -t, d (detach), dividir paneles (% y ") y el modo scroll ([) ya trabajas como un profesional. El hábito que de verdad cambia tu juego es lanzar siempre el listener dentro de tmux: nunca más perderás una shell por cerrar una ventana.