Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
bitpixie — Взлом шифрования BitLocker на основе уязвимости CVE-2023-21563 | Kitploit
Инструменты/GitHubGitHub/lr2006-robot/bitpixie
Повышение привилегийИнструменты шифрования/дешифрованияАнализ уязвимостейЭксплуатацияПост-эксплуатацияАппаратная БезопасностьОбучение и ОбразованиеЛаборатории и Практика
GitHublr2006-robot/bitpixie

bitpixie

Взлом шифрования BitLocker на основе уязвимости CVE-2023-21563

Репозиторий
3183 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

bitpixie

Полный блог читайте здесь

Основные ссылки

  • Статья в блоге syss
  • Репозиторий Syss на Github

Реализация взлома BitLocker с помощью Bitpixie

Воспроизведение на виртуальной машине. На локальной машине (атакующем) используется Ubuntu 22.04.5 LTS, жертвами выступают Windows 10 21H2 19041.1 и Windows 11 21H2 22000.318, на обеих включено шифрование BitLocker. В качестве менеджера виртуальных машин используется QEMU с управлением через virt-manager; здесь я работаю с виртуальной машиной Windows 11.

Мои файлы для воспроизведения взяты из репозитория Syss на Github; на их основе выполнена адаптация версий инструментов и обработка некоторых непредвиденных ситуаций. Можно скачать и использовать напрямую или модифицировать по необходимости. Образы виртуальных машин взяты с UUP Dump, где доступны для скачивания различные версии Windows; после загрузки достаточно выполнить cmd- или sh-файл, чтобы получить ISO-образ.

Настройка окружения виртуальной машины-жертвы

Установку и использование QEMU и virt-manager здесь повторять не буду, однако новым пользователям в virt-manager нужно включить редактирование XML через "Edit -> Preferences -> General -> Enable XML editing", чтобы можно было напрямую редактировать XML-конфигурацию виртуальной машины.

При создании виртуальной машины выберите "Local install media (ISO image or CDROM)" и укажите ранее загруженный ISO-образ Windows 11. Выделите подходящие ресурсы (CPU, память, дисковое пространство и т. д.) и обязательно выберите "Customize configuration before install", чтобы можно было отредактировать конфигурацию до установки. Здесь возможны проблемы с автоматическим определением системы — в таком случае выберите вручную "Microsoft Windows 10/11".

Теперь приступим к настройке. Самый важный момент (его нельзя изменить позже, остальное можно править сколько угодно после создания): на вкладке Overview выберите Firmware — "UEFI x86_64: /usr/share/OVMF/OVMF_CODE_4M.ms.fd". Если этот пункт не выбран — просто удалите виртуальную машину и создайте заново, это несложно. Конфигурация Overview виртуальной машины

Затем перейдите на вкладку "Boot Options" и убедитесь, что "SATA CDROM 1" отмечен, иначе не удастся установить систему. Можно переместить "SATA CDROM 1" в верх списка, чтобы упростить загрузку. После этого можно создавать машину; остальные настройки изменим уже после установки системы.

Видите сообщение "Press any key to boot from CD or DVD..."? Нажмите любую клавишу, чтобы войти в установщик, и следуйте подсказкам. Если вы случайно попали на другую страницу — не паникуйте: выберите "Boot Manager", затем "UEFI: QEMU DVD-ROM", и вы вернётесь к исходному экрану, где можно нажать любую клавишу для загрузки. Boot Manager

Далее установите систему: отметьте отсутствие ключа продукта и ставьте Pro-версию. Дальше идут регистрация учётной записи и прочая возня — рекомендую сразу использовать офлайн-запуск, чтобы избежать лишних проблем. Если такой опции нет, откройте командную строку через Shift + F10 и введите OOBE\BYPASSNRO, чтобы включить создание офлайн-учётной записи.

После нормального входа в систему можно ввести msinfo32 в терминале, чтобы посмотреть информацию о системе (на физической машине проверьте, что режим UEFI), затем выключить систему и приступить к изменению конфигурации:

  1. TPM: добавьте "TPM 2.0" через "Add Hardware". Если TPM отсутствует — просто добавьте TPM через "Add Hardware".
  2. В "SATA CDROM 1" замените ISO-образ на подготовленный ранее образ virtio.
  3. На вкладке "Boot Options" отметьте также "NIC".
  4. В "NIC" измените "Device model" на "virtio" и добавьте в XML <rom enabled="no"/>, чтобы включить сетевую загрузку. Пример:
<interface type="network">
  <mac address="52:54:00:2f:53:4e"/>
  <source network="default"/>
  <model type="virtio"/>
  <boot order="2"/>
  <rom enabled="no"/>
  <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>

Выбор сетевой конфигурации virtio обусловлен в первую очередь её «паравиртуализированным» сетевым оборудованием, которое напрямую взаимодействует с хостом. Отключение ROM сетевой загрузки нужно для того, чтобы прошивка UEFI напрямую общалась с virtio-сетевой картой через встроенный протокол PXE, избегая лишних помех в процессе загрузки и гарантируя, что мы благополучно попадём в систему для дальнейшей настройки и тестирования.

Зайдите в виртуальную машину, установите драйверы virtio с CD-привода — всё настроится автоматически; можно быстро проверить работу сети. Затем включите шифрование BitLocker и создайте на рабочем столе файл flag для последующей проверки.

Если воспроизводить на физических машинах, достаточно соединить атакующую машину и жертву сетевым кабелем; настраивать virtio не нужно, остальная конфигурация практически та же. Единственное — на физической машине сетевых интерфейсов может быть несколько, и нужно выбрать правильный для настройки.

Настройка машины-жертвы завершена — выключаем её. Далее можно приступать к эксплуатации уязвимости по шагам, описанным ранее в принципе атаки.

Настройка атакующей машины и атака Bitpixie

Здесь приведём общую схему атаки для ознакомления — сперва беглый взгляд, далее реализуем по шагам: Схема атаки

На локальной машине (атакующей) должны быть установлены следующие пакеты:

  • dnsmasq
  • impacket-smbserver
  • hivexregedit

В Ubuntu или Debian установить их можно следующей командой:

sudo apt install dnsmasq libwin-hivex-perl python3-impacket

В файлах проекта выполните build.sh для генерации bitpixie-initramfs. Если нужно адаптировать под локальное окружение — внесите изменения в build.sh, укажите нужные инструменты и версии, затем выполните повторную генерацию bitpixie-initramfs.

Затем введите ifconfig в терминале, чтобы узнать виртуальный шлюз локальной (атакующей) машины; ниже пример с моей машины:

virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.123.1  netmask 255.255.255.0  broadcast 192.168.123.255
        ether 52:54:00:23:11:39  txqueuelen 1000  (Ethernet)
        RX packets 46749  bytes 4384179 (4.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 67170  bytes 414459630 (414.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Следующими командами запустите TFTP-сервер для процесса загрузки PXE и SMB-сервер для передачи скрипта с изменённым BCD-файлом; подставьте то, что мы только что выяснили, у меня это virbr0.

# Start the TFTP and the DHCP server
./start-server.sh pxe <interface>
# Start the SMB server for the transfer of the BCD file
./start-server.sh smb <interface>
Скачать инструмент