Cómo consegui el oscp de 0 a 100 en 8 meses
La intencion de esta “reseña” sera más que nada informativa y enviar algo de apoyo moral para quien se enfrente a esta certificacion sin tener mucho conocimiento en el campo. si yo pude tu tambien puedes
Antecedentes
Comenzare diciendo que antes de mi proceso de prepararación, mi formaciòn como pentester era totalmente nula si bien conocia algo sobre redes, el area de la cyberseguridad no dejaba de ser algo totalmente desconocido para mí.
Emprendiendo el viaje
Siempre en algun momento de la vida en este mundo de computadores de todo tipo, rodeado de ondas de radiofrecuencia o datos que viajan por cable/aire a una velocidad progresivamente cada vez mas rapida, me preguntaba ¿como pensaba un hacker?, ¿de que se aprovechaba?, ¿cúal era su mentalidad?, y por sobre todo ¿Qué Habilidades se requerian?… era innegable que tenia curiosidad por entender como funcionaba todo detras de escena. Hasta que un día viniendo de un rubro totalmente diferente dije ¿por que no probar en el campo de la cyberseguridad?, ¿que pierdo?. por su puesto que me lo pregunte muchas veces si era apto o si era capas de conseguir una certificacion que se dice ser una de las mas dificiles?. sin tener conocimiento previo alguno.
- la respuesta era sì, al menos quiero intentarlo con garras
¿Què conocimientos tenia antes de comenzar?
Para ser sincero no conocia absolutamente nada de linux, habia jugado con algo de nmap en el pasado y mis conocimientos de redes eran totalmente basicos.
¿qué quiero decir con esto?, es que si yo pude tu tambien puedes sin dudarlo.
Mi Preparación
Mi preparacion al principio basicamente se baso en entender linux desde 0 ( 2-3 meses antes de inscribirme en la certificacion) me dedique a ello, por que una vez que inicias la suscripcion al curso no tendras tiempo para masticar la teoria y enfrentarte al laboratorio sin tener nocion o una metodologia establecida. para dar mis primeros pasos utilize los siguiente recursos :
Linux journey para comprender los conceptos del sistema, entender el arbol de directorios y saber como se organizaba cada recurso.
Over The Wire puede ayudarlo a aprender y practicar conceptos de seguridad en forma de juegos bastante divertidos
Explain shell para entender que hacia un comando de BASH… con el tiempo fui consiguiendo algo de soltura en el sistema.
Estuve totalmente obsesionado por aprender linux durante los primeros meses creo que pasaba al rededor de unas 6-10 horas al día intentando comprender conceptos del sistema y de como funcionaba, miraba videos o blogs que brindaban informacion. Alguna de ellas muy tecnicas (en las que no entendia una palabra) y otras bastante digestibles, sin darme cuenta me habia echo un buen amigo de google comprendiendo que el buscador cumple una funcion muy importante en tu proceso de aprendizaje ya que para cada duda siempre esta el buscador.
Google Kung-Fu
Las primeras ‘keywords’ que utilizaba en el buscador para aprender eran :
Para buscar como realizar alguna determinada tarea en el sistema
- “How to <Tarea que deseo realizar>” por ejemplo no sè como agregar un usuario a un grupo en linux para eso esta el buscador
how to add user to a group
Para buscar la hoja de trucos de alguna herramienta
- “cheatsheets <Nombre de Herramienta>” te sirve sobre todo cuando no quieres interiorizar mucho sobre una herramineta y deseas aprender a usarla rapido por ejemplo.
cheatsheet nmap
ocheatsheet dirsearch
y obtener notas o recursos muy utiles, (recomiendo entender al menos a un lenguaje sencillo los conceptos que hay detras de cada herramienta)
Para saber donde se almacena algun fichero de configuracion
- “Where does <Nombre de Programa> store its configuration files” o entender donde se aloja un archivo de configuracion de una herramienta entonces busco
where does Apache server store its configuration files?
en mucho de esos resultados terminabas en sitios como StackOverflow, Github o Gitlab pilares fundamentales en el aprendizaje de la gran mayoria.
Palabras claves como esas en el buscador de google te haran la vida mas comoda no es necesario manejarte con el ingles al 100% tampoco es mi fuerte, pero con el tiempo encontraras las palabras mas acertadas para realizar busquedas que te llevaran a resultados cada vez mas precisos.
Esto es bastante util y nos acompañara el resto de nuestro viaje con el tiempo aprenderas a manejarte mas con los motores de busqueda y a realizar consultas mas avanzadas , sobre todo el uso de google-dorking pero eso es historia de otro cuento.
despues de tener un manejo basico/decente para utilizar linux comenze a incursionar en el pentesting, recomiendo encarecidamente buscar sobre s4vitar (Habla hispana), ippsec, 0xdf, ranakhalil creadores de contenidos increibles que me ayudaron a introducirme en este mundo y a enorarme de el.
Practicando Capture The Flag Nivel Principiante
Mi preparacion en esta etapa se centro en realizar maquinas en la plataforma de THM , si bien en un principio fui por el Offensive Path
en el cual para ser sincero no me parecio una suscripcion muy cara al igual que hack the box, 10 $USD mensuales no es un precio descabellado para tener una sala de entrenamiento repleta de maquinas vulnerables esperando por ud. al pasar de los dias y practicando me hice una idea de como funcionaba la metodologia de un pentester. cabe aclarar que la gran mayoria de las maquinas que completaba, eran a traves de Writeups o guias de otras personas de blogs como :
Nunca me sentí culpable por resolver una máquina usando guias de otros. me preguntaba como se puede aprender una metodologia de algo que no tienes una idea clara.
Los tutoriales están destinados a enseñarte. No por hacer la maquina tu solo sin ayuda ninguna te hara más o mejor que los demas. la idea esta en que trabajes de una manera inteligente, no de una manera dura.
Algo que debo recalcar es que en este punto debe aprender Markdown con el fin de tomar notas de una manera eficiente y facil, no te asustes por aprender un lenguaje de marcado, markdown es algo que todo el mundo puede manejar, un lenguaje de texto ligero muy sencillo le ayudara a organizarse , las notas juegan un rol principal en una prueba de penetracion. (En mi caso uso Obsidian pero puede utilizar la aplicación que deseé)
en resumen utilice tutoriales, pero tome notas de ellos para que no tenga que consultar otra guia si tuviera que hacer la misma máquina unos días después.
Algo que me olvidaba para poder reforzar su base es ir por el Path “Complete Beginner” de tryhackme y de ahì saltarse al Offensive Path, intenté realizar todas las maquinas con ayuda de writeups de otras personas, con el tiempo ira descubriendo formas alternas de resolver la misma maquina.
Practicando Capture de Flag Nivel Intermedio
Bien, pasemos a lo que realmente apuntamos lo nombrado anteriormente no fue mas que una introduccion para sentar bases, y digamos que lograr un nivel decente para enfrentarse a plataformas como HackTheBox. ¿por qué hack the box?, sencillo por que en ella se encuentran maquinas muy similares a la que encontrara en el laboratorio del OSCP. En este punto fui por la clasica y conocida lista de TJNULL.
aqui es donde a menudo visitaba el blog de 0xdf al igual que el canal de youtube de IPPSEC para comparar las metodologias entre los dos y obtener lo mejor de ambos.
lo invito a que realize busquedas de distintos writeups de la maquina que esta haciendo para obtener muchos matizes y absorver lo que le parezca mas comodo para su metodologia.
Escalada de privilegios
La escalada de privilegios no debería ser difícil si ha tomado notas mientras hacia las máquinas en tryhackme y hackthebox, en mi caso aun sientiendome algo inseguro en este aspecto recurri a un curso de udemy de Tib3rius que me aclaro bastante conceptos.
Tib3rius - Escalacion de privilegios Windows
aunque en tryhackme igual existe una sala de escalacion de privilegios de “TCM” o The Cyber Mentor bastante completa, tanto el curso como la sala son bastante similares, por lo que depende de usted si desea tomar ambos o solo uno de ellos.
aqui es donde debera diferenciar que es lo normal en un sistema ya sea de linux o windows , y que es algo no común… aprendera a refinar su enumeracion del sistema para identificar rapidamente que es aquello ‘raro’ o que posiblemente sea un camino hacia la escalada de privilegios.
Recurso util para escalar privilegios en windows https://www.fuzzysecurity.com/tutorials/16.html
Recurso util para escalar privilegios en Linux https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
Arquitectura del sistema de archivos de Linux
Arquitectura del sistema de archivos de Windows
Recomendaciones
- Practique para el OSCP con máquinas virtuales en tryhackme durante los primeros 30 días.
- Compre la suscripción HackTheBox VIP y practique allí los próximos 30 días.
- **Finalmente, compre un su curso con el laboratorio de 30-60 días y haga tantas máquinas como sea posible.
En este punto deben de haber pasado unos 4 meses, Despues de haber completado los pasos anteriores es cuando me decidi ir por el OSCP me inscribi y comenze directamente el laboratorio por 60 DIAS, mientras tanto tambien miraba los videos y el pdf… ya teniendo idea de muchos conceptos que se reflejaban en ellos
El laboratorio PEN-200
El laboratorio está dividido en varias secciones:
- Red Pública
- Departamento de TI
- Departamento de Desarrollo
- Departamento de Administrador
siendo el primero, el punto de partida para desbloquear el resto. Para hacerlo, deberá obtener la flag network-secret.txt
que se encuentran en la ruta raiz de alguna de las maquinas, es decir no puede saltar de un departamento a otro sin conseguir esta flags, si mal no recuerdo en el laboratorio hice al rededor de unas 35 maquinas.
Además, algunas máquinas tienen dependencias, por lo que deberá poseer una máquina anterior donde encontrará información para acceder a la primera.
Este aspecto del laboratorio es lo que no me gusto mucho porque no hay información sobre qué máquinas tienen dependencias, solo sugerencias de personas en el foro.
¿Valen la pena los ejercicios del PDF?
Antes del nuevo modelo, necesitabas completar los 104 ejercicios del curso para obtener 5 puntos en el examen. que a mi punto de vista no valia la pena ya que el tiempo del laboratorio se agotaba pero con la nueva actualizacion del examen esto cambio te invito a que lo intentes , intenta completar los 104 ejercicios del curso y obtener diez proof.txt
con sus escritos.
De hecho, es tu única opción para aprobar el examen si no completas el dominio de Active Directory. No obstante, deberá completar todas las máquinas independientes en el examen, lo que podría ser más difícil que el AD.
debe saber que completar los ejercicios puede llevarle dos semanas de su tiempo de laboratorio, así que téngalo en cuenta si se le acaba el tiempo.
Mi Experiencia con el examen
Programe mi examen para las 9 de la mañana, el dia anterior no habia tocado la computadora y para ser sincero tenia una sensacion de calma y agonia a la vez, porque me preguntaba si realmente estaba listo, en fin.
llego la hora, habia preparado todas mis notas del examen y tenia una metodologia estable para enfrentarme a las maquinas del examen, si iba a fallar no seria por mucho… no podia salir tan mal.
Importante : Tengan a mano una buena camara, o un telefono celular con buena definicion ya que en mi caso perdi al rededor de 15 minutos , por que no podian ver claramente mi identificacion… a lo que tuve que ignorar mi web cam y utilizar mi celular como camara (esta poseia una definicion de mayor calidad)
Me enfrente Al BufferOverlflow como primera opcion en ella por nerviosismo y por apresurarme a explotarla tarde al rededor de 1 hora y media , si tan solo hubiera conservado la calma lo hubiera echo probablemente en 40 minutos. con esto ya tenia 25 puntos en el bolsillo.
Continue con otra maquina de 20 puntos, cuando la enumere me di cuenta que tenia mas de 20 puertos abiertos (supe que iba a ser un dolor de cabeza) por que iba a tener que enumerarla cuidadosamente intentando que no se me pase nada por alto, con ella demore al rededor de 3 horas sin conseguir nada, entonces fue cuando salte a una maquina sencilla de 10 puntos la cual me levanto el animo por que no me tomo mas de 1 hora para explotarla y escalar privilegios, en este punto tenia 2 maquinas resueltas y una enumerada pero sin tener una vision clara de donde podria estar la posible intrusion.
En este punto me olvide de los exploits que parecian ser vulnerables y solamente intente ir por otra via, ahí fue cuando encontre el acceso inicial, ya tenia 45 puntos… habria pasado al rededor de 6 horas desde que comenzo el examen, todavia tenia tiempo de resolver el resto de maquinas, despues de unos cuantos minutos logre escalar privilegios entonces ya tenia 3 maquinas resueltas.
fui por otra de 20 puntos era aproximadamente las 5 de la tarde, mentalmente me sentia agotado pero mis ganas de querer terminar esta etapa eran infinitas, mas aùn cuando soy una persona que no bebo café o tomo energizantes por que definitivamente no estan echas para mi, bueno despues de unas horas logre la intrusion y dije “lo logre!” tenia los 70 puntos, pero aun asì continue hasta que el dia se hizo muy de noche eran aproximadamente las 2 de la mañana cuando me detuve, y en ese entonces habia logrado 90 puntos, solo me faltaba escalar privilegios… Sabìa lo que tenia que hacer pero mentalmente estaba agotado asi que me fui a descansar mucho menos preocupado.
Desperte me prepare un desayuno y dije lo intentare las ultimas 2 horas que me quedan, lo cual me lo tome con demasiada calma pero no pude lograr los 100 puntos, me quede a medio camino con 90 puntos lo mas curioso fue que cuando llego el fin de mi examen unos 4 minutos antes pude hacer el bypass que me atormentaba para escalar privilegis, ya solo me faltaba lanzar un sweetpotato y lograba los 100 puntos pero no llegue.
El Reporte
Para hacer el reporte utilize los conocidos templates no es algo muy complicado, solo basta con que a medida que vayas haciendo las maquinas del examen vayas tomando notas sabiendo que deben ir a tu reporte, asi que procura tomar muchas capturas y escribir cada comando que te llevo a comprometer una maquina y a escalar privilegios. (y por su puesto no olvidar las flags)
Recomendacion : Con las templates y un poco de markdown puedes hacer reportes que se vean de una manera decente
Update Del examen
El nuevo modelo de examen consta de dos partes: tres máquinas independientes y un dominio de Active Directory. El primero tiene un valor de 60 puntos, diez puntos por cada usuario y bandera raíz. Este último tiene un valor de 40 puntos pero necesitas completar todo el dominio para obtenerlos.
Sabiendo eso, sus únicas dos estrategias son:
- 30 Puntos de máquinas independientes + Active Directory (40)
- 60 Puntos de máquinas independientes + 10 Puntos de los ejercicios del curso.
Además, existe una alta probabilidad de que encuentre servicios que no tengan vulnerabilidades asociadas o que las haya para otros sistemas operativos en searchsploit; que es algo que rara vez sucede en el laboratorio. Por lo tanto, debe pensar fuera de la caja tratando de explotar las configuraciones incorrectas del servicio.
Por ejemplo : puede encontrar un servicio o aplicación web que no tenga ningún exploit en searchsploit, github, cve.mitre.org, etc., por lo que tendrá que buscar manualmente si es vulnerable a SQLi, Path Traversal, Command Injection , etc
Recomendacion : el examen requiere que mantengas la calma y no entres en pánico debe estar relajado y no se preocupe si no obtiene ningún punto en las primeras horas del examen prueba todas las posibilidades hasta que te quedes sin ideas. Luego, busca nuevas ideas sobre el tema que intentas explotar en Internet y la más importante de hazlo de una manera SIMPLE
Conclusión
El curso PEN-200 NO es una tarea imposible; requiere estudio y mucho esfuerzo, tomar buenos apuntes y PRACTICAR MUCHO. Si has logrado estas tareas no debes preocuparte por el examen.
Despues de toda esta experiencia comprendi que el OSCP no es mas que la puerta introductoria a este mundo. Duele decirlo pero es la realidad el OSCP te da una idea del campo y de como establecer una metodologia para enumerar,explotar y escalar privilegios… Aplicar esto en el mundo real no es necesariamente algo que te encontraras eventualmente pero el conocimiento y las habilidades adquiridas en este viaje te acompañaran el resto de tu vida.