ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   Игра [Writeup] (https://forum.antichat.xyz/showthread.php?t=1644689)

M4x 02.03.2025 17:55

Без лишних предисловий перейдем к делу.

В первую очередь, мы анализируем файл Game.exe с помощью утилиты file:

Bash:


Код:

file
Game.exe
# Вывод: Game.exe: Zip archive data, made by v3.0 UNIX, extract using at least v2.0, last modified, last modified Sun, Jul 06 2023 23:42:56, uncompressed size 151, method=deflate

Результаты работы утилиты file ясно указывают на то, что на самом деле это не исполняемый файл, а ZIP-архив. Однако, если мы попытаемся открыть этот файл с помощью просмотрщика архивов, нам не удастся это сделать, и мы столкнемся с ошибкой. Тогда мы приступаем к анализу файла с помощью hex-редактора.

https://forum.antichat.xyz/attachments/29117010/1.png

Мы знаем, что сигнатура большинства ZIP-архивов начинается с байтов 50 4b 03 04. Однако в нашем случае мы наблюдаем 4d 5a 03 04, что говорит о том, что первые два байта сигнатуры были намеренно подменены, чтобы операционная система воспринимала архив как исполняемый файл. Исправим это, изменив первые два байта на правильные, и сохранив внесенные изменения.

https://forum.antichat.xyz/attachments/29117010/2.png

Теперь архив можно успешно открыть с помощью просмотрщика. Однако мы обнаруживаем, что архив защищен паролем. Утилита John the Ripper помогает нам быстро найти пароль.

Распаковываем архив и открываем файл flag.txt, в котором находим флаг, представленный в виде последовательности символов:

Код:


Код:

\u{43}\u{4f}\u{44}\u{45}\u{42}\u{59}\u{7b}\u{6e}...
Хорошо знакомые каждому, кто давно решает задачи на Antichat, начальные символы флага в hex-нотации 434f44454259 подтверждают, что мы на верном пути. Теперь остается лишь декодировать флаг из hex, игнорируя байты в формате \u{}. Для этого я предпочитаю использовать терминал Linux:

Bash:


Код:

echo
-n
'434f444542597b6e236c6c'
|
xxd -p -r
# Вывод: Antichat{n#ll

Разумеется, флаг целиком я не покажу.


Время: 06:48