Hola Habr!
Resumiendo la búsqueda de MBLT DEV 2018 : analizamos tareas y obsequiamos: boletos de conferencia, suscripciones para todos los productos JetBrains y los certificados Skyeng más exitosos.

Sabemos que tuvo que aplastarse la cabeza. El autor de tu tormento es damnerd . Te contamos qué se le ocurrió y cómo deberías haber resuelto las tareas.
Entrada de la misión
Por tradición, lo escondieron en un video . Incluso a una velocidad de visualización normal, puede ver el cifrado, omitiendo un video a tiempo con la música en una de las escenas:

Aunque algunos se apresuraron a escribir letras decorativas de otra escena:

Reescribimos el código y obtenemos: aHR0 cHM6 Ly9t Ymx0 ZGV2 LnJ1 L3J1 L3F1 aXo =
Al ver el signo =
al final, nos damos cuenta instantáneamente de que se trata de una cadena codificada en base64. Sin pensarlo dos veces, realizamos
echo 'aHR0 cHM6 Ly9t Ymx0 ZGV2 LnJ1 L3J1 L3F1 aXo=' | base64
(o decodificación de google base64 en línea) y obtenga un enlace para ingresar a la búsqueda: https://mbltdev.ru/en/quiz
En principio, la URL se mantuvo igual que la última vez, porque los programadores eran flojos y no la cambiaron. Se rumorea que hubo quienes "adivinaron" el enlace de memoria o mostraron sus habilidades psíquicas.
Tarea 1
Era necesario seguir el enlace y escribir el nombre del equipo que dejamos en la información sobre herramientas. Tras la transición, mostramos una imagen:

Aquí todo es bastante simple: Fuente = código fuente. Nos fijamos en lo que contiene:
Aquí no confundimos a una persona con ningún código ofuscado o algo similar, sino que, en el lugar más visible, de la manera más obvia (con las palabras de una vaca) emitieron una pista. Al final resultó que, nuestro intento de atraer la atención se convirtió para algunos en una distracción de la pista. Muchos, como respuesta a la pregunta, introdujeron el comando cowsay
, que genera gráficos ASCII similares. Sin embargo, era necesario mirar con precisión el texto: está en el nombre. ¿Cavarlo? El nombre del comando estaba directamente en el indicador: dig . En realidad, pedimos el nombre del equipo (porque el comando en sí se puede ejecutar con el mismo éxito con un conjunto diferente de parámetros, y los programadores son flojos y el sistema de verificación de respuestas es estúpido), por lo que esta fue la respuesta a la primera pregunta.
Tarea 2
Después de ejecutar el comando "cavar", fue necesario ver una pista, con la cual puede ir al siguiente paso. Pedimos escribir su significado.
Volviendo a la pista de la asignación anterior, además de la palabra cavar, el nombre de la palabra estaba cerca, con el significado del nombre de dominio. Cerca, el nombre permanente y la excavación conducen al siguiente paso: la necesidad de elegir (o verificar, si lo desea) registros de dominio para el nombre donde se encuentra la página con la pista. Por supuesto, por defecto, dig solicita un registro A, que no tiene más que un registro maestro con una dirección IP. Tenía que adivinar que necesita solicitar un registro TXT:
> dig +nocmd +noall +answer q1.mbltdev.ru txt q1.mbltdev.ru. 10108 IN TXT "quest@95.163.108.79:10022"
O google dig en línea y use una cara web simple sin leer maná en dig:

