Resultados de la fase en línea de NeoQUEST-2020: sobrevivieron lo mejor que pudieron



NeoQUEST-2020 ha llegado a su fin, y ahora es el momento de hablar sobre estas ricas dos semanas: revelaremos la esencia de las tareas (pero no todas, algunas saldrán como informes separados), ¡mostraremos las estadísticas de su progreso y anunciaremos a los ganadores!

¡Atención! El artículo contiene spoilers para aquellos que aún no han completado la tarea, pero honestamente van a hacerlo (y existe esa oportunidad: ¡ el sitio de la etapa en línea continúa funcionando!).

No languideceremos con una larga introducción. Este año se convirtieron en ganadores de acero:

  1. hellow0rld666 , 1221 puntos
  2. KARASIQUE , 1221 puntos
  3. ch1sh1rsk1 , 1085 puntos

¡Tres saludos a estos muchachos! La lucha por el primer lugar comenzó en serio: el líder cambiaba casi todos los días. ¡También vale la pena señalar que hellow0rld666 y KARASIQUE se convirtieron en participantes que completaron TODAS nuestras tareas! No le creíamos a nuestros ojos, pero sucede.

Dato curioso: todas las tareas que despertaron gran interés en el primer día de la competencia fueron desarrolladas por chicas :)

¡Explique sobre las tareas!


¡En el transcurso de dos semanas, nuestro buzón support@neoquest.ru no dejó de enviar señales para recibir mensajes entrantes! Pero solo estamos contentos con esto, ¡esto significa que nuestras tareas se están llevando a cabo e interesan a los participantes!

Entonces, ¿qué teníamos en las tareas?

Tarea No. 1 - "No hay admisión contra la piratería". Los

participantes recibieron un enlace, después del cual llegaron a la página con la única inscripción "¡Hola, mundo!". ¿Qué hacemos desde el principio en tales casos? Por supuesto, estamos rastreando el código fuente de la página:



para resolver este caso, use el poder completo de GIT, como GIT es un nombre bien conocido. Pero, ¿por qué se resalta otra letra? ¿Y si los conectamos? ¿CGIT? ¡Exactamente, escuché algo así!

CGIT - interfaz web de repositorio.

Entonces, lo descubrimos. Sigue el link213.170.100.213/cgit , donde hurgamos en todas las carpetas, tratamos de encontrar la clave, pero después de un cierto número de horas entendemos que el punto es diferente.

Y ahora las personas se dividen en dos categorías: las que escucharon sobre la vulnerabilidad de alto perfil de cgit y las que no escucharon.

En cualquier caso, debes buscar en Google y encontrar CVE-2018-14912 . Además solo juegos de manos y sin fraude:

213.170.100.213/cgit/cgit.cgi/my_repo.git/objects/?path=../../../../../../../etc/ passwd
Obtenemos el archivo con contraseñas, luego de él obtenemos la primera parte de la clave:
NQ2020Gka2rFseNPexB4JsnP9k9RKulFVQDCcXwYy1aPKI + ver más ...

Queda por encontrar la segunda parte. Aquí es fácil: el repositorio no contiene tantos archivos, por enumeración entendemos que no hay nada en ellos. ¡Pero estamos en el repositorio de Git, lo que significa que puedes ver todos los cambios que había en él! Allí, la información obviamente será más completa ...

Entramos en diff, ya sea por el puntero "ver más", o encontramos manualmente "ver más = e9a3c19a544e6589825fd643f4e6d5c1c4e9", ¡concatenamos con la primera parte y obtenemos nuestra clave!

Tarea número 2: "Desmontar el robot o tienes l_apk_and?"

Los participantes reciben una aplicación apk que es un cliente de archivos. Se comunica con el servidor y recibe un archivo cifrado con el nombre especificado. Debe obtener certificados y tokens de acceso para obtener la clave.

¡Se publicará un análisis detallado de la tarea como un artículo separado!

Tarea No. 3 - "La izquierda más genial"

En la tarea, se propone descargar un archivo que contiene un archivo binario de 1 GB con el nombre de habla memdump.bin, en base al cual podemos suponer que este es un volcado de RAM ...

¿Está intrigado? ¡Pronto publicaremos este resumen como un artículo separado, porque nuestros participantes estaban interesados ​​en esta tarea en NeoQUEST!

Tarea No. 4 - "Dificultades en la escritura" ¡

Lo más destacado de NeoQUEST-2020, una tarea que recolectó un número récord de críticas favorables en apoyo! La conclusión es que el sonido del archivo wav no es más que el sonido de escribir en las teclas. ¡Es necesario probar este sonido y realizar un análisis de frecuencia!
En breve se publicará una explicación más detallada de la tarea.

Objetivo №5 - curvas «epilépticas"

Condiciones de trabajo:

