010100110001010000001011000000011010001001100100101000010011101000011100111000110001010000011010101001111111011000101001010001001111010110110000100111100001001010011000111000011010110100001110011000101101101111011011001111010111110001111000111101001001011001000101010101 000101100101110001101101000001010000000101011110011101111011001000010110001111000101010101111110010011000010010011100110101100100100111101101101010111100101011000110001010101101101010100011111111101011000100100011000010001000110100101111001101000100001110100100001100101 001111100010010001010110011110010100100110101001101101010111110111001000101001010000101111001111111111011100100000001000111100010000101001110001110010010100100110010010110101000001111110001011011000000000011100110000110010101101111000110011000000011110001001101000011010 011110010001110101100001001011001110111010010001100001001000010100011011110111110010110011011001010111111001001011001111111010000110001110001001101100111000011011111011110111100001111100100111001001011110110101001101110100111001110111101100101110101001111110110011101111 000001111110000110001111011011100101000011000010110110011001110000000100101111110110111101010100000000101100011101101111010100101011010101100101100101110000100100100000110000101100001011111010110001011111001110010000100100110100000111100111000101001010001010011010011101 110110010111101001100111000111000101001000010111010010000111000011001111101101000100000111001111000111011000101011011101011110101111010111010111010101110111101000001111111010100000000110100010010101001100111101000100011000101011011101000111001000010111000010110111111100 110100010100000111010000000011001110111110010110000101001001001111111001000010101011100111010100001010011010100100000000100111001101111000101101000001110000010111000001101001011010110111011110000111000011010101011010011011010111001011110000101111000111000101001110010000 000001101010110010100000000011101010010101010111110101100100000111000100000011100001101111011001000011110111011111001001000111011000001000110011001010001101100101011011100001011110111000010100100111010011110001000001101000101110111110100011010101111011101001100011010100 011110101111011010000001101110111110110110100001011111110111011110100010101010011111100101111010101111000001110000111011101100011100111101100111001100100010000110101110010001011001110111010001000010000110001000101000110101001110010111000000110111110100110010001111111011 001001011000110110111011101000001111100001010111101001011001110011110100100000001010101100101110100000110010100101111101101111100000000101101101001001010011111100010100001001100100101010011001100100010100101000100000000000011011011111001000101001100010101100000010010110 100001101011110010100000000010010000010110110111001001111010100100010001110011101100010101010010101011011101000100000000010110010011010001111000100110111000100010110101000001110100111000100101000010111100010110100010010001000000001100110001101001110111111101000001010001 110000011001000100110011001011110010011001001100100000001000101001000110100010000110111111011110010010101011000011010100101110001011100000011111000001100001010011000110110001011100011001110011011000010101010100010000111011110110001011100010111111011011110011011010000000 011010010011001000101011110110111010000111111000110010000000001110011000000001101001100111111010111010011110000011111110011000100011010100111010001110000110100011001101011000101001100011000101010010101010010110110001011011001111101011111100101101100111001100111010001110 001000000011010001100101011000101111100100000100111000110000101001001011001100101111010101011010101110011111010110001111110111010000111001110110010010101111011011010000111110100100100110001111101111100101011101010110111011110000011110000111001011100000000000001011011011 011011001000000111110111101110110100100011001101011110101011000101000100010000000001101111010000001000110000000110101000111110111101001011001110000110100110000110000111001000110101011011111101101100010110110110101101110100001111100101011100101101101101100010101000001110 010000000001101101011001001000001000110010101010001101101000011111101100100011101000111111010110010110110100000010101001011111100011001100111111100111011110011101100111110110101101101100100100000101111110001101111100111001001100010100110100110111111110101011100010110011 011100101011010000010011000110000010100011100101010001101000101110010000000000011110111100001101101000100111000110111010011110011110111011101111111100001100011011101000100110110110111001111011111110001010010110101100110100001010100001000010111100010010001011101010011101 000000110011100000000101101010011110000010101010011011011001000010111010000000110101011011000101101001011101101101110001100111111100000001001100001011111110001000010110011110110111100011100000101110010111001101000110001001101111100111110011000001010100000011011111101100 101110111000000000100110100111001001101011101010000110101010010001111001000101101110100010111011101100011010011111000110111000101000101000001001101110000001110111110110100000010101100001010011001010101111001110010110110111000000001000101101000011010110011101100100111000 101110100001011010000001100100011000010011010100010101000000011100101111010001011101110110100010010010100010000110110101011011100100011000000001010111011101101100001010011010110100010100111001100111010101011111110111001001111100001010001010110011101011000011111011101100 100011010111001111100111111111011010100010110000100011000111110101110010100110001011111101100111110110100001100101110101111110010100011111100010111101101010110000010111011110011001000001111011011000101110101111001001111001110100011010000001011100101101110001111010001010 000011010001100010011100111011101101110101111101001010101010100010111001000100011100011111011110110010111101100110100100001111111100110100010100111001010110000111001011101010110000010010100010101001001001110101010010100001111000100110011101010001101111110010111100111011 111111100001101000101101100010011000110111011010001000101000100010000110100011000100010000000100011011000110110100100101000010000101011111110001100010110100000011000010001101100100111000101011011111000110111111110100100001010111001111011100100110101101000011111011110000 001000011000110001111111100001010011101000101101101001111000000001010001011100101001101100011101010101100010001000000001111101000001110111011100000010011001001111000001001111011111110101000010100101100010111101100010001111001001011100001110111100111100111001001011111010 111011101010010110110011101111000100110101110010010100010001011101110101111011010001011011010010100110110111111100000100011011111001001101101010000010011011001011110101101010100001101100001001010110000011101111011101001011111000101010100111000101111011110010100110111100 001000100111000010011101111010010110110101111000110011011111110011101010100011000010110100101010111101000010101001010100011111011111100001000011000100100101010111110100011100010000001101011111101010001011110011111010100101111000100101110011010111010101111111000110000110 111111110101111111110111000001010101101000110001011010111110000011000000100001010011001111010010110101110010101100000000101011010101000110110101110000001001000011101101111000011100000011100110000001110111101011011110011001001010111110011011001010001100101011010011110001 000000010000001010000010101101011001001111111011110010000100101110011100010111101011010111000111011101110100101001111001101010100011011101100111001111011011011101000011001110010111001010010011011111111110011100111001100001100010101101111101010001010111001010101111011011 110001111111010011101100000111010010100010010101100001110011100110101100011000000010100001011000010001011010111101100010010010010101111011111100010000011100110010110010100000100100111001000111110001011100101001011111001000101101100011010011100100001011001010010101000000 101011100000110110111000111111110111110001010100111001100111100100010101101011000101010101011101101110101100101010010101010000000101100001010100010111101000000101111000101110010000011011111101101111100101010110101100010100101011001101111101010111000100010000111101010111 001011000000110110000110010001000000010110100001000010011011010001011010010010110001011100101000000100100100101111100010010011110011111010000110100011101101101100100111101000101100110010010110100111000001010100111101101100111100000000111111111000100100000001111111000100 101101110111100010100110000011100001110000110001101101011001111010011110100010001101010111111010111011011100001111100000100001101100010101100101010110110111000011010011101011010000101100111010110110001000100000101100011001100101011100010000110111001001011110111000001010 001110111000110110000001010110100010100101100100000101110101100100110110010100001010101001110111110111010000110001011101001001100101001111100101110010011000101100011000001111001101110100101110101111001100000111010100010101111010111000010110010000100000000000100100100001 111011101001110000101110001010101011101000111110100000010001001110110000001001010000000110001111001110000010011110111101000101110001100110101101101000111000111000111110101111111110011110110101000011110011010010010001111001001110111110110111011010010010011101011111100000 011111001011000010110111011111011101000110100011011011011110001100110001011101010001000000011010101000100010100001110101010010011100010111111111101000010011111100111100011101100111011101010010011010111001101000101011000011011111111011110001011101101000000100111100011010
Разбор полетов TinkoffCTF 2024
Вот и прошла CTF от Тинькофф банка. Помимо интересных тасков, мы получили незабываемые эмоции от ИТ-Хаба и активностей в нем. Но разбор в данной статье будет про задачки по криптографии и стеганографии из самого соревнования. Уровень заданий простой, однако поиск для решения не так уж и прост, поэтому, к сожалению или к счастью, решить некоторые задачи смогли уже после завершения CTF. И так, приступим к делу!
1. Репкозиторий.
Ссылка на задание: https://ctf.tinkoff.ru/tasks/repkoЖучка за внучку, внучка за бабку, бабка за дедку. В общем, они устали от ручного труда и решили купить робосборщика репки. Осталось правильно его настроить: чтобы он собирал только репку и морковку, а не как сейчас — всё подряд и даже сорняки. Выручите?
Инструкция к сборщику REP3000: REP3000_84136dd.pdfМы имеем pdf файл с инструкцией или рекламой робота, что поможет в работе в саду, однако нас интересует другое. Во-первых, всюду, даже на тексте напичканы красные стикеры с надписью «NEW», вводящие нас в заблуждение. Во-вторых, на 13й странице есть картинка c платой, на которой находится флаг. Однако он так-же спрятан за стикером, соответсвенно и задача проста - убрать стикер.
Вернувшись на страницы, где текст перекрывается стикером, можно выделить и скопировать закрытый текст, а значит имеем дело с векторной подложкой. Для работы нам понадобится редактор векторных изображений, например Adobe Illustrator. В редакторе открываем PDF файл, выбираем 13ю страницу, чтобы не нагромождать рабочее пространство, трижды нажимаем на стикер и готово! Можно как удалить стикер, так и переместить его. Флаг наш!
Ссылка на Adobe Illustrator: https://www.adobe.com/products/illustrator/free-trial-download.html#modal-illustrator2. Глухой видеофон.
Ссылка на задание: https://ctf.tinkoff.ru/tasks/aiphoneВ большой компании проблема с софтом для созвонов. К нему подключили нейросеть: если связь лагает, он подхватывает речь и говорит за человека. Но в итоге ИИ стал нести отсебятину, двигать дедлайны, неправильно указывать проекты и ошибаться в именах — хаос и глухой видеофон. Отключите нейросеть.
Рекламный проспект производителя: IMG_1904.JPGНам дается фото в формате JPG, однако, как название, так и описание задания намекают, что это связано с видео. Есть возможность, что это лайф фото (ВидеоФОН). Посмотрим описание файла и его метаданные.
Для начала воспользуемся командой «file», чтобы посмотреть основную информацию о фото.
file </путь/до/фото.JPG>
Ничего подозрительного нет, посмотрим его метаданные с помощью «exiftool».
exiftool -s </путь/до/фото.JPG>
Тоже чего-то примечательного не нашлось. Учитывая, что намеки идут на лайф фото (ВидеоФОН), стоит глянуть, как фото будет отображаться в галерее телефона или же в Гугл фото. В галерее ничего толкового нет, однако в Гугл фото можно запустить плеер и увидеть флаг!
3. Элементарно, Ватсон!
Ссылка на задание: https://ctf.tinkoff.ru/tasks/doublescytaleЧто за вой на болотах? Это Шерлок потерял ключ от своей картотеки дел. Помогите восстановить и её, и честь Холмса, подобрав ключ и расшифровав картотеку.
Зашифрованная картотека: case_database.txt.enc Усовершенствованный классический метод шифрования, которым пользуется Холмс: scheme_a403e00.pdfВ этот раз нас ждет интересная работа с шифром и нам точно понадобится редактор кода, дабы ускорить работу расшифровки. Мы имеем 2 полигекса с лентой. Ленту обматывают вокруг фигур в определенном порядке. После записывают построчно исходный текст на видимой стороне фигур, переворачивают и так же построчно дописывают на невидимой нам стороне. Таким образом из такого текста «ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789» выходит «ADGYVSPMJ147BEHZWTQNK258CFI0XUROL369». Похожим образом получился зашифрованный текст case_database.txt.enc, осталось только написать алгоритм для расшифровки текста из фото и подставить скрипт под зашифрованную картотеку.
Всего имеется 12 строк с 3 символами в строке. В шифротексте, начиная с первого символа, нужно делать 12 шагов, каждый 12 символ будет точен в последовательности (как в исходном тексте). Так мы получим первую строку из 3 символов, далее переходим ко второму символу, повторяем действие с 12ю шагами и тд с каждым символом. Переходим к редактору кода (код будет на python) . Пишем наш алгоритм (пример на фото) и разбиваем результат на 4 таблицы.
По итогу результат будет читаться так:
1 - Начинается с первой таблицы сверху вниз;
2 - Далее 3 таблица читается снизу вверх;
3 - 2 таблица читается снизу вверх;
4 - И напоследок 4 таблица читается сверху вниз.
Таким образом и получается исходный текст « ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789» из « ADGYVSPMJ147BEHZWTQNK258CFI0XUROL369».
Прежде, чем проделывать тоже самое с зашифрованной картотекой, нужно узнать на сколько строк делится шифр и сколько символов имеет строка.
После поиска осмысленных слов, начиная с первого символа (по предположениям это было слово Holmes или что-то похожее на него), мы имеем мы 32 строки и 27 символов в строке, а значит, шаг тоже имеет значение 32. Получаем базу данных Шерлока, где нас пытаются запутать, давая 4 флага, где только 1 верный. Верный флаг затаился во второй таблице и начинается с tctf{. Читается таблица так же снизу вверх. Профит!
На этом все! Как всегда, надеюсь, вам понравилось!
Наша группа: https://vk.com/urs3cДо новых встреч!