“OSCP - Mi Introducción a Pentesting y Comentarios de la Certificación”

10 minute read

En Marzo del 2017 empecé un curso de Ethical Hacking en CertyAcademy, vi este curso como una vía de conocer cómo los hackers actúan para poder preparar estrategias de defensas más efectivas, ahí tuve la oportunidad de conocer Metasploit y por primera vez utilizar un exploit para hackear un Windows 7 vulnerable a MS17-010, luego de eso y de aprender técnicas de Hacking en el curso, me di cuenta que ignoraba muchas cosas del área de seguridad y mi curiosidad de entender más de la seguridad ofensiva inicio de esa forma.

Empecé a buscar la certificación de CEH, y mientras buscaba me encontré con OSCP; todos los comentarios de la certificación apuntaban a que era más difícil que CEH y que agregaba la posibilidad de no sólo aprender la teoría sino también la práctica y como soy una persona que le gustan los retos no lo pensé más y empecé a prepararme.

¿Qué es OSCP?

Offensive Security Certified Professional (OSCP), es una certificación en línea en donde puedes aprender y practicar conceptos generales de Pentesting. Lo que hace más interesante y difícil a esta certificación es que para aprobar tienes que Hackear 5 computadoras o las necesarias para alcanzar al menos 70 puntos en un periodo de 24 horas, luego tienes otras 24 horas para enviar el reporte en donde indiques como hackeaste esas máquinas, lo que da una sensación de estar haciendo un Pentesting Real. Si quieren saber más de la certificación clic aquí.

El OSCP fue la oportunidad de comprobar cómo se siente hacer una prueba de penetración a una empresa, aprender conceptos mientras buscabas la forma de entrar, conocer nuevas herramientas, escuchar historias impresionantes de Pentesting y sobre todo obtener muchos conocimientos técnicos de cómo hacer un pentest. Recomiendo esta certificación a todo aquel que esté interesado en Pentesting.

Experiencia

Para el 2017, antes de iniciar la Certificación, contaba con 8 años de experiencia soporte técnico, Administrador de Sistemas, Administrador de Redes y Encargado de Infraestructura y Comunicaciones, tuve la oportunidad de ver todo el ciclo de vida de una empresa y entender cómo funciona el departamento de TI internamente.

Esto me permitió conocer de Redes, Firewalls, Windows, seguridad en general. Aprendí programación en la universidad (C#) y de hobby Python, usaba esos lenguajes de programación para algunas tareas administrativas cuando necesitaba automatizar procesos. En Linux estaba en 0.5 porque me tocó administrar una solución de Asterisk, pero lo hacía por la GUI por eso mi conocimiento de Linux era prácticamente 0.

Preparación

Cuando decidí hacer el OSCP, empecé a buscar información relacionada a la certificación, para prepararme, entre las tantas cosas que leí y revisé hice lo siguiente:

  1. Leí el Libro “Penetration Testing: A Hands-on Introduction to Hacking” de Georgia Weidman, pueden adquirirlo en Amazon.

Este libro es fabuloso, para alguien como yo que se estaba introduciendo al Pentesting fue de gran ayuda, está bien preparado y abarca mucho del ciclo de Pentesting, también contiene algunas indicaciones para hacer un laboratorio y probar los conceptos a medida que se discuten en las lecciones, lo que permite aprender la teoría y practicar. Algunas partes del libro no las aprendí mucho como Buffer Over Flow o Hacking Móvil y Wireless, en ese momento no dedique tiempo a esas áreas ya que me sentía muy novato y para el Wireless no tenía las herramientas necesarias.

  1. Empecé a practicar con CTFs y encontré HackTheBox.

HackTheBox es lo mejor que pude haber encontrado en todo este trayecto, es una plataforma impresionante que te permite hackear diferentes máquinas, creadas por diferentes personas, en Windows y Linux y en ese proceso aprender diferentes técnicas de Hacking como: Web Hacking, Enumeración de servicios, SQL Injection, XSS, explotación de vulnerabilidades públicas, en resumen de todo, hasta criptografía, Buffer OverFlow, escalación de privilegios, de verdad de todo.

Cuando empecé en esta plataforma un amigo me dijo: “te sugiero que empieces a hackear y a medida que te encuentres con cosas que no sepas entonces investigas y aprendes”, y así lo hice.

Les sugiero hacer todas las máquinas retiradas de y miren los vídeos de ippsec o algunos de los que tengo en mi canal de Youtube, les servirá muchísimo para el OSCP.

Otras plataformas que utilice fueron Vulnhub, PentestIT RU, PentesterLab, estas son útiles también

  1. Conocer muchos profesionales de InfoSec, HackTheBox me ayudó con esto con su canal de Slack, ahora se están moviendo a Mattermost, pueden ingresar aquí.

Creo que esto fue lo mejor que me pasó en mi preparación a OSCP, tuve la oportunidad de conocer muchísimos profesionales de InfoSec, Pentester, Ingenieros con muchos años de experiencia quienes desinteresadamente invirtieron tiempo en enseñarme ciertas cosas. Así fue como me di cuenta de que la comunidad de InfoSec es una comunidad de colaboración, de la cual me siento orgulloso de ser parte, personas que están dispuestas aún a responder aquellas preguntas tontas de script kiddies como en ese momento lo fui.

¡Gracias a todos aquellos que me ayudaron, respondieron una pregunta, escribieron un post, postraron un tweet o hicieron algún vídeo tutorial, Gracias a toda la comunidad de InfoSec! ¡Son geniales!

  1. Practicar el Índice de OSCP

Revisé el índice de OSCP y todos los temas y me enfoqué en aquellos que nunca había estudiado. Una cosa importante es aprender a encontrar y ejecutar exploits, SQL Injection, etc, sin el uso de herramientas automáticas como sqlmap o Metasploit.

Buffer Over Flow - Aprendí de BoF primero mirando videos para entender el concepto de porqué funcionaba y cómo podría aprovechar esa vulnerabilidad para comprometer algún sistema, luego seguí 100 tutoriales de cómo hacerlo, practique con algunos códigos públicos, esto me tomo mucho, porque no es algo que se aprende de la noche a la mañana si nunca has escuchado de BoF, pero con tiempo y dedicación, pude aprender e incluso hacer BoF más avanzados. No es tan difícil después de todo. Aquí les dejo un ejemplo muy bueno de Jesse Kurrus haciendo BoF a SLMail

Inicio de OSCP - El Laboratorio

Inicié el OSCP el 18 de noviembre 2017 tomando 60 días de laboratorio, la primera semana la pasé trabajando con el manual y mirando los videos; mientras trabaja el manual aproveche para documentar todos los ejercicios (ya que puedo obtener 5 puntos si completo todos los ejercicios y hago un reporte de 10 máquinas del laboratorio, más información aquí).

Empecé con las maquinas que encontré vulnerabilidades de smb, que regularmente son fáciles de explotar y luego hice todas las demás máquinas de la red pública en orden, algunas tuve que saltar ya que tenían dependencia de otras.

El laboratorio fue todo un reto, pude trabajar principalmente en la red Pública y comprometer unas dos o tres máquinas de las demás redes, no hice mucho pivoting durante el lab. Si no mal recuerdo mi total fueron unas 43 máquinas, lo interesante es que también dediqué tiempo a buscar diferentes métodos de entradas para muchas de las maquinas, en algunas encontré hasta 3 formas de entrar.

El Examen

La parte que todos temen, el examen de OSCP, ¡24 horas para comprometer 5 computadoras es todo un reto! Aquí es la parte en la que debes demostrar que realmente puedes hackear un ambiente desconocido en poco tiempo.

Lo primero que hice fue analizarme e identificar aquellos puntos débiles y practicar, me enfoqué en escalación de privilegios con Windows y 3 días antes del examen practicar BoF tomando algunas aplicaciones públicas que un amigo tiene en su repositorio de Github, ihack4falafel

Agendé el examen con un mes de anticipación para el Domingo 14 de enero 2018 a las 8AM, es importante que agenden el examen con anticipación, ya que puede que la fecha que quieran no esté disponible si no lo hacen con tiempo.

No estudié, ni le puse la mano a la PC el día anterior del examen, traté de relajarme. El examen estaba pautado para las 8AM, pero ese día me levanté a las 3,4,5 AM ya que estaba muy ansioso. A las 8AM llego el correo de OSCP con las instrucciones y reglas, miré la información de manera superficial, ya que las reglas las había leído con anticipación, en su sitio web. Recibí el acceso VPN, el link para reiniciar las máquinas y las informaciones de los objetivos y puntos que tendría al comprometer cada máquina.

1ra PC - Inicie con la de BoF, para mí era la parte que debería ser más sencilla, una vez aprendes BoF básico, es solo seguir cada paso. A las 9:12AM había podido comprometer la máquina y ganar los primeros 25 pts :)

