Home / Certificaciones / Red Team Ops 2 (RTO II): Review de la certificación

Red Team Ops 2 (RTO II): Review de la certificación

El RTO 2 (Red Team Ops II) ha sido mi segunda certificación tras el RTO I, y también me ha encantado. Esta certificación trata sobre la preparación de una infraestructura segura de Cobalt Strike, la inyección del shellcode en procesos y la evasión de distintos mecanismos de seguridad, incluyendo Windows Defender, ASR, WDAC, PP/PPL y el EDR.

Curso y laboratorio

El curso del RTO II, cuyo índice tienes aquí, comienza con la preparación de la infraestructura del C2, explicando en detalle el uso de redirectores HTTPS y también DNS.

A partir de ahí el curso se centra en desarrollar lo necesario para inyectar el shellcode en la memoria de un proceso y evadir los mecanismos de seguridad, siendo en su mayor parte en C++ y C#, así como también en VBA. Por lo tanto, es conveniente tener conocimientos previos de programación. Considero esencial entender bien el código que aparece en el curso y no solo hacer un copy-paste, ya que deberás tenerlo controlado para poder sacar el examen.

De esta manera, se explica el uso de las WinAPIs y las Native APIs para preparar tu propio process injector con el shellcode de Cobalt, y posteriormente se detalla la manera de evadir distintas detecciones del AV y el EDR en la post-explotación.

Los siguientes apartados tratan sobre Attack Surface Reduction (ASR) y Windows Defender Application Control (WDAC), explicando cómo se pueden evadir. También se detalla el funcionamiento de Protected Process (PP) y Protected Process Light (PPL), requiriéndose para su evasión un driver malicioso que se desarrolla en el curso de “Offensive Driver Development”. Cabe mencionar que en las reglas de compromiso del examen se especifica que no se permite el uso de drivers, pues la estabilidad de los sistemas es fundamental para el cliente.

En los últimos aparados del curso se explica cómo funciona un EDR y cuáles son las diferentes estrategias para utilizar las APIs de manera que los EDRs no lo detecten. Como he mencionado anteriormente, en el examen no se pueden utilizar drivers, así que olvídate de deshacerte por completo del EDR :)

Respecto al laboratorio, se puede adquirir por 30, 180 o 365 días, en los que se dispone de 120, 250 y 500 horas respectivamente. El coste actualmente en cada caso es de £36, £83 y £166. Consta de varios redirectores y máquinas en las que se aplican los distintos mecanismos de seguridad, incluyendo Elastic como EDR.

Yo lo adquirí mensualmente, pues no sabía el tiempo que me llevaría, y finalmente acabé examinándome al segundo mes. Lo más probable es que te sobren horas, así que no tienes que preocuparte porque se te vayan a acabar. En mi caso he de decir que antes de adquirir el laboratorio ya me había leído el curso, aunque no aprendes realmente hasta que no lo practicas.

Dado que no puedes copiar del laboratorio a tu equipo, lo cual sí que puedes hacer en el examen, yo acabé escribiendo código en mi propio equipo y pasándolo después al laboratorio para realizar las pruebas. Así te puedes guardar todo lo que vas desarrollando sin tener que volver a escribirlo. Cabe destacar que he echado en falta que el laboratorio sea como el del RTO I, con los distintos servicios y fallos de configuración, ya que no puedes practicar las técnicas con el condicionante de tener que evadir los mecanismos de seguridad, como sucede en el examen. El EDR tampoco se encuentra configurado de la misma manera, lo cual comentaré posteriormente. En cualquier caso, en el laboratorio dispones de las herramientas necesarias y por lo tanto puedes (y debes) comprobar si son detectadas.

Examen

Spoiler: es duro. El examen ha cambiado recientemente y, por lo que me han comentado del anterior, ahora es más difícil. Dispones de 96 horas en 8 días, y para aprobar debes conseguir 5 de 6 flags. En la review del RTO I comenté que no era complicado si has practicado suficiente. En este caso es distinto, pues el escenario del examen no es similar al del laboratorio y te encuentras en situaciones donde tienes que ser bastante creativo. Para aprobar no basta con tener controlado lo que se enseña en el curso, aunque te proporciona la base para lo que necesitas hacer en el examen.

Debes tener en cuenta que en el examen el EDR bloquea todo, lo cual no sucede en el laboratorio. Por lo tanto, aquello que sea detectado, aunque no se impida su ejecución en el laboratorio, no podrás utilizarlo en el examen si no consigues que no lo detecte el EDR. Tampoco dispones de las mismas herramientas, o mejor dicho de todas ellas, pero su uso no es imprescindible. Además, me encontré con un error de compilación del Sleep Mask Kit, lo cual no ocurría en el laboratorio. Para solucionarlo simplemente hay que comentar o quitar del archivo “cfg.c” las definiciones que causan el error.

En definitiva, el examen es un escenario realista y no consiste en una mera evaluación de lo que viene en el curso. Recomiendo investigar sobre todo lo que se menciona, incluyendo recursos externos, para luego no sufrir demasiado en el examen. En cualquier caso, al disponer de tantas horas tampoco debes frustrarte, es normal que te encuentres con problemas que debas solventar sobre la marcha, como sucede en el mundo real.