¿Cómo respondería a tal propuesta? Hay un tema que la mayoría de los especialistas en ciberseguridad pasan por alto, llamado "explotación binaria". Primero debe resolver una tarea de prueba: simplemente invierta el código ensamblador y genere una clave. Luego es necesario completar 8 módulos de trabajo de laboratorio en el stand de la década del 2000 en 60 días. Luego puedes prepararte usando el libro, pero te ayudará a entender el tema solo en un 20 por ciento. Luego habrá un examen agotador de cuatro tareas durante 48 horas, e inmediatamente después se te darán 24 horas para preparar un informe en inglés. Y todo este placer cuesta $ 1800.
Dije: "¡Dame dos!"
Entonces, a continuación les contaré cómo preparé y aprobé el emocionante examen para el certificado internacional en el campo de las pruebas de penetración Offensive Security Certified Expert, o OSCE para abreviar, de Offensive Security .
Esta organización tiene varias certificaciones más, pero Expert asume la confirmación del conocimiento experto en varias áreas a la vez: ataques a aplicaciones web, ataques a nivel de red, fuzzing y desarrollo de exploits para Windows x86. A pesar de que el curso es a menudo criticado por un enfoque desactualizado, los conceptos básicos de funcionamiento no han cambiado y, como resultado, se puede aprender mucho:
- encontrar y explotar vulnerabilidades web, por ejemplo, XSS o Path Traversal, con desarrollo hasta un compromiso completo del sistema operativo;
- llevar a cabo ataques de red GRE Sniffing, SNMP, omitir Listas de acceso utilizando solicitudes SNMP falsificadas;
- encuentre desbordamientos de búfer mediante fuzzing y utilícelos para ingresar al programa, omitir mecanismos de protección (desbordamiento de pila, omitir ASLR, egghunter, caracteres incorrectos, etc.), y también omitir los mecanismos de protección estática del antivirus.
Qué clase de bestia es la OSCE: un ejemplo
Para no sobrecargar el artículo con términos técnicos y abreviaturas, daré un ejemplo típico. Imagine que tiene un software (software) que recibe datos a través de TCP y necesita operar en un servidor remoto donde se implementa este software para poder ejecutar comandos a nivel del sistema operativo.
Decisión
- : , . , .
- () stack overflow, .
- payload ( ) , , EIP. , SEH.
- EIP . , . , , — ( ), .
Parece que todo lo que queda es marcar el shellcode, y todo es muy simple. Pero sucede que primero debe omitir el mecanismo ASLR, si no puede encontrar una dirección estática en la memoria, o resulta que el búfer en la memoria está limitado por el alfabeto (caracteres permitidos), entonces debe recopilar todos los caracteres permitidos y construir una cadena de comandos alternativos a partir de ellos. Y si el búfer tiene una longitud limitada, entonces necesita encontrar otro lugar en la memoria del programa donde además pueda colocar datos, encontrarlos en la memoria y hacer una transición a ellos (por ejemplo, técnica de ghunter) o incluso escribir su propio código de shell que hará lo que quiera, en las limitaciones presentadas.
También sucede que estos datos colocados adicionalmente están parcialmente dañados, por lo que debe evaluar el daño y descubrir cómo sortear esta limitación. Por ejemplo, elimine badchars, encadene su shellcode y encadene sus llamadas. Para complicar las cosas, es posible que el depurador (su herramienta principal) no asigne correctamente la memoria y muestre los datos en la memoria incorrectamente durante la depuración - ¡Bingo!
De hecho, la explotación binaria, y el pentesting en general, es un juego de eludir un montón de restricciones, usar varias técnicas y aplicar ingenio. La solución de una tarea de este tipo puede llevar desde 6 horas hasta el infinito, por lo que 48 horas para 4 tareas no me parece redundante.
Como aprobé el examen
Logré pasar la OSCE en el segundo intento. La primera vez, esto fue en junio, no pude prepararme adecuadamente para el examen debido a la carga de trabajo de los proyectos, pero como un "verdadero pentester" decidí hacer todo "sobre la marcha". Como resultado, en 48 horas, 10 de las cuales las pasé durmiendo, resolví solo 1,5 problemas.
En septiembre, tomé una decisión decidida de abordar todo de manera cualitativa: estudiar más temas, incluidos los relacionados con la operación (y esto resultó ser un agujero sin fin), hacer todos los de laboratorio, comunicarme con otros expertos, pensar en las tareas en el primer intento de aprobar el examen, preparar varios guiones para automatización.
Como resultado, el segundo intento fue en noviembre: durante las 12 horas del examen, tomé 7 vasos de té, un par de pastillas para los dolores de cabeza, cené deliciosa, caminé por el patio y resolví las 4 tareas. Afortunadamente, eran similares a los que encontré en el primer intento. Después de un sueño placentero, me tomó otras 5 horas formar el informe y un día después me dijeron que el examen había sido aprobado y que podía pedir un aumento de sueldo a la gerencia.
Actualización de las reglas de certificación
En octubre de 2020, Offensive Security anunció que planea actualizar el curso de la OSCE. Esta certificación ya no se puede pagar y el estado de la OSCE según las nuevas reglas solo se puede obtener al aprobar tres exámenes:
- Explotación y ataques web avanzados (AWAE)
- Técnicas de evasión y vulneración de defensas (PEN-300)
- Desarrollo de exploits en modo de usuario de Windows (WUMED): se anunciará en 2021
¿Resulta que lo intenté en vano y ahora tengo un certificado desactualizado? Pero no, la empresa se adhiere a la posición “Cualquiera que haya obtenido una OSCE siempre la retendrá”, lo que significa “Cualquiera que haya recibido una OSCE la conservará para siempre”. Probablemente, mucha gente elige la seguridad ofensiva para esto. Sí, es caro, sí, los manuales de capacitación son débiles, sí, el examen es agotador y contiene muchas trampas, pero habiendo aprobado algo al menos una vez, ¡llevas este título hasta el final de tus días! A diferencia de muchas otras certificaciones, en las que cada 2 o 3 años tienes que seguir pagando dinero por renovaciones y nuevos exámenes.
Preguntas más frecuentes
¿Qué me dio la certificación al final?
- — . OSCP , .
- «-» .
- , , 2010- , .
« , ?»
?
- : , .
- .
- .
- «».
?
Nuestra empresa presta mucha atención al desarrollo de las habilidades duras y blandas del equipo, por lo que logré certificarme a expensas del empleador. De lo contrario, tal vez, me hubiera decidido por ese desafío solo por el certificado en sí. Para obtener solo conocimiento (y ahorrar dinero personal), sería más prudente estudiar los materiales filtrados y blogs de otros pentesters en medium.com, recrear y pasar el stand, y también prestar atención a otros cursos, por ejemplo, SLAE .
¿Seguiré tomando los exámenes de seguridad ofensiva?
Por supuesto, en general estoy satisfecho con el enfoque de esforzarse más, y sus nuevos cursos son interesantes, y todo lo demás se puede vivir.
PD ¡Gracias a mis colegas y a mi novia que me apoyaron!