El significado directo de esta entrada de texto fue tanto una respuesta a la tarea como una pista para la siguiente acción: iniciar sesión a través de SSH para alojar 95.163.108.79
en la quest
usuario en el puerto 10022
: ssh quest@95.163.108.79 -p 10022.
Tarea 3
Descubrimos un acertijo sobre lo que Android e iOS tienen en común. Pidieron calcular la contraseña e ingresarla.
Muchos escribieron que era demasiado complicado. ¡Pero este es un acertijo en la búsqueda que nadie puede pasar! Pero en general, todo estaba en el texto, incluso la palabra Padre.
Intersección de Android y Apple -> SO
El progenitor de su sistema operativo → Unix
minúsculas (Unix) → unix
sha1 (unix) → d13bbbd92b83ddaad994a12bd9d20dfba5fff139
> echo -n "unix" | shasum d13bbbd92b83ddaad994a12bd9d20dfba5fff139 -
Como de costumbre, puede buscar en Google sha1 en línea y calcular la cantidad sin salir del cajero.
Tarea 4
Todo lo que se necesitaba para completar esta tarea se encontraba en el directorio de inicio. Pedimos recibir el siguiente mensaje después de ingresar la contraseña de la Tarea 3 y escribir su valor.
En esta etapa, muchos querían darse por vencidos y nos escribieron comentarios enojados, pero en realidad fue muy simple.
El directorio de inicio contiene solo 4 archivos, dos de los cuales están fuera del negocio: .profile
y .bashrc
eran configuraciones casi completamente predeterminadas para un nuevo usuario. Había dos archivos con el nombre "vacío". Por cierto, incluso SSH MOTD lo insinuó con su frase /\s/
. Este no es un emoticón extraño, sino una expresión regular para un espacio en blanco. En el nombre del primero de los archivos había un carácter de espacio ordinario (U + 0020: ESPACIO). El segundo es una brecha inusual de la escritura china (U + 3000 IDEOGRAPHIC SPACE).
Los usuarios de ITerm2 en Mac OS tuvieron una dificultad adicional: este emulador no quería copiar un espacio inusual. Una Terminal ordinaria copiaba fácilmente un personaje, y simplemente podía ejecutar comandos en él con un simple ⌘C-⌘V. Pero para los usuarios de emuladores corruptos, así como las perversiones, había otros métodos, por ejemplo, hacer que ls -li
descubriera el número de inodo del archivo y luego ejecutara los comandos con find
:
find . -inum 660402 | xargs cat
Por cierto, este comando solo escupe muchas líneas vacías en la terminal. Aquí, las personas con conocimiento podrían adivinar de inmediato que se trata de una lista de un programa en el idioma de espacios en blanco, el intérprete de espacios en blanco de Google en línea y obtener el siguiente mensaje. Las personas desconocidas podrían adivinar que de alguna manera necesitas combinar los dos archivos que tienen a su disposición. Una pista adicional fue que uno de estos archivos tiene una bandera de ejecución (+ x) y cebada perlada. De una forma u otra, la ejecución del programa dio una respuesta: http://q1.mbltdev.ru/q.webp
Tarea 5
En la cuarta tarea, ocultamos el enlace http://q1.mbltdev.ru/q.webp . En el quinto, era necesario seguirlo y responder la pregunta.
La asignación final fue simple para calmar la situación. En esta URL, había una imagen tiff
guardada con permiso de webp
. Algunos visores gráficos inteligentes lo abrieron sin dudar. Algunos no se abrieron. Pero fue suficiente preguntarle a alguien que sabe:
> file q.webp q.webp: TIFF image data > mv q.{webp,tiff}
En la imagen en sí había una pregunta simple:

Respuesta: 0. MBLT DEV siempre tiene lugar en Moscú. Este año nos reunimos el 28 de septiembre.
Por cierto, dicen, algunos encontraron una imagen en una solución alternativa. Esto fue posible si buscaste en el servidor desde la cuarta tarea, porque tanto la página de la primera tarea, como la imagen de la última, y las tareas 3 y 4 estaban alojadas en la misma máquina (no te olvides de la pereza de los desarrolladores). En resumen:
quest@questmblt2018:~$ grep root /etc/nginx/sites-enabled/quest root /var/www/html; quest@questmblt2018:~$ ls /var/www/html/ index.html index.nginx-debian.html q.webp
Post mortem
Por cierto, sobre la pereza de los desarrolladores: a pesar de que sabíamos que esta búsqueda no podría funcionar sin kulhackers, éramos demasiado vagos para defendernos de todos los posibles problemas. Por ejemplo, las personas comenzaron a chatear con mensajes de difusión, evitando que otros completaran la búsqueda.

Hubo un artesano que cargó 15 GB de datos al servidor, después de haber agotado su espacio en disco. Por supuesto, hubo script kiddies que lanzaron bombas de horquilla, rompiendo el inicio de sesión para otros usuarios. Bueno, hubo algunos bots “spam” que intentaron, sabiendo las respuestas correctas, tener más oportunidades en la lotería final.
Pedimos disculpas a quienes fueron impedidos por participantes sin escrúpulos.
Regalos y ganadores
3070 personas intentaron completar la búsqueda. Obtuvimos 666 respuestas, limpiamos a los tramposos, como resultado, 297 personas completaron con éxito la búsqueda. Entre ellos, jugamos los regalos principales.
A cada participante se le asignó un número de serie y los premios se ganaron usando un generador de números aleatorios . Grabamos un video con una selección de ganadores. Los correos electrónicos están ocultos por razones de privacidad.
Entradas para la Conferencia de desarrolladores móviles MBLT DEV 2018
Los boletos son recibidos por Vladislav Kozlov, Dmitry e Igor.
Suscripciones anuales para cualquier producto JetBrains
Las suscripciones son Pavel Parfyonov, Vadim Skripnik y Andrey.
4 clases de inglés gratuitas en la escuela en línea Skyeng
Los certificados son recibidos por Sergey y Valentine.
2 clases de inglés gratuitas en la escuela en línea Skyeng
Los certificados son recibidos por Alexey y Eugene.
También enviamos pequeños obsequios a los otros participantes en la búsqueda. Revisa tu correo!
Reunirse en MBLT DEV 2018
La conferencia se llevará a cabo el 28 de septiembre en Moscú. Los participantes encontrarán presentaciones útiles de desarrolladores de Netflix, Uber, Revolut, Badoo y otras compañías, redes y fanáticos. Hemos preparado algunas misiones más con premios geniales. Los boletos están disponibles en el sitio web de MBLT DEV .