Pull to refresh

Comments 65

А я вот только прочитал про квест и был неприятно удивлен что, оказывается, регистрация уже закрыта… Вот и зачем теперь этот пост, если он актуален только для 200+ зарегистрированных в квесте?..
пока еще есть более чем все шансы для всех желающих
Квест актуален для всех. Он начинается с опубликованной здесь картинки и регистрации более не требует. Просто у тех, кто предварительно регистрировался, есть преимущество в 1 час (они раньше получили картинку), чтобы победить.
Для тех, кого все-же
перехитрил англичанин
outguess
[aʋtʹges] v разг.
перехитрить
тут понять бы о каком втором месте идёт речь )
Это уже не так сложно) Уж если с англичанином вы справились без подсказки)
С ним-то как раз всё несложно, всё видно по изображению и названию файла. А вот с местом… Даже с подсказкой ниже ничего не ясно.
Ну как же так)) С подсказкой ниже все вообще кажется очевидным
жирные буквы, не жирные, та раскладка, нета, тот регистр, не тот, имя/фамилия героя, фамилия актера, имяфайла, часть имени файла — could not extract any data with that passphrase — надоело.

Все гораздо проще, буквы не при чём

почему же буквы разной толщины в англичанин перехетрит тебя?
дааа, я тоже всякие перепробовал варианты с этими буквами, и в раскладках разных, и в комбинации с названием файла. Но это, наверное из-за стеганографии так получилось. В моем случае у меня просто не было шансов, т.к. версия софта отличалась от нужной для решения.

А разгадка проста: на картинку наложен был фильтр "рисование кистью" в Gimp, и он по собственному соображению раскрасил буквы разной жирностью. Никакого смысла это не несло

эта информация мне уже известна, но все равно ничего не понятно
Дождись разбора от победителя
На 14:00Msk все еще нет победителя и все участники еще относительно далеко от финала
Что-то жестко вишу после телефонного звонка, можно какой-нибудь намек? :)
Первое слово «affinity»? Слышно плохо…
Гугление по буквам и цифрам приводит на сайт ассоциации врачей? о_О
Телефонный звонок
Скрытый текст
вТорое мЕсто
Скрытый текст

и это канал, конечно. Где?

Вот тут и я подвис, так и не смог нужный канал найти.
Тут полно подсказок в посте по этому поводу, а скоро победитель опубликует разбор квеста
Здравствуйте. Дозвониться по указанному номеру больше не получится? При попытке позвонить звонок сбрасывается
А по какому вы звоните? Правильный точно работает
А что за номер из Вологды, случайный?

График с цветными полосами — это

Скрытый текст
конечно же бинарный код

С цветными полосками было просто, но дальше
Скрытый текст
застрял на содержании письма
Конфиг для подключения OpenVPN

Ура! Ты победитель! Будет классно, если под спойлером расскажешь весь путь!

Что там было после подключения через OpenVPN? Хотел поднять виртуалку, пока возился, не успел…
Было бы интересно посмотреть статистику от организаторов, сколько процентов участников прошли сколько этапов.
Мы можем оценить только по ip, в целом сделаю анализ за завтра
c TAR'ом вы конечно упоролись ) это вроде как подарочки распаковывать?
Я знал, что вам понравится)))
Только не говори, что ты руками распаковывал
Спасибо за классный квест! Отличный повод отложить подготовку к экзаменам в институте :)
Для интересующихся — под спойлерами разбор задачек.

Начало
Итак, начинаем с леса, в котором нетрудно углядеть штрихкод. Собственно, используя какой-нибудь распознаватель, получаем адрес 159.69.211.35:3232.
Элементарно, Ватсон
По данному адресу висит изображение в JPEG:


Видимые артефакты намекают на стеганографию, а в названии файла Englishman_outguess_you.jpg присутствует довольно неожиданный перевод слова «перехитрить», который наводит на утилиту Outguess. С её помощью извлекаем закодированную в Base32 ссылку jbxbcjjz.gonchar.uk:7463/jbxbcjjz.

Кстати, тут есть небольшая пасхалка. Если зайти по дефолтному 80му порту на сайт с Ватсоном, тебе предложат послушать песню Wrong Way.
Позвони мне, позвони
По ссылке оказывается ogg-файл c песней «Позвони мне, позвони» в исполнении Ирины Муравьёвой. В метаданных призыв повторяется более конкретным образом:
      COMMENT         : RmxhbnQgTW9zY293IG51bWJlciBleHQgNQo=
      ALBUM           : RmxhbnQgTW9zY293IG51bWJlciBleHQgNQo=
      ZN              : 20468
      COMMENTS        : Позвони мне по телефону +7 8172 578 223 и узнай, что тебя ждет дальше
      TITLE           : Позвони мне, позвони
      ARTIST          : Муравьева Ирина
