Bytes&Zarpas

La bitácora de hardware y desarrollo de Raquel: bytes, zarpas, circuitos y código libre.

arrow_back VOLVER_AL_FEED

Kali Linux Quirúrgico en Docker: Despliegue Táctico con Red Host y Cero Bloatware

 /\_/\
( -.- )  <-- [ EL TALLER DE LA GATITA TECH // CYBER-LAB & HARDWARE DEPOT ]
 > ^ <
===========================================================================
⚡ BITÁCORA TÁCTICA // DESPLIEGUE KALI LINUX DOCKER #SEC-LAB-2026 ⚡
===========================================================================
    

📡 Kali Linux Quirúrgico en Docker: Despliegue Táctico con Red Host y Cero Bloatware

📅 SEPTIEMBRE 2026 🛡️ DEFENSIVE SANDBOX ⚡ HOST NETWORKING 👤 RAQUEL D. TORRES
[ VISUAL FEED: SEC-LAB // 01 ] RESOLUTION: [ 16:9 // HD ]
Kali Linux Quirúrgico en Docker - El taller de la gatita tech
▲ FIG. 01: Despliegue táctico del contenedor Kali Linux con sockets crudos y enlace directo a la red física.

Si alguna vez has intentado levantar la máquina virtual estándar de Kali Linux en VirtualBox o VMware dentro de un ordenador con recursos controlados (como un procesador de 2 núcleos físicos / 4 hilos y 16 GB de RAM), ya conoces la pesadilla: imágenes de más de 20 GB repletas de utilidades innecesarias, la RAM del equipo anfitrión estrangulada y una interfaz virtualizada detrás de una NAT que distorsiona los paquetes de tus escaneos de red.

Como técnico electrónico, en el taller aprendí algo fundamental: cuando un circuito se calienta en exceso por resistencia parásita, no le colocas un ventilador ruidoso; cortas la pista innecesaria y haces un bypass limpio.

Hoy traemos a la bitácora la metodología exacta que acabamos de desplegar: un contenedor persistente de Kali Linux sobre WSL2 configurado con acceso nativo a la pila de red física (--net=host), privilegios de kernel para sockets crudos, persistencia de archivos en caliente hacia Windows y un arsenal quirúrgico de auditoría (Tshark/Wireshark CLI, Nmap, TCPDump y Libpcap) que arranca en 0.8 segundos y consume apenas 50 MB de RAM en reposo.

🏗️ ESQUEMA TÉCNICO // ARQUITECTURA DEL CONTENEDOR
[ HOST WINDOWS 11 / WSL2 ]  (Espacio de Trabajo Local)
     └── Carpeta: $HOME\Documents\kali-lab  (o tu ruta local)
          │
          │  Bind Mount (RW)          --net=host (Sin NAT / Acceso Directo)
          │  Persistencia Real        --privileged (Modo Promiscuo / Raw Sockets)
          ▼
[ CONTENEDOR DOCKER: kali-sec ]  (kalilinux/kali-rolling:latest)
     └── Ruta Interna: /workspace
     └── Arsenal Táctico:
          ├── Wireshark CLI: tshark, tcpdump, libpcap-dev
          ├── Escaneo de Red: nmap (SYN, UDP, Versioning)
          ├── Diagnóstico: net-tools, iputils-ping, bind9-dnsutils
          └── Toolkit Dev: curl, wget, git
    

⚡ Fase 1: Creación del Contenedor Persistente

Para evitar que el contenedor termine su ejecución de inmediato al no tener un entorno gráfico de escritorio bloqueante, recurrimos al comando residente tail -f /dev/null.

Desde una terminal de PowerShell en Windows, lanzamos el aprovisionamiento inicial:

# PowerShell (Windows Terminal)
docker run -d `
  --name kali-sec `
  --net=host `
  --privileged `
  -v "$HOME\Documents\kali-lab:/workspace" `
  kalilinux/kali-rolling:latest `
  tail -f /dev/null
    
🔍 Anatomía de las Directivas Tácticas:
  • --net=host: Salta el puente de red virtual de Docker. El contenedor comparte la pila de red del anfitrión, permitiendo a Nmap y Wireshark ver el tráfico de la LAN física sin restricciones de NAT.
  • --privileged: Desbloquea capacidades de kernel en WSL2 para inyectar paquetes y poner las interfaces en modo promiscuo (AF_PACKET).
  • -v ...:/workspace: Mapeo en vivo. Cualquier script, reporte de vulnerabilidad o archivo de captura .pcap generado en Kali se guarda al milisegundo en tu carpeta física de Windows.

💻 Fase 2: Conexión Interactiva al Shell

Para tomar el control de la consola de Kali en cualquier momento, basta con disparar una sesión interactiva:

# PowerShell
docker exec -it kali-sec bash
    

🛠️ Fase 3: Inyección del Arsenal Sin Bloatware

La imagen base de Kali en Docker apenas pesa ~120 MB. En lugar de saturar el disco instalando los 20 GB del metapaquete completo, inyectamos únicamente el instrumental de diagnóstico, captura y análisis de protocolos:

# Consola interna de Kali Linux (root@docker-desktop)
# 1. Sincronizar repositorios oficiales
apt update

# 2. Captura y disección de paquetes (Tshark / Wireshark CLI)
DEBIAN_FRONTEND=noninteractive apt install -y \
  tshark \
  tcpdump \
  libpcap-dev

# 3. Mapeo y auditoría de puertos
apt install -y nmap

# 4. Diagnóstico de red, sockets y resolución DNS
apt install -y net-tools iputils-ping bind9-dnsutils

# 5. Herramientas de transporte y clonación
apt install -y curl wget git
    
💡 Tip de Taller: La variable DEBIAN_FRONTEND=noninteractive es crítica al instalar tshark para evitar que los diálogos interactivos de Debian bloqueen la terminal esperando confirmación de captura para usuarios no privilegiados.

🎯 Fase 4: Prueba de Fuego (Captura y Escaneo en Vivo)

Comprobamos la respuesta en tiempo real de la pila de red ejecutando inspección de interfaces y captura de sockets:

# Ver interfaces físicas detectadas por el motor de Wireshark
tshark -D
    
# Capturar 5 paquetes de tráfico DNS en caliente
tshark -i any -c 5 -f "port 53"
    
# Escaneo sigiloso SYN sobre la máquina local
nmap -sS -T4 127.0.0.1
    

⚙️ Fase 5: Operación y Ciclo de Vida del Sandbox

No es necesario reconstruir el contenedor tras apagar la máquina; todos los paquetes permanecen instalados en su capa de almacenamiento:

  • Pausar el laboratorio: docker stop kali-sec
  • Reactivar la sesión: docker start kali-sec
  • Auditar consumo de RAM/CPU: docker stats kali-sec
🛡️ Snapshot Táctico: Si quieres congelar tu arsenal instalado para no perderlo ante un borrado accidental del contenedor, crea una imagen personalizada con: docker commit kali-sec mi-kali-arsenal:v1.

🚀 La Siguiente Evolución: Infraestructura como Código (Terraform + KVM)

Para aquellos escenarios donde se requiera aislamiento total del kernel del anfitrión mediante emulación de hardware, también hemos estructurado en el repositorio el archivo main.tf utilizando Terraform 1.15 y el proveedor dmacvicar/libvirt:

  • Dimensionamiento Justo: 4 GiB de memoria RAM y 2 vCPUs asignadas para no asfixiar los 16 GB del host.
  • Almacenamiento Controlado: Disco virtual QCOW2 limitado a 30 GiB en lugar de los 80 GB predeterminados.
  • Reproducibilidad Absoluta: Creación y destrucción de laboratorios idénticos en un solo comando mediante terraform apply.

⚡ EL TALLER DE LA GATITA TECH // RECURSOS DEL LAB

¿Quieres automatizar auditorías o integrar interfaces en PySide6 para controlar este contenedor con un solo clic? Explora los repositorios y recursos de nuestra comunidad técnica.

EXPLORAR MÁS ENTRADAS DEL TALLER
SUBSYSTEM: [ KALI-SEC-DOCKER ] STATUS: [ OPERATIONAL // 100% ] OPERADOR: [ Raquel D. Torres ]

SYSTEM_COMMENTS_THREAD