YACBA/README.md
Lain Iwakura 30f65e05d8
Some checks failed
Build YACBA ISO / build-iso (push) Failing after 1m10s
added ci/cd + iso
2025-06-22 21:51:00 +03:00

3.3 KiB
Raw Blame History

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:

chmod +x build.sh
./build.sh

На macOS/Windows (через Docker):

chmod +x docker-build.sh
./docker-build.sh

Создание носителя

ISO образ (рекомендуется):

chmod +x build-iso.sh
./build-iso.sh
# или
make iso

Прямая запись на флешку:

sudo ./create_boot_usb.sh /dev/sdX

Через Docker + ISO:

make docker-iso

Вставить флешку в целевую систему и перезагрузиться. Система загрузится автоматически и начнет дамп.

Извлечение дампа

После использования:

sudo ./extract_dump.sh /dev/sdX

Скрипт автоматически извлечет дамп и выполнит базовый анализ.

Использование ISO

Запись ISO на флешку:

sudo dd if=yacba-coldboot-20241222.iso of=/dev/sdX bs=1M status=progress

Тестирование в VM:

qemu-system-i386 -cdrom yacba-coldboot-20241222.iso

Запись на CD/DVD:

cdrecord -v dev=/dev/sr0 yacba-coldboot-20241222.iso

Автоматическая сборка

Проект поддерживает автоматическую сборку через Gitea Actions:

  • При каждом push в main создается артефакт с ISO
  • При создании тега автоматически создается релиз
  • Артефакты доступны в разделе Actions

Быстрый старт

См. QUICK_START.md для краткой инструкции.