Guia de preparacion para el OSCP
hola a todos!
Si estas leyendo este articulo es porque seguramente estas preparandote para tomar el examen para OffSec Certified Professional. Por si no lo sabes esta certificacion es muy popular en el area de ciber seguridad, y una de las mas reconocidas entre los profesionales dentro de esta disciplina.
El Examen es completamente practico; consta de 3 maquinas llamadas "standalone" (o "separadas") y un grupo de 3 maquinas unidas a un dominio de Microsoft Active Directory. Tu mision es utilizar tecnicas de pentesting para obtener las preciadas "flags" (o banderas) de nivel usuario (local.txt), superusuario (root.txt) y de dominio (root.txt). Cada una de estas "flags" tiene el valor de 10 puntos, mientras que la "flag" del dominio vale 40 puntos. Para mas informacion acerca del examen puedes consultar el sitio de Offsec: "https://help.offsec.com/hc/en-us/articles/4412170923924".
Hace un par de semanas tuve la opotunidad de tomar y pasar el examen, por lo cual me gustaria compartir con ustedes mi guia de estudio y metodologia; y quiza ayudarles en su travesia rumbo al OSCP.
Tiempo de Preparacion
En mi humilde opinion, creo que cada quien tiene su propio metodo para estudiar y prepararse para el examen. En mi caso, me tomo 2 meses estudiar y completetar todos los ejercicios del curso de "Penetration Testing with Kali Linux PEN-200", yo recomiendo anticipar la preparacion para tomar el examen de 3 meses como minimo para tener suficiente tiempo para estudiar y completar todos los ejercicios a tiempo.
Estrategia
Es importante tener una buena estrategia hacia el examen, tengo varias recomendaciones:
- Terminar todos los ejercicios y laboratorios del curso PEN-200.
El curso PEN-200 (Penetration Testing with Kali Linux) que ofrece OffSec es para mi gusto el mejor recurso para prepararte para el examen (al menos desde el 2023), el examen esta completamente basado en el material de este curso; los laboratorios y ejercicios del curso estan diseñados para proveer suficiente practica al estudiante. Tambien, si el estudiante termina satisfactoriamente el 80% de los ejercicios y de los laboratorios, este tendra 10 puntos extra para el examen lo cual podria ser la diferencia entre pasar y no pasar. - Evitar quedarse estancado en una "posible" vulnerabilidad o exploit.
Si durante el examen tardas mas de 30 min tratando de comprobar una vulnerabilidad y no hay ningun progreso, quizas no es una vulnerabilidad y solo estas desperdiciando tiempo. Las vulnerabilidades dentro del examen generalmente son obvias, por lo tanto si no es obvio, quizas estas buscando en el lugar equivocado. - Escanea y vuelve escanear.
Asegurate de escanear y enumerar correctamente cada puerto, sitio web, applicacion, sistema, etc. Ya sea para para tener acceso inicial o para escalar privilegios, es importante recordar que tus exploits solo seran tan efectivos como tu escaneo. Un escaneo incompleto puede llevarte a no identificar correctamente una vulnerabilidad. - Avanza eficientemente.
Hay algunas actividades que es recomendable hacer al mismo tiempo, especialmente durante el escaneo y enumeracion algunas herramientas pueden tardarse en terminar de ejecutar como Nmap y Gobuster. Es mejor avanzar en otras actividades al mismo tiempo que esperas a terminar un escaneo durante el examen. Segun OffSec, el examen esta diseñado para poder ser completado dentro de 24 horas. -
Empieza por los vectores faciles.
Como decimos en Mexico, "Primero es el numero 1, y despues los demas", Creo que es mejor enfocarse en las vulnerabilidades de las cuales estas seguro que puedes completar y tomar los puntos, y asi dejar la exploracion y lo desconocido para el ultimo. Es decir, si durante al final de un escaneo, descubres una vulnerabilidad de la cual sabes explotar, es mejor seguir ese camino que explorar otras opciones. Recuerda que el examen tiene limite de tiempo y se necesitan al menos 70 puntos para pasar. -
Descansa durante el examen.
Durante el examen es posible tomar tiempo para descansar y dormir. Es importante escuchar a tu cuerpo cuando estas frustrado y/o cansado. Muchas veces tomar descansos de 15 minutos cada hora pueden ayudar a tu cuerpo a relajarse para volver a concentrarse despues. Asi mismo, trata de cuidar tu cuerpo durante el examen, como un atleta profesional, come bien y bebe suficiente agua. Evita tomar cualquier cosa inapropiada que pueda mermar tu desempeño durante el examen.
Metodologia
Ya lo he mencionado antes, en mi opinion el mejor recurso para prepararse para el OSCP es el curso "Penetration Testing with Kali Linux PEN-200", dado que el examen se basa en los contenidos de este curso. Aun asi recomiendo que si eres completamente nuevo en ciber seguirad empiezes con cursos mas fundamentales que te puedan ayudar expandir tu conocimiento en Redes, Programacion, Applicaciones Web, Bases de Datos (MySQL, Postgresql y Microsoft SQL Server) y sistemas operativos Linux (Red Hat, Ubuntu y FreeBSD) y Windows. Ahora si ya eres un veterano en ciber seguridad, y deseas prepararte para el curso de PEN-200, o simplemente deseas mas practica para el examen; recomiendo completar la lista de TJNull de maquinas de HackTheBox, TryHackMe y OffSec Proving Grounds, que te dara mas practica y mas preparacion para el examen. El articulo esta escrito en ingles por TJNull y lo puedes encontrar aqui: "https://www.netsecfocus.com/oscp/2021/05/06/The_Journey_to_Try_Harder-_TJnull-s_Preparation_Guide_for_PEN-200_PWK_OSCP_2.0.html", quizas en un futuro creare un curso para la preparacion al OSCP en español. Por favor deja un comentario si estarias interesado en el curso.
Es muy importante desarrollar una "lista de tareas" que sirva para verificar que estamos enumerando de manera correcta como parte de tu metodologia hacia el Pentesting. Durante mi preparacion para el examen desarrolle varias listas que me ayudaron a tener al menos suficiente enumeracion para identificar vulnerabilidades en maquinas de nivel OSCP (este quiere decir que solo estamos enfocados en vulnerabilidades cubiertas en el curso PEN200, evasion de antivirus y/u otros mecanismos de defensa estan fuera de el area de interes). Quiero estresar claramente que sin una enumeracion y escaneo completo, podemos perder la oportunidad de encontrar una vulnerabilidad.
Aqui abajo estan los links para el repositorio de Tottix para donde encontraran las listas para verificar enumeracion al igual que otras tecnicas de ataque que les podrian ayudar para el examen. Debo mencionar que estas listas no son de ninguna manera exhaustivas, y el hecho de usarlas no te garantizara de ninguna manera cobertura completa durante el examen de OSCP, sin embargo estas son un comienzo y te ayudaran a enumerar de una manera muy basica.
- Web: https://github.com/tottix02/oscp/blob/main/web.txt
- Bruteforce: https://github.com/tottix02/oscp/blob/main/bruteforce.txt
- Active Directory: https://github.com/tottix02/oscp/blob/main/active_directory.txt
- Redireccionar Trafico: https://github.com/tottix02/oscp/blob/main/Redireccion_de_Trafico.txt
- Escalar Privilegios para sistemas basados en Linux: https://github.com/tottix02/oscp/blob/main/escalar_privilegios_linux.txt
- Escalar Privilegios para sistemas Windows: https://github.com/tottix02/oscp/blob/main/escalar_privilegios_windows.txt
Para la explotacion, es muy importante entender plenamente los conceptos de vulnerabilidades comunes como inyeccion de codigo (ya sea SQL, codigo fuente, o comandos de sistema), Inclusion de Archivos (local o remoto), sobrecarga de bufer (buffer overflow); al igual que saber utilizar ExploitDB/Searchsploit para identificar exploits para vulnerabilidades conocidas, y como modificar estos exploits en caso de que necesiten alguna modificacion. La mayoria de estos exploits van estar escritos en lenguajes como Python, Ruby, C, Microsoft C++ y Bash.
Tambien es necesario tener buenos fundamentos en Microsoft Active Directory, y en sistemas operativos como Linux, FreeBSD y Windows Server. Al igual que entender el concepto Escalacion de Privilegios en estos ultimos sistemas operativos.
Me retiro con la mision de en algun futuro completar una guia compacta pero util que podria ayudar a desarrollar mas las habilidades de penetesting.
Comentarios
Publicar un comentario