A = 119008536160574978629781290147818127606791827844670246888266509216288777541932
B = 125173392763487646441684374997817715298134647755542804722568603162177610612799
char_field = 137503105969312982065490544697816890680820287577287920391172791053955276754533
P = (24588378651043317545653993517686345205594551142728198236546389666483449174897, 64035697994960793657311999090254655816706285115803662919872675661618460099464)
Q = (70440277554855197417972068200756767916691677649413431083023577625869629031919, 72025841911476301630338043296901014469577623652063349003687337089744015808109)

Francamente insinúa la necesidad de resolver el problema del logaritmo discreto en una curva elíptica. Tras observar los parámetros de la curva elíptica y estudiar sus características, suponemos que esta curva es anómala: el orden del grupo de puntos de dicha curva coincide con la característica del campo sobre el que se da. Y para esta clase de curvas hay un ataque inteligente que le permite calcular el logaritmo discreto deseado lo suficientemente rápido.

Además, es una cuestión de tecnología: ¡escribimos el código de ataque, sustituimos los datos de la tarea, encontramos el logaritmo discreto y nos alegramos de la clave obtenida!

Tarea número 6: "Telegramas ocultos"

Otra de nuestras gemas, porque escuchamos un poco sobre los geocats en el telegrama. También se publicará un análisis detallado de la tarea como parte de un artículo separado: aquí hay muchos matices interesantes.

Tarea número 7: "Alíneame si puedes"

Dada una imagen: el



truco de la tarea es que esta ecuación de Diophantine con tres variables no tiene soluciones enteras positivas, lo que significa que la esencia de la tarea no está en una solución simple de la ecuación, y necesitas cavar ¡Más adentro!

Imágenes de metadatos

char_field = 2733425503484079885916437054066624513727898092580736050087
base_point = (2003799601518383430823233516441563713038362096795740845531,2732921640345227083457754907818649009295467132857674744044)
open_key = (1259834880846103046383661778550941435260068858903099332507,1686622613601304663126341188899964094370838010363453830341)
secreto <4351098091135498422 ---> y ^ 2 = x ^ 3 + Ax ^ 2 + Bx

nuevamente insinúa curvas elípticas, pero ¿cómo se relacionan con esta ecuación? ¡Resulta que hay una conexión! Habiendo encontrado los coeficientes A y B de la curva, nos enfrentamos a una nueva dificultad: los puntos de los metadatos de la imagen no pertenecen a esta curva. ¿Qué hacer? Con la esperanza de encontrar una pista, volvemos a leer la leyenda y vemos la mención de "Twisted Sister". Eureka! ¿Qué pasa si los puntos pertenecen a una curva retorcida ? Ahora depende de usted encontrar una curva que contenga puntos de metadatos. ¡Después de pasar a la curva retorcida correcta, aplicamos el ataque Polyg-Hellman y disfrutamos de nuestra visión!

Tarea número 8: "¿Me puede dar su autógrafo?"

Según las estadísticas de NeoQUEST-2020, esta tarea es la más difícil, por lo que decidimos dedicarle un artículo por separado. En resumen, debe averiguar cómo cargar un documento pdf sin firmar en el sitio . Para hacer esto, los participantes deberán explotar una vulnerabilidad interesante :)

Tarea número 9 - "Dedícate a la programación"

"No confíes en tus ojos" - este es el lema que daríamos a esta tarea. Al descargar un archivo con código fuente en C, parece que solo hay código dentro que cifra / descifra usando el algoritmo AES, pero "no estaba allí", le decimos. Debe prestar atención a la presencia de errores en el código, así como a espacios sospechosos y sangrías. ¿Prometimos el esoterismo? ¡Recibe y firma!

El hecho es que en este archivo, además del código C, también hay código en lenguajes de programación esotéricos: ¡espacios en blanco y cuchara! El código en el lenguaje de espacios en blanco nos dará la clave, el código en el idioma de Spoon nos dará el texto cifrado. ¡Ahora corregiremos los errores en el código, lo ejecutaremos con los datos recibidos y obtendremos la clave!

Tarea número 10: "Ser humano" ¡

OSINT este año está tratando de no retirarse de las tendencias modernas! Creamos la imagen de un robot que quiere convertirse en un ser humano y, por lo tanto, estudia los hábitos humanos, y permitimos a los participantes en todas las redes sociales en las que apareció este robot.

Entonces, los participantes reciben el siguiente texto:

cHVibGljMTAxMTAxMTAwMTAxMDExMDAxMDAwMDAxMDAwMeKArA ==. Dos signos "=" literalmente gritan: "sí, sí, soy base64, decodifícame por completo". Escuchamos esta llamada y nos hacemos públicos101101100101011001000000010001. Luego, convierta el binario en decimal, obtenemos public191194129. Muy parecido a algo, ¿verdad?