Впрочем, на Вологодском номере звонок сразу сбрасывают, зато в комментарии/названии альбома лежит закодированная уже Base64 строка «Flant Moscow number ext 5». Находим на сайте Фланта их номер +7 (495) 721-10-27, прожимаем пятёрку и слушаем сообщение.
Второе место и каналы
Криповый детский голос зачитывает:
Привет, рад что ты здесь. Венеция и Петербург славятся своими каналами. Запомните, редко кто знает имя того, кто занял втрое место. А теперь, следующая загадка.
После этого, более приятный мужской голос оглашает «affinity aqua snow type 2 0 2 0». С божьей помощью (вернее, подсказкой из комментариев) понимаем, что «второе место» отсылает к необходимости посмотреть на вторые буквы слов: fqny2020. При достаточной степени упоротости, каналы должны навести на мысли о Телеграме, где под таким ником обнаруживается канал.
Двоичный код
В канале опубликован график

с подписью
Привет! Тебе удалось пройти часть пути, но еще много впереди. Вот и следующая загадка. И помни: не важно, кем ты представишься!
Можно догадаться, что блоки O1-O4 (octet) и P (port) обозначают IP-адрес и порт, а 8 значений, отложенных по оси абсцисс, задают значения бит. В десятичной системе счисления всё это добро образует 95.216.220.159:110.
Почта
На 110м порту принято размещать POP3-сервера. подключившись по Telnet (к слову, мой провайдер почему-то РОСКОМНАДЗОР этот IP), можно обнаружить заветное приветствие почтового сервера. Вспоминая напутствие «не важно, кем ты представишься», вводим произвольное имя пользователя и пароль, чтобы обнаружить одно входящее письмо.
После масленицы
Письмо довольно большое и начинается следующим образом:
http://10.10.10.1:8080

client
dev tap
proto tcp
tun-mtu 1500
remote 159.69.211.35 5555
nobind
persist-key
persist-tun
Подсеть 10.0.0.0/8 зарезервирована для локальных нужд, а дальше как раз лежит файл конфигурации OpenVPN. Заводим VPN-клиент, открываем 10.10.10.1:8080 и получаем текст «I posle maslenitsy on, i v facebook razmeschen on, i suda im hodit' nado».

Сразу после Масленицы начинается Великий пост, посты постят в Facebook, а ещё в HTTP есть метод POST. Отправляя туда же POST-запрос, получаем «GET here ZZZZZZZ». С 10.10.10.1:8080/ZZZZZZZ скачивается файл.
Распаковка подарков
Скачанный файл оказывается gzip-архивом. Внутри него лежит tar-архив, с названием «tar -xf», внутри которого лежит gzip-архив с названием «tar -xzf» внутри которого лежит tar-архив с названием «tar -xf»… Потом ещё начинают появляться zip-архивы с названием «unzip -o», и спустя 2479 распаковок мы получаем два текстовых файла.
И снова Шерлок
Один из файлов небольшой, вот его начало:
 37 2 4941
 5 2 4941
 6 3 1255
 37 1 2034
 25 4 1408

 11 1 2034
 10 2 1408
 4 6 419
 26 1 3076

 19 1 3076
Во втором, без малого, 5000 строк длинных слов на латинице. Это книжный шифр, упоминавшийся у Дойля (и в бибисишной экранизации). Каждая непустая строка задаёт букву: третье число указывает строку в файле, второе — слово в этой строке, а первое — букву в слове. Пустые строки разделяют слова зашифрованного сообщения «MySQL USER quest PASS superquest BASE quest PORT default INSIDE VPN».
πоследний рывок
Подключаемся MySQL-клиентом по инструкции к 10.10.10.1, и находим таблицу под названием «pi»:
+------+----------+---------+
| id   | position | nexthop |
+------+----------+---------+
|    2 |        2 | .       |
|    7 |        1 | h       |
|    9 |        3 | a       |
|    6 |        1 | i       |
|    5 |        1 | g       |
|    5 |        2 | .       |
|    5 |        3 | o       |
|    3 |        1 | n       |
|    3 |        2 | g       |
|    3 |        3 | r       |
|    3 |        4 | u       |
|    1 |        1 | u       |
|    1 |        2 | o       |
|    2 |        1 | d       |
|    4 |        1 | p       |
|    9 |        1 | o       |
|    8 |        1 | n       |
|    8 |        2 | k       |
|    9 |        2 | c       |
+------+----------+---------+
Числа в колонке id совпадают с первыми девятнадцатью цифрами в десятичной записи числа Пи. Если переставить строки, сложив цифры в правильном порядке (position задаёт порядок вхождений для каждой цифры), колонка nexthop сложится в nupogodi.gonchar.uk.
Слушайте, если победитель так отвлёкся от экзамена, что будет когда он его сдаст?
Самый, наверное, сложный квест на Хабре. Я лично потерял интерес где-то после звонка. Подсказка помогла, но дальше всё равно уже было не интересно.

