Hola estimados humanoides que pululan por Hackplayers, soy Borch y vengo a hablaros del OSCE y mi experiencia con el mismo. El primer disclaimer lo hago desde ya, esta opinión es a todas luces, tirarme piedras a mi propio tejado. Es que probable que éste no sea el artículo que estás buscando; es más, ni soy excepcionalmente inteligente, ni tengo 0days, ni se usar regex sin buscar en Google (lo siento wint3r). Tampoco he luchado contra leones mientras me sacaba la cert, ni me levantaba a las 4 para viajar 3 horas, estudiar de camino y alimentar a mi hambrienta familia (con los leones de antes). Una persona normal (bueh) con un poco de ganas (y tampoco tantas) por un nuevo reto y nada más.
Es un examen y nada más. No nos flipemos. |
- Ensamblador 101 (en esta parte estaba menos verde de lo que pensaba, lo cual fue un alivio)
- Shellcoding
Desgraciadamente, la primera parte es una chapa impresionante, podéis poner los videos a 1.25 1.5 si queréis porque el colega va a su ritmo a veces, viene bien si pensáis que sois unos paquetes para repasar conceptos. La segunda parte es harina de otro costal... haces stubs, encoders y empiezas a sentirte el jodido Kevin Mitnick. Total, que lo hagáis si queréis, yo lo hice y lo recomiendo muchísimo.
Cuando terminé el SLAE me sentía bien, con la bilirrubina a flor de piel, listo para afrontar los problemas del exploiting y me sentía encaminado hacia las mieles del éxito. Durante un par de semanas andé con algo de lío así que aparqué un poco el tema hasta el día en el que comencé el lab. El OSCE no es como el OSCP que te encuentras 300 máquinas distintas; te dan el PDF con deberes, los haces en el lab y ya está. Por esta razón, recomiendo coger el mínimo tiempo posible de lab, buscar el software instalado y crearos vosotros vuestro propio lab.
Antes de continuar, permitidme hacer un pequeño interludio para analizar la siguiente opinión sobre esta cert:
- “¡Está desactualizada!”
La respuesta a esta rotunda e inquietante afirmación es... si y no. Me explico: si bien es cierto que hace un lustro que no la actualizan y que los contenidos que encontramos son mas de la década pasada que de esta, si que es verdad que la metodología y las formas se mantienen, soy de la escuela de los que piensan que no puedes empezar la casa por el tejado y que tomar cierta soltura con elementos que a día de hoy son menos complejos o están mas desactualizados aporta una solidez a los fundamentos. Definitivamente si estás buscando las últimas tendencias esta NO es tu certificación e igual deberías estar leyendo algo que te mole de verdad.
Ahora que el camión de haters va colina abajo, prosigamos con el contenido teórico del curso:
Según el syllabus (https://www.offensive-security.com/documentation/cracking-the-perimeter-syllabus.pdf) será necesario que conozcamos en profundidad los siguientes temas:
- Web app testing
- Egghunting
- Backdoors y evasión de AVs (chusteros)
- Saber debuggear de pé a pá
- Saber bypassear ASLR (del Vista)
- Hacer exploits en espacios reducidos (por ejemplo egghunters) y con encodes concretos
- ¿No sabes de IDA o de Ghidra (nivel básico)? Pues ahora es el momento
- ¿No sabes usar immunity con soltura? Pues ahora es el momento, mona.py mola también
- ¿Crees que fuzzear es una cosa que solo se hace con servidores web para encontrar ese directorio chustero de aquella máquina grannyfinder de HTB que sólo han hecho cuatro compraflags? Va tocando aprender a usar fuzzers (como Spike!)
- ¿Conoces a Ted?¿Digo a Vulnserver? (http://www.thegreycorner.com/p/vulnserver.html) Pues ya lo conoces. Hazlo parte de tu día a día. Haz todos y cada uno de los ejercicios una vez tras otra, domínalos, entiende que demonios esta pasando, se capaz de editar ensamblador a pelo. Los siguiente enlaces son excepcionales y os ayudarán a comprender la mandanga:
- http://sh3llc0d3r.com/vulnserver-gmon-command-seh-based-overflow-exploit/
- https://captmeelo.com/exploitdev/osceprep/2018/06/29/vulnserver-kstet.html
- https://deceiveyour.team/2018/10/15/vulnserver-kstet-ws2_32-recv-function-re-use/
- https://werebug.com/exploit/vulnserver/2019/11/19/vulnserver-kstet-exploit-with-staged-payload-using-ws2-32-recv.html
- https://web.archive.org/web/20180715201506/http://ewilded.blogspot.com/2018/01/vulnserver-my-kstet-exploit-delivering.html
- ¿Sabes mediar con egghunters y con SEH? ¿No? No pasa nada:
- http://g4ngli0s.logdown.com/posts/7861241-jugando-con-openview-nnm
- [ExpDev] HP OpenView NNM 7.5 Exploitation — SEH; Egghunter
- https://www.corelan.be/index.php/2009/07/25/writing-buffer-overflow-exploits-a-quick-and-basic-tutorial-part-3-seh/
- https://www.corelan.be/index.php/2009/07/28/seh-based-exploit-writing-tutorial-continued-just-another-example-part-3b/
- https://www.corelan.be/index.php/2010/01/09/exploit-writing-tutorial-part-8-win32-egg-hunting/
- Estos links también te serán de ayuda:
- Encoder de x86 https://github.com/ikerl/sub3ncod3r
- Backdooring PE file by adding new section header [Backdoor 101] Backdooring PE File by Adding New Section Header - Hack.Learn.Share
- Jumping with bad chars https://buffered.io/posts/jumping-with-bad-chars/
- Payloadallthethings https://github.com/swisskyrepo/PayloadsAllTheThings
Por último me gustaría dar un mensaje de apoyo claro a los que estáis en proceso o tenéis en mente hacerlo: si haces de Vulnserver tu hijo predilecto, haces de pé a pá todos los ejercicios del syllabus/PDF y revisas todos los puntos previamente expuestos las probabilidades de aprobar aumentarán considerablemente. No obstante, seamos realistas, todos los ejercicios están destinados a darle vidilla a tu creatividad y prepararte lo que a todas luces será un examen complicado. Podría ser que ese día te atacase un oso pardo, te lanzasen una nevera o que simplemente la inspiración no llegase. Como dicen por ahí: it's okay not to be okay. El examen tiene una componente psicológica, no dejéis que os afecte más de lo debido, parad cuando queráis, echaos unos Cola Cao's con vuestros colegas o ved Brooklyn 99 un rato. En comparación al OSCP dispondréis de bastante tiempo (48 horas de examen). Y si suspendéis no pasa absolutamente nada,¡la próxima vez irá mejor!
Pd: estoy por los Telegrams modernos por si necesitáis algo (StooormQ)
Agradecimientos a Rod, PabloLB, Vorga, Íker, arale, Adon, Naivenom y SniferL4bs.
Contribución gracias a Borja Cañavate aka StooormQ
Comentarios
Publicar un comentario