# YACBA Полностью автономная система для cold-boot атак с собственным загрузчиком. ## Что это? Самостоятельная микро-ОС на флешке, которая загружается с нуля и дампит оперативную память. Не зависит от установленной системы на компьютере. ## Архитектура **Система:** - `bootloader.asm` - Загрузчик в стиле OpenBSD - `kernel.c` - Минимальное ядро без зависимостей - `gdt.asm`, `print32.asm`, `switch_pm.asm` - Системные компоненты - `linker.ld` - Скрипт компоновки **Сборка:** - `Makefile` - Сборка всей системы - `build.sh` - Нативная сборка Linux - `docker-build.sh` - Кроссплатформенная сборка - `build-iso.sh` - Создание ISO образа **Утилиты:** - `create_boot_usb.sh` - Прямое создание загрузочной флешки - `extract_dump.sh` - Извлечение дампа с носителя **CI/CD:** - `.gitea/workflows/build.yml` - Автоматическая сборка и релизы ## Принцип работы 1. Загрузчик стартует с MBR (раздел 1 - 10MB) 2. Загружает ядро в память 3. Переключается в защищенный режим 4. Ядро сканирует и дампит память 5. Сохраняет дамп на раздел 2 (RAW, без ФС) ## Сборка **На Linux:** ```bash chmod +x build.sh ./build.sh ``` **На macOS/Windows (через Docker):** ```bash chmod +x docker-build.sh ./docker-build.sh ``` ## Создание носителя **ISO образ (рекомендуется):** ```bash chmod +x build-iso.sh ./build-iso.sh # или make iso ``` **Прямая запись на флешку:** ```bash sudo ./create_boot_usb.sh /dev/sdX ``` **Через Docker + ISO:** ```bash make docker-iso ``` Вставить флешку в целевую систему и перезагрузиться. Система загрузится автоматически и начнет дамп. ## Извлечение дампа После использования: ```bash sudo ./extract_dump.sh /dev/sdX ``` Скрипт автоматически извлечет дамп и выполнит базовый анализ. ## Использование ISO **Запись ISO на флешку:** ```bash sudo dd if=yacba-coldboot-20241222.iso of=/dev/sdX bs=1M status=progress ``` **Тестирование в VM:** ```bash qemu-system-i386 -cdrom yacba-coldboot-20241222.iso ``` **Запись на CD/DVD:** ```bash cdrecord -v dev=/dev/sr0 yacba-coldboot-20241222.iso ``` ## Автоматическая сборка Проект поддерживает автоматическую сборку через Gitea Actions: - При каждом push в main создается артефакт с ISO - При создании тега автоматически создается релиз - Артефакты доступны в разделе Actions ## Быстрый старт См. [QUICK_START.md](QUICK_START.md) для краткой инструкции.