Enseñando hacking ético a través del aprendizaje basado en retos
El próximo 5 de marzo impartiré por undécima edición consecutiva un RootedLab en RootedCON. En esta ocasión estaré para dar un taller sobre Hacking Ético, el cual se lleva dando durante dos ediciones con un enfoque basado en retos y escenarios para enseñar técnicas de hacking ético actuales. Un lab intenso donde, después del lab, dispondrás de una semana extra para consultar preguntas y seguir jugando con los escenarios propuestos para tu aprendizaje. Esa semana extra se llevará a cabo a través de una sala de chat en la plataforma de MyPublicInbox.
Además, si quieres venir a RootedCON, te recuerdo que puedes comprar tu entrada de RootedCON 2024 con Tempos, ya que se han puesto 50 entradas a la venta que puedes comprar con 10.000 Tempos, así que solo debes ir a tu cuenta de MyPublicInbox y conseguirlas con este precio especial.
Figura 2: Consigue tu entrada de RootedCON 2024
Los objetivos que tiene este RootedLab es:
En el artículo de hoy quiero enseñar cómo es un escenario de hacking a través de plataformas como Docker, el cual es perfecto para disponer de recursos para poder enseñar: enumeración, reconocimiento, escaneos, identificación de vulnerabilidades, explotación, escaladas de privilegios, pivoting, movimientos laterales, etcétera.
- Aprender metodología para hacer un pentesting práctico y resolver problemas.
- Enfrentarse a entornos reales.
- Resolver escenarios a través de un entrenamiento práctico.
En el artículo de hoy quiero enseñar cómo es un escenario de hacking a través de plataformas como Docker, el cual es perfecto para disponer de recursos para poder enseñar: enumeración, reconocimiento, escaneos, identificación de vulnerabilidades, explotación, escaladas de privilegios, pivoting, movimientos laterales, etcétera.
En otras palabras, son perfectos para disponer de escenarios reales y poder entrenar a equipos de pentesting. Estos entornos pueden montarse de forma local en una red propia o en los propios equipos de los pentesters.
Es más, se puede montar de forma sencilla un tipo de CTF o Capture The Flag. En este caso, se mostrará cómo con un poco de conocimiento de Docker se puede construir lo necesario para crearse escenarios y poder jugar con todo ello. Ya lo comentaron en este artículo titulado "Cómo montar un entorno de pentesting desde cero con Docker", nuestros compañeros Rafael Troncoso y Fran Ramírez.
¿Qué cosas tenemos que tener en cuenta?
y Rafael Troncoso en 0xWord.
¿Qué cosas tenemos que tener en cuenta?
A la hora de crear un entorno para entrenamiento de pentesting se debe tener en cuenta lo siguiente:
Se puede leer un mensaje que dice “i am kalilinux (pentester machine)”. Se proporciona una máquina al pentester para “jugar” con el reto, aunque también podría darse acceso a su máquina a la red o conjunto de redes. Los escenarios pueden ser lo grandes que se quieran, ya que los diseñamos e implementamos nosotros.
En una formación como el RootedLab de Hacking Ético, cada escenario (y se hacen varios) propone un conjunto de conceptos a estudiar que son técnicas de hacking orientadas a pentesting. Por ejemplo, imaginemos que queremos enseñar pentesting a través de varios escenarios, una de las posibilidades sería:
- La imagen con las vulnerabilidades y las configuraciones preparadas.
- El volumen para datos que deben permanecer y mantenerse tras la creación y destrucción de los contenedores.
- Las redes gestionadas, idealmente, a través de un docker-compose.
- La gestión de puertos entre entorno físico y contenedores.
Figura 5: Docker compose up
Se puede leer un mensaje que dice “i am kalilinux (pentester machine)”. Se proporciona una máquina al pentester para “jugar” con el reto, aunque también podría darse acceso a su máquina a la red o conjunto de redes. Los escenarios pueden ser lo grandes que se quieran, ya que los diseñamos e implementamos nosotros.
Figura 6: Libro de Ethical Hacking 2ª Edición de Pablo González en 0xWord |
- Enseñar primero qué es la fase de reconocimiento, de enumeración, de escaneos. Usar herramientas en varios ejemplos y retar al alumno a llevar a cabo la práctica a través de un escenario dónde se le propone un reto.
- Se le está retando, es decir, puedes utilizar cualquier herramienta que te permita lograr el objetivo marcado.
- El objetivo marcado será una flag o una característica que tengas que lograr.
Como se puede ver, se hace foco en lo que se pretende enseñar. Se enseña, pero después, vamos a proponer el reto al alumno para que él lo luche. De esta forma el alumno experimentará lo que es el aprendizaje basado en el reto: un camino en el que fallará mucho, pero acabará conociendo muchas cosas y logrará su éxito.
Ciertamente, se puede montar de todo en un entorno con Docker, haciendo un paralelismo con el mundo real. Además, se pueden incluir máquinas virtuales dándoles acceso a algunas de las redes de los escenarios que se quieran montar, por lo que la personalización de los entrenamientos es infinita.
Otros entornos basados en Docker y máquinas virtuales
Figura 7: Reto e1
Ciertamente, se puede montar de todo en un entorno con Docker, haciendo un paralelismo con el mundo real. Además, se pueden incluir máquinas virtuales dándoles acceso a algunas de las redes de los escenarios que se quieran montar, por lo que la personalización de los entrenamientos es infinita.
Otros entornos basados en Docker y máquinas virtuales
Hay repositorios en Github, como el de VulHub, que proporcionan imágenes de Docker personalizadas para probar ciertos entornos vulnerables. Es un repositorio muy interesante de cara a poder aprender sobre una vulnerabilidad concreta.
Figura 8: GitHub de VulHub
También tenemos a Vulnhub que proporciona máquinas virtuales con vulnerabilidades y son retos interesantes de trabajar.
Se pueden encontrar writeup por Internet sobre ellos, los cuales son formas también de aprender cómo otros han resuelto retos.
Recapitulamos sobre el RootedLab
Antes de finalizar el artículo sobre cómo ha evolucionado la enseñanza del Hacking Ético en una formación al uso de entornos o escenarios prácticos que dispongan de realidad y los alumnos puedan usar técnicas reales sobre ellos, vamos a mostrar algunos aspectos sobre el RootedLab de Hacking Ético del día 5 de marzo. El taller se divide en varias partes:
Recapitulamos sobre el RootedLab
Antes de finalizar el artículo sobre cómo ha evolucionado la enseñanza del Hacking Ético en una formación al uso de entornos o escenarios prácticos que dispongan de realidad y los alumnos puedan usar técnicas reales sobre ellos, vamos a mostrar algunos aspectos sobre el RootedLab de Hacking Ético del día 5 de marzo. El taller se divide en varias partes:
- Parte I: Se enseñan diferentes técnicas de enumeración de máquinas y redes: En esta primera parte del lab, se resuelven escenarios de enumeración y se muestra el uso de técnicas y herramientas sobre ellos.
- Parte II: Identificación de vulnerabilidades y explotación de éstas: El alumno recorrerá diferentes escenarios viendo cómo se detectan vulnerabilidades y cómo éstas se pueden explotar (con diferentes herramientas y con técnicas manuales). Esta parte cubre un amplio abanico que puede ir desde la generación de un exploit propio hasta el uso de herramientas automáticas. Todo ello sobre un escenario.
- Parte III: Post-explotación: En esta parte se tratarán técnicas de escalada de privilegios, pivoting, técnicas de movimiento lateral, extracción de credenciales, etcétera. Todo a través del uso de escenarios reales (a los que un pentester se puede enfrentar en su día a día).
Los escenarios pueden contener diferentes máquinas (GNU/Linux), por lo que el enfoque es más global y real. Se estudiarán escenarios con vulnerabilidades en diferentes entornos, se utilizarán técnicas de post-explotación para poder elevar privilegio o pasar a otra máquina. El objetivo es claro: ¡Conseguir la flag! Por último, dejaremos la agenda con los conceptos que se impartirán:
Además, estaremos en el evento con charlas sobre Web3 y sobre Inteligencia Artificial. Puedes ver más información en la web del evento. Nos vemos en RootedCON 2024, donde además estará 0xWord con todos nuestros textos de hacking & ciberseguridad y estaré firmando libros.
- MakeLab: Escenarios de entrenamiento preparados
- Metodología de Pentesting
- Mochila del pentester
- ¿Qué debo tener a mano en un Red Team?
- ¿Qué debo tener a mano en un pentest?
- Distros & Tools
- Fase 1: Enumeración y reconocimiento
- Escenario: Enumeración
- Técnicas de enumeración
- Herramientas
- Información relevante
- Existencia de vectores de ataque
- Escenario propuesto
- Fase 2: Identificación de vulnerabilidades y explotación
- Escenario: Identificación y explotación
- Técnicas para identificar vulnerabilidades
- Técnicas de explotación vulnerabilidades
- Bind. Reverse
- Herramientas
- Escenario propuesto
- Fase 3: Post-Explotación
- Escenario: Post-Explotación
- Recopilación de información
- Escalada de privilegios
- Pivoting
- Herramientas
- Escenario propuesto
- Resolución escenario final
Figura 10: El Dashboard para las flags de los retos
Además, estaremos en el evento con charlas sobre Web3 y sobre Inteligencia Artificial. Puedes ver más información en la web del evento. Nos vemos en RootedCON 2024, donde además estará 0xWord con todos nuestros textos de hacking & ciberseguridad y estaré firmando libros.
Además, con la compra de tu entrada de RootedCON 2024 conseguirás 100 Tempos de MyPublicInbox gratis. Basta con que entres en tu cuenta de MyPublicInbox con el mismo correo electrónico que te registraste en RootedCON 2024 y tendrás tus 100 Tempos y una entrada gratuita de OpenExpo Europe 2024: que tendrá lugar en Madrid el 13 de Junio de este año. Y recuerda que con tus Tempos, podrás conseguir los códigos descuentos, y pagar parcial o completamente tus libros de 0xWord, y recogerlos en RootedCON 2024, o hacerlo allí mismo en el momento.
Saludos,
Autor: Pablo González Pérez, escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root", “Pentesting con Powershell” y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica. Para consultas puedes usar el Buzón Público para contactar con Pablo González
Contactar con Pablo González |
No hay comentarios:
Publicar un comentario