Имеем на руках подозрительный файл с названием, записанным задом наперед — типичный прием, любимый разработчиками вредоносов. На самом деле его настоящее имя: xgpj.exe (там Unicode-символ U+202E — Right-to-Left Override, чтобы обмануть глаз).
Первым делом скармливаем файл binwalk’у с опцией автоматической экстракции всего, что найдёт:
Bash:
Код:
binwalk --dd
=
'.*'
x
gpj.exe
В результате получаем 15 файлов. Среди них — отвлекающие приманки вроде фото котика, но нас интересует файл 72E00. Проверяем тип:
Bash:
Код:
file
72E00
— и видим, что это RAR-архив. Распаковываем:
Bash:
Код:
unrar
x 72E00
В результате распаковки мы получили три файла:
flag.jpg,
chuvak.wav,
prg.exe.
Изучение первых двух файлов ни к чему меня не привело, поэтому я сосредоточился на экзешнике. Так как Windows под рукой не оказалось, пришлось реверсить. В заданиях по форензике нередко сталкиваешься с реверс-инжинирингом: приходится дизассемблировать, чтобы понять, что делает бинарник. Это нормально — развивает навык анализа исполняемых файлов.
(Позже я узнал, что задачку можно было решить проще — через Process Monitor: при запуске prg.exe он создает файл flag.txt в C:\Users\Public. Но как уже говорил, я решал путем реверса.)
Открываем prg.exe в Ghidra и почти сразу натыкаемся на следующий участок кода: