Skip to content

Menu

Copyright McStan's Blog 2022 | Theme by ThemeinProgress | Proudly powered by WordPress

McStan's BlogWelcome

sock_raw

noviembre 25, 2021Articles Standard

Hace unos meses, tomé el curso de Pruebas de Penetración de Seguridad Ofensiva con Kali Linux (PWK) y aprobé el examen para la certificación OSCP. Toda la experiencia fue muy gratificante y el laboratorio PWK me enganchó mucho. Pensé que sería útil escribir una reseña sobre él para los profesionales de infosec que aspiran a abordar este curso desafiante y exigente.

Intro

Me registré para el período de 60 días. Había pirateado las 56 máquinas en unos 40 días y aprobado el examen en mi primer intento. Este es el lado bueno de todo. El lado oscuro, aunque necesario, era que tenía que dedicar mucho tiempo, energía y esfuerzo para lograr esto. El examen puede ser extremadamente desafiante, especialmente porque es muy fácil quedarse atascado y esto conduce a la frustración y la ira. Eso conduce al sufrimiento y potencialmente a rendirse. Bienvenido al lado oscuro.

Es un ejercicio de agallas y voluntad por encima de todo.

Sí, tienes que conocer tu tecnología de mierda, pero al final todo se reduce a la diligencia debida y a tener una metodología estructurada, que es exactamente lo que es el 90% de las pruebas de penetración (y me atrevo a decir que la ciencia en general también). Y no me malinterpretes, el otro 10% también es extremadamente importante, pensar de forma innovadora y encontrar soluciones creativas para hackear a tus objetivos es la manifestación de hackear en su significado original. Esto también alude a la cita de Thomas Edison sobre el hecho de que «el genio es uno por ciento de inspiración, noventa y nueve por ciento de transpiración.»De hecho, la adhesión a una metodología rigurosa de pruebas que deben llevarse a cabo y documentarse es lo que tendrá mayor impacto. Estoy bastante seguro de que cualquiera que haya servido en el ejército estaría de acuerdo conmigo en esto. No olvide que a menudo es la fruta simple y de bajo rendimiento, que se pasa por alto porque se considera demasiado trivial, la que puede marcar la diferencia entre un callejón sin salida y un compromiso completo del sistema. Sin embargo, crear el mantenimiento y la ejecución eficiente de esa lista maestra de pruebas es la parte difícil que viene con la experiencia, mantenerse al día con las nuevas técnicas y la investigación de la industria, así como automatizar todo lo que debería automatizarse.

Antes de seguir divagando, volvamos a discutir el curso PWK.

Motivaciones

OSCP es una de las certificaciones más respetadas en la industria de la seguridad de la información y con razón: tanto el curso como el examen son muy prácticos. Sin preguntas de opción múltiple: este es el verdadero problema: hackea tus objetivos en una red de laboratorio virtual y luego haz lo mismo en un examen intensivo de 24 horas para demostrar que has aprendido las técnicas fundamentales de un probador de penetración. Esto por sí solo debería ser una motivación más que suficiente para cualquier profesional de infosec, incluso si tiene años de experiencia en el campo, puede ser divertido y siempre puede aprender cosas nuevas a lo largo del proceso.

Lo que también me motivó personalmente durante el curso fue que algunos compañeros ingenieros de infosec y yo llevábamos la cuenta de todas las cajas que cada uno de nosotros había arraigado, por lo que inconscientemente actuó como una competencia. Obtener la siguiente bandera de raíz (lo que significa el compromiso total de una caja) mantuvo la dopamina y la adrenalina altas en todo momento. Al final, tuve el derecho de presumir sin importancia de comprometer a todos los anfitriones y hacerlo antes que todos los demás.

Curso

El curso consta de:

  • Conexión VPN a la red del laboratorio
  • un libro bien escrito de aproximadamente 400 páginas de material de estudio
  • una serie de videos que complementan el libro
  • foro accesible para estudiantes PWK
  • canal irc

Lo genial del laboratorio es que los hosts están simulando una red real, lo que significa que a diferencia de los hosts en su mayoría aislados y los desafíos de sitios como vulnhub.com, hay muchas interdependencias. Después de obtener acceso a un sistema, a menudo encontrará pistas que lo ayudarán a hackear otras máquinas, por eso es importante la postexplotación y la excavación en hosts comprometidos. A menudo caerá en la trampa mental de querer poseer todo en la red y apresurarse a entrar en un host tras otro utilizando los medios y herramientas necesarios, pero nunca debe olvidar que el laboratorio está ahí para su experiencia de aprendizaje, no solo para presumir de derechos.

Si bien nunca debería estar pidiendo una solución sobre cómo comprometer una máquina, puede ser muy beneficioso compartir ideas con compañeros de estudio sobre la explotabilidad de los múltiples vectores de ataque que muchos de los sistemas de laboratorio ofrecen. Personalmente, nunca usé el canal irc y solo leí un par de publicaciones en el foro. Ambos pueden ser grandes activos para su viaje de aprendizaje en general, pero le aconsejo que tenga cuidado al usarlos para evitar leer accidentalmente cualquier sugerencia de spoiler, a menos que realmente esté atascado y necesite algunas ideas frescas para ir en la dirección correcta. A menudo hay más de una forma de hackear las máquinas, algunas más fáciles que otras. Hablando de formas más fáciles, tenga en cuenta que en el examen solo se le permite aprovechar el marco de metasploit solo contra una máquina de su elección y, por lo tanto, es aconsejable aprender a no abusar y confiar demasiado en él durante el entrenamiento de laboratorio porque esa dependencia potencialmente regresará y lo morderá en el examen. Incluso si logra descifrar una máquina de laboratorio utilizando un exploit de metasploit, intente crear una versión personalizada del exploit, portarlo a otro idioma de su elección y jugar con otros vectores de ataque también. Tampoco se le permite usar ninguna herramienta de explotación automática (como Sqlmap), por lo que tiene que aprender a hacer la mayoría de las cosas manualmente. Consulte https://support.offensive-security.com/#!oscp-exam-guide.md para obtener más información sobre las restricciones del examen. Observe cómo la prohibición está en la explotación automática en lugar de las herramientas de enumeración, dicho esto, aprovechar la automatización que le brindan varios scripts de enumeración es una necesidad e idealmente codificará sus propios programas para eso. Un ejemplo notable es el comprobador de escalado de privilegios de linux de Mike Czumak en https://www.securitysift.com/download/linuxprivchecker.py

Puede encontrar una colección de notas útiles sobre técnicas de pruebas de penetración aquí: https://sock-raw.org/wiki/ – También contiene referencias a una multitud de otras fuentes que consulté durante el curso.

 Examen OSCP Cómo se veía mi habitación durante todo el examen OSCP o cómo se veía la deformación de la hora mientras hacíamos hacking – (ilustración de Klajdi Cano)

Examen

Programé el examen para el sábado al mediodía. Por lo general, soy un ave nocturna, así que quería asegurarme de tener una buena noche de sueño el día anterior y no tener que preocuparme por levantarme demasiado temprano para el examen, ya que esto puede causar estrés innecesario y puede afectar la recuperación después de una semana de trabajo completa. Los fines de semana funcionan mejor, ya que necesitará las 24 horas para el examen y luego otro día para escribir un informe extenso sobre cómo ha logrado todo.

Necesitarás 70 puntos para aprobar el examen y un máximo de 100 puntos. Cada máquina vale diferentes puntos dependiendo de lo difícil que sea obtener y del nivel de acceso que obtenga, generalmente un shell con privilegios bajos le dará menos puntos que un shell de SISTEMA/raíz. El informe de laboratorio, en el momento de escribir esto, solo puede proporcionarle 5 puntos adicionales después de haber cambiado de los 10 puntos anteriores. Puedes leer todos estos detalles en la guía de examen oficial: https://support.offensive-security.com/#!oscp-exam-guide.md

