Me analyzer как пользоваться программой
Перейти к содержимому

Me analyzer как пользоваться программой

  • автор:

Чистка ME-региона SPI Flash при замене чипсета Intel

Недавно столкнулся с проблемой — после замены чипсета (хаба) Intel GL82 HM175 на ноутбуке DELL Inspiron 15-7577 Шасси (Main Board): CKA50\CFK50 LA-E992P REV. 1.0 (A00) ноутбук заработал, но с долгим стартом, так же при воспроизведении видео он эпизодически зависал с треском из динамиков и выключался только принудительно, выскакивал синий экран и т.п. Вся проблема крылась в конфигурации микропрограммного обеспечения микросхемы SPI/BIOS, другими словами — мне нужно было почистить регион ME SPI (или просто ME-регион). Я перерыл кучу форумов, статей и ютуб-каналов в поисках нужной информации. и за это время увидел, что многие сталкиваются с этой проблемой и не могут сами разобраться, по этому я и решил написать эту статью. Надеюсь она поможет тем, кто так же как и я столкнулся с проблемами чистки ME-region.
Смысл операции следующий — в чипсете находится микроконтроллер, который управляется микропрограммой записанной в один из разделов флешки биоса и при замене чипсета происходит сбой в работе этого микроконтроллера, так как программа была сконфигурирована под старый чипсет и поэтому необходимо почистить этот раздел флешки (ME Region). Поменять ME Region на чистый.
Для этого Вам понадобятся две программы ME_Analyzer_v1.193.2_r236 и Intel CSME System Tools или Intel ME System Tools в зависимости от серии чипсета и база с чистыми регионами CSME Repository. Итак приступим.
1. Копируем дамп с микросхемы БИОС программатором, либо берём его в других местах (форумы, офсайт).
2. Качаем программу ME_Analyzer (github.com/platomav/MEAnalyzer).

Как определить какие программы и репозитории Вам нужны, есть пошаговая инструкция для всех возможных случаев с иллюстрациями по адресу win-raid.com/t1658f39-Guide-Clean-Dumped-Intel-Engine-CS-ME-CS-TXE-Regions.

Репозитории (сборки с чистыми регионами) можно скачать на mega.nz/folder/PJFXnCDK#lWSX5W0ODubZ2pf3gu3unw

Для примера опишу мой случай на чипсете HM175.
ME_Analyzer_v1.193.2_r236 по моему «грязному» дампу выдал следующее:
Family — CSE ME
Version — 11.7.0.3290
SKU — Consumer H
File System State — Initialized (это значит, что он не почищен).

Значит я выбираю программу «CSME System Tools v11 r39» и сборник репозиториев «CSME 11.7 Repository r10», в сборнике репозиториев выбираю файл 11.7.0.3290_CON_H_DA_PRD_RGN (CON_H означает Consumer H).
Далее всё делаю согласно инструкциям с www.win-raid.com и получаю новый файл, который закидываю в ME Analyze для проверки результатов.

ME_Analyzer_v1.193.2_r236 по моему «очищенному» дампу выдал следующее:
Family — CSE ME
Version — 11.7.0.3290
SKU — Corporate H
File System State — Configured (это значит, что он почищен).

На всякий случай прикладываю BIOS с чистым МЕ регионом на Dell 7577 и отдельно чистый регион.

Использование скрытого потенциала: как я активировал Intel AMT на мини-ПК от HP и получил удаленный доступ

В поисках недорогого железа для HTPC я открыл для себя нишу корпоративных мини-ПК. Попадая на вторичный рынок такие компьютеры сильно теряют в цене. При этом у них есть интересные, но обычно бесполезные для дома, корпоративные фишки.
Из обзоров я узнал про поддержку платформы Intel VPro, в состав которой входит продвинутая технология удаленного администрирования — Intel AMT (Active Management Technology).

Над этой технологией поработал Xzibit и она настолько хороша, что многие называют ее аппаратной закладкой в процессоре и пытаются отключить.

Intel AMT позволяет удаленно управлять компьютером, даже если операционная система не загружена или не работает. Причем поддерживается как проводное, так и Wi-Fi подключение. Рулить бивасами по Wi-Fi — ну разве не прелесть?

В моем случае компьютер должен жить на шкафу, подключенный к проектору. Физический доступ к нему будет затруднен, а подключение к сети будет только беспроводным. Расширенные возможности удаленного администрирования были бы как нельзя кстати.

В итоге я приобрел на eBay компьютер HP ProDesk 600 G3 Mini.

По железу он удовлетворял моим потребностям с большим запасом. Но вот получить доступ ко всем функциям Intel AMT мне не удалось. Оказалось что на моем экземпляре можно активировать только урезанный вариант этой технологии — Intel Standard Manageability.