Encontramos un grupo VKontakte en el que el robot recopila estadísticas y las respuestas de las personas. Las preguntas sobre la pared bastante entretenido, pero estamos interesados en un enlace a ASK.FM . También hay respuestas bastante entretenidas a las preguntas, pero estamos interesados ​​en un enlace al canal de YouTube . ¡Aquí descubrimos que nuestro robot está tratando de convertirse no solo en una persona, sino también en un blogger! Solo queda un poco: sigue las indicaciones del video.

Observamos el tipo de contraseña en el diario:



la ciudad de los sueños está clara desde el protector de pantalla del escritorio: París. El nombre de la mascota tampoco pasa desapercibido: Rose. Vemos su canción favorita en una de las pestañas del navegador, y el identificador está escrito en una taza de café.

La respuesta es Paris.Rose.Starlight.S3574mT

Mini-task number 1

En esta tarea, solo tiene que mirar el código fuente de la página donde aparece la frase "La gente hace bromas de apocalipsis como si no hubiera un mañana". ¿Quien dijo que? ". La respuesta a esta pregunta se encuentra en Google - "Ellie".

Mini-tarea número 2

Descargue el archivo con entradas de texto pronunciadas por el bot. Sí, solo el bot no solo lee el libro de Stephen King Badlands, sino que lee con errores. Después de escribir las letras que faltan, obtenemos la frase "libro sobre la propagación del virus". Sin embargo, esta no es la respuesta! Necesitamos encontrar un libro sobre la propagación del virus. ¡Pero la tarea ya tiene una pista de que el autor sigue siendo el mismo conocido Sr. S. King! La respuesta correcta es The Stand.

Mini-tarea número 3

Se da un archivo ejecutable. Es necesario obtener al menos algo de él, preferiblemente, por supuesto, la clave. Si lo ejecuta, no se mostrará nada en respuesta. Hay muchas opciones para el desarrollo de eventos, pero la correcta es extraer líneas de un archivo determinado que se plegará en texto legible. La respuesta a esta tarea es el nombre del libro del que se extrajo el fragmento: la guía del autoestopista de la galaxia.

Mini-tarea №4

Esta tarea es una interpretación moderna de hackers de la tarea lógica de Einstein . No hay nada complicado en su solución, es más fácil construir una tabla y ver cómo se cumplen las condiciones. La respuesta correcta es RREKPA. # AC + P.EDWKU.LKPGM.MASLHAC: codificado según la condición.

Mini-tarea número 5

El trabajo de Schrödinger es simple y complejo. La simplicidad aquí está en obtener la respuesta: todo lo que necesita hacer es enviar una solicitud POST con el parámetro de marca al servidor, que dará la respuesta correcta. La dificultad radica en el hecho de que debes pensar en ello :) Pero muchos de nuestros participantes lo han tratado valientemente, ¡salud!

Minuto de estadísticas


Las estadísticas para este año son las siguientes:

  • El número de participantes registrados es de 1266 personas.
  • El número de tareas completadas - 10/10
  • El número de participantes que completaron al menos una tarea en su totalidad es de 110 personas.

Distribución de los participantes que han encontrado al menos una clave:



Y este es un gráfico de la actividad de nuestros participantes por los días de la competencia:



Terminamos la sección de estadísticas con nuestro GIF tradicional:



Habla sobre los días por venir


En este momento, planeamos celebrar una "confrontación" NeoQUEST-2020 a finales de junio en San Petersburgo, pero los castillos son posibles en la situación actual en el país. Lo principal: no se preocupe, ¡definitivamente nos reuniremos con usted este año!

Dejaremos los mejores y favoritos: informes, talleres y demostraciones de ataques, ¡y agregaremos uno nuevo! ¡Como el año pasado, NeoQUEST se llevará a cabo junto con la conferencia científica y técnica "Métodos y medios técnicos para garantizar la seguridad de la información" ! Los invitados de NeoQUEST 2020 aprenderán mucho sobre la relación entre la ciencia y la práctica de ciberseguridad, la importancia de la investigación científica para un especialista en seguridad de la información y cómo funcionan los mecanismos de protección de la información científicamente modernos.

¡Los interesados ​​pueden participar no solo en NeoQUEST, sino también en las secciones científicas de la conferencia! Para obtener más información sobre cómo participar con un informe o taller sobre NeoQUEST, escriba a support@neoquest.ru, y para obtener más información sobre la conferencia "Métodos y medios técnicos para garantizar la seguridad de la información" , visite el sitio unido , para todas las preguntas, póngase en contacto con mitsobi@neobit.ru.

¡Adelante - informes de varias tareas y preparación activa para el "Cara a cara"! Por cierto, los participantes que hayan completado al menos una tarea: revise su correo, ¡pronto comenzaremos a enviar!

All Articles