Сопротивлению нужны только толковые исследователи и ревёрсеры.
Поэтому они отсеивают новичков тестовым заданием.
Оно очень простое, но имеет небольшую хитрость.
Сейчас им нужна любая помощь, поэтому другие задачи тебе тоже будут доступны.
Но если ты хочешь немного подзаработать, то реши задание и получишь то, что тебе так нужно.
Отдать командам бинарник из deploy/
ELF 32bit, ARM, C, strip, no pack
Суть задания - понять что у вас на руках повреждённый в заголовке ELF-файл, восстановить его и декодировать RC4 с известным ключом.
Задание очень простое, главное, чтобы вас не сбило с толку то, что оно изначально не загружается в IDA.
- Смотрим, что у нас за файл с помощью утилиты "file". Нам показывает, что это 64 ELF под ARM.
- Пытаемся грузить в IDA64 - не выходит, в IDA32 - тоже не выходит.
- Идём дальше и читаем заголовок с помощью readelf.
- Видим, что заголовок в начале нормальный, а дальше идут не характерные значения.
- Немного посмотрев формат ELF можно заметить, что в заголовке есть байт отвечающий за битность. Меняем его на 32-байта
- Грузим в IDA32 и всё успешно.
- Находим функцию main. В ней видим использовании некоторой функции с аргументов "this_is_not_flag", а после сравнение с некоторым блобом.
- Проанализировав вызываемую функцию, можно понять, что это RC4. Ключ нам дан. Просто расшифруем блоб и получим флаг.
В данном случае эксплоит - это скрипт для расшифровки блоба с помощью алгоритма RC4.
Cup{ea9d371ee29e03cf04054bc1154a8b0b4513614d246fe4653adc7e03f4a2ac65}