Intel Std Mgt (Standard Manageability) или Intel SMT — это одна из функций, доступных в Intel AMT (Active Management Technology). Она обеспечивает базовый набор возможностей удаленного управления компьютером. Стандартный уровень управляемости Intel AMT (Std Mgt) представляет собой минимальный набор функций удаленного управления и поддерживается на большинстве компьютеров, оснащенных технологией Intel AMT.

Подробнее про отличия между Intel AMT и SMT можно узнать из этого видео.

Если вам нужна поддержка Intel AMT без танцев с бубном, советую при покупке компьютера обращать внимание на интеловский стикер на корпусе. На стикере должна быть отмечена поддержка платформы vPro.

Краткое руководство по выбору vBro

В моем случае из функционала Intel AMT были недоступны KVM и удаленное подключение по беспроводной сети. Первое меня не слишком волновало, но подключение по Wi-Fi было нужно позарез. Теоретически Intel SMT поддерживает беспроводное подключение, но то ли HP приберегла эту фичу для серии EliteDesk, то ли она появилась в более поздних версиях vPro… Поначалу я грешил на комплектный Wi-Fi адаптер Intel 7265NGW, но его замена на Intel 8265NGW, который прописан в Intel ME, ничего не изменила.

Intel ME (Management Engine) — это набор микропрограмм, встроенный в чипсеты Intel, который предоставляет аппаратную и программную инфраструктуру для удаленного управления и мониторинга компьютера. ME работает независимо от основной операционной системы и может использоваться для удаленной установки обновлений, управления безопасностью, мониторинга аппаратных компонентов и т.д.

Тогда я полез за решением в интернет и нашел подходящую тему на форуме Win-Raid.
Там пользователь с ником Ohlamon создал топик, в котором спрашивал как активировать KVM на HP Prodesk 600 G3.

К своему посту он добавил отчет, сформированный программой MEInfoWin64 .

E:\Soft\Intel CSME System Tools v11 r29\MEInfo\WIN64>MEInfoWin64.exe

Intel(R) MEInfo Version: 11.8.70.3626
Copyright(C) 2005 — 2019, Intel Corporation. All rights reserved.

Intel(R) Manageability and Security Application code versions:

BIOS Version P07 Ver. 02.31
MEBx Version 11.0.0.0010
GbE Version 0.1
Vendor ID 8086
PCH Version 0
FW Version 11.8.65.3590 H
Security Version (SVN) 3
LMS Version 1927.14.0.1305
MEI Driver Version 1931.14.0.1323
Wireless Hardware Version 2.1.77
Wireless Driver Version 20.70.12.5

FW Capabilities 0x593A1146

Intel(R) Standard Manageability — PRESENT/ENABLED
Intel(R) Capability Licensing Service — PRESENT/ENABLED
Protect Audio Video Path — PRESENT/ENABLED
Intel(R) Dynamic Application Loader — PRESENT/ENABLED
Service Advertisement & Discovery — PRESENT/ENABLED

Re-key needed False
Platform is re-key capable True
Intel(R) AMT State Disabled
AMT Global State Enabled
Intel(R) Standard Manageability State Enabled
TLS Enabled
Last ME reset reason Power up
Local FWUpdate Enabled
BIOS Config Lock Enabled
GbE Config Lock Enabled
Host Read Access to ME Enabled
Host Write Access to ME Disabled
Host Read Access to EC Disabled
Host Write Access to EC Disabled

SPI Flash ID 1 C84018
SPI Flash ID 2 Unknown
BIOS boot State Post Boot
OEM ID 00000000-0000-0000-0000-000000000000
Link Status Link Up
System UUID 0e781479-d74f-14c7-e1f2-d82aa45d135a
MAC Address f4-39-09-1d-f9-9e
IPv4 Address 10.0.16.115
IPv6 Enablement Disabled
IPv6 Address Unknown
Privacy/Security Level Default
Configuration State Completed
Provisioning Mode PKI
Capability Licensing Service Enabled
OEM Tag 0x00000000
Slot 1 Board Manufacturer 0x00000000
Slot 2 System Assembler 0x00000000
Slot 3 Reserved 0x00000000
M3 Autotest Disabled
C-link Status Enabled
Wireless Micro-code Mismatch No
Wireless Micro-code ID in Firmware 0x24FD
Wireless LAN in Firmware Intel(R) Dual Band Wireless-AC 8265
Wireless Hardware ID 0x24FD
Wireless LAN Hardware Intel(R) Dual Band Wireless-AC 8265
Localized Language Russian
Independent Firmware Recovery Disabled
EPID Group ID 0x2055
LSPCON Ports None
5K Ports None
OEM Public Key Hash FPF 0000000000000000000000000000000000000000000000000000000000000000
OEM Public Key Hash ME 0000000000000000000000000000000000000000000000000000000000000000
ACM SVN FPF 0x0
KM SVN FPF 0x0
BSMM SVN FPF 0x0
GuC Encryption Key FPF 0000000000000000000000000000000000000000000000000000000000000000
GuC Encryption Key ME 0000000000000000000000000000000000000000000000000000000000000000

