# PineLocker: Последний удар | 3 флага | Форензика

## Информация

> Перед побегом с Гранд-Турнира Pinecraft атакующий нанёс последний удар —
> запустил на сервере самописный шифровальщик PineLocker, который зашифровал все
> конфигурационные файлы и оставил записку с требованием выкупа в 64 алмазных блока.
> Администратор успел снять образ диска сервера до полного уничтожения данных.
> Восстановите скрипт шифровальщика, найдите ключ шифрования и расшифруйте конфигурацию.

## Описание

Образ диска ext4 (~64 МБ) с файловой системой скомпрометированного Minecraft-сервера.
Атакующий разместил в `/tmp` скрытый Python-скрипт `.pinelocker.py` — XOR-шифровальщик,
который обходит дерево каталогов и шифрует файлы с расширениями `.properties`, `.yml`,
`.dat`, `.json`, заменяя их на `.locked`. Ключ шифрования передавался как аргумент
командной строки и сохранился в `/root/.zsh_history`.

Задача разбита на три флага возрастающей сложности: идентификация малвари, извлечение
ключа из истории команд, расшифровка конфигурации сервера.

Сложность: 11 класс (продвинутый уровень).

## Решение

1. Смонтировать образ, найти `/tmp/.pinelocker.py`, вычислить SHA256 — первые 12 символов дают Флаг 1
2. Прочитать `/root/.zsh_history`, найти команду запуска с ключом `3nd3r_dr4g0n_2026` — Флаг 2
3. Изучить логику XOR в `.pinelocker.py`, расшифровать `server.properties.locked` ключом, найти строку `admin-secret=m4st3r_0f_th3_3nd` — Флаг 3

[Решение](solve/task.md)

## Флаги

1. `vsosh{646ec09b52d8}` — первые 12 символов SHA256-хеша скрипта `.pinelocker.py` (вычисляется при генерации)
2. `vsosh{3nd3r_dr4g0n_2026}` — ключ шифрования из `.zsh_history`
3. `vsosh{m4st3r_0f_th3_3nd}` — значение `admin-secret` из расшифрованного `server.properties`
