Cómo descargar y desplegar una máquina virtual en VMware con el sistema operativo Kali Linux, ideal para hacer Hacking Ético y pruebas de penetración (pentesting o Penetration Testing). Desplegaremos la máquina virtual y realizaremos algunos test de ejemplo sobre nuestra red. En esta primera parte desplegaremos la máquina Kali Linux y haremos algunos análisis básicos de la red en la que queramos realizar el test de penetración. Escaneamos la red en busca de dispositivos activos, obtenemos los puertos abiertos de un dispositivo e intentamos obtener información del sistema operativo de un dispositivo (Windows, Linux Debian, Linux Ubuntu, Mac OS, …).
- Descargar Kali Linux versión máquina virtual VMware y desplegar en VMware ESXi.
- Convertir MV de VMware Workstation a VMware ESXi con VMware vCenter Converter Standalone.
- Iniciar máquina virtual Kali Linux en VMware ESXi.
- Activar acceso por SSH a equipo Kali Linux.
- Actualizar paquetes de máquina Kali.
- Primer escaneo de la red, puertos abiertos, información de sistema operativo en Kali Linux con nmap.
Descargar Kali Linux versión máquina virtual VMware y desplegar en VMware ESXi
Kali Linux está disponible en numerosos formatos, listo para ser usado: ARM, Bare Metal, Mobile (Android), Cloud, Containers (docker), Live Boot, WSL (Windows Subsystem for Linux) y Virtual Machines (VMware y VirtualBox).
En nuestro caso descargaremos la máquina virtual de Kali Linux para VMware:
Nos descargará un fichero comprimido 7zip: kali-linux-2022.1-vmware-amd64.7z, que contiene directamente los archivos de la máquina virtual para VMware. Descomprimiremos el 7zip en una carpeta:
Convertir MV de VMware Workstation a VMware ESXi con VMware vCenter Converter Standalone
La máquina virtual descargada nos servirá para ser ejecutada desde VMware Workstation directamente. Pero si tenemos un entorno VMware ESXi, tendremos que convertirla para que funcione. Para realizar esta conversión usaremos VMware vCenter Converter Standalone, que tendremos que descargar e instalar desde la web oficial de VMware.
Abriremos VMware vCenter Converter Standalone y pulsaremos en «Convert machine»:
Marcaremos «Powered off» y elegiremos «VMware Workstation or other VMware virtual machine». En «Virtual machine file» pulsaremos en «Browse»:
Elegiremos el fichero kali-linux-2022.1-vmware-amd64.vmx de la descarga y descompresión realizada anteriormente:
En «Select destination type» elegiremos «VMware Infrastructure virtual machine». Introduciremos la IP del servidor VMware ESXi de destino, así como un usuario y contraseña con permisos suficientes para crear máquinas virtuales en este entorno:
Introduciremos el nombre para la máquina virtual destino que se creará, por ejemplo srvkali:
Elegiremos el datastore de destino donde se almacenará la máquina virtual y la versión de la máquina virtual (en nuestro caso la mayor posible, la 13):
Elegiremos las opciones de la máquina virtual que se creará en VMware ESXi, por ejemplo la red que se asignará al adaptador de red:
El asistente nos mostrará todas las opciones elegidas. Pulsaremos «Finish» para iniciar la conversión:
En función de la velocidad de nuestra red, del equipo desde el que hemos lanzado VMware vCenter Converter Standalone y de la velocidad del servidor VMware ESXi, el proceso puede tardar unos 20 minutos:
Una vez finalizado, nos lo indicará en la consola de VMware vCenter Converter Standalone:
Iniciar máquina virtual Kali Linux en VMware ESXi
Una vez finalizada la conversión podremos revisar que la máquina se ha transferido correctamente a nuestro entorno de virtualización VMware ESXi. Editaremos las propiedades de la máquina virtual, por si queremos ajustar alguna o revisar que se han aplicado correctamente, como la CPU, RAM, disco duro, adaptador de red, etc.:
Pulsaremos en «Acciones» – «Consola» – «Iniciar consola remota» (si disponemos de VMware ESXi Player):
Iniciaremos la máquina virtual Kali Linux:
Arrancará el sistema operativo Kali Linux:
Introduciremos usuario «kali» y contraseña «kali»:
Abriremos una consola de terminal y revisaremos que tenemos la configuración de red deseada. Por ejemplo con el comando:
1 |
ip a |
Comprobaremos si el DHCP ha asignado una IP y una configuración de red. En caso de no tener DHCP deberemos establecer las opciones de red del equipo Kali Linux:
Para configurar la red podremos hacerlo desde el modo gráfico (o por comando):
Estableceremos la configuración de red deseada:
Activar acceso por SSH a equipo Kali Linux
En las nuevas versiones de Kali Linux, y en la que se incluye instalada y configurada en la máquina virtual VMware, no hay que hacer nada para activar el acceso por SSH a la máquina, únicamente iniciar el servicio SSH, con el comando:
1 |
sudo service ssh start |
Con PuTTY por ejemplo, accederemos al servidor Kali:
Con usuario «kali» y contraseña «kali»:
Actualizar paquetes de máquina Kali
Una vez iniciado Kali es conveniente hacer una actualización de paquetes. Para ello ejecutaremos este primer comando, que actualiza la lista de paquetes candidatos de actualización según los que tenemos instalados y las nuevas posibles versiones que pueda haber en el repositorio:
1 |
sudo apt update |
Tras actualizar los paquetes candidatos de actualización, para actualizarlos ejecutaremos:
1 |
sudo apt upgrade |
Si nos muestra este error:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: libwacom9 : Depends: libwacom-common (= 2.2.0-1) but 1.12-1 is to be installed E: Broken packages |
Se resuelve instalando ibwacom-common con el comando:
1 |
sudo apt install libwacom-common |
Primer escaneo de la red, puertos abiertos, información de sistema operativo en Kali Linux con nmap
En primer lugar, desde una ventana de terminal, ejecutaremos el siguiente comando para establecer el teclado a español:
1 |
setxkbmap es |
A continuación lanzaremos el primer escaneo de nuestra red, con el comando:
1 |
nmap -sP 192.168.1.0/24 |
Este comando analizará todo el rango de red indicado en busca de dispositivos conectados y activos con una IP establecida. En el ejemplo nos ha detectado 18 dispositivos activos con IP en nuestro rango de red:
A continuación, continuando con un ejemplo sencillo, vamos a intentar averiguar los puertos abiertos en una de las IP activas anteriores, por ejemplo en la 192.168.1.2, para ello ejecutaremos el siguiente comando:
1 |
sudo nmap -sS 192.168.1.2 |
Nos solicitará contraseña del usuario administrador, introduciremos «kali».
Realizará un escaneo de puertos abiertos en la IP indicada y nos devolverá todos los que encuentre:
En el ejemplo anterior, la IP 192.168.1.2 de nuestra red vemos que tiene los siguientes puertos abiertos: 80 (http), 135 (msrpc), 139 (netbios-ssn), 443 (https), 445 (microsoft-ds), 3389 (ms-wbt-server) y 5357 (wsdapi).
Para obtener información del sistema operativo del equipo, ejecutaremos el siguiente comando:
1 |
sudo nmap -O 192.168.1.2 |
Como ejemplo, deshabilitado el cortafuegos del equipo 192.168.1.2, Kali nos devuelve un resultado exacto, se trata de un equipo Windows 10:
En cambio, si tenemos el cortafuegos activado, ejecutando el mismo comando. En este caso, nos devuelve que probablemente sea un equipo Windows, en un 87% de posibilidades. Sigue siendo exacto pero menos, no pudiendo definir la versión exacta:
Una demostración rápida de la importancia de tener el cortafuegos siempre habilitado. Cuanta más información fidedigna del sistema operativo pueda obtener un atacante, más posibilidades tendrá de realizar una penetración exitosa en nuestro equipo.
Lanzando el mismo comando contra una IP que sabemos tiene un equipo Linux (en concreto un Linux Debian 11), nos devuelve:
Para el caso del mismo comando contra una IP que sabemos es de nuestro entorno de virtualización VMware ESXi, devolverá:
Por último, lanzando el comando contra una IP que sabemos que tiene un MacOS:
Para el caso de un equipo con Linux Ubuntu 21:
Si lanzamos el comando contra la IP gateway de nuestra red (el router), nos obtiene:
Vemos que es bastante exacto en muchos de los casos y obtiene bastantes datos, los suficientes para hacer intentos de intrusión.