Herramientas de usuario

Herramientas del sitio


tutorial:docker

Entorno de Pentesting: Kali Linux en Docker

Este documento técnico describe el proceso de despliegue de un laboratorio de seguridad personalizado sobre Linux Mint (2026) utilizando contenedores.

1. Instalación de Docker (Host Mint/Ubuntu)

Instalación del motor de Docker desde los repositorios oficiales para garantizar la última versión estable.

Dependencias de sistema

sudo apt update && sudo apt install ca-certificates curl gnupg

Configuración de Repositorios y Llaves

Es crítico usar el codename de Ubuntu (Noble/Jammy) según la base de tu Mint.

# Crear directorio de llaves
sudo install -m 0755 -d /etc/apt/keyrings
 
# Descargar llave oficial GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
 
# Registrar el repositorio oficial
echo   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" |   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instalación Final

sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2. Configuración del Dockerfile

Archivo de definición para la imagen personalizada basada en Kali Rolling.

Archivo Descripción
Dockerfile Debe guardarse sin extensión en la carpeta raíz del proyecto
FROM kalilinux/kali-rolling
 
# Evitar preguntas interactivas durante la instalación
ENV DEBIAN_FRONTEND=noninteractive
 
RUN apt-get update && apt-get install -y \
    # Herramientas de ataque/fuzzing
    nmap ffuf feroxbuster gobuster metasploit-framework \
    hydra wpscan nikto exploitdb \
    # Esteganografía y diccionarios
    steghide stegseek crunch cewl \
    princeprocessor \
    # Utilidades de sistema y red (Corrección de sintaxis aquí)
    xxd \
    netcat-traditional \
    dnsutils \
    python3-pip \
    curl \
    wget \
    git \
    ruby \
    # Limpieza de caché
    && apt-get clean && rm -rf /var/lib/apt/lists/*
 
# Instalación de Droopescan (Usando el flag necesario en 2026)
RUN pip3 install --break-system-packages --no-cache-dir droopescan
 
# Instalación de Drupalgeddon2 (Corrección de la URL de GitHub)
RUN git clone https://github.com/dreadlocked/Drupalgeddon2.git /opt/drupalgeddon2 \
    && chmod +x /opt/drupalgeddon2/drupalgeddon2.rb \
    && ln -s /opt/drupalgeddon2/drupalgeddon2.rb /usr/local/bin/drupalgeddon2
 
WORKDIR /root

3. Comandos de Construcción (Build)

Comandos para generar la imagen a partir del Dockerfile.

  • Construir imagen: sudo docker build -t kali-custom .
  • Verificar imagen: sudo docker images
  • Guardar imagen: sudo docker save -o mi-kali.tar kali-custom

4. Ejecución y Montaje de Volúmenes

Para que la máquina sea persistente y acceda a diccionarios externos como SecLists, se utiliza el parámetro de volumen.

Comando de Lanzamiento

sudo docker run -it --rm \
  -v "$(pwd)/Seclists:/usr/share/wordlists/seclists" \
  kali-custom

Explicación de Parámetros

Comando Función
-it Inicia el modo interactivo con una terminal TTY.
–rm Borra el contenedor automáticamente al escribir 'exit'. Mantiene el sistema limpio.
-v Monta un directorio del PC dentro del contenedor (Bind Mount).
$(pwd) Variable que inserta automáticamente la ruta actual absoluta.

5. Verificación de Herramientas

Comandos rápidos para probar que todo se instaló correctamente:

  • Escáneres: nmap -h, ffuf -V
  • Exploits: searchsploit drupal
  • CMS: droopescan –help, drupalgeddon2 -h
  • Diccionarios: ls /usr/share/wordlists/seclists

6. Mantenimiento del Sistema

Docker puede ocupar mucho espacio en disco (aprox. 7GB para esta imagen).

  • Borrar todo lo que no se usa: sudo docker system prune -a
  • Ver espacio ocupado: sudo docker system df

ADVERTENCIA: El uso de estas herramientas debe limitarse a entornos controlados o con autorización expresa.

tutorial/docker.txt · Última modificación: 2026/01/22 06:30 por truper