El día anterior había configurado la alarma para las 10: 30 am, pero esperaba que mi bioclock interno me despertara antes de eso. Quería asegurarme de que las 10:30 fueran las últimas. Por lo general, planeo un promedio de 8 horas de sueño, pero también trato de dejar algo de tiempo para una sesión de ejercicio por la mañana y una inyección de cafeína. Como predije, me desperté alrededor de las 10 y tuve tiempo suficiente para hacer una sesión de entrenamiento a intervalos en casa para bombear la sangre y aumentar el flujo de oxígeno al cerebro. Exactamente a las 12:00, recibí el correo electrónico con la información de conexión VPN para el laboratorio de exámenes. Todo estaba listo y el desafío comenzó.

Derribé la primera máquina en la primera hora más o menos, ya había visto una de las vulnerabilidades en una prueba de penetración antes, lo que ayudó a acelerar el proceso. Eso fue un gran impulso de confianza. Empezando fuerte.

Luego me moví al siguiente sistema donde obtuve un shell de usuario con privilegios bajos relativamente pronto. No está mal. Una taza (solo) de café consumida hasta el momento. No sabía que la escalada de privilegios en esa caja me haría perder tanto tiempo, husmeando en callejones sin salida. Después de pasar sin éxito más de una hora probando una variedad de cosas, decidí que era hora de seguir adelante porque necesitaría la energía para enfocarme en el resto de los objetivos. Sin embargo, no estaba demasiado preocupado porque, como lechuza nocturna, tiendo a rendir mucho mejor de forma natural durante las horas de la noche. Eso es algo que debe tener en cuenta al programar la hora de su examen y cómo administrar su ritmo a lo largo del día, dependiendo de cuándo funcione de manera más óptima. Estaba en 2 tazas de café ahora y decidí tomar un pequeño descanso y comer un poco de chocolate. Es muy recomendable caminar y tomar pequeños descansos: debe darle a su mente subconsciente algo de tiempo para trabajar en posibles soluciones cuando esté atascado. De lo contrario, es muy fácil obtener visión de túnel.

Dado que confiaba en que podría abordar fácilmente una de las cajas más difíciles (por razones que no puedo revelar aquí porque se consideraría un spoiler), me centré primero en la «más fácil» (en función de los puntos asignados). Aunque estaba casi seguro de haber identificado la vulnerabilidad correcta, el exploit relevante no funcionaría bajo ninguna circunstancia. Yo había hecho todas las modificaciones necesarias (shellcode etc.) pero ninguno de los intentos dio frutos. Reinicié la máquina virtual varias veces (casi una vez por intento) en caso de que algo estuviera mal, pero aún así. Incluso utilicé metasploit contra él (que solo se puede usar contra un host), lo que tampoco ayudó. Esta parte fue bastante frustrante porque en mi mente esta caja no se suponía que fuera tan difícil.

Luego intenté brevemente hackear la máquina más difícil, pero después de pasar algún tiempo en ella, me di cuenta de que tomaría mucho más enfoque de lo que esperaba, así que me rendí temporalmente. Decidí que era hora de aumentar mi moral al intentar apoderarme del otro sistema del que estaba más seguro en cuanto a la metodología requerida para subvertirlo. Sorprendentemente, y lo digo de manera sorprendente porque no estaba seguro de qué esperar al respecto, después de tantos golpes de confianza, salió bastante bien y después de menos de 90 minutos tuve una hazaña de trabajo y había recopilado todas las pruebas (capturas de pantalla de cada paso). Sin embargo, todavía no tenía suficientes puntos para pasar.

