====== 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.