Phoenix BIOS Editor Pro. скачать и установить для Windows


Phoenix BIOS Editor распаковывает один образ ПЗУ в автоматическом режиме. Он переходит к небольшим модулям ПЗУ , которые являются частью BIOS . Завершив изменение образа ПЗУ , утилита добавляет пользовательские модификации в новый образ BIOS . Последнее можно записать во флэш-память. Утилита позволяет пользователям вносить изменения в созданный ранее образ ПЗУ без использования исходного кода.

Приложение для Windows Phoenix BIOS Editor имеет простой интерфейс для модификации Phoenix BIOS Rel. 6 и тогда не будет необходимости переустанавливать потом БИОС. Он поддерживает распаковку, замену и переупаковку компонентов в образе BIOS , а также позволяет изменять настройки и модифицировать приложение для самого фактического BIOS .

Повторная сборка BIOS

Для первичных файлов BIOS, таких как тот, что включен в VMware, для повторной сборки можно использовать ряд утилит командной строки, включенных в Phoenix Bios Editor (или доступных от Intel). Позже при тестировании на реальном ПК было необходимо сохранить BIOS не только в первичном формате, поэтому в качестве инструмента для повторной сборки использовалась GUI-версия Phoenix Bios Editor. К сожалению, это означает, что невозможно просто иметь одно приложение, которое можно запустить в системе, чтобы оно заражало BIOS, по крайней мере, без использования заготовленных инструментов.

Это означает, что заражение BIOS представляет собой трехэтапный процесс, требующий некоторого ручного вмешательства, главным образом для повторной сборки. Ниже показан Phoenix BIOS Editor с открытым образом BIOS:

Phoenix BIOS Editor разрабатывался не для подмены модулей, но тем не менее предоставляет такую возможность. Когда образ BIOS открывается впервые, все модули BIOS будут извлечены на диск в папке, расположенной в:

Модуль распаковки может быть скопирован из этой папки, исправлен и заменен. Phoenix BIOS Editor не позволит вам сохранить BIOS без изменений, поэтому, чтобы сохранить BIOS, нам следует поменять какое-нибудь строковое значение, а затем изменить его обратно (или просто оставить так).

Исходный код BIOS-руткита и скрипты для патчинга можно скачать по ссылкам в конце этой статьи, если вы хотите проделать все это самостоятельно.

Скачать Phoenix BIOS Editor

  • Скачать Phoenix BIOS Editor: https://theretroweb.com/drivers/208
  • Github: https://github.com/phoenixbioseditor/Phoenix-BIOS-Editor

Распаковка и патчинг BIOS

Теперь, когда мы знаем как мы хотим внедрить руткит в BIOS, следующим шагом будет собственно патчинг BIOS кодом нашего руткита. Для этого нам нужно извлечь все модули BIOS, пропатчить модуль распаковки и собрать все заново. Модули можно извлечь с помощью консольной утилиты phxdeco или Phoenix BIOS Editor. После того как модуль распаковки извлечен, следующий код пропатчит его нашим руткитом:

Примером вызова этого скрипта может быть:

Если все сработает успешно, вы должны увидеть что-то похожее на следующее:

Повторная сборка BIOS

Для первичных файлов BIOS, таких как тот, что включен в VMware, для повторной сборки можно использовать ряд утилит командной строки, включенных в Phoenix Bios Editor (или доступных от Intel). Позже при тестировании на реальном ПК было необходимо сохранить BIOS не только в первичном формате, поэтому в качестве инструмента для повторной сборки использовалась GUI-версия Phoenix Bios Editor. К сожалению, это означает, что невозможно просто иметь одно приложение, которое можно запустить в системе, чтобы оно заражало BIOS, по крайней мере, без использования заготовленных инструментов.

Это означает, что заражение BIOS представляет собой трехэтапный процесс, требующий некоторого ручного вмешательства, главным образом для повторной сборки. Ниже показан Phoenix BIOS Editor с открытым образом BIOS:

Phoenix BIOS Editor разрабатывался не для подмены модулей, но тем не менее предоставляет такую возможность. Когда образ BIOS открывается впервые, все модули BIOS будут извлечены на диск в папке, расположенной в C:\Program Files\Phoenix BIOS Editor\TEMP\. Модуль распаковки может быть скопирован из этой папки, исправлен и заменен. Phoenix BIOS Editor не позволит вам сохранить BIOS без изменений, поэтому, чтобы сохранить BIOS, нам следует поменять какое-нибудь строковое значение, а затем изменить его обратно (или просто оставить так).