FPF ME
— –
Force Boot Guard ACM Disabled Disabled
Protect BIOS Environment Disabled Disabled
CPU Debugging Enabled Enabled
BSP Initialization Enabled Enabled
Measured Boot Disabled Disabled
Verified Boot Disabled Disabled
Key Manifest ID 0x0 0x0
Enforcement Policy 0x0 0x0

MEInfoWin64 — это утилита для получения информации о настройках и функциях Intel Management Engine на компьютере.

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

Вот отчет MEInfoWin64 для моей машины

На вопрос ответил пользователь с ником plutomaniac:

Standard Manageability включен, что означает, что HP отключила AMT для этой машины/SKU через настройки прошивки CSME. Вы можете проверить это, выгрузив ваш текущий образ SPI (fptw -d spi.bin), загрузив его в Flash Image Tool и проверив состояние настроек, связанных с AMT. Поскольку у вас нет прав на запись, вам нужно будет использовать джампер на плате (если это то, что он делает) или программатор, как объясняется в [Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing. После того, как у вас будет доступ на запись, выгрузите ваш образ SPI, следуйте [Guide] Clean Dumped Intel Engine (CS)ME/(CS)TXE Regions with Data Initialization и настройте все связанные с AMT настройки между шагами 10 и 11.

Ниже в теме Ohlamon пишет, что считал образ SPI программатором и изменил биты доступа в Flash Descriptor.

Flash Descriptor — это часть SPI BIOS, которая хранит информацию о конфигурации BIOS, такую как размер, тип и расположение каждой области памяти BIOS, а также определенные настройки системы, включая настройки безопасности и настройки Intel ME (Management Engine).

В результате его компьютер не стартовал с измененным образом.

Больше сообщений в теме не было. Не очень обнадеживающе. Но тогда я мало что понял из этого набора заклинаний и стал экспериментировать с утилитой Flash Image Tool.

Утилита Flash Image Tool (FIT) — это инструмент, который используется для работы с образами SPI BIOS на устройствах с чипсетами Intel. Он позволяет отображать, редактировать, добавлять и удалять различные компоненты BIOS, такие как ME (Management Engine), GbE (Gigabit Ethernet), а также позволяет проверять целостность образа, его подпись и сертификаты. FIT также может использоваться для создания загрузочных USB-накопителей, обновления микрокода процессора и других задач, связанных с обновлением и управлением BIOS.

Для начала я, как и автор топика, с помощью утилиты Flash Programming Tool сделал дамп содержимого всего SPI-флеша BIOS в файл с названием «hp_full.bin»:

Flash Programming Tool (FPT) — это утилита для прошивки SPI Flash, используемой для хранения BIOS на материнской плате. Она позволяет читать и записывать содержимое SPI Flash, а также выполнять другие операции, такие как стирание и блокирование защиты. FPT является частью пакета инструментов Intel Flash Programming Tool (FPT), который используется для прошивки различных компонентов на плате, включая Intel ME и другие системные контроллеры.

Затем я успешно открыл полученный файл с помощью Flash Image Tool и убедился что Intel AMT залочен производителем.

Поскольку часть ответа с разблокировкой FD на тот момент полностью прошла мимо меня, далее я следовал алгоритму, описанному в теме [Guide] Clean Dumped Intel Engine (CS)ME/(CS)TXE Regions with Data Initialization

0. Первым делом узнаем какая версия Intel ME установлена на компьютере. Сделать это можно заглянув в BIOS, либо с помощью утилиты MEInfo.

В моем случае установлена версия 11.8.92.4222

В теме на форуме выбираем подходящий под эту версию гайд из вариантов:

В моем случае это последний вариант D4.

Как видим, начиная с 11 версии Intel стали называть ME немного иначе.

Intel CSME (Converged Security and Manageability Engine) и CSTXE (Converged Security and Trusted Execution) — это два компонента, встроенные в процессоры Intel, которые обеспечивают дополнительный уровень безопасности и управляемости системы.

CSME предназначен для обеспечения безопасности на уровне железа, а также для управления системными функциями, такими как удаленное управление, обновление BIOS и другие. CSTXE, с другой стороны, обеспечивает безопасное выполнение кода на уровне железа и защищает от угроз на уровне процессора, таких как вредоносные программы и атаки на уровне железа.

Intel ME (Management Engine) и Intel CSME (Converged Security and Manageability Engine) являются двумя различными компонентами, которые выполняют разные функции, хотя они взаимодействуют между собой.

Intel ME отвечает за удаленное управление и обеспечение безопасности системы. Он обеспечивает функциональность удаленного управления, мониторинга и диагностики системы, в том числе через интерфейс Intel AMT (Active Management Technology).

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

Таким образом, Intel CSME отвечает за безопасность системы в целом, а Intel ME — за удаленное управление.

Intel ME System Tools — это пакет утилит, разработанных Intel, для работы с подсистемой управления (Management Engine, ME) на компьютерах, основанных на процессорах Intel. Эти утилиты позволяют настраивать, управлять и мониторить различные функции и параметры ME, такие как управление энергопотреблением, защита от вредоносного кода, удаленное управление и многое другое.

Список утилит из пакета CSME System Tools v11:

Clock Commander Tool — используется для настройки частоты работы системных компонентов, связанных с Intel ME, таких как CPU, GPU, PCH и т.д.

Flash Image Tool (FIT) — утилита для работы с образами BIOS/UEFI и других SPI-устройств

Flash Programming Tool (FPT) — утилита для прошивки SPI Flash-памяти материнской платы, включая образы Intel ME.

Firmware Update Tool — утилита для обновления программного обеспечения Intel ME и других компонентов, таких как Intel CSME, Intel TXE, Intel AMT и т.д.

Manifest Extension Utility (MEU) — утилита для создания, чтения и редактирования файлов манифеста Intel ME для поддержки обновления ME.

MEInfo — утилита для получения информации о версии и конфигурации Intel ME.

MEManuf — утилита для проверки, включена ли функция Intel ME на компьютере.

2. В теме Intel (CS)ME, (CS)TXE, (CS)SPS, GSC, PMC, PCHC, PHY & OROM Firmware Repositories ищу подходящий для моей версии пак с репозиториями.

Далее качаю архив с файлообменника:

3. Теперь понадобится утилита для анализа образов Intel ME firmware — ME Analyzer.

Кидаю файл “hp_full.bin” с дампом в папку с программой ME Analyzer и открываю его.

В результате получаю отчет

Здесь меня интересуют строки “Version 11.8.92.42222” и “SKU Corporate H”

4. В папке с репозиториями ищу наиболее подходящую версию микропрограммы. В моем случае это файл с именем 11.8.92.4222_COR_H_DA_PRD_RGN.bin

В имени файла “11.8.92.4222” указывает на версию микропрограммы, которая совпадает с версией из отчета Мe Analyzer; “COR_H” соответствует “SKU Corporate H”; “DA” обозначает версию PCH; “PRD” — это Production релиз; “RGN” говорит о том, что это чистый и не сконфигурированный образ, предоставляемый Intel OEM-производителям.

Извлекаю файл из архива и переименовываю его в «ME Region.bin»

5. Возвращаюсь к отчету ME Analyzer. Для проверки наличия инициализационных данных в дампе SPI/BIOS необходимо убедиться что состояние файловой системы отображается как «Initialized».

6. Из папки «CSME System Tools v11 r46» перехожу в подпапку «Flash Image Tool» и из подпапки «WIN32» запускаю fit.exe. Запускается программа Flash Image Tool. В ней открываю файл дампа SPI/BIOS “hp_full.bin”.

Обратите внимание на вот эту строку внизу: “Warning: The ME FW image loaded has been pulled from a previously booted system. Some FW settings will not be allowed to be changed.”

Это предупреждение означает, что ME FW-образ, загруженный в программу Flash Image Tool, был получен из ранее загруженной системы. Это может ограничить возможность изменения некоторых настроек ME FW в программе Flash Image Tool. Обычно это происходит, когда пользователь пытается изменить ME FW-образ, сохраненный из ранее загруженной системы, на другую систему.

Захожу в меню «Build > Build Settings», и выбираю «No» в параметре «Generate Intermediate Files». Оставляю все остальные настройки без изменений.

7. В меню слева выбираю пункт “Intel(R) AMT”. В “Intel(R) AMT Configuration” нахожу параметр “Intel(R) AMT Supported” и меняю его значение на “Yes”

Вот как этот параметр описан в программе: “This setting allows customers to disable Intel(R) AMT on the platform and force the platform into Standard Manageability mode. Note: This setting is only applies to Desktop and Workstation platforms.” (Перевод: «Этот параметр позволяет пользователям отключить Intel(R) AMT на платформе и перевести платформу в режим стандартного управления. Примечание: этот параметр применим только к настольным компьютерам и рабочим станциям.»)

8. Перехожу в меню «Файл > Сохранить как» и сохраняю файл конфигурации в формате XML, в данном случае его название будет «config.xml». Закрываю окно программы FIT.

9. Перехожу в папку FIT и там нахожу папку с именем, соответствующим открытому файлу, в данном случае это «hp_full.bin». Захожу в подпапку «Decomp» и заменяю в ней файл “ME Region.bin” на подготовленный в пункте 4 файл с чистым ME регионом.

Если не выполнить эти действия, то изменения внесенные в ME регион не сохранятся после загрузки машины. (Проверено на личном опыте.)

10. Вновь запускаю FIT. Открываю файл «config.xml» сохраненный в пункте 8.

11. Кликаю по иконке «Build Image» (либо «Build > Build Image»). Программа предупреждает меня что “Boot Guard Disabled On Platform” и “Intel(R) PTT Disabled”. Я соглашаюсь и получаю файл с прошивкой SPI/BIOS “outimage.bin”.

12. В папке FIT теперь лежит файл с именем «outimage.bin», который является выгруженным образом SPI/CSME с регионом МЕ, который имеет раздел «Configured DATA» без какой-либо ненужной информации об инициализации.

Если открыть это файл программой FIT, то никаких предупреждений о том, что образ получен из ранее загруженной системы, быть не должно.

13. Открываю файл «outimage.bin» программой ME Analyzer и проверяю что значения в строках “Version”, “Type”, “SKU” и “Chipset” не изменились. Параметр в строке “ File System State” должен измениться на “Configured”.

14. После записи полученного файла «outimage.bin» с модифицированной прошивкой на микросхему SPI Flash и загрузки системы, запускаю с правами администратора программу Flash Programming Tool с командой “-greset”.

Этот шаг нужен для того, чтобы заставить вспомогательный сопроцессор переинициализироваться и правильно принимать любые изменения в соответствующем регионе SPI/BIOS образа.

После всех этих манипуляций стала возможной активация на компьютере Intel AMT и я добился того, чего хотел.

Напоследок расскажу о самой волнующей части процесса — перепрошивке микросхемы SPI Flash. В моем случае это MX25L12873F от Macronix на 128Mb.

Начались приключения с покупки черного программатора CH341а. Оказалось что нельзя просто купить программатор и начать им пользоваться. Сперва нужно сделать вольтмод, чтобы понизить напряжение на DATA пинах с 5В до 3.3В. Ну я человек простой, если в интернетах пишут что нужен вольтмод — делаю вольтмод.

Программатор CH341 с вольтмодом

Готовлю пациента к операции и выпаиваю с помощью фена. (Пока я разбирался с программатором — успел спалить роутер. Так что не хотелось рисковать повредить что-нибудь на плате.)

Чип SPI Flash на материнской плате

Не заметили ничего опасного на снимке? Вот и я не заметил что вставил плату-переходник в колодку с рычажком на один ряд выше чем было нужно. Понял я что что-то пошло не так, когда программатор не смог определить чип. Флешка за это время успела сильно нагреться, что говорится “закипела”.

Но я забежал вперед. На снимке не первый мой опыт общения с этой флешкой. Моя первая попытка перепрошивки закончилась тем, что самая свежая на тот момент версия софта для программатора “CH341A Programmer 1.34”, найденная мной в интернетах, некорректно прочла чип, и я работал с поврежденным дампом не зная об этом.

Интерфейс CH341A Programmer 1.34

Первые звоночки начались когда после стирания и записи образа на флешку, проверка сообщила что записанный файл не совпадает с файлом в окне программы. Пришлось пробовать другие варианты софта. Хорошо себя показала “SiberiaProg-Ch341a_v1.45” успешно записав (увы некорректный) файл.

Интерфейс SiberiaProg-Ch341a_v1.45

Когда я припаял на место флешку, то компьютер, вместо того, чтобы загрузиться, стал жалобно пищать и мигать светодиодом.

Пришлось по новой выпаивать чип и разбираться что к чему. Тогда-то, после многих попыток, я и выяснил что v1.34 программатора некорректно читает эту микросхему. Опробовал также NeoProgrammer 2.2.0.10.

Интерфейс NeoProgrammer 2.2.0.10

С чтением он справлялся. Но ни одна из программ не могла корректно стереть чип, зависая в бесконечном процессе. Но стирание все-таки происходило. Ориентируясь по активности светодиода “RUN” на плате программатора, я понял что в какой-то момент программа перестает обращаться к флешке. Тогда я просто останавливал процесс стирания и вытаскивал программатор из порта. Затем я читал флешку и проверял чтобы ячейки памяти заполнены «0xFF». Потом записывал образ и запускал проверку. Затем опять читал флешку но уже NeoProgrammer и записывал образ на диск. Затем открывал записанный образ и исходный файл программой WinMerge, и если файлы совпадали, успокаивался. Как говорится: «если один раз обжегся — начинаешь дуть на воду».

Несмотря на все старания, флешку я так и не спалил, и в итоге успешно прошил и припаял на место. Прежде чем паять все ноги я припаивал одну, прижимал чип пальцем к плате, и включал компьютер. Так я смог проверить прошитый чип на работоспособность не распаивая все ноги.

Как заменить ("очистить") ME регион в BIOS и что это вообще такое?

Как заменить (

Почему нельзя просто прошить слитый дамп BIOS с другого ноутбука с уже инициализированным ME регионом и что это вообще такое?

Если говорить простыми словами, то UEFI BIOS состоит из нескольких областей (регионов), одна из которых называется ME регионом и инициализируется при первом запуске ноутбука. По этой же причине первый запуск обычно происходит несколько дольше, чем последующие.

ME регион в общей структуре UEFI BIOS

ME регион является частью подсистемы управления Intel Management Engine. Эта штука встроена почти во все чипсеты Intel начиная с 2008 года. Мы можем лишь догадываться, чем на самом деле занимается ME-контроллер, так как по нему нет информации в открытом доступе и компания Intel хранит это в секрете.

В этом случает могут возникнуть проблемы с самопроизвольным выключением ноута (например через 30 минут или через 20-30 секунд), либо некорректная работа кулера, когда он всегда молотит на максимальных оборотах и другие странности.

Замена ME региона в BIOS

Что такое «грязный» ME регион и как его «очистить»?

Нам понадобится три программы: ME Analyzer, Intel Flash Image Tool и Comrape It! (ссылок не даю, так как они находятся в сети в свободном доступе).

Будем считать, что полный дамп BIOS у вас уже есть. Первым делом загоняем наш дамп в программу ME Analyzer и проверяем что написано в поле [File System State].

Переместив дамп BIOS в утилиту ME Analyzer проверяем значение поля [File System State]

Тут возможны три варианта:

  • [Unconfigured] – ME регион не сконфигурирован;
  • [Configured] – ME регион сконфигурирован, но не инициализирован («чистый»).
  • [Initialized] – ME регион уже инициализирован и видел плату (в простонародье такой регион называют «грязным»);

Теперь вы знаете, что «правильная» прошивка BIOS ноутбука должна содержать ME-регион в состоянии [Configured] и для этого нужно как-то отредактировать данную область. Для разборки дампа на регионы и работы с ним существует специальная программа Flash Image Tool (fitc).

И тут есть один существенный нюанс! Существуют разные версии этой программы, каждая из которых поддерживает строго определенное семейство хабов Intel. По этой причине следует точно знать подходящую версию программы в каждом конкретном случае.

Как определить какая версия программы Flash Image Tool подходит, а какая нет?

В этом нам снова поможет утилита ME Analyzer, а конкретно значение полей [Version] или [Flash Image Tool]:

Нас интересуют значения полей [Version] и [SKU]

В представленном примере, для работы с дампом BIOS нам понадобится 12-ая версия утилиты Flash Image Tool. Также потребуется скачать соответствующий репозиторий с «чистыми» бинарными файлами ME регионов.

Файл с «чистым» ME регионом будет иметь следующее название (объяснение почему именно этот файл и откуда его взять будет чуть ниже):

Для определения нужного нам файла с ME регионом из скачанного репозитория посмотрим значение полей [SKU] и [Chipset Stepping]. Поле [SKU] содержит одно из двух значений: Consumer LP или Corporate LP (в названии файла это соответствует сокращению _CON_ или _COR_ соотвественно). А буква _С_ в названии файла соотвествует значению поля [Chipset Stepping]:

Проверяем значение поля [Chipset Stepping]

Где взять файлы с «чистым» ME регионом?

Вы удивитесь, насколько легко они находятся в Интернете по запросу «архивы чистых ME регионов», вот ссылка на один из таких ресурсов (репозиторий «чистых» ME регионов). Так что тут нет никакого тайного знания, как это любят представлять на тематических форумах ремонтники.

Как правило, прямо в архиве можно найти и уже упомянутую выше утилиту Flash Image Tool, причем сразу нужной версии (но не всегда).

Проверить на «чистоту» ME-региона можно в hex-редакторе. Переходим к адресу 0х400 и там мы должны увидеть значение [01 FF FF FF]. Инициализированный или «грязный» регион начинается с [00 и далее 00 00 00].

Собираем дамп с «чистым» и сконфигурированным ME регионом

В программе Flash Image Tool кликаем по [Flash Layout] и находим [Intel ME Region], где указываем путь к файлу с «чистым» ME регионом, который мы только что скачали.

Область ME региона и путь к нему в программе Flash Image Tool (fitc)

Чтобы облегчить себе задачу и не заморачиваться с переносом настроек при замене ME-региона, создадим два xml файла – первый, сразу как только вы загрузили в программу свой дамп BIOS и второй, когда указали в программе путь к новому файлу с «чистым» ME-регионом. Назовём их old.xml и new.xml

Сохраняем старую новую версию конфигурации файла прошивки в формате .xml

Далее, с помощью программы Comrape It! сравниваем полученные файлы и заменяем в файле old.xml путь к файлу с «чистым» ME-регионом, взятый из файла new.xml. Таким образом мы получим полностью сконфигурированный файл для сборки дампа BIOS с «чистым» ME регионом.

Сравнение полученных .xml файлов в программе Comrape It!

Загружаем исправленный old.xml в утилиту Flash Image Tool и собираем дамп (Build -> Build Image) c «чистым» и при этом уже сконфигурированным ME регионом.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Подключаемся к роутеру с динамическим IP адресом: настройка DDNS на Mikrotik У меня получилось! Снимаем пароль с BIOS программатором Lenovo ideapad 330: внутреннее устройство и установка SSD Чего не стоит делать если телефон упал в воду MODX: modx due to too many failed logins Массаж «битых» пикселей LCD экранов

Malware Analysis: First Steps — Creating your lab

Emma McCall

So you want to rip apart malware? You wanna get into its innards, pull out its guts and lay them on the tables to take a look with a microscope? Excellent, I like you.

Student, Hobbyist, Junior Analyst… We all start somewhere. So you’ve found some malware, maybe pulled it off VirusTotal, if you’re in the latter group possibly from your workplace. You’ve stuck it in the ThreatGrid or Hybrid Analysis sandboxes, got a result. What happens when you need to check something off the grid. Files in HA or ThreatGrid can be leaked, upload to VirusTotal Intelligence? There goes your OpSec.

You could run it in IDA Dis-assembler, but you don’t speak shellcode and you don’t dream in ASM… yet. So what do you do, pass it off to a senior analyst who can do it for you? Bah that’s boring. There is plenty we can get from this to do basic triage and identify what’s going on.

Welcome to a two, maybe three part series that going to teach you the basics of Dynamic Malware Analysis. This will mainly be guidance based on what I’ve been learning over the past few months, I’m no superduper expert, but I can help you get past the few pitfalls I’ve had.

In this article we’ll get your lab setup, all we need is a basic set-up, a few tools and our brains. It’ll be surprisingly simple when we dive in, so let’s do it!

Overview

So what is our problem and what do we need? Ideally we want an isolated environment that we can run our potentially very dangerous files. We want to be able to see its network communication, without alerting the files creators,. Be able to see what is being changed on the OS, check registry changes, file changes, process creation etc.
Additionally, we want to be able to image our environment so it’s easy to return to a known good state… C’mon, you can all see where this is going. Time to fire up VMWare (VirtualBox / KVM are perfectly good free(er) alternatives)….

  • Windows Analysis Machine — Windows 10
  • iNetSim Network Simulation — Ubuntu Linux

These are the two environments you will need to have set-up in order to proceed, so for now do the basic installation for the operating systems in your Hypervisor and lets kick off.

If you don’t know Linux basics, Hypervisor Basics or are unfamiliar with windows… Go look at them before continuing.

Pre-Configuration
Ensure that in VMWare both of your VM’s are showing host-only IP setups:

This is going to be critically important when we start analyzing dangerous files, you can further configure the host only network in the Edit > Virtual Network Editor option in VMware:

You can find further details on configuring VMWare’s virtual switches and host only configuration in their documentation, however for this having 2 IP’s on the same subnet will suffice. By default VMWare ships with VMNet01 which is a pre-configured host-only network that is more than suitable for this.

iNetSim Setup and Configuration

So you’ve installed your favorite flavor of Linux — Personally I’m using the latest version of Ubuntu Server, you don’t need to give it too much RAM, CPU or Disk Space, all it’s going to be doing is handling network requests. Once done you’re good to start:

As usual the first thing we want to do is update our OS packages, as I’m using Ubuntu I have the pleasure of apt…

This is pretty much best practice, now lets add the iNetSim repository to our installation (you may need to do this from a root shell rather than sudo):

We then add the archive signing key provided by the iNetSim team to our installation to allow apt to verify the digital signatures of the package we’re going to install (Yes the dash at the end is important!):

Update the packages list again to pull the latest versions from the repo we just added:

Then finally we will be ready to install the iNetSim package (and all its dependencies):

If you notice as part of the installation one of the last few lines reads:

We’ve gotta do a little configuration before we’re good to go! Lets fire up our favorite text editor and have at it:

This is the main configuration file for the iNetSim application, we want to modify/uncomment the following lines. Before you do this you will need to know your servers IP (the one you’re on now, you should know that right….)

These options will set both the binding IP for the service and the IP and Domains used within the application, when your malware requests www.malicious.com it’ll get back the IP of your iNetSim so that it forwards the rest of its juicy traffic there.

Save that file and be done with it. Then we move on:

Here we wanna change ENABLED=0 to ENABLED=1 , Save, Quit and have a mouthful of beer. That steps done!

To fire up the application whenever you are ready its a fairly simple:

The output will tell you where log files etc are stored and that the simulation is running successfully, including IP address and Process info. The usual CTRL+C to close. If you go to a web browser and open up the IP address of the server your iNetSim is running on you should see something like this:

If you see that, its working, well done! Now lets move over to our setup and fully licensed (right..) windows box…

Windows Analysis Box Setup and Configuration

OK so youve got your windows box all setup, make sure youre entirely up to date with your windows patches, you don’t want windows update shitting up your network traffic, because oh boy does it.

Ya ready for another set of links and applications to download? Go grab these:

WireShark — https://www.wireshark.org/
Wireshark is a network protocol analysis tool that allows you — in quite some depth — to look at the traffic passing over your network interfaces. This is going to be critical for identifying if your malware is trying to phone home.

CFF Explorer — http://www.ntcore.com/exsuite.php
CFF Explorer is part of a suite of tools that will allow you to view the internal structure of a PE, and will parse out important information such as compile dates, imports and exports.

PEView — http://wjradburn.com/software/PEview.zip
Similar to CFF Explorer above PEView will let you view the structure of a Portable Executable.

WinRAR — http://www.rarlab.com/download.htm
You may be wondering, wtf is winrar doing on this list.. why do we want an archiving tool? So many instances of common and APT malware have been dropped by Self Executing Archives and WinRAR is the only tool that will comprehensively show you the comment section of the RAR file that contains the SFX instructions.

010 Editor — https://www.sweetscape.com/010editor/
010 Editor is a fantastic text, hex, binary editor. frankly outstanding. It is however not free. There is a 30d trial available. Give it a shot, I found it well worth the purchase.

ILSpy — http://ilspy.net/
Beautiful little .NET disassembler, takes most .NET executable, gives you some lovely code. Just what mamma ordered.

And finally what is probably the most useful selection of tools that you can have the Windows SysInternals tool set — You can create a shortcut on the desktop that links to this URL:

The tools we will be using from this selection are:

  • Procexp.exe / Procexp64.exe
    A super hyped up version of your task manager, shows in-depth information about running processes.
  • Procmon.exe
    Procmon shows realtime output for file system, registry, network and process activity. This little program is our baby, give it a name, love it.
  • TCPView.exe
    TCPView is a graphical display of all TCP network sessions active on your host, it shows active, listening and transient connections. It’s a really pretty Netstat. I find it useful.

There are numerous other tools that will be helpful and when we start to dig into actual analysis, I may end up referencing some of those and Ill give you download links at the time. Dealing with Word docs and OLE objects is a prime example where other utilities will be useful.

When you’re done downloading and installing the applications above, set the primary DNS server for your network interface (within the guest OS) to be the IP address of the iNetSim server we setup earlier.

Now if you try to go to google for example, you should be routed to the Fake Website that we saw earlier.

Finally the last action we want to take on both of the machines we have setup at this point, is to create snapshots of them using our Virtual Machine Hypervisor. I advocate for good and obvious naming schemes so I get the following:

Performing snapshots like this allows us to quickly and easily return our environment to a known good state, this is super important when you consider what kind of tools we could be looking at and running in this VM.

*** It is highly advised at this point you go into your VM settings for both the iNetSim Simulator and the Windows Analysis machine and ensure that they are in Host Only networking mode, and that their IP addressing allows them to communicate — Re-take a snapshot after you have confirmed this ***

Trust me, you don’t wanna be looking at something that could potentially pull down an SMB spreading ransomware (topical huh..) and encrypt your entire media NAS…

Congratulations, you’ve setup a Malware Analysis lab. You’ve got a secure environment to run dodgy files and tools to look at them.

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

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