CTF 0x02 Решаем мемный крякми Rock от someontop | crackmes.one, Reverse crackme для начинающих

1730934157212.png


Всем салют! ✨

Сегодня мы с вами разберём крякми для начинающих, созданный под .NET. Он опубликован на crackmes.one.

💬 Название: Rock
🙂 Автор: someontop
🔗 Ссылка:
🟩 Сложность: 1.1
📈 Качество: 2.5
⚙️ Язык/технология: .NET
🪟 Платформа: Windows
💻 Архитектура: x86
Пароль к архиву с заданием: crackmes.one. В самом архиве нас ждёт один EXE-файл.

1. Быстрый статический анализ

Первым делом проводим анализ на VirusTotal.

1730934215674.png


. Всё гуд - антивирусы не такие известные + по остальным вкладкам тоже всё нормально. Но запускаем всегда в виртуальных машинах!
Теперь отправим файл на анализ в Detect It Easy. Как и в прошлом райтапе смотрим в основном на компилятор и технологии, с помощью которых файл создан.

1730934230092.png


Приложение 32-битное, с графическим интерфейсом. Написано на C# с использованием .NET.
Смотрим, что по строкам.

1730934241800.png


Выглядит как что-то важное :) Но узнаем лучше в дизассемблере.

2. Запуск и анализ программы в DnSpy

Сначала просто запустим таск.

1730934257540.png


Автор таска не обманул, действительно, Скала.

1730934265980.png


При неправильном вводе получаем ошибку. В прошлом райтапе приложение было написано на C. В этом используется C# и самое главное - .NET.

.NET — это платформа разработки от Microsoft, которая позволяет создавать приложения для различных сред, включая десктопы, веб, мобильные устройства и облако. Основной компонент .NET — это Common Language Runtime (CLR), который управляет выполнением программ и предоставляет такие услуги, как сборка мусора и безопасность.
В отличие от языка Си и других компилируемых языков, код для .NET собирается не в машинные инструкции, а в промежуточный код - IL-код (Intermediate Language). Этот код уже выполняется CLR. Сделано это для кроссплатформенности.

У этого есть и минус - IL-код намного проще привести к исходному на C#, выполнив декомпиляцию через специальные инструменты. Например, dnSpy. В релизах на гите можно найти версию для анализа 32-битных программ или 64-битных. Нам нужна версия для 32-битных программ. Устанавливать его не нужно, можно сразу запустить.

Переносим изучаемый EXE прямо в DnSpy или открываем через "Файл".

1730934276259.png


1730934283198.png


Теперь нам нужно будет перейти к форме с вводом ключа. Попробуем Form1.

1730934292201.png


Бинго!
Нас интересует код, который будет выполняться при нажатии button1_Click. В этом методе проверяется, ввели ли мы что-то в таск. А если ввели, равно ли оно строке HTD4R-HF3H7-H2F5G-H9V5D-H9J3G-H5F6H-H7G4F.
Судя по всему, если мы введём эту строку в программу, то она выдаст сообщение об успехе. Проверим.

1730934302023.png


Успех! Это действительно нужный ключ!

1730934321251.png
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!