91 lines
3.8 KiB
Plaintext
91 lines
3.8 KiB
Plaintext
YACBA - Yet Another Cold Boot Attack - Инструкция
|
||
|
||
ПРЕДУПРЕЖДЕНИЕ: Только для образовательных целей!
|
||
|
||
=== ЧТО ЭТО ===
|
||
Полностью автономная micro-OS на флешке с собственным загрузчиком.
|
||
Загружается с нуля без зависимости от установленной системы.
|
||
|
||
=== АРХИТЕКТУРА ===
|
||
- bootloader.asm - MBR загрузчик в стиле OpenBSD
|
||
- kernel.c - Bare metal ядро без stdlib
|
||
- Переключение в protected mode
|
||
- Прямая работа с памятью и портами
|
||
|
||
=== СБОРКА ===
|
||
Требования:
|
||
- nasm (assembler)
|
||
- gcc (cross-compilation)
|
||
- ld (linker)
|
||
|
||
Команды:
|
||
make clean
|
||
make os.bin
|
||
|
||
=== СОЗДАНИЕ ФЛЕШКИ ===
|
||
chmod +x create_boot_usb.sh
|
||
sudo ./create_boot_usb.sh /dev/sdX
|
||
|
||
ВНИМАНИЕ: Все данные на флешке будут уничтожены!
|
||
|
||
=== ИСПОЛЬЗОВАНИЕ ===
|
||
1. Выключите целевую систему (выдерните питание)
|
||
2. Вставьте флешку
|
||
3. Включите систему
|
||
4. Флешка загрузится автоматически
|
||
5. Дамп начнется сразу после загрузки
|
||
6. Дождитесь завершения (индикация на экране)
|
||
|
||
=== ЧТО ПРОИСХОДИТ ===
|
||
1. MBR загрузчик стартует с первого сектора
|
||
2. Загружает ядро в память по адресу 0x1000
|
||
3. Переключается в 32-bit protected mode
|
||
4. Ядро сканирует память с адресов:
|
||
- 0x100000 (1MB)
|
||
- 0x1000000 (16MB)
|
||
- 0x10000000 (256MB)
|
||
5. Ищет паттерны: "pass", "logi", "admi", "root"
|
||
6. Сохраняет дамп в буфер по адресу 0x200000
|
||
7. Пытается вывести через serial port
|
||
|
||
=== АНАЛИЗ РЕЗУЛЬТАТОВ ===
|
||
Дамп сохраняется на втором разделе флешки в RAW формате.
|
||
|
||
Структура второго раздела:
|
||
- Сектор 0: Заголовок с сигнатурой "YACBA" и метаданными
|
||
- Сектор 1+: Данные дампа памяти
|
||
|
||
Автоматическое извлечение:
|
||
./extract_dump.sh /dev/sdX
|
||
|
||
Ручное извлечение:
|
||
1. Подключите флешку к анализирующей системе
|
||
2. Прочитайте заголовок: hexdump -C /dev/sdX2 | head -2
|
||
3. Извлеките дамп: dd if=/dev/sdX2 of=dump.bin bs=512 skip=1
|
||
|
||
Анализ дампа:
|
||
- hexdump -C memdump.bin | less
|
||
- strings memdump.bin | grep -i password
|
||
- binwalk memdump.bin
|
||
- volatility для анализа структур памяти
|
||
|
||
=== ОГРАНИЧЕНИЯ ===
|
||
- Работает только на x86/x86_64
|
||
- Требует legacy BIOS (UEFI может не работать)
|
||
- Запись данных в RAW режиме (без файловой системы)
|
||
- Простой ATA драйвер (может не работать с некоторыми контроллерами)
|
||
- Дамп ограничен размером второго раздела флешки
|
||
|
||
=== ЭФФЕКТИВНОСТЬ ===
|
||
Максимальная эффективность на:
|
||
- Legacy BIOS системах
|
||
- Старых компьютерах без Secure Boot
|
||
- DDR2/DDR3 память (дольше держит данные)
|
||
- При быстром перезапуске (секунды важны)
|
||
|
||
=== ЗАЩИТА ===
|
||
От таких атак защищает:
|
||
- UEFI Secure Boot
|
||
- Шифрование RAM
|
||
- Быстрая очистка памяти при выключении
|
||
- Физическая защита доступа к системе |