Creación de un Laboratorio
Una Máquina Virtual (VM) suele entenderse como una emulación de un sistema informático. Las VM se basan en arquitecturas de computadores y ofrecen la mayoría de las funcionalidades de los dispositivos físicos que emulan. Su implementación puede requerir de hardware (Ej. Instrucciones específicas del procesador) y/o software especializado (Ej. Hipervisor).
Tipos de VM
Existen diferentes tipos de VM, cada una con diferentes funcionalidades:
- Máquinas virtuales del sistema: También conocidas como VM de virtualización completa, permiten sustituir en la práctica un dispositivo físico. De este modo, aportan toda la funcionalidad necesaria para poder ejecutar sistemas operativos completos. Un hipervisor (hypervisor) emplea ejecución nativa para compartir y gestionar el hardware del dispositivo anfitrión (host), permitiendo la ejecución simultánea de múltiples entornos aislados entre sí en la misma máquina física. Los hipervisores modernos emplean virtualización asistida por hardware (Ej. Intel VT-x, AMD-V), la cual es suministrada generalmente por la CPU del host (Ej. VMware Workstation, VMware ESXi, Microsoft Hyper-V, Oracle VirtualBox, QEMU, Parallels Desktop).
- Máquinas de procesos virtuales: Estas máquinas están diseñadas para ejecutar aplicaciones en entornos independientes de la plataforma (Ej. Java Virtual Machine).
Algunas máquinas virtuales, como QEMU, están diseñadas para emular diferentes arquitecturas, lo que permite ejecutar sistemas operativos y aplicaciones escritos para otra CPU o arquitectura.
El software de virtualización se implementa mediante un hipervisor, o VMM (Virtual Machine Monitor). Consiste en una capa de abstracción entre el hardware del dispositivo físico, referido como anfitrión (host) y la VM, conformada por hardware y software virtualizado. Por tanto, funciona como un intermediario entre lo real y lo virtualizado.
- Hipervisores Tipo 1: Este tipo de virtualización se denomina también virtualización en modo nativo o baremetal y se caracterizan por tener que instalarse el hipervisor directamente sobre el dispositivo, haciendo las funciones tanto de sistema operativo como de hipervisor. Es el tipo más empleado en entornos empresariales, donde se disponen de los recursos económicos necesarios para poder dedicar exclusivamente uno o más servidores a la virtualización de sistemas. Entre los más conocidos destacan: Microsoft Hyper-V Server, VMware ESXi, VMware ESX Server, Xen y Citrix XenServer.
- Hipervisores Tipo 2: Se denominan también software de virtualización alojado (hosted) y se caracterizan por tener que instalarse en un dispositivo que disponga previamente de un sistema operativo (Ej. Microsoft Windows, Linux, macOS X). Es el tipo más empleado en entornos domésticos, educativos y de laboratorio, pues resulta ideal para probar software (sistemas operativos y aplicaciones) con riesgo mínimo de afectar al host. Su rendimiento es menos eficiente que los de Tipo 1, pero permite utilizar en paralelo otras aplicaciones instaladas en el sistema operativo del host. Entre los más habituales se encuentran Oracle VirtualBox (para Microsoft Windows, Linux y macOS X), VMware Workstation y VMware Player (para Microsoft Windows y Linux), VMware Fusion (para macOS X) y Parallels Desktop (para macOS X).
La utilización de Máquinas Virtuales ofrece varias ventajas sobre los equipos dedicados:
- Se pueden utilizar simultáneamente varias Máquinas Virtuales disponiendo de un único equipo físico. Además, configurarlas es bastante sencillo: es posible cambiar la cantidad de memoria asignada, cambiar la configuración de la red, agregar discos duros virtuales y asignar más núcleos del procesador de manera gráfica.
- Las Máquinas Virtuales se pueden duplicar de manera rápida y sencilla, de manera que es posible generar varias VM nuevas con las mismas características que una ya existente.
- Las Máquinas Virtuales se pueden exportar, tanto de manera individual como en conjunto, de modo que se puedan instalar de manera sencilla en otro equipo.
- Los sistemas de virtualización permiten tomar instantáneas del estado en que se encuentra una Máquina Virtual, de modo que se pueda revertir en caso de no querer guardar los cambios realizados o se haya producido algún problema.
Con respecto al hardware necesario para trabajar con Máquinas Virtuales, es muy recomendable disponer de un equipo con un buen procesador y con una buena cantidad de memoria RAM, sobre todo si se va a trabajar con varias Máquinas Virtuales simultáneamente. Existen diversas alternativas para virtualizar.
- VMWare Workstation.
- Hyper-V.
- VirtualBox (La que utilizaremos).
La instalación es sencilla, basta con descargar la versión adecuada para el host que se utilice y seguir los pasos indicados en el sitio web de VirtualBox (https://www.virtualbox.org/wiki/Downloads).
Distribuciones para Pentesting:
Para llevar a cabo las labores de pentesting se necesita un buen arsenal de herramientas, que se pueden instalar manualmente en el sistema operativo cuando se vayan necesitando o se puede emplear algunas de las distribuciones específicamente creadas para esta tarea. La segunda opción es la mas recomendable y la más empleada ya que facilita enormemente el trabajo y ahorra una gran cantidad de tiempo. Entre las distribuciones disponibles destacan las siguientes:
- Kali Linux: Distribución de seguridad basada en Debian desarrollada por la empresa Offensive Security. Dispone de numerosas opciones de instalación. Tambien dispone de un enorme repositorio de paquetes donde se incluyen nuevas herramientas con cada nueva versión, Lo que facilita la instalación automatizada de estas.
- ParrotOS: Distribucion de seguridad basada en Debian. En 2022 comenzó una alianza con HackTheBox para mejorar su desarrollo e incluirla en la plataforma a través de la web.
- TailsOS: Acrónimo de "The Amnesic Incognito Live System" es una distribución de Linux basada en Debian que se ejecuta desde una unidad USB o un DVD. Su objetivo principal es proporcionar a los usuarios una forma segura y anónima de utilizar Internet, minimizando las huellas digitales dejadas en el proceso. Las características clave son:
- Privacidad y Anonimato: Tails canaliza todo el tráfico a través de la red Tor, lo que garantiza el anonimato al ocultar la ubicación y la identidad del usuario.
- Modo Amnésico: Tails no almacena ninguna información de sesión después de apagar el sistema. Esto significa que no deja rastro en el dispositivo que estás utilizando, proporcionando un nivel adicional de seguridad.
- Herramientas de Criptografía: Tails viene con herramientas de cifrado integradas, como GnuPG, que permite a los usuarios cifrar y firmar digitalmente sus correos electrónicos y documentos.
- Navegación Segura: La combinación de Tor Browser y la configuración de seguridad predeterminada garantiza una experiencia de navegación segura y privada.
- Uso Temporal de Hardware: Tails está diseñado para ser utilizado en cualquier computadora sin dejar rastros en el hardware. Esto permite a los usuarios llevar su entorno seguro a donde vayan.
- BlackArch: Distribución de seguridad basada en Arch Linux con mas de 2800 herramientas en sus repositorios.
- CommandoVM: Es un conjunto de herramientas para convertir el sistemas operativo Windows en una distribución de seguridad ofensiva. Creada por la empresa "Mandiant".
CONFIGURACIÓN DE UNA VM OFENSIVA
La forma más simple de preparar una máquina ofensiva es utilizar una distribución de seguridad. Una de las más extendidas es Kali Linux, que está disponible en distintos formatos. Aunque se pueden descargar Máquinas Virtuales preconfiguradas para utilizar en VMWare y VirtualBox es recomendable descargar la imagen ISO aunque el proceso sea más largo, puesto que con esta imagen se podrá instalar Kali directamente en el equipo o crear una Máquina Virtual propia, evitando futuras molestias con las redes o con las distribuciones del teclado, entre otras.
Se descargará del repositorio oficial de Kali (https://www.kali.org/downloads/) una de las imágenes denominadas installer, de 32 o 64 bits.
- Una vez descargada la imagen ISO se creará una nueva Máquina Virtual en VirtualBox cuando se abra la ventana emergente se introducirá el nombre y el tipo de Sistema Operativo.
- En el siguiente paso se indicará la memoria RAM y la cantidad de Nucleos de Procesamiento que se quiere dar a la Máquina Virtual. La cantidad dependerá tanto de la memoria disponible y de nucleos en el host como del número de Máquinas Virtuales que se quieran utilizar de manera simultánea. Para una distribución Kali Linux de 64 bits con 2 GB y 2 Nucleos serian más que suficientes para obtener un buen rendimiento, aunque se podría recortar en caso de necesidad.
- En el tercer paso se indicará si se quiere utilizar un disco duro existente o crear uno nuevo. Lo normal en una instalación limpia será crear uno nuevo. Aunque VirtualBox indique que el tamaño recomendado es de 8GB, es recomendable asignar un tamaño mayor. Con 240 GB dinámicos es más que suficiente para esta distribución. El resto de las opciones se pueden dejar con sus valores por defecto.
¿Por que los CTF son la mejor vía para aprender Hacking Ético?
Aprender hacking Ético no consiste únicamente en estudiar teoría o memorizar herramientas: se trata de pensar como atacante para defender como profesional. En este contexto, los Capture The Flags (CTF) se han consolidado como una de las formas más efectivas, practicas y motivadoras para adquirir habilidades reales en ciberseguridad.
Los CTF son competiciones o laboratorios gamificados donde los participantes deben resolver retos de seguridad informática como explotación de vulnerabilidades, análisis forense, criptografía, ingeniería inversa o pentesting web con el objetivo de obtener una "bandera (flags)". Este enfoque convierte el aprendizaje en una experiencia activa, muy cercana a situaciones del mundo real.
Una de las principales ventajas de los CTF es que fomentan el aprendizaje práctico. En lugar de limitarse a leer sobre vulnerabilidades, el estudiante las explota en entornos controlados y legales, comprendiendo no solo el cómo, si no tambien el por qué de cada fallo de seguridad. Este aprendizaje basado en la práctica acelera la curva de conocimiento y fortalece la retención a largo plazo.
Además, los CTF promueven una mentalidad analítica y creativa. Cada reto requiere observar, investigar, probar hipótesis y, muchas veces, pensar "fuera de la caja". Estás habilidades son esenciales para cualquier profesional del hacking ético, ya que los ataques reales rara vez siguen un manual paso a paso.
Otro punto clave es su accesibilidad y progresión. Existen CTF para todos los niveles, desde principiantes hasta expertos, lo que permite aprender de forma gradual y medible. Varias plataformas ofrecen rutas de aprendizaje estructuradas que acompañan al usuario en su evolución técnica.
Por ultimo, los CTF fomentan la comunidad y el aprendizaje colaborativo. Compartir soluciones, discutir enfoques y trabajar en equipo ayuda a desarrollar habilidades blandas tan importantes como la comunicación y el trabajo bajo presión, muy valoradas en el sector de la ciberseguridad.
En conclusión, los CTF no solo enseñan hacking ético: entrenan la mente, fortalecen la ética profesional y preparan para escenarios reales. Por eso, hoy en día, son considerados una de las mejores puertas de entrada al mundo de la ciberseguridad.
- Atenea: Plataforma creada por el CCN-CERT que tiene numerosos retos en distintas categorías. Además se pueden consultar todos los retos d años pasados. Tiene una sección "Academia" donde se explican conceptos teóricos y prácticos de las distintas disciplinas.
- Academia Hacker: Creada reciente por el INCIBE, dispone de una sección de retos descargables organizados en diferentes niveles de dificultad. Además, ofrece el solucionario (writeup) de todos ellos. Las academia ofrece la posibilidad de inscribirse en talleres temáticos que se convocan a lo largo del año y también organiza una competición CTF para descubrir talento y seleccionar al equipo nacional que forma parte de las competiciones de hacking que se organizan a nivel europeo y mundial.
- PicoCTF: Es una plataforma de retos creada por la Universidad Carnegie Mellon. Realiza una competición anual orientada a estudiantes de secundaria y educación superior, con retos realmente exigentes. En su web también ofrece una sección con recursos de aprendizaje. En la plataforma de retos se encuentran accesibles todos los retos de las competiciones realizadas desde 2019 por lo que es un buen lugar para entrenar y poner en práctica nuestra habilidades.
- CTF Time: Es la web de referencia para buscar eventos CTF que se van a realizar en el futuro o que ya se han realizado. Incluye clasificaciones de equipos y enlaces a las soluciones de los retos ya realizados en los CTF.
- HackTheBox: Esta empresa fundada en 2017 por James Hooker, Haris Pylarinos y Aris Zikopoulos, tiene más de dos millones de usuarios y es el referente de este tipo de plataformas, ya que la dificultad y grado de profesionalidad de sus máquinas en un aspecto a destacar. Dispone de un conjunto de unas 20 máquinas cativas de dificultades easy, medium, hard e insane, cuya resolución otorga puntos al usuario que en función del numero y nivel de máquinas vulneradas a adquiere un ranking (rank). Cualquier usuario registrado puede enfrentarse a estas máquinas que tras un cierto tiempo se retiran por otras nuevas.
- TryHackMe: Esta plataforma ofrece laboratorios de aprendizaje, llamados room, con una serie de tareas guiadas que explican el proceso paso a paso para aprender nuevos conceptos, manejar una herramienta, explotar un servicio o una máquina completa, etc..., Por lo que es un lugar excelente para aprender y practicar. Además, existen otros laboratorios de tipo CTF que consisten en máquinas vulnerables donde no se ofrece ninguna pista para obtener las banderas, donde es posible poner a prueba nuestro nivel. También dispone de redes de máquinas (networks). Existen laboratorios de acceso gratuito y otros solo accesibles mediante suscripción.
- Vulnhub: Es un repositorio de máquinas virtuales vulnerables creadas por la comunidad de acceso gratuito. Hay más de 700 laboratorios para descargar, normalmente en formato OVA (VirtualBox). Actualmente, el proyecto está promocionado por la empresa Offensive Security.
- HackMyVM: Otro repositorio de máquinas virtuales vulnerables libres que se ha creado recientemente. Existe la opción de destacar las imágenes de forma anónima o registrarse en la plataforma para enviar las banderas obtenidas y registrar nuestro progreso. Hay más de 200 máquinas con tres niveles de dificultad: fácil, media y difícil.
- Proving Grounds: Plataforma creada por la empresa Offensive Security con dos versiones, Play (gratuita) y Practice (de pago). PG Play es una plataforma online que incluye las maquina de la plataforma VulnHub con tres horas diarias de acceso, mientras que PG Practice no tiene limitación de tiempo, incluye máquinas con SO Windows y máquinas especiales creadas por los expertos de la empresa.
- Thehackerslabs.
- Vulnyx.
- Dockerlabs.
- Bugbountylabs.