c3rb3r-btrfs-recovery — скилл
Скилл помогает владельцам Synology и других NAS на Btrfs вернуть свои файлы после шифровальщика C3RB3R (.L0CK3D) без ключа.
- 51 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Для работы нужен доступ root по SSH к NAS с данными, а в примере пароль sudo передается через ввод.
- Ошибочная операция на томе с зашифрованными данными может уменьшить шанс восстановления.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/c3rb3r-btrfs-recoveryОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Для работы нужен доступ root по SSH к NAS с данными, а в примере пароль sudo передается через ввод.
- Ошибочная операция на томе с зашифрованными данными может уменьшить шанс восстановления.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл ведет агента по восстановлению данных на NAS с файловой системой Btrfs после шифровальщика C3RB3R, который переименовывает файлы в `.L0CK3D`. Шифровальщик перезаписывает файл на месте и шифрует только часть: мелкие файлы целиком, большие около 12 процентов. Копирование при записи в Btrfs оставляет старые блоки данных на диске, пока на них ссылается нешифрованная часть файла. Агент идет по порядку: проверяет, жив ли процесс шифрования и можно ли достать ключ из памяти, затем выполняет самопроверку среды, определяет поколение атаки, проверяет метод на известном оригинале, делает полный перебор файлов, потоково выгружает результат и сверяет его по контрольным суммам Btrfs. На NAS работают только читающие скрипты, результат пишется на другой диск.
Для кого. Администраторам и владельцам Synology DSM и других Btrfs NAS, чьи собственные файлы зашифрованы C3RB3R и у кого нет резервной копии и снимков.
Подходит, если
- Файлы на NAS получили суффикс `.L0CK3D`, а рядом лежит записка `read-me3.txt`
- Резервных копий и снимков нет, и ключа тоже нет
- Шифровальщик уже остановлен после перезагрузки, а из памяти ключ достать нельзя
- Нужно проверить, какую долю фотографий и документов можно вернуть, до начала выгрузки
- Восстановление надо подтвердить сверкой с контрольными суммами Btrfs
Не подходит, если
- Шифровальщик еще работает: автор советует сначала заморозить его и достать ключ, это вернет все файлы
- Файловая система не Btrfs: метод опирается на копирование при записи
- Нужно восстановить чужие данные без права на них: скилл рассчитан на свои данные
Пример запроса к агенту
Мой Synology вчера зашифровали, файлы стали `.L0CK3D`, бэкапов нет. Проверь, можно ли вернуть данные, и начни с самопроверки среды.Ограничения
Метод не вернет мелкие файлы до 1 МиБ, зашифрованные целиком, файлы баз данных и данные, записанные после последнего снимка на томах без копирования при записи. Результат зависит от поколения атаки и от того, что осталось на диске. Для запуска на NAS нужен доступ root по SSH, а в примере команды пароль sudo передается через ввод, поэтому работайте в закрытой сети. Операции только читают. Автор предупреждает об опасности восстановления и просит сначала сохранить улики и проверить метод на одном известном файле. README написан на китайском, есть английская аннотация.
Как отключить. Удалите папку скилла `c3rb3r-btrfs-recovery` из каталога скиллов агента. Рабочие файлы задач и выгруженные данные хранятся отдельно, удалите их после проверки результата.
Частые вопросы
Как установить скилл?
Выполните `npx skills add crt106/c3rb3r-btrfs-recovery`, для всех проектов добавьте `-g`, для одного агента `-a claude-code`. Можно скопировать папку `skills/c3rb3r-btrfs-recovery/` в каталог скиллов вручную.
Что делать, если шифровальщик еще работает?
Заморозить процесс сигналом `kill -STOP`, не убивать его и не перезагружать NAS. Из памяти живого процесса можно достать ключ и расшифровать все файлы, на что указывают два сторонних репозитория в README.
Что скилл не восстановит?
Мелкие файлы до 1 МиБ, зашифрованные целиком, файлы баз данных и данные в общих папках без копирования при записи, записанные после последнего снимка.
Меняет ли скилл данные на NAS?
Нет. Операции на NAS только читают: запросы ioctl, чтение файлов и блочного устройства, а результаты пишутся на другой диск.
Как проверить, что восстановление верное?
Перед массовой выгрузкой проверьте метод на файле, оригинал которого у вас есть. Итог скилл подтверждает сверкой с контрольными суммами Btrfs по блокам.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл киберразведки и OSINT: структурные расследования, разведка по доменам и утечкам, отчеты аналитического качества
Скилл ищет в проектах и образах контейнеров копии декодера Brotli с уязвимостью CVE-2026-111497 и подсказывает, что обновить.
122 скилла для обратной разработки: вредоносные программы, прошивки, протоколы, мобильные приложения, CTF и поиск уязвимостей.
REx@Skill
REx-skill
Скилл Claude Code ищет дефекты в скомпилированных бинарниках и доказывает находки: семь субагентов и закрепленные инструменты.
Скилл и адаптеры для Claude Code, Codex и Kiro пишут, проверяют и разворачивают исправления для AWS Automated Security Response.
Библиотека скиллов по наступательной безопасности для системы Claude Skills: методология по десяткам направлений red team
Коротко о README
README объясняет принцип, показывает результат на первом случае, перечисляет, что не удастся вернуть, дает установку через skills CLI и описывает скрипты для NAS и локальной машины. В начале стоит предупреждение о том, что делать, если шифровальщик жив.
Бейдж для README
Исходный SKILL.md
--- name: c3rb3r-btrfs-recovery description: 恢复被 C3RB3R / Cerber 系勒索软件(文件后缀 .L0CK3D、勒索信 read-me3.txt)加密的群晖(Synology DSM)或其他 Btrfs NAS 上的数据,无需密钥:利用 Btrfs 写时复制留下的旧 extent 逐字节还原原文件,并用 Btrfs 校验和逐块证实。覆盖 CoW / NoCOW 判定、子卷快照代数(lastsnap)效应、extent 树精确重组、大文件跨 extent 推测、统计、导出、验证和报告。只要用户提到 NAS / 群晖 / 黑群晖 被勒索、.L0CK3D、read-me3.txt、C3RB3R、Btrfs 文件被加密想恢复、"没有备份没有快照怎么救",即使没提 Btrfs 或 extent,也应使用本 skill。Use for ransomware recovery of .L0CK3D files on Synology/Btrfs volumes without the key. --- # C3RB3R 勒索后的 Btrfs 无密钥恢复 ## 这个 skill 解决什么 C3RB3R 用 ChaCha8 只加密每个文件的一部分:小文件整体加密,1–5MB 的文件只加密前 1MiB,更大的文件加密三段、共约 12%。加密后在文件末尾追加 588 字节,再改名为 `*.L0CK3D`。没有密钥就解不开,但**它是原地改写文件的**。只要满足下面任一条件,这次改写在 Btrfs 上就会写到新位置,原始明文留在旧 extent 里: - 共享是 CoW(DSM 建共享时勾选了"数据校验和"); - 共享虽是 NoCOW,但数据写入早于该子卷**最后一次快照**(快照即使后来删掉了也算)。 旧 extent 只要还被文件中未加密的那部分引用,就不会被释放,原始字节也就一直在盘上。我们直接读块设备把它取回来,再拿 Btrfs 自己存的校验和逐块证实。 参考成果(第一个案例):homes、photo 等 CoW 共享找回 35,445 个文件(229.9GB,经 SHA 核对与解码验证);NoCOW 共享中 2024 年 6 月快照前写入的部分又找回约 1 万个可精确还原的文件。精确恢复的部分在开启校验和的共享上抽检约 20 万个 4K 块,全部与 Btrfs 校验和一致。 先读 `references/principles.md` 了解原理。遇到环境或设备问题查 `references/compatibility.md`,遇到结果异常查 `references/pitfalls.md`。 ## 第 0 步:先判断还有没有"拿密钥"的窗口(只有几小时) **加密进程可能还在跑。** 如果攻击就发生在几小时内,用 `ls -l /proc/*/exe 2>/dev/null | grep deleted`、`ps` 查有没有可疑进程,例如公开案例里的 `/usr/bin/libgld -n 308`。如果有,**先 `kill -STOP` 冻结它,不要 kill,也不要重启**,然后按公开救援项目从进程内存里取会话主密钥: - https://github.com/soimy/c3rb3r-rescue - https://github.com/Benjamin-zlt/c3rb3r-baremetal-rescue 这是唯一能把文件全部解开的路线,比本 skill 的收益大得多。 进程已经退出(重启过,或事发已十几小时)时,内存路线基本无望。第一个案例对 16.7GB RAM、zram、磁盘 swap 做了逐字节 AES 密钥扫描,又拿内存中 194 个 ChaCha 状态对 77.8 万个文件试解,结果都是 0。此时直接进入下面的 Btrfs 路线,不要在内存上反复投入。详见 `references/c3rb3r-format.md`。 ## 安全红线(关系到恢复能否成功) 1. **不删除、不移动到别的卷、不覆盖任何 `.L0CK3D` 文件,不清空回收站。** 旧 extent 靠密文文件"拽着"才没被释放,删掉密文就等于销毁原件。 2. **不做 defrag、balance、`btrfs check --repair`、rescue,不运行来源不明的"解密器"。** defrag 会重写 extent。 3. 恢复期间尽量减少卷上的写入:暂停 NVR 录像、下载、Photos 索引、同步任务。NAS 重启或 DSM 升级本身不会破坏被引用的旧 extent,但会丢掉内存现场,并带来大量写入。等导出完成后再做。 4. 恢复结果写到 **NAS 以外**的盘,绝不回写原目录。 5. 所有 NAS 端操作只读。用本 skill 的 `scripts/c3r_btrfs.py`,它只做查询、读文件和读块设备,临时文件只放在 `/tmp`,用完删除。 6. 汇报要诚实:"精确恢复 + 校验和证实"、"推测后解码通过"、"失败"必须分开写,候选不等于恢复成功。 ## 工具 | 文件 | 在哪运行 | 作用 | |---|---|---| | `scripts/c3r_btrfs.py` | NAS(root,Python 3.6+ 标准库) | `preflight`(环境自检)、`env`、`gens`、`survey`、`extract`(可用 `--variant prev\|next\|both` 只导一种候选)、`patch`(只导出推测段另一侧候选的数据)、`csum`、`plan` |