Files
Serdtse-Sysoly/qualifiers/chameleon-line-dotnet-reverse-easy/WRITEUP.md
T
2026-09-17 00:50:07 +03:00

2.2 KiB
Raw Blame History

Chameleon Line

Reverse easy

В раздатке есть .NET-установщик ChameleonLine.dll для удалённой поддержки цеховых ПК. В сборке находятся зашифрованный конфиг загрузчика и данные для его расшифровки.

Решение

Открываем сборку в ILSpy или dnSpy и идём к коду загрузки конфига. В пользовательских строках находим три значения:

Строка Что в ней лежит
ResourceTag Маркер CFGv2: и base64 зашифрованного конфига
KeyHex 32 hex-символа с префиксом 0011 — ключ AES-128
IvHex 32 hex-символа с префиксом 1021 — IV

Рядом находится AES-CBC-дешифратор, который использует эти строки как ключ, IV и зашифрованные данные.

Строки .NET лежат в #US в UTF-16LE, поэтому для автоматизации достаточно извлечь их прямо из бинаря. Находим CFGv2:, отрезаем префикс, а ключ и IV читаем как hex-представления 16-байтных значений.

Расшифровку можно поручить OpenSSL. Сохраняем base64-тело одной строкой в config.b64. В -K и -iv подставляем полные hex-строки, без префикса 0x.

openssl enc -d -aes-128-cbc -K <key> -iv <iv> \
  -nosalt -A -base64 -in config.b64

Получаем JSON-конфиг загрузчика. В поле export лежит флаг. Запуск самого установщика для этого не нужен, поскольку все данные уже были в DLL.

Солвер.

Флаг

caplag{aes_resource_config_guided_the_loader}