Исходный код BIOS-руткита и скрипты для патчинга можно скачать по ссылкам в конце этой статьи, если вы хотите проделать все это самостоятельно.

Реальный ПК

Phoenix BIOS использовался во всех разработках на базе VMware, поэтому он также был выбран и для тестирования на физическом ПК. Все физическое (в отличие от виртуального) тестирование BIOS проводилось с использованием ноутбука HP Pavilion ze4400. Изначально тестирование BIOS планировалось с использованием ПК, а не с ноутбуком, поскольку получить доступ к материнской плате ПК для перепрошивки в случае необходимости было бы намного проще. Несмотря на это, быстро найти компьютер с Phoenix BIOS оказалось непросто, поэтому вместо него пришлось использовался ноутбук (особая благодарность Дэвиду за перепрошивку моего ноутбука, после того как я случайно записал исходный код в свой BIOS!)

Извлечение BIOS на ПК

Первый шаг к модификации реального системного BIOS состоит в том, чтобы извлечь его копию. Phoenix имеет два разных инструмента, которые они обычно предоставляют для этой цели, один называется «Phlash16», а другой — «WinPhlash». Phlash16 — это утилита командной строки (с консольным GUI), но она запускается только из DOS. WinPhlash, как следует из названия, запускается из под Windows. Хотя это GUI-утилита, она также принимает параметры командной строки, что позволяет нам автоматизировать процесс извлечения BIOS. Для этого проекта я создал несколько скриптов для автоматизации извлечения и патчинга BIOS, но они довольно примитивные и малофункциональные.

Следующий пакетный скрипт скопирует BIOS в файл с именем BIOSORIG.WPH, а затем проверит, не был ли он ранее изменен. Perl-скрипт CheckFlash.py просто проверяет содержимое BIOS на наличие моего имени, которого нет ни в одном неизмененном BIOS.

Распаковка и патчинг BIOS на ПК

После извлечения BIOS, следующим шагом является его патчинг нашим руткит-кодом. Это можно сделать с помощью тех же скриптов, которые мы использовали для VMware в разделах выше. Целью этого проекта было создать как можно более совместимый патч и процесс патчинга. Я очень рад, что это оказалось полностью осуществимым, так что одни и те же инструменты могут использоваться для совершенно другого оборудования, работающего на том же типе BIOS.

Повторная сборка BIOS на ПК

Хотя существует бесплатный инструмент, который может извлекать модули из Phoenix BIOS, похоже, что только Phoenix Bios Editor будет собирать их так, как это требуется для типичных ПК. Средство WinPhlash требует, чтобы в BIOS была включена дополнительная информация, которую он хранит вместе с необработанным BIOS в файле WPH. После тестирования многих различных вариантов, похоже, что единственный способ успешно собрать файл WPH — это использовать GUI Phoenix Bios Editor. К сожалению, это означает, что невозможно просто иметь одно приложение, которое можно запустить в системе для заражения BIOS, по крайней мере, без использования заготовленных инструментов.

Теоретически должна быть возможность выполнить реверс инжиниринг формата WPH и создать собственный инструмент для повторной сборки BIOS, но это выходит за рамки данного проекта. Вместо этого заражение BIOS представляет собой трехэтапный процесс, требующий некоторого ручного вмешательства, главным образом для повторной сборки.

Как и при патчинге BIOS VMware, можно использовать тот же прием, чтобы Phoenix BIOS Editor повторно собирал пропатченный модуль. Когда образ BIOS открывается впервые, все модули BIOS будут извлечены на диск в папку, расположенную в C:\Program Files\Phoenix BIOS Editor\TEMP\. Модуль распаковки может быть скопирован из этой папки, пропатчен и заменен. Phoenix BIOS Editor не позволит вам сохранить BIOS без изменений, поэтому вам необходимо изменить какое-нибудь строковое значение, а затем вернуть его обратно (или просто так и оставить), чтобы сохранить BIOS.

Флешинг BIOS

После того, как BIOS повторно собран в WPH-файл, следующий пакетный скрипт перенесет новый образ BIOS в BIOS EEPROM, а затем перезагрузит компьютер, чтобы изменения вступили в силу:

Результаты модификации на ноутбуке

Собрав всю предыдущую работу вместе, далее показано, как код BIOS был перенесен на ноутбук (запускается скриптом infect.bat, описанным выше):

После завершения флешинга руткит BIOS успешно запустился и загрузился в ядро ​​Windows. На следующем скриншоте показана командная строка, которая первоначально запускается от имени рядового пользователя, а затем через 30 секунд ее привилегии повышаются:

Это демонстрирует, что руткит BIOS был достаточно портативным для работы на нескольких системах (VMware, ноутбук HP), и что механизмы заражения были функциональны и работали должным образом.

«Руткит», разработанный для этого проекта, реализует только одну простую задачу, но, как было отмечено в отношении программного обеспечения Vbootkit2, нет никаких причин, по которым к нему нельзя добавить дополнительные функции. В этом проекта фигурировал BIOS Phoenix, и вполне вероятно, что есть много сходств между BIOS Phoenix и BIOS других производителей. Хотя вполне вероятно, что код необходимо будет писать под каждого поставщика отдельно, их существует не так много, поэтому целесообразно расширить функциональность руткита на всех распространенных производителей.

Во введении я отметил, что новые функции BIOS, такие как подписанные апдейты, делают большую часть того, что описано здесь, намного меньшей угрозой с точки зрения безопасности. Это, безусловно, приятно отметить, но также стоит помнить, что «устаревших» компьютеров больше, чем «новых», поэтому этот тип атаки все еще будет оставаться проблемой в течение долгого времени.

Демо-версия VMware BIOS и исходный код

Следующий исходный код и исправленный BIOS предоставлены в качестве подтверждения концепции. Я ни в коем случае не предполагал, чтобы люди брали это и использовали для каких-либо злонамеренных целей, а скорее хотел продемонстрировать, что такие атаки вполне осуществимы в старых конфигурациях BIOS. Я не думаю, что это реально взять эту работу в ее нынешнем виде и превратить в какое-либо работоспособное вредоносное ПО, и на этом основании я размещаю этот код в Интернете.

Как отмечалось в предыдущих разделах, этот код должен работать для патчинга большинства BIOS Phoenix. Скрипты для патчинга можно скачать здесь:

BIOS_Based_Rootkit_Patch_Scripts.zip

Вам потребуется NASM для компиляции кода для патчинга BIOS, если вы используете вышеуказанные скрипты/исходный код. Для успешной работы NASM следует либо добавить в переменную path, либо обновить скрипт для патчинга, чтобы иметь абсолютный путь к нему. Вам также понадобится копия Phoenix BIOS Editor или бесплатный аналог, чтобы вернуть модуль распаковки обратно в полный BIOS.

Если вы не хотите компилировать все это самостоятельно и просто хотите потыкать то, что у меня получилось, пропатченный BIOS для использования с VMware можно загрузить здесь:

BIOS_rootkit_demo.ROM

Использование проверки концепции и примечания

Если вы не хотите читать всю работу, приведенную выше, вот краткое изложение того, как это попробовать, и что оно делает.

  • Сначала загрузите образ BIOS_rootkit_demo.ROM по приведенной выше ссылке.
  • Чтобы потестить это, вам нужно установить копию VMware и гостевую операционную систему Windows XP. Я лично проверил это с кучей разных версий VMware Workstation, а также с последней версией VMware Player (которая бесплатна). Мне также сказали, что VMware Fusion тоже отлично работает.
  • Прежде чем открыть гостевую виртуальную машину WinXP, перейдите в папку, где хранится виртуальная машина на вашем компьютере, и откройте файл .vmx (например, WindowsXP.vmx или как там называется ваша виртуальная машина) в блокноте. В конце добавьте новую строку, которая содержит следующее: bios440.filename = "BIOS_rootkit_demo.ROM". Убедитесь, что вы скопировали BIOS_rootkit_demo.ROM в эту папку, пока вы там.
  • Теперь откройте и запустите виртуальную машину, затем переименуйте программу в pwn.exe (например, cmd.exe).
  • Подождите 30 секунд, а затем запустите диспетчер задач. Теперь Pwn.exe должен работать как пользователь «SYSTEM», а не как пользователь, под которым вы вошли в XP.

Шагов, описанные выше, должны сработать в идеальном мире. Однако в результате тестирования были выявлены следующие танцы с бубном!

  • Нестабильность ОС. Иногда при загрузке или просто закрытии приложения pwn.exe Windows выдает BSOD.
  • Диспетчер задач будет лгать о пользователе вашего процесса, если вы откроете его раньше времени повышения привилегий в 30с. Используйте что-то вроде cmd с whoami, чтобы правильно проверить ваши права доступа.
  • Хотя я успешно загрузил это на настоящий ПК, я не несу никакой ответственности за результаты, если вы делаете то же самое. Я хотел бы услышать о том, как вы превратите в кирпич свою материнскую плату каким-то нелепым образом, если это случится, но я, вероятно, не буду вам помогать с последствиями! Тестируйте на свой риск!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

©2026 CRYPTO MINING BLOG Тема WordPress Video от WPEnjoy