🐳 Kali en Docker + Herramientas de Pentesting: Laboratorio Red Team Portátil

At varius vel pharetra vel turpis

¿Quieres un entorno de pentesting listo para desplegar en segundos, portátil y sin levantar máquinas virtuales pesadas? Este artículo te guía paso a paso para construir y usar kali, una imagen Docker basada en Kali Linux con herramientas clave para Red Team y análisis OSINT.

Ideal para consultores, formadores, y pentesters que necesitan rapidez, ligereza y control

 

📦 1. Descripción General

kali es una imagen Docker personalizada basada en Kali Linux Rolling, pensada para:

🧰 Incluir herramientas básicas de pentesting y OSINT.

🔐 Permitir acceso remoto por SSH (puerto 22222).

🚫 Excluir servicios innecesarios (como HTTP, FTP, SMB).

 

📁 2. Estructura del Proyecto

Ubicación esperada:

C:\Users\user\Desktop\Docker\Kali\ 

Archivos necesarios:

Dockerfile

📄 3. Contenido del Dockerfile

FROM kalilinux/kali-rolling

LABEL maintainer="user"
ENV DEBIAN_FRONTEND=noninteractive

# Instalación de herramientas y servicios
RUN apt update && apt upgrade -y && \
   apt install -y metasploit-framework nmap sqlmap hydra john \
   nikto recon-ng amass dnsenum gobuster wfuzz dirb \
   iproute2 tcpdump python3 python3-pip openssh-server \
   git curl wget vim htop socat && \
   apt clean

# Configuración SSH (puerto 22222)
RUN mkdir -p /var/run/sshd && \
   echo 'root:toor' | chpasswd && \
   sed -i 's/#Port 22/Port 22222/' /etc/ssh/sshd_config && \
   sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

EXPOSE 22222

CMD ["/bin/bash", "-c", "service ssh start && tail -f /dev/null"]

 

✏️ 4. Renombrar Dockerfile si está como .txt

 

Desde PowerShell:

Rename-Item "Dockerfile.txt" "Dockerfile"

 

🏗️ 5. Construcción de la Imagen

 

Ubicado dentro de la carpeta del proyecto, ejecuta:

docker build -t kali

Esto creará la imagen Docker con nombre kali

 

🚀 6. Crear y Ejecutar el Contenedor

Básico:

docker run -d --name Kali -p 22222:22 kali

 

Versión avanzada (modo Red Team):

docker run -it --name Kali \  --cap-add=NET_RAW \  --cap-add=NET_ADMIN \  --network bridge \  -p 22222:22222 kali

 

🔐 7. Acceso al Contenedor

 

SSH remoto:

ssh root@localhost -p 22222 # Contraseña: password

 

Acceso directo desde el host:

docker exec -it Kali bash

 

🌐 8. Crear Red Interna entre Contenedores (opcional)

docker network create redinterna docker run -d --name Kali --network redinterna -p 22222:22 kali

 

🧱 9. Integrar Metasploit con PostgreSQL

 

Verificar servicio:

sudo service postgresql start 

sudo service postgresql status

 

Debe aparecer: 17/main (port 5432): online

Crear base de datos:

sudo -u postgres psql

 

En el prompt de psql:

CREATE USER msf WITH PASSWORD 'msf'; 

CREATE DATABASE msf OWNER msf; \q

 

Conectar desde Metasploit:

msfconsole db_connect msf:msf@127.0.0.1/msf db_status

Resultado esperado: Connected to msf.

 

Autoconexión:

Edita ~/.msf4/msfconsole.rc y añade:

db_connect msf:msf@127.0.0.1/msf

 

✅ 10. Comprobaciones y Control

 

Ver contenedores activos:

docker ps -a

 

Ver logs:

docker logs Kali

 

Eliminar contenedor:

docker rm -f Kali

 

Eliminar imagen:

docker rmi kali

 

 

🛡️ Aviso Legal y Ético

⚠️ Este contenido tiene fines exclusivamente educativos y de concienciación en ciberseguridad.
Las herramientas, técnicas o procedimientos descritos en este artículo deben utilizarse únicamente en entornos controlados, sistemas propios o con autorización expresa del titular.
El uso indebido de estos conocimientos puede constituir un delito tipificado por la legislación vigente.
UXVconsultoría no se responsabiliza del uso inapropiado de la información aquí expuesta.

©Derechos de autor. Todos los derechos reservados.

Necesitamos su consentimiento para cargar las traducciones

Utilizamos un servicio de terceros para traducir el contenido del sitio web que puede recopilar datos sobre su actividad. Por favor revise los detalles en la política de privacidad y acepte el servicio para ver las traducciones.