Contenido

Laboratorio de Pentesting con GNS3

Introducción

Después de terminar mi curso de CCNA1 dicidí armar mi laboratorio de Pentesting o entorno controlado, pero con la condición de que sea lo mas realista posible. Aún me falta más por aprender con lo que respecta a la certificación CCNA 200-301 y que mejor manera de poner en práctica lo que aprendí que haciendo este proyecto. Además este será mi primer proyecto oficial en el área de ciberseguridad.

Preguntas

Antes de continuar, aquí algunas preguntas incómodas y molestas:

¿Por qué preparas un laboratorio de pentesting desde 0 si hay plataformas como HTB?

Veamos un poco el contexto de un laboratorio de pentesting que se puede encontrar en internet, al ver las plataformas en línea como HackTheBox y similares la arquitectura de la red(en la mayoria) es así:

/pentesting/lab/intro/images/simpleArch.png
Figura 1: Arquitectura simple

Realmente no está mal(si se quiere probar algo rápido), pero en una situación real se podría considerar la imagen anterior como el paso final de un largo procedimiento siempre y cuando se haya podido saltar/evadir/estudiar todos los obstáculos que una red real posee ejemplo:

/pentesting/lab/intro/images/enterpriseNet.jpeg
Figura 2: Arquitectura de una red empresarial fuente

Sin mencionar que el vuln server posee ciertas configuraciones erróneas(su propósito es ser vulnerable) que es posible no encontrarlas en un entorno real y que en la mayória de las veces es un SO Linux

¿Y si me encuentro con un Windows super actualizado detrás de varios firewalls/IDS/honeypots y otras cosas raras que prodría hacer?

Ahora es posible encontrar algunas salas o plataformas en línea que podrían brindar una red ya preparada para practicar, pero tienen un costo, otra opción es usar configuraciones o herramientas ya preparadas en el fabuloso mundo de github, pero aún así siempre le faltara algo o no se adaptara a lo que uno necesita(inténtalo y verás).
Armar tu propio laboratorio te brinda todo el control y condiciones que necesitas sobre el área de ciberseguridad que se está estudiando, además aumenta una de las principales habilidades que todo profesional de la ciberseguridad debe(o debería) tener

LAS REDES

es por esta razón que estoy armando este laboratorio desde 0.
¿Y que necesito saber para armar mi propio laboratorio?

Para no perderse en el camino es recomendable como mínimo tomar un curso de CCNA 1(si así lo dije) valdrá la pena y será una buena inversión, pero no olvidemos que la certificación CCNA consta de tres partes y solo recomiendo tomar la primera(CCNA 1) para armar este lab además de CCNA1 se necesita:

  • Linux y su administración
  • Docker
  • Virtualización

¿Y que software/SO/hardware se necesita?

Como SO base para esta serie de guías usé la distribución BackBox pero cualquier distribución Linux o Windows es suficiente. El hardware que se usó para todos los laboratorios es:

  • Procesador: Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz
  • Memoria: 16Gb
  • Disco : 500Gb SD

Si se tiene algo mejor que eso excelente!! Por la parte del software:

opcional pero recomendando:

¿Por qué GNS3?

GNS3 es un simulador de redes similar a Packet Tracer con la diferencia de que es posible:

  • Usar hardware real como un switch o router
  • Simular una red completamente funcional en el mundo real
  • Integrar imágenes de Virtualbox, Vmware, Docker, Qemu este último para usar imágenes de hardware como Cisco, Mikrotik, Openwrt entre otros

Como vemos tiene todo lo necesario para hacer diferentes pruebas aquí su marketplace.

¿Y que hay de Mininet, EVE-NG, Docker, LXD/LXC como emulador/simulador de red?
  • Mininet parece genial, pero aún no lo probé, está en mi lista de espera
  • Eve-ng hay una versión gratuita y otra de pago, la descarté inmediatamente
  • Docker es una muy buena opción si el hardware es limitado lo malo, no hay imágenes de hardware real como CISCO. Al escribir este post encontré esto, pero no lo probé
  • LXD/LXC al igual que docker es otra buena opción, pero aún no termino de probarla.
¿Y los servicios en la nube como AWS,AZURE,GCP,DO,LINODE etc también sirven para un pentesting lab?
Claro que si, pero hay que tener en cuenta que las guías que hay usando esos servicios se basan(en su mayoría) en Docker, en conjunto con otras herramientas de DevOps por el momento no estoy seguro del alcance de un laboratorio usando alguno de esos servicios y por supuesto el costo.
Seguro no tienes memoria fotográfica ¿Dime que libros usaste para armar el lab?

Los libros(o fuentes) que se usaron para armar este laboratorio(y recomiendo su lectura) son:

  • CCNA certification study guide 2ed no solo es útil para la certificación CCNA también contiene todo lo necesario para trabajar offline y no estar molestando a Google a cada momento lo considero la guía de introducción a las redes que siempre quise
  • The book of GNS3 libro amigable y práctico sobre como manejar GNS3 con varios ejemplos y escenarios
  • Cisco Routers for the Desperate, 2ed otro libro de bolsillo con los comandos/configuraciones básicas de cualquier dispositivo CISCO
¿Estás loco? todo esta en inglés!!! ¿No hay algo en español?
El único material en español sobre CCNA1 medianamente decente está en la propia plataforma de aprendizaje netacad, pero solo es accesible si se pagó el curso de certificación más allá no pude encontrar algo mejor en español lastimosamente.

Laboratorios

laboratorios
Conforme pase el tiempo se irán agregando más laboratorios, está no es una lista definitiva y se asume que se tienen todas las herramientas mencionadas anteriormente ya instaladas.