Un hacker se sienta detrás de una pantalla y lee el texto de un sitio web. Es la página de inicio de sesión de Microsoft 365. El hacker tiene el nombre de usuario y la contraseña de un objetivo, y este sería un trabajo fácil si no fuera por una cosa: ¡la autenticación multifactor! Aunque las credenciales son correctas, el sitio le dice que debe tocar la notificación en su teléfono para completar el proceso de inicio de sesión. Pero no tiene ese teléfono en sus manos.
Piensa por un momento. ¿Cómo podría obligar al usuario a tocar esta notificación? De repente, le llega un destello de inspiración. El hacker presiona el enlace “Reenviar notificación” en la página de inicio de sesión. Luego, lo presiona de nuevo. Y otra vez. Diez veces más. Veinte veces más. El usuario del otro lado está siendo bombardeado por estas notificaciones. Después de una ráfaga de clics, el formulario de inicio de sesión se detiene un momento. Luego, la página cambia. ¡El hacker lo logró y ahora está mirando la bandeja de entrada de correo del usuario!
Pero en lugar de un tesoro de información personal para robar, el hacker solo ve una cosa: flag{0cc175b9c0f1b6a831c399e269772661}
Esto no le sorprende al hacker. No estaba apuntando a una persona real. Era un desafío de Capture the Flag (CTF) llamado “MFAtigue”. Y acaba de resolverlo.
El CTF es una tradición consagrada en la comunidad hacker.
Este año, para celebrar el Mes de Concientización sobre la Ciberseguridad, el equipo de Huntress organizó un torneo CTF de un mes de duración. Al final del CTF, casi 9.000 hackers de todo el mundo probaron suerte en 66 desafíos únicos para poner a prueba su temple de hacker. Solo alrededor de 45 jugadores completaron todos los desafíos.
Esta publicación es una retrospectiva de nuestro CTF. Nos divertimos mucho, aprendimos muchas lecciones e hicimos un RickRoll a bastante gente.
El hacker en la arena
No nos adelantemos. Primero, ¿qué es un CTF?
Capture the Flag, o CTF para abreviar, es el deporte del hacker. En estos eventos, los hackers se reúnen, ya sea como individuos o en equipos, para enfrentar su ingenio y astucia contra un conjunto de desafíos. Cada desafío está diseñado para poner a prueba su comprensión de un concepto técnico. Cada desafío tiene una bandera escondida en algún lugar, y el reto del hacker es descubrir cómo llegar a ella.
Los CTF tienen raíces en la tradición hacker, si es que existe tal cosa como la tradición hacker. Empezaron donde empezó la mayoría de las cosas de hackers: en DEF CON en la década de 1990. Los CTF pueden ser por diversión o competitivos. ¡Y cuando se vuelven competitivos, se vuelven muy competitivos!
En un CTF competitivo, las banderas dan puntos. La bandera representa la navegación exitosa de un desafío, así que el botín va para los jugadores. Cada hacker o equipo de hackers gana puntos por enviar banderas correctas. Algunas banderas pueden valer más que otras, lo que es una forma de representar la habilidad requerida para resolverlas.
Los desafíos varían en tema, complejidad y tono. Pueden ir desde hackear aplicaciones web vulnerables hasta exploits de memoria personalizados, o incluso rastrear a un personaje ficticio examinando su huella en línea. Nunca sabes contra qué te vas a enfrentar, y no puedes estar preparado para resolver cada desafío de inmediato. Por lo tanto, se espera que te cueste trabajo. Trabajamos en un campo donde ninguna persona tiene todas las respuestas, y los CTF te lo recuerdan.
Pero una constante permanece: la creatividad. Alimenta el diseño de estos desafíos y, de igual manera, impulsa su resolución. Los hackers son inherentemente creativos, así que resolver sus desafíos requiere creatividad.
CTF con mercancía de Huntress
Cuando Huntress hace un CTF, lo hace con estilo. No hablo solo de los premios en este caso, aunque todos los que quedaron en el top 10 terminaron con algún tipo de mercancía de Huntress como premio. En este caso, hablo del estilo de un CTF que te pone en los desgastados tenis monocromáticos de caña alta del analista de amenazas. Déjame explicarte.
Muchos CTF tienen un tono particular. El diseño de los desafíos, en la mayoría de los CTF, puede describirse como “extravagante”. Un CTF normal puede presentarte un sitio web bien hecho pero ridículo, que dice “¡Bienvenido a la empresa de conchas marinas de Sally! ¡Encuentra las mejores conchas aquí!”. Como hacker, intuyes la premisa del desafío. Este sitio es vulnerable a la inyección de comandos del sistema operativo y necesitas descubrir cómo obtener una shell, cómo inyectar código en el sitio para obtener acceso a él. El desafío está construido para ser divertido, peculiar y atractivo. ¡Y lo es!
En Huntress, honramos el pasado pero lo adaptamos al presente. El tono extravagante del CTF todavía está presente, pero es solo un toque de sabor añadido al plato principal. El plato principal, en este caso, es un conjunto de desafíos centrados en análisis de malware, respuesta a incidentes, forense de memoria y oficio hacker. Diseñamos estos desafíos para mostrarte el trabajo cotidiano de los analistas de amenazas de Huntress. Así que, aunque todavía hay desafíos divertidos y extravagantes, la mayoría exponen a los jugadores al oficio más reciente de los actores de amenazas.
Un día, estás jugando piedra, papel o tijera contra un programa de computadora que puede leer tu mente. Al día siguiente, estás diseccionando una muestra de malware y haciendo ingeniería inversa de cómo se conecta a su servidor de comando y control. En varios casos, el equipo de Huntress incluso extrajo malware activo directamente del endpoint, lo limpió un poco y lo convirtió en un desafío. No hay nada más auténtico que eso.
Desafíos para días
Un buen diseño de desafío CTF es como un buen diseño de rompecabezas. Cada desafío debe presentar al jugador todo lo que necesita para completarlo y dejar que sea él quien una las piezas. Tal vez el jugador sea un experto en la premisa de un desafío y lo resuelva de inmediato. Pero tal vez ese mismo jugador haga otro desafío donde nunca haya oído hablar de las piezas, y mucho menos sepa cómo encajarlas. Los CTF, entonces, son tanto un ejercicio de investigación como de práctica de habilidades aprendidas.
Para satisfacer a jugadores de todos los niveles de habilidad, diversificamos los temas y la dificultad de los desafíos. Un jugador podría manejar un sitio web vulnerable como si tocara un violín, pero no saber ni por dónde empezar con el análisis de malware. Así que necesitábamos crear una amplia variedad de desafíos que pudieran disfrutar tanto expertos experimentados como recién llegados.
También intentamos añadir variedad a los temas de los desafíos. Tuvimos desafíos clásicos de estilo CTF como Land Before Time, que requería esteganografía para resolverse. Rock, Paper, Psychic enfrentaba al jugador contra una computadora telepática, donde la única forma de ganar era reescribir los bytes del propio programa. También incluimos desafíos de análisis de malware como Hot Off The Press, Thumb Drive, Batchfuscation y PHP Stager, para poner a prueba las habilidades de análisis y clasificación del jugador.
Algunos desafíos fueron fascinantes en su diseño e ingeniería, como los desafíos de M Three Sixty Five. Les dimos a los jugadores la oportunidad de usar herramientas de hackeo en la nube para enumerar y explotar un inquilino de Azure. Este fue, sin duda, mi conjunto de desafíos favorito de este CTF, y el mérito es de sus creadores, John Hammond, David Carter y Dave Kleinatland, por su ingenio.
Momentos destacados
Varias veces durante el transcurso del CTF, vi lo siguiente desarrollarse en el servidor de Discord dedicado al CTF:
“¡Acabo de resolver [inserta el título del desafío]! Nunca había oído hablar de [inserta la premisa central del desafío], pero ahora tengo curiosidad y quiero aprender más”
Como diseñador de desafíos de CTF, no hay mejor sensación en el mundo que ver eso suceder.
Otro momento destacado para mí es ver a los jugadores llegar a soluciones innovadoras para los desafíos. El desarrollador del desafío conoce bastante bien la solución prevista para sus propios desafíos, pero siempre sorprende ver cómo los jugadores de CTF abordan, iteran y resuelven los desafíos con chispazos de innovación.
Reflexiones finales
La gloria es para los hackers en la arena. Los CTF reúnen a la comunidad hacker y nos recuerdan que todos somos aprendices de un oficio que nadie domina, ni lo dominará jamás. Luchamos, fallamos, repensamos y triunfamos. Nuestras habilidades se complementan, y nos impulsamos entre todos compartiendo lo que sabemos. El CTF de Huntress fue un testimonio de eso.
A los jugadores, ¡gracias! Hacen que la comunidad sea mejor. A los ganadores, ¡felicidades! Nos vemos en el próximo CTF.