Docker: Instalar Kali Linux
En alguna que otra entrada he utilizado Kali Linux como distribución para realizar tareas de pentesting
Para los que no la conozcáis, os dejo el enlace a la misma y otros enlaces de interés:
- SITIO OFICIAL: https://www.kali.org/
- Containers oficiales para Docker: https://www.kali.org/docs/containers/official-kalilinux-docker-images/
- Docker Desktop: https://www.docker.com/products/docker-desktop/
- Ventajas e inconvenientes de Containers: https://www.maquinasvirtuales.eu/ventajas-e-inconvenientes-de-los-containers-en-programacion/
Hoy vamos a llevarlo a Docker en formato container. Usaré Docker Desktop, que es lo que tengo más a mano ahora mismo. En otra entrada mostraré como lanzarla sobre containers Proxmox LXC/LXD.
Principal ventaja de usar container de Kali Linux
Desde mi punto de vista, tiene sentido cuando manejas gran volumen de containers, y quieres mantener una visibilidad de ellos en tu red privada que gestiona el host de virtualización. Un ejemplo, tienes desarrolladores externos en tu organización o quieres hacer una auditoría cada X tiempo.
Comprobar estado servicio Docker vía Powershell
El proceso es bastante sencillo. Nos aseguramos que nuestro servicio docker está corriendo y trabajando, lo hago, por ejemplo, vía Powershell:
1 2 3 4 5 |
PS C:\Users\administrator> docker ps PS C:\Users\administrator> docker --version Docker version 20.10.23, build 7155243 PS C:\Users\administrator> docker-compose-v1.exe --version docker-compose version 1.29.2, build 5becea4c |
Descarga imagen container docker Kali Linux
Bajamos la imagen de Kali Linux:
1 2 3 4 5 6 7 |
PS C:\Users\administrator> docker pull docker.io/kalilinux/kali-rolling Using default tag: latest latest: Pulling from kalilinux/kali-rolling 4294666c46cc: Pull complete Digest: sha256:4774978e061dcdd2c785a504155a8f95cbad54274fbbd968fc42b67ef1921a58 Status: Downloaded newer image for kalilinux/kali-rolling:latest docker.io/kalilinux/kali-rolling:latest |
Podéis verla en la consola:
O vía comando:
1 2 3 |
PS C:\Users\administrator> docker images REPOSITORY TAG IMAGE ID CREATED SIZE kalilinux/kali-rolling latest a48baa190e7e 6 days ago 118MB |
Limitar gestión de CPU y RAM de container Kali Linux
Por si no queréis matar vuestra máquina cuando se ejecute, limitar el uso que hará de la memoria RAM y la CPU, creando un archivo sin extensión con este contenido (modificar la ram o cpu a vuestro antojo):
1 2 3 4 5 6 7 8 |
# Settings apply across all Linux distros running on WSL 2 [wsl2] # Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB memory=4GB # Sets the VM to use two virtual processors processors=2 |
Yo uso Notepad++:
Luego tenéis que colocarlo en:
1 |
C:\Usuarios\<PerfildeUsuario>\.wslconfig |
Reiniciamos el servicio wsl, cerrando Docker Desktop para que tenga efecto:
1 |
PS C:\Users\administrator> wsl --shutdown |
Pulsamos RESTART:
Una vez todo preparado, procedemos a su creación.
Crear container docker Kali Linux
Comando que voy a usar:
1 2 3 |
PS C:\Users\administrator> docker run --tty --interactive kalilinux/kali-rolling ┌──(root㉿03b6ef7cad59)-[/] └─# |
Configuración container docker Kali Linux
Ahora tenemos que instalar el paquete kali-linux-headless, que le costará un buen rato:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
PS C:\Users\administrator> docker run --tty --interactive kalilinux/kali-rolling ┌──(root㉿03b6ef7cad59)-[/] └─# apt update && apt -y install kali-linux-headless Get:1 http://kali.download/kali kali-rolling InRelease [41.2 kB] Get:2 http://kali.download/kali kali-rolling/main amd64 Packages [19.4 MB] Get:3 http://kali.download/kali kali-rolling/contrib amd64 Packages [122 kB] Get:4 http://kali.download/kali kali-rolling/non-free amd64 Packages [226 kB] Fetched 19.8 MB in 4s (4648 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 9 packages can be upgraded. Run 'apt list --upgradable' to see them. Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: adduser adwaita-icon-theme aircrack-ng alsa-topology-conf alsa-ucm-conf amass amass-common apache2 apache2-bin .... |
Acceder container docker Kali Linux
Si queremos acceder nuevamente a él, si partimos de parado:
1 2 |
docker start 03b6ef7cad59 docker attach 03b6ef7cad59 |
Lanzar comando docker Kali Linux
Podemos lanzar comandos en el contenedor vía:
1 2 3 4 5 |
docker exec -it <ID> <comando> Ejemplo: docker exec -it 03b6ef7cad59 bash |
Usar proxies personalizados para docker Kali Linux
Podemos usar un proxie en Docker Desktop, que para estos menesteres seguro nos viene muy bien:
Copiar ficheros a container docker Kali Linux
Si necesitamos pasar ficheros simplemente lo podemos hacer desde el apartado Containers del Docker Desktop, pulsamos sobre el contenedor y apartado FILES (arrastramos lo que queramos):
Borrar container docker Kali Linux
Si lo queremos borrar:
1 |
docker rm 03b6ef7cad59 |
O hacer todas estas operaciones desde Docker Desktop:
Espero os parezca interesante…se abre un mundo de posibilidades. Intentaré detallar como realizar auditorías de infraestructuras dentro de nuestra red de containers
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?