2da PC - Inicie el proceso de enumeración y ya para las 9:40AM había comprometido la 2da PC para otros 10 pts.

3ra PC - Conseguí acceso de usuario para las 10AM y requerí otros 40 minutos para la escalación de privilegios, ya para las 10:40AM tenía otros 20 pts.

Antes de iniciar la 4ta PC pensaba que ya tenía el examen ganado, en solo 3 horas tenía 3 máquinas, no debería tomarme mucho tiempo hackear las otras 2, pero aquí empezó otra historia.

4ta PC - Empecé a buscar información, enumerar, descubrí algunas cosas, pero no logré nada, a las 4:00PM decidí moverme para la 5ta PC.

5ta PC - Me tomó aproximadamente una hora y 45 minutos para encontrar el acceso a usuario, ya para las 5:45PM tenía acceso a usuario, lo que me daba otros 10 o 15 puntos, no sabría la cantidad exacta ya que esta máquina tenía un valor de 25 puntos y no sabemos cómo ellos distribuyen el puntaje; seguí buscando forma de escalar privilegios, pero no pude.

Dormí de 12:20 a 2:20am, unas dos horas, pero no pude conseguir más nada, intenté regresar a la 4ta pero tampoco nada, al final aproveché la ultima hora para revisar las notas, asegurarme que tendría todo lo necesario para el reporte, ya que sería lo único que en este momento me podría permitir pasar el examen.

El Reporte

Gracias a que mientras trabajaba con los ejercicios y con las maquinas documenté todo hacer el reporte no me costó tanto, para el día previo al examen tenía un pre-reporte listo que solo necesitaría modificar algunas cosas y así lo hice, a las 2PM aproximadamente envié mi reporte con los ejercicios, las 10 máquinas del laboratorio y las 5 PC del examen, aunque no completé totalmente 2 de las 5, puse algunas informaciones de lugar de vulnerabilidades que encontré.

Fallar en dos de las maquinas del examen, solo me hizo entender lo mucho que aún me falta por aprender y aunque he aprendido bastante en los últimos 8 meses, en el mundo de Pentesting aún me queda mucho trabajo por hacer.

¡Resultados del Examen!

Dos días después, ¡a las 5PM recibí el correo más satisfactorio de toda mi vida OSCP informándome que había pasado satisfactoriamente el examen y que ya soy OSCP!! Esta fue mi reacción en Twitter:

Video Twitter

Agradecimientos

A mi Dios quien me ha permitido creer en mí, ha puesto en mi sabiduría y me ha permitido saber que con esfuerzo y dedicación todo es posible, a mi amada esposa Mi Linda, quien estuvo ahí junto a mi durante todo el proceso y en el examen dándome todo el apoyo y escuchando mis historias de hacker aun sin entender lo que le decía, gracias Linda. A HackTheBox e ippsec quienes fueron parte esencial de este desarrollo y a todos mis amigos que de una u otra forma me dieron un consejo, un hint, una guía para aprender cómo hacer ciertas cosas y a mis amigos que aun no entendiendo lo que hacía, me felicitaban mostrando interés en este arduo camino que estoy recorriendo, ¡a todos ustedes gracias!

Tips:

  1. Enumeren, aprendan como enumerar los diferentes servicios y está será la clave para triunfar.
  2. Tomen notas de todo.
  3. No crean que el examen será el más difícil del mundo, mantengan las cosas simples y prueben.
  4. Busquen varias formas de comprometer las maquinas durante el laboratorio.
  5. Usen metasploit, es una herramienta que necesitan aprender, pero traten de buscar la forma de ejecutar algún exploit sin utilizarlo.
  6. Confíen en ustedes mismos, decir que es difícil no los ayudará a pasar, deben creer en ustedes y dedicarle tiempo a la preparación, no todos tenemos el mismo background o la misma capacidad de aprendizaje, no te sientas mal si pasarás en el 3er intento, ¡solo sigue intentando!

¡Dios les bendiga a todos! Happy Hacking!

Updated: