Instalación de Kali mediante Docker

Uso un portátil con 8GB de RAM desde hace unos 3 años el PC tiene buen procesador y tira bastante bien hasta que nos metemos a levantar maquinas virtuales. Con la máquina de Kali, no tuve muchos problemas, la verdad es que esta muy bien configurada y apenas notaba el peso, así que dije voy a probar mas imágenes (😱︎ gran error) total que 8GB para trabajar con máquinas virtuales es MUY poco, aunque voy a actualizar mi setup (poco, muy poco) de momento busco alternativas para primero probar algo en kali, así que me interesé por el contenedor docker de kali voy a dejar un mini tutorial de como hacerlo, la verdad es como cualquier otro docker (si no tienes docker entra en el canal de telegram y mira si te interesa la encuesta.
Bueno al lío vamos a ver como instalamos ésto. Solo lo he hecho una vez (instalar el contenedor de docker 🐷)
Descarga de la imagen de Kali Linux de Docker
Con pull descargamos la imagen.
docker pull docker.io/kalilinux/kali-rolling
Vamos con run y sus opciones run arrancará la imagen --tty optimizará la terminal lo mismo que --interactive con el tipo de letra y carácteres.
docker run --tty --interactive kalilinux/kali-rolling
¡¡¡TACHAN!!! ya estas en Kali Linux arrancado desde docker
Por ahora la única restricción que tenemos es no poder utilizar el control del sistema (systemctl) para moderar los servicios pero... bueno, no se hasta que punto será útil para el uso que le vamos a dar.
Por otro lado las imagenes vienen con kali pelado, es decir un debian con las modificaciones, si quieres instalar las herramientas de Kali necesitas actualizar la distribución y descargar el metapaquete.
kali-linux-headless son las herramientas necesarias principales!
apt update && apt -y install kali-linux-headless
Configuración del teclado
Como veís en la imagen aparecen los idiomas, ninguno de la lista es el nuestro, así que damos a intro, en la siguiente tampoco aparece el español, otra vez intro y nos aparece 30. Other pondremos eso en la linea Keyboard layout:
Ahora nos aparecerán una lista entera de idiomas, busca español como antes hemos hecho
Es ahí 👇 en el 84
Despues nos dará una lista de paises del origen del teclado pon de nuevo 84
y selecciona 1. Spanish en Keyboard layout
Ahora viene tipo de caracteres. no te agobies Intro, Intro y verás 14. # Latin1 and Latin5 - western Europe and Turkic languages
pon el número 14 en Character set to support:
Configurando kismet-capture-common
Kismet necesita permisos de root para funcionar correctamente así que escribe yes
Ahora para que kismet funcione, el usuario que lo vaya a usar tiene que pertenecere al grupo kismet, en nuestro caso vamos a usar root, así que añade se usuario
Configurando macchanger
Proporciona una nueva MAC cada vez que te conectas a una red, así mejora la privacidad y seguridad.
Puede producir inestabilidad en la conexión y se recomienda para gente que se conecta desde varios sitios. Yo al menos por ahora no lo voy a activar.
Configurando wireshark-common
Permite a los usuarios registrar el tráfico de red para su analisis posterior
Nos pide permiso para que se pueda ejecutar en modo usuario usando sudo, al menos por ahora voy a tirar de root (lo se a mí tampoco me gusta) pero estoy haciendo pruebas y prefiero ir de arriba para abajo.
Configurando sslh
Herramienta que permite conexiones SSL y TCP redirigiendo el tráfico a los servicios que quieras. Al nivel de usuario que vamos a usar pondremos inetd. En la documentación te explican detalladamente cada una de las formas
Sigue instalando aplicando nuestra configuraicón
Por fin verás quie ya tienes instalado kali con tu usario root. Ahora vamos a bajar privilegios (root siempre 💩)
Creamos al usuario con adduser usuario
Lo añadimos al grupo de sudo para que pueda escalar privilegios con este comando
usermod -aG sudo usuario
y ahora cambiamos de usuario su usuario
Comprobamos con un sudo apt update && sudo apt -y upgrade
si nos funcionan los privilegios y de paso volvemos a mirar si tenemos actualizaciones
Listo, ya tienes instalado un contenedor docker con Kali Linux
Tips post instalación
Uno de los rollos cuando no configuras bien al inicio un docker es recuperarlo despues. Si a eso le sumas que has estado probando con diferentes imagenes, contenedores y comandos puede ser un desastre
Cambiar el nombre a tu contenedor
Con este comando podremos ponerle un nombre mas especifico.
docker rename nombre-anterior nombre-nuevo
Comprobamos que ha funcionado con docker ps
Logarte con tu usuario en kali
Otro "quebradero" de cabeza fue tener que entrar y logarme con mi usuario desde root (SIEMPRE 😡)
Lo he solucionado (recuerda esto es linux, hay mil maneras y seguro que mejores) con docker exec -itu usuario nombre-contenedor /bin/bash
directamente se loga con mi usuario
Cambio de directorio a (home/usuario)
Por último y ya dentro del contenedor vamos a editar .bashrc (esta en todos los usuarios, es decir /home/usuario/.bashrc) y a ejecutar un comando para que nos deje en /home/usuario
vim ~/.bashrc
el simbolo ~ (AltGr+4) es el atajo de /home/usuario y .bashrc el archivo que vamos a editar. Justo al final del archivo, incluye cd ~
Voila!