Дайте статистику, насколько я туп.
Напишите, как вы такие квесты сочиняете что курите при архивации. Много ли времени уходит, много ли народа участвует. Интересно.
Сегодня соберу статистику и отпишу отдельным постом. По поводу придумывания: идём квеста брались из, конечно, известной всем Cicada 3301, входного задания на должность инженера во Флант и предыдущих личных наработок.

Про архивы: именно так упаковать архивы и с такой вложенностью — это была попытка попросить вас автоматизировать процесс, ведь не руками же 2000+ вложенностей разбирать)

Весело было бы в районе 1000й вложенности найти сюрприз типа rm -rf . или форкбомбу :)

Надо было еще на zip уровнях пароль применить (файлы с паролями на несколько уровней выше положить), файлов пустышек положить (тоже с некоторой вложенностью), чую не досыпают вам в то что курите.
P.S. пощелкал мышкой всю вложенность примерно за 15-20 минут. От автоматизации отделяло несколько кликов, получил искомый результат.
Может быть, в следующий раз) я вижу, что вам не хватило сложности)))
Да, любым почтовым клиентом все работало бы на ура
А вот и обещанная статистика по квесту (все, что удалось собрать)
*****************************************
* Статистика по квесту за 6 и 7 января *
*****************************************

1. Всего уникальных IP открыли картинку с Шерлоком: 497
2. Скачали песню Муравьевой (уникальных IP): 89
3. Позвонили и прослушали загадку на телефоне (всего): 80 раз
4. Посмотрели картинку с двоичным кодом (примерно): 35 раз
5. Подключились к OpenVPN: 10 уникальных IP
6. Скачали архив (всего): 14 раз
7. Открыли финальную страницу: 98 уникальных IP всего; 5 уникальных IP до публикации разбора квеста
Посмотрев решение, понимаю, что шансов у меня не было:) Не так обидно, что завис на первом же задании: какой ключ нужен для расшифровки Шерлока? Перепробовал кучу вариантов, ни один не подошел.

Никакого, просто outguess без пассфразы

Важна правильная его версия:
outguess 1.1.6 под мак (gui, который в homebrew tap живет) без ключа ругается, при этом подходит ключ `photo` и на выходе 167 байт мусора (хотя вполне сойдет за какой-нибудь токен)
outguess 0.13b не достает без ключа, photo не подходит
и из попробованных только outguess 0.2 в одном из докер-наборов дал base32-строку (причем с ложным ключом он тоже выдает тот же самый «мусор»)

UPD: в changelog outguess есть запись, что в 0.2 новые DCT коэффициенты и она больше не совместима с предыдущими (по идее получается что достаточно попробовать как раз 0.13b и 0.2), а GUI основан на достаточно свежем коде и можно заставить работать скормив ему `Default key` в качестве ключа (у них закрыты issues на гитхабе, а вместо кода папки под отдельные версии с zip-ованными бинарями и коммитам только вида «Add files via upload» — скорее всего пулл-реквест делать нет смысла)
даа, точно без шансов для меня было. Спасибо за пояснение, по крайней мере можно не переживать, что это я не додумался:)
Офигенно, два часа потратил на пиксельхантинг. Хорошо что вовремя бросил и переключился на другие дела. Мало того что стеганография должна быть от правильной программы, так еще и правильной версии! и это второй уровень, автор квеста — серьезно?

Так название программы прямым текстом в имени файла с картинкой, повторно в подсказке и явно видно что картинка чем-то промодулирована(возможно там несколько слоев для усиления эффекта), а версия подходит как раз самая свежая

Под линукс без вопросов сработало простое:
apt install outguess
outguess -r <название файла для расшифровки> <название файла для выхлопа>
cat <название файла для выхлопа>
вместо отдельного `cat` и временного файла — можно сразу писать в `/dev/stdout`:
outguess -r Englishman_outguess_you.jpg /dev/stdout | base32 -d
Sign up to leave a comment.