Era medianoche y necesitaba más puntos, así que tuve que esforzarme más en los objetivos restantes. Volví al sistema (supuestamente) más fácil. Entonces se me ocurrió. Tuve que pensar fuera de la caja, hice una modificación a mi exploit y obtuve mi shell. Uno más abajo. Ahora estaba en el límite-podría haber acumulado los puntos necesarios para pasar, pero solo con una suposición muy específica sobre el valor de la concha de bajo privilegio de ese sistema anterior-esto no era bueno. Tenía que asegurarme de estar por encima de los 70 puntos. Era después de la 1 de la mañana y pensé que un poco de sueño haría que mi cerebro produjera algunas ideas frescas, así que puse mi despertador 2 horas más tarde. Por desgracia, con tanto estrés acumulado, no era capaz de dormir realmente, solo estaba visitando este estado nebuloso de estar simultáneamente medio dormido / medio despierto, cuyos efectos rejuvenecedores son diminutos en el mejor de los casos. Sin embargo, incluso este breve descanso le dio a mi cerebro algo de tiempo para prepararse para el segundo viento (o el N-ésimo viento para el caso). Era todo lo que necesitaba.

En ese momento, sentí que era la víctima de mi propio proceso de pensamiento porque me di cuenta de que no había probado algunas de las pruebas que debería haber hecho desde el principio. Lección aprendida. Otra razón por la que el uso de listas de verificación es tan importante. En cuestión de minutos y un par de docenas de líneas de código más tarde, tenía mi shell elevado y había comprometido completamente el host. Había acumulado más que suficientes puntos ahora. Este fue un pase seguro y alrededor de las 4:30 a.m., suspiré de alivio. Ahora podía empezar a jugar con el último anfitrión, lo que hice durante aproximadamente una hora, momento en el que mi cerebro gritaba por un tiempo de inactividad. Mi depósito de adrenalina también era bastante bajo porque sabía que este anfitrión era opcional. Ahora dormía más normalmente hasta las 9 de la mañana y me quedaban 3 horas hasta que terminara el examen. Este anfitrión llevaba mucho tiempo e intenté una amplia variedad de técnicas para entrar en él. Después de estar bastante cerca de encontrar el truco correcto (de acuerdo con lo que las pruebas hasta ahora me habían demostrado), la conexión vpn se abandonó. Era casi mediodía y sabía que tenía que escribir un informe de prueba de penetración completo que documentara todos mis hallazgos y cómo me las arreglé para hackear cada host paso a paso. Esta fue la parte fácil, pero todavía era un documento de 61 páginas que tenía que escribirse de manera profesional. La emoción de estar seguro de que había pasado (así como bombear artificialmente mis niveles de cortisol y adrenalina con un poco de cafeína) me ayudó a pasar el día y enviar el informe antes de las 8 pm. Luego tuve una de las mejores noches de sueño durante bastante tiempo.

En general, el examen fue un desafío y la mayoría de las máquinas a menudo requerían investigación adicional (incluida mucha búsqueda en Google) para identificar y luego explotar las vulnerabilidades. No puedo decir nada más al respecto, pero esté preparado para hacer su debida diligencia y poner a prueba su voluntad, fortaleza y creatividad.

Después de dos días recibí el correo electrónico que me notificaba que había pasado.

 OSCP mail

Conclusión

En general, recomiendo encarecidamente el curso para cualquier persona:

  • esforzándose por ser competitivos en la industria de la seguridad de la información
  • queriendo perfeccionar sus habilidades de pruebas de penetración
  • diviértase con una red de laboratorio desafiante
  • aspirando a fortalecer su valor y espíritu (en serio)

El curso y el examen pondrán a prueba tus conocimientos, tu creatividad y tus nervios. Pero si logra aumentar y mejorar los tres, entonces definitivamente habrá avanzado un paso más en el mundo de la infosec.

OSCP cert

Write a Reply or Comment Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entradas recientes

  • SKYbrary Wiki
  • Población y Genética Evolutiva
  • Hipertensión Pulmonar Perioperatoria
  • Pesaha Appam / Indariappam y Paal
  • Una breve Historia de Conejos
  • Vierta y Hornee la Cazuela de Ravioles de Albóndigas
  • Sede de Ingeniería Mecánica

Archivos

  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org