Матрёшка №2
Задание 1Введение
Цель: Снимать несколько слоёв кодирования.
Флаг несколько раз завернули в разные кодировки. Слои снаружи внутрь: двоичные байты → Base32.
Задание 2Теория и инструменты
Многослойное кодирование — обычный приём обфускации вредоносных скриптов и конфигов.
Каждую кодировку выдаёт алфавит: hex — 0–9a–f, Base32 — A–Z2–7 и =, Base64 — латиница, цифры, +/, двоичные — группы по 8 из 0/1, восьмеричные — тройки цифр 0–7, URL — %XX, Ascii85 и Base85 — много знаков препинания.
Инструменты
- CyberChef: Magic (автоопределение)
- Python: base64, bytes.fromhex, urllib.parse.unquote
Больше теории — в разделе «Обучение: Форензика».
Задание 3Практика: найдите флаг
01001001 01001110 01001011 01000101 01001101 00110110 00110011 01001110 01001101 01000110 00110010 01001000 01000101 00110110 01001100 01010000 01001111 01001110 01010101 01000111 01010111 01011001 01001011 00110111 01000111 01000001 01011010 01000110 00110110 01011010 01000010 01010010 01000111 01000101 00110011 01010100 01001001 01001110 01001100 00110101
Пошаговый план — открывайте по одному шагу
- 1Определите внешний слой по алфавиту.
- 2Раскодируйте и снова посмотрите на результат.
- 3Повторяйте, пока не появится CTF{. Если вариантов несколько, пробуйте по очереди.
Подсказки — каждая до решения стоит −25 очков
Задание 4Как защититься
Антивирусы и SIEM нормализуют вход, снимая типичные слои, прежде чем искать сигнатуры.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.