Skip to content

NETinVM, máquinas virtuales en red para practicar hacking y ciberseguridad

Para el post de hoy he decidido mostraros un estupendo recurso educativo, formado por un conjunto de máquinas virtuales en red que podéis descargar de forma gratuita. NETinVM es un excelente recurso para los docentes y estudiantes que quieran aprender sobre ethical hacking o seguridad, así como administración de sistemas y redes.

¿Qué es NETinVM?

Se trata de una única máquina virtual diseñada para VMWare que contiene una serie de VMs o máquinas virtuales, listas para ejecutarse y con el beneficio particular de que todas conforman una red, simulando lo que podría ser cualquier red corporativa on-premise (administrada).

Para conseguir un recurso de este tipo -máquinas virtuales dentro de otra máquina virtual- se aprovecha un recurso denominado virtualización anidada.

NetinVM

Evidentemente no es lo mismo usar una máquina virtual aislada (aunque hagamos modificaciones en el adaptador de red) que un conjunto de máquinas que conforman una red externa, DMZ, red interna y su router de entrada, etcétera. Este escenario real es ideal para practicar nuestras actividades en seguridad informática.

Se trata de un proyecto construido con fines educativos por parte de dos expertos de la Universidad de Valencia: Carlos Pérez y David Pérez.

Descargar NETinVM

A continuación explicaré donde descargar la imagen, como hacerla funcionar y los primeros pasos con su administración, usuario/contraseña por defecto, etc.

La última versión de NETinVM es la publicada el 20/09/2021. Descargaremos NETinVM en el siguiente enlace.

  • Tamaño: 2,8 GB
  • Idioma: inglés
  • Sistema: Debian
  • MD5: d17342c845841786a2d65f531d34a4f8
  • SHA256: 12fd6d2c1517d515cad4110b2ab690a9989b2d6727ab7c73801a015c9583a4ec

Requisitos del sistema

Hardware:

  • 4 GB de RAM
  • 20 GB de espacio libre en disco

Software:

  • VMWare Player, VMWare Workstation o VirtualBox
  • Sistema operativo que soporte el anterior software de virtualización

Configuración inicial

Lo primero que haremos es descomprimir el archivo netinvm-kvm_2018-07-23_vmware.zip que habremos descargado. De los 2,8 GB iniciales pasará a ocupar unos 8,46 GB.

Se ha añadido un icono a la barra de control (inmediatamente a la derecha del menú principal) que muestra la lista de todas las ventanas agrupadas por escritorio. Se puede invocar directamente usando el atajo "Win-l". Se ha incluido la contraseña del administrador y del usuario no privilegiado en el portapapeles (aplicación Klipper), (accesible a través de un icono que representa a unas tijeras y que aparece en la parte derecha de barra de control de KDE o, alternativamente, mediante la combinación de teclas Ctrl-Alt-v). También se ha incluido la contraseña en el fichero "passwords.txt", accesible desde el escritorio.

Una vez arrancamos la máquina virtual con VMWare (en mi caso) veremos en marcha base.example.net (nombre de la máquina principal), con escritorio KDE para el usuario «user1«. Este usuario no tiene privilegios y su contraseña, igual que la del usuario root, es:

You can change me.

Estas contraseñas aparecen en el escritorio de nuestra máquina virtual, dentro del fichero passwords.txt.

Escritorio NETinVM

Después cambiaremos el idioma a castellano si estamos más cómodos. Haremos clic sobre la bandera de idioma que viene por defecto en la barra de control de KDE.

Nuestra máquina «base» emplea un entorno gráfico KDE 5 bajo Debian. A continuación algunos métodos de acceso abreviado y atajos.

Ejemplos:

  • Ejecutar aplicaciones usando la caja de diálogo «Ejecutar orden» > ALT + F2
  • Desplazarse por los 8 escritorios virtuales

Atajos de teclado de uso común

  • Terminal > WIN + K
  • Navegador web Firefox > WIN + F
  • Explorador de archivos Dolphin > WIN + E
  • Editor de texto Kwrite > WIN + T
  • Lista de ventanas > WIN + L

Atajos de teclado en ventanas / escritorios

El concepto «flecha» representa las flechas de dirección del teclado en Windows.

Win + flecha direcciónCambiar al escritorio superior/inferior/izquierdo/derecho.
Win + mayúsculas + flechaCambiar ventana al escritorio superior/inferior/izquierdo/derecho.
Win + Ctrl + arribaMaximizar la ventana
Win + Ctrl + abajoMinimizar la ventana
Win + Ctrl + izquierdaHacer que la ventana ocupe la mitad izquierda de la pantalla.
Win + Ctrl + derechaHacer que la ventana ocupe la mitad derecha de la pantalla.
Win + Alt + flechaDesplazar la ventana hacia arriba/abajo/izquierda/derecha.

Siguiendo los pasos anteriores, abriremos la consola con WIN + K y nos cambiaremos al usuario administrador con su –

Consola NetinVM

Bajo el icono Configure my machines podemos encontrar una plantilla «User-Mode Linux (UML)» en la que vienen definidos parámetros de funcionamiento de las VM. Es decir, que aunque podemos lanzar mediante consola (separados por guiones) los comandos deseados en todo momento, si los dejamos aquí definidos, podemos usar la interfaz gráfica y quizá esto sea más cómodo para algunos.

Configurar máquinas virtuales

En concreto, dentro del fichero encontraremos las siguientes máquinas de nuestra red virtual:

Firewall:

fw

Red externa:

exta, extb, extc,  extd, exte, extf

DMZ:

dmza, dmzb, dmzc, dmzd, dmze, dmzf

Red interna:

inta, intb, intc, intd, inte, intf

Tenemos la liberta de modificar la plantilla de configuración para que se arranquen las máquinas que queramos cuando presionemos el botón.

Iniciando las máquinas virtuales

Si pinchamos sobre run all -o si escribimos en la consola netinvm_run seguido del parámetro correspondiente, podremos todas las máquinas virtuales. El comando equivalente es:

netinvm_run all

También podemos iniciarlas por separado. Por ejemplo, si queremos lanzar la máquina exta en el escritorio 2, escribiremos:

netinvm_run -d 2 exta

Veremos mensajes emergentes de confirmación.

Mensajes emergentes

Podemos ver una lista de comandos completa (equivalentes a sus opciones gráficas) escribiendo en el terminal:

netinvm

NOTA: los comandos netinvm deben ser lanzados como «user one» para que funcionen.

Una vez tengamos nuestras máquinas en ejecución, podemos consultar la contraseña en el documento passwords.txt. En la barra inferior veremos los diferentes escritorios -las máquinas en UML no cuentan con entorno gráfico- y se organizan automáticamente por tipos.

Escritorios virtuales netinvm

Para detener todas las máquinas de forma ordenada, podemos usar el modo gráfico o escribir:

netinvm_shutdown_all

También os recomiendo realizar una copia de seguridad de las máquinas antes de hacer modificaciones. Usaremos la interfaz gráfica o el comando:

netinvm_backup
Backup netinvm

Documentación adicional

Conclusiones

NETinM es un recurso muy interesante (por escaso) al permitirnos de un plumazo simular una red corporativa sobre la que podemos empezar a trabajar en futuras sesiones de ethical hacking o pentesting, entre otros. Si te ha gustado no olvides compartir 😉

deweloper View All

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

7 thoughts on “NETinVM, máquinas virtuales en red para practicar hacking y ciberseguridad Leave a comment

  1. ¡Qué gran descubrimiento! Muy útil para los que empiezan o los que quieren tener montada rápidamente una red. Está claro que saber montar esa red entra a formar parte muy importante del aprendizaje.
    Revisa, por favor, el enlace de “Inicio rápido con KDE” porque da error y lo he intentado buscar y no lo he encontrado. Me ha extrañado que sólo hable de Gnome cuando tradicionalmente OpensSUsE usaba KDE.
    Salu2.

  2. Hola compañero, me alegro de que te resulte interesante. Citando la web de netinvm lo que lleva a nivel de GUI es KDE 5. La guía de KDE la puse a modo de referencia pero parece que ya no está disponible. Eliminé el enlace.

    Saludos!

  3. buenas, quiero entrar a extb como user1 y root pero no me dan la contraseña, ¿cómo podría hacerlo?.
    un saludo.

Deja un comentario