Photo by Kristóf Vizy on Unsplash

Usando Kali Linux como contenedor Docker

Introducción.

No todas la herramientas de Kali Linux son fáciles o posibles de instalar en otro sistema operativo por lo que es común hacer uso de una memoria USB una VM o arranque dual para usarlas, pero existe otra solución como es usar el contenedor oficial de Kali Linux para Docker.

Prerequisitos.

  • Tener Docker instalado.
  • Tener un conocimiento basico de Docker.

Paso 1

Descargar la imagen oficial desde docker hub de Kali Linux.

docker pull kalilinux/kali-linux-docker

Paso 2

Crear el contenedor con Kali Linux usando las siguientes opciones.

–name le da nombre al contenedor.

–net=»host» esto permite usar la interfaz del host y que ademas es útil para poder usar la interfaz inalambrica en modo monitor desde el contenedor, tomar en cuenta también que los puertos del contenedor sera enlazados directamente con los del host y la dirección IP del host sera la misma para el contenedor. Esto solo funciona en Docker para Linux.

–privileged junto con –net permite colocar la interfaz de red en modo monitor y usar el hardware contenido del host como por ejemplo el bluetooth.

-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix estos dos flags permiten que se puedan ejecutar las aplicaciones que requieran de un servidor gráfico usando el del host, por ejemplo el firefox instalado en el contenedor pero antes hay que darle permisos desde el host con el comado xhost +.

-it permite que el contenedor se ejecute en modo interactivo en la tty actual.

docker run --name kali_linux --net="host" --privileged -e DISPLAY=$DISPLAY -it -v /tmp/.X11-unix:/tmp/.X11-unix kalilinux/kali-linux-docker /bin/bash

Paso 2

Kali Linux solo provee una imagen base de Docker por lo que es necesario instalar el resto de los paquetes usando apt.
Para buscar el metapaquete según el uso que le daremos al contenedor usamos apt.

apt-get update && apt-cache search kali-linux

La referencia completa así como los tamaños de la descarga de los metapaquetes se encuentra disponible en el sitio de Kali Linux.

Conclusión

Docker es una alternativa para no depender de una memoria USB, el arranque dual o una VM para usar Kali Linux, ademas esta forma de instalación permite usar las herramientas como si formaran parte del host donde se encuentra el contenedor, de forma similar a como funcionan las aplicaciones con Snap.

Kali Linux
Docker Hub