New Year Event 2025 Writeups
AltkoT
Ссылка на таск: https://ctf.taipanbyte.ru/challenges#AltkoT-312
Описание задания:
Да кто такие эти ваши альтушки? Заказал одну по гос программе, а прислали ЕГО! Что прикажете с этим делать?!
Флаг обернуть в формат: CTF{}
Дана картинка с котом
Если открыть картинку через текстовый редактор, можно увидеть выделяющийся на фоне всего остального текст.
Копируем числа, загоняем их в CyberChef, получаем флаг
Σ
Ссылка на таск: https://ctf.taipanbyte.ru/challenges#%CE%A3-313
Описание задания:
Так, теперь все вместе: решаем таск - делаем Σ. Или сначала делаем Σ, а потом решаем таск?..
Флаг обернуть в формат: CTF{}
Дана зипка с фотками
Тут тоже все легко, картинки из себя представляют двоичный код. 01010101
Декодим, получаем флаг.
Rusted
Ссылка на таск: https://ctf.taipanbyte.ru/challenges#Rusted-323
Описание задания:
У реверсеров нет описания к таске, есть только бинарь
Дан ELF файл. (Расширение tb или TaipanByte, поставлено вручную и не является действительным)
Открываем файл в IDA PRO. Сразу переходим в main
Видим функцию rust_ctf_task. Тыкаем
Нас интересует этот блок псевдокода
Тут обычный XOR, часто встречающийся в reverse тасках. Первую половину флага можем получить сразу просто введя числа
А вот вторую часть… получаем также, просто вставив текст в декодер
Милая деревушка
Ссылка на таск: https://ctf.taipanbyte.ru/challenges#%D0%9C%D0%B8%D0%BB%D0%B0%D1%8F%20%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D1%83%D1%88%D0%BA%D0%B0-320
Описание задания:
Я отлично отдохнул здесь в прошлые выходные, приезжай и ты.
Формат флага: CTF{xx.xxx,yy.yyy}
Тоже довольно стандартный GEOint. На фотографии представлена дорога с характерной разметкой, растительность, видны столбики вдоль дороги, часть знака с населенным пунктом и около-скандинавские дома
По домам определяем, что это Европа, но что-то северное. Исландия/Норвегия/Швеция/Финляндия
Теперь посмотрим на разметку. Из 4 выделенных нами стран, только на дорогах Швеции встречаются именно такие белые черточки. Эти черточки отличаются от норвежских тем, что они короче, чем промежуток между ними. Шведская дорожная краска обычно белая, что контрастирует с финскими и норвежскими дорогами, которые иногда окрашены в желтый цвет и шведские дороги, как правило, шире стандартных норвежских и финских.
А еще можно столбики погуглить
Также если закинуть фотку в Яндекс/Google, то они тоже покажут на Швецию
Точное место поисковики конечно не определили, но теперь знаем куда копать
На знаке с населенным пунктом видны первые две буквы - by. Оказалось, что в Швеции не так уж и много названий, которые начинаются на by. Можно вбить в Overpass Turbo, а можно искать по спискам населенных пунктов Швеции, кому как удобнее
Или, если повезет, гугл сам поймет что вы ищите
Падаем в деревню, видим знакомые домики
Вот примерно отсюда фоткали
Идем туда, смотрим координаты
Glitched
Ссылка на таск: https://ctf.taipanbyte.ru/challenges#Glitched-322
Описание задания:
Научно-исследовательская корпорация "InFinicTech" разработала технологию, которая по их словам позволяет хранить неограниченное количество данных в ограниченном облачном хранилище. Это изобретение стало настоящим прорывом в области хранения информации.
Но у нас есть подозрения, что их методы не совсем законны, помогите нам разобраться в этом.
Дано видео с помехами
Если погуглить описание таска, то можно прийти к выводу, что речь про Infinite-Storage-Glitch, который все еще используют на ютубе
Как вообще это работает:
Все файлы состоят из байтов, а байты можно интерпретировать как числа в диапазоне 0-255. Это число может быть представлено в виде пикселей в одном из двух режимов: RGB или двоичный.
RGB: самый простой режим. Каждый байт идеально вписывается в один из цветов rgb-пикселя. Один rgb-пиксель может содержать 3 байта одновременно. Вы просто продолжаете добавлять пиксели таким образом, пока у вас не закончатся данные. Это намного эффективнее и быстрее, чем двоичный формат.
Двоичный: Родился из того, что сжатие на YouTube было абсолютно жестоким. Режим RGB очень чувствителен к сжатию, поскольку изменение даже одной точки одного из цветов одного из пикселей обрекает файл на повреждение. Черно-белые пиксели испортить гораздо сложнее. Каждый пиксель либо светлый, обозначающий 1, либо темный, обозначающий 0. Мы соединяем эти биты вместе, получая байты, и так продолжается до тех пор, пока не закончатся данные.
Таким образом, нам нужно просто раздекодить видео через https://github.com/DvorakDwarf/Infinite-Storage-Glitch (Утилита автора глича) и получить флаг
TikTak
Ссылка на таск: https://ctf.taipanbyte.ru/challenges#TikTak-326
Описание задания:
Насмотрелся этих ваших тикитокенов, теперь вот везде цифры мерещутся(
Тут не так очевидно, но по описанию и структуре шифра можно догадаться, что используется Tiktoken
Нам остается лишь раздекодить. Можно взять за основу https://github.com/dqbd/tiktokenizer или написать кодик, по типу этого:
import tiktoken
tokenizer = tiktoken.encoding_for_model("gpt-4o")
tokens = [ <CYPHER> ]
decoded_text = tokenizer.decode(tokens)
print(decoded_text)
Получаем текст, но пока без флага
Флаг дополнительно закодирован в base45
Evil Matryoshka
Ссылка на таск: https://ctf.taipanbyte.ru/challenges#Evil%20Matryoshka-324
Описание задания:
Хотите сохранить копию личного файла на USB-накопителе, но опасаетесь, что в случае кражи кто-то сможет получить доступ к вашим данным?
Не волнуйтесь, все файлы зашифрованы с помощью AES и отлично спрятаны!
Что произойдет, если кто-то попытается открыть изображение? Ну... ничего! Он увидит только изображение!
Дан архив с Картинкой и словарем для брута (словарь добавили чуть позже, но решается и без него)
Из описания к заданию и первым буквам в названии картинки можно понять, что использовалась утилита Free File Camouflage
Описание к таске это буквально перевод с сайта с утилитой
Скачиваем утилиту и нажимаем “De-camouflage”
Получаем директорию с запароленным архивом
Тут стандартная матрешка, все пароли всего по 3 символа. Можно брутить как по маске, так и по словарю, прикрепленному к таске.
Сложность в том, что используется lzma2 compression. А ее не умеет брутить ни john ни hashcat. Нужно как то придумать, как это обойти
Вот один из вариантов: https://github.com/CyberFazaN/7z2hashcat-lzma2-headers
В самом конце матрешки будет лежать флаг
Tags: