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

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

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

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

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

Категории

Все категории
Loading categories
intel-me-research — Общайтесь со своим Intel Management Engine напрямую — Python-инструмент без зависимостей. Находит утечки памяти, манифест разделов, live-опрос MKHI. Первый публичный HECI Spy. | Kitploit
Инструменты/GitHubGitHub/jatinkapilaq1/intel-me-research
Безопасность встроенных системАнализ уязвимостейОбратная инженерияСбор информацииАппаратная БезопасностьАнализ Бинарных ФайловАнализ Прошивок
GitHubjatinkapilaq1/intel-me-research

Популярное

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

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

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

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

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

intel-me-research

Общайтесь со своим Intel Management Engine напрямую — Python-инструмент без зависимостей. Находит утечки памяти, манифест разделов, live-опрос MKHI. Первый публичный HECI Spy.

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

Реверс-инжиниринг прошивки Intel ME — анализ живой CSME 16.x

«В вашем компьютере есть скрытый второй компьютер. Мы нашли его, нанесли на карту и задокументировали, что в нём спрятано.»

🔥 ПОПРОБУЙТЕ САМИ — HECI SPY 🔥

Один Python-скрипт. Ноль зависимостей. Общайтесь с вашим Intel Management Engine напрямую.

root@kitploit:~
python scripts/heci_spy.py
# Requirements: Windows, Python 3.6+, Run as Administrator

Что он делает:

  • Автоматически определяет ваше устройство Intel HECI/MEI
  • Подключается к ME по протоколу MKHI
  • Запрашивает версию прошивки, манифест разделов и скрытые значения
  • Находит утечку памяти — GEN.1B при каждом запуске возвращает другое значение
  • Сохраняет отчёт, которым можно поделиться, с полным raw hex-журналом

Только что запустили его на Lenovo IdeaPad Gaming 3 (i7-12650H, CSME 16.0.15.1735):

root@kitploit:~
MKHI v3.1 | FW 16.0.1735.15 | 8 partitions found | GEN.1B: 0x00C344CA (changes each run!)

Мы подтвердили: 7 из 12 команд MKHI отвечают. ME жив, разговаривает и допускает утечку памяти.

▶️ Смотреть 35-секундное демо — (правый клик «Сохранить как» или загрузите на YouTube для встроенного воспроизведения)

📊 Смотреть полную презентацию из 21 слайда


🏆 ЗАЯВЛЕНИЕ: ВПЕРВЫЕ В МИРЕ

Это первое в истории публичное раскрытие полной внутренней структуры прошивки Intel CSME 16.x (Alder Lake), декодированной с живого оборудования.

Никто и никогда не публиковал:

  1. Полную карту файловой системы IFWI — 80 внутренних путей CSME 16.x
  2. Точную конфигурацию оборудования — JSON-блоки конфигурации, показывающие разводку ноутбука
  3. Полную цепочку доверия X.509-сертификатов — декодировано 13 сертификатов
  4. Механизм загрузки ROM Bypass — как ME загружается раньше вашего BIOS
  5. Карту возможностей ME — 11 доменов доступа, подтверждённых данными прошивки
  6. 28 структур безопасности, нанесённых на карту с живого оборудования
  7. ~2,9 МБ читаемой прошивки с живой системы Intel CSME 16.x

И всё это — с Lenovo IdeaPad Gaming 3 на Intel Core i7-12650H (12-е поколение Alder Lake).

TL;DR

Intel Management Engine (ME) — это скрытый микроконтроллер, встроенный в каждый современный процессор Intel. Он работает под собственной операционной системой, имеет собственный процессор (Synopsys ARC EM) и функционирует 24/7 — даже когда ваш ПК полностью выключен. Большинство людей знает, что он существует. Почти никто не заглядывал внутрь.

Этот проект заглянул.

Нам удалось:

  • Создать heci_spy.py — первый публичный инструмент без зависимостей для живого общения с Intel ME через HECI/MKHI
  • Найти утечку памяти — GEN.1B при каждом запуске возвращает разные значения (утечка указателя адреса)
  • Снять дамп живой прошивки напрямую с оборудования Intel ME (4.8MB)
  • Определить все 29 внутренних модулей и их назначение
  • Подтвердить архитектуру секретного ARC-процессора по строкам из сырой прошивки
  • Нанести на карту полную файловую систему IFWI из 80 путей для CSME 16.x
  • Декодировать 8 JSON-блоков конфигурации оборудования, показывающих точную разводку ноутбука
  • Извлечь и декодировать 13 X.509-сертификатов, образующих цепочку доверия
  • Задокументировать механизм загрузки ROM Bypass — ME запускается раньше вашего BIOS
  • Найти таблицу данных движка разгона (OverClocking) внутри прошивки ME
  • Нанести на карту 28 из 35 структур безопасности в прошивке
  • Задокументировать 8/8 постоянных, необратимых защитных блокировок
  • Пропатчить MEAnalyzer для поддержки CSME 16.x (раньше он не работал)

🗺️ ВПЕРВЫЕ В МИРЕ: полная внутренняя карта прошивки

root@kitploit:~
IfwiRoot/ (THE ENTIRE FIRMWARE)
├── BiosRegion (Your BIOS — 24MB)
├── DescriptorRegion (Flash layout)
│   ├── FDBAR/ (Flash Database)
│   │   ├── FLASH_VALID_SIGNATURE
│   │   ├── FLMAP0-4 (Component maps)
│   │   └── EcRegionPointer ← EC firmware pointer
│   ├── PchStraps (PCH hardware config)
│   │   ├── PCH_Strap_DMI_OPDMI_TLS: "4 GT/s"
│   │   ├── PCH_Strap_DMI_OPD_LVO: "0.95 Volts"
│   │   └── PCH_Strap_FIA_LOSL0-3: USB3/PCIe config
│   ├── MipDesc/ (Management Engine descriptors)
│   │   ├── PmcStraps (PMC config — Type-C ports)
│   │   └── DbCStraps (Debug Capability)
│   ├── MasterAccessPermissions ← SECURITY LOCKS
│   ├── OEM (Lenovo OEM data)
│   └── VsccTable (SPI flash component table)
│
├── CseRegion (THE INTEL ME — 4.8MB)
│   ├── RomBypass ← HIDDEN BOOT MECHANISM
│   ├── RomBypassVector (Jump table)
│   ├── BPDT1/ (Boot Partition Table 1)
│   │   ├── FTPR (Fault Tolerant Recovery — 2.2MB)
│   │   ├── RBE (ROM Bypass Engine)
│   │   ├── PMC (Power Management)
│   │   ├── IOM (Intel Orchestrator Manager)
│   │   ├── NPHY (Network PHY firmware)
│   │   ├── IDLM (Dynamic Link Manager)
│   │   ├── TBTP (Thunderbolt — 40KB readable)
│   │   ├── OEM_KM (OEM Key Manifest — Lenovo's keys)
│   │   └── PCHC (PCH Configuration)
│   ├── BPDT3/
│   │   ├── NFTP (Non-Fault Tolerant — 436KB readable)
│   │   ├── ISHC (Integrated Sensor Hub — 88KB)
│   │   ├── IUNIT (Intel Unit firmware)
│   │   └── GBST (Performance Boost)
│   └── DATA_PARTITION/
│       ├── FLOG (Flash Log)
│       ├── ELOG (Event Log)
│       ├── EFS (Encrypted File System)
│       ├── FITC/ (Flash Image Tool Config)
│       │   ├── HmrfpoNvar (HMRFPO config)
│       │   ├── ConfigRulesNvar (Configuration rules)
│       │   ├── PavpHdcpNvar (DRM/ HDCP config)
│       │   ├── ChipsetInit (Chipset initialization)
│       │   ├── EomNvar (End-of-Manufacturing config)
│       │   ├── TbtConfigDataNvar (Thunderbolt config)
│       │   └── CameraGpioNvar (Camera GPIO config)
│       ├── HVMP (Hypervisor Management Policy)
│       ├── IVBP (Intel Verified Boot Policy)
│       ├── IMDP (Intel Management Data Path)
│       └── UTOK (Unit Token — device authentication)
│
├── EcRegion (Embedded Controller firmware)
├── GbeRegion (Gigabit Ethernet MAC)
└── SigningContainer (Intel signing blob)

🗺️ ВПЕРВЫЕ В МИРЕ: декодированная конфигурация оборудования

root@kitploit:~
// Platform Identification (at ME+0x29C134)
{
    "StrapsProject": "adp_p_straps.xml",
    "HarnessProject": "ADP-P PCH (w/ADL-P / M CPU) RDL v1.0.2.5",
    "HarnessLabel": "v1.30 ADP-P (Harness #50)",
    "SelectedRvp": "ADL-P DDR4 (ADL-P + ADP-P)"
}

// PCH Strap Configuration (at ME+0x29C523)
{
    "PCH_Strap_DMI_OPDMI_TLS": "4 GT/s",
    "PCH_Strap_DMI_OPD_LVO": "0.95 Volts",
    "PCH_Strap_FIA_LOSL0": "USB3",
    "PCH_Strap_FIA_LOSL1": "USB3",
    "PCH_Strap_FIA_LOSL2": "PCIe",
    "PCH_Strap_FIA_LOSL3": "PCIe"
}

// PMC Type-C Port Configuration (at ME+0x29C753)
{
    "PD0_Type_C_Port_Enabled": "Yes",
    "PD0_USB2_Port": "USB2 Port 2",
    "PD1_Type_C_Port_Enabled": "No",
    "PD2_Type_C_Port_Enabled": "No",
    "PD3_Type_C_Port_Enabled": "No"
}

// BootGuard Profile (at ME+0x29D38F)
{ "BtGuardProfileConfig": 3 }

🏆 ВПЕРВЫЕ В МИРЕ: цепочка доверия сертификатов

root@kitploit:~
Intel On-Die Root CA (ODCA CA2)
  │ https://tsci.intel.com/.../ODCA_CA2_CSME_Indirect.crl
  └── signs
CSME ADL ROM CA0 (Root of Trust — CPU fuses)
  │ Serial: 0x01 | SHA-256: 86474ecc2fc0c74b
  │ BURNED INTO HARDWARE — CANNOT be changed
  ├── signs
  │   CSME ADL SVN01 Kernel CA0 (Core ME OS)
  │   └── signs CSME ADL PAVP 01SVN0 (DRM)
  │       └── signs PAVP SGX CP0 + Playready
  └── signs
      CSME ADL PTT 01SVN0 (Platform Trust)
      └── signs 3 PTT signing certificates

Целевая система

Что такое Intel ME?

Intel ME (также называемый Intel Management Engine или CSME) — это автономная подсистема, встроенная в Platform Controller Hub (PCH). Она присутствует в каждом потребительском чипсете Intel с 2008 года.

root@kitploit:~
 +-------------------------------------------------------+
 |                    YOUR COMPUTER                       |
 |                                                       |
 |  +-----------+    +-----------+    +---------------+  |
 |  |           |    |           |    |               |  |
 |  |  Windows  |    |   Linux   |    |  Intel ME     |  |
 |  |  (your OS)|    | (maybe)   |    |  (secret OS)  |  |
 |  |           |    |           |    |               |  |
 |  +-----------+    +-----------+    +---------------+  |
 |       |                |                |             |
 |       +------- CPU ---+------- PCH ----+             |
 |                                                       |
 |  You control this          You NEVER see this        |
 +-------------------------------------------------------+

Что умеет ME (и вы не сможете это остановить)

  • Читать вашу RAM — полный доступ ко всей памяти, даже когда ПК «выключен»
  • Получать доступ к вашей сети — у него собственный стек TCP/IP и сетевое подключение
  • Видеть ваш экран — может захватывать вывод дисплея через DRM
  • Обходить ваш файрвол — работает ниже уровня ОС, невидим для всего ПО
  • Загружаться раньше вашей ОС — начинает выполняться ещё до загрузки BIOS/UEFI
  • Не может быть отключён — ни настройка BIOS, ни команда ОС, ни ПО не отключат его

29 скрытых модулей

Мы обнаружили все 29 модулей, из которых состоит внутренняя операционная система ME:

Базовая система

Безопасность и криптография

Коммуникация

Платформенные сервисы

Конфигурация

Как мы это сделали

Этап 1: извлечение BIOS

root@kitploit:~
Lenovo BIOS Update (JMCN48WW) -> Extracted Win_JMCN.BIN (34.1 MB)

Использовали стандартные инструменты извлечения BIOS, чтобы получить образ сырой прошивки из официального пакета обновления Lenovo.

Этап 2: инструменты Intel ME

root@kitploit:~
CSME System Tools v16.1
├── MEInfoWin64    -> Queried live ME hardware status
├── FPTW64         -> Dumped live ME firmware from SPI flash
└── MEManufWin64   -> Ran hardware self-tests (10/10 passed)

Использовали собственные инженерные инструменты Intel для взаимодействия с оборудованием ME через интерфейс HECI/MEI.

Этап 3: анализ прошивки

root@kitploit:~
ME_region.bin (4,943,872 bytes)
├── $FPT at 0x216000     -> Flash Partition Table
├── $CPD at FTPR+0x00    -> Code Partition Directory (29 modules)
├── $MN2 at FTPR+0x2CC   -> Manifest v2 (RSA signatures)
├── X.509 Cert           -> "CSME ADL ROM CA0" (Root CA)
├── Entropy Analysis     -> 85% encrypted, 15% readable
└── ARC Strings          -> Processor architecture confirmed

Этап 4: идентификация модулей

root@kitploit:~
FTPR Partition Layout:
Offset 0x0000 - 0x0014  CPD Header (20 bytes)
Offset 0x0014 - 0x049C  CPD Entries (29 x 24 bytes)
Offset 0x02CC - 0x0840  FTPR.man (manifest)
Offset 0x0840 - 0x0888  intl.cfg.met (metadata)
Offset 0x1000 - 0x1798  rot.key (Root of Trust)
Offset 0x2000+          AES-encrypted modules

Этап 5: подтверждение архитектуры

root@kitploit:~
Unencrypted code at ME+0x1C1000 contains:
  "ARC PARM"   -> ARC Processor Parameters register
  "DROM"       -> ARC Data ROM constant storage
  "EE_CIO"     -> ARC Core I/O exception handler
  "EE_DMA"     -> ARC DMA exception handler
  "EE_LC"      -> ARC Loop Count exception
  "PATCHES"    -> Processor microcode patches
  "APP EM"     -> Application Emulation layer

Состояние безопасности

По результатам запросов к живому оборудованию ME:

Простыми словами: этот экземпляр ME навсегда заблокирован на аппаратном уровне. Не существует программного способа изменить, отключить или обойти его. Потребовалось бы физическое программирование SPI-флеша аппаратными инструментами — и даже тогда пережжённые предохранители внутри PCH невозможно восстановить.

Исправление MEAnalyzer

MEAnalyzer v1.311.0 падает с ошибкой KeyError: '01' при анализе прошивки CSME 16.x ADL из-за неподдерживаемого поиска в словаре файловой системы EFS.

Исправление: пропатчили функцию efs_anl(), чтобы использовать безопасный доступ к словарю (dict.get() вместо прямой индексации по ключу), и обернули вызов анализа EFS в блок try/except.

root@kitploit:~
# Before (crashes):
if 'EFST' in ftbl_dict[ftbl_plat_id][ftbl_dict_id]:

# After (safe):
if ftbl_plat_id in ftbl_dict and ftbl_dict_id in ftbl_dict[ftbl_plat_id] and 'EFST' in ftbl_dict[ftbl_plat_id][ftbl_dict_id]:

Используемые инструменты

Структура проекта

root@kitploit:~
intel-me-research/
├── README.md                    # This file
├── scripts/
│   ├── heci_spy.py              # 🔥 FLAGSHIP: Talk to your Intel ME directly
│   ├── analyze_cpd.py           # Code Partition Directory parser
│   ├── analyze_me_region.py     # Full ME region analysis
│   ├── extract_modules.py       # Module extraction tool
│   └── patch_mea.py             # MEAnalyzer fix for CSME 16.x
├── evidence/
│   ├── WORLD_FIRST_EVIDENCE.py  # Master evidence presentation
│   ├── DEEPER_LAYER.py          # Timestamp + EC + cert analysis
│   ├── NUCLEAR_SCAN.py          # Complete flash + security map
│   ├── DEEP_SECRET_HUNT.py      # Secret hunting script
│   ├── DEEP_DIVE_3.py           # JSON config + cert decoding
│   ├── DECODE_CERTIFICATES.py   # X.509 certificate decoder
│   └── certs/                   # Extracted DER certificates (13)
├── docs/
│   ├── METHODOLOGY.md           # Detailed methodology
│   └── FINDINGS.md              # All findings with evidence
└── results/
    ├── modules_summary.csv      # Module inventory
    └── security_posture.csv     # Security status results

Отказ от ответственности

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

Автор

Создано на любопытстве и кофеине. Этот проект показывает, что исследования в области аппаратной безопасности доступны каждому — не нужна ни лаборатория, ни дорогое оборудование. Достаточно ноутбука, решимости и правильных инструментов.


Если этот проект помог вам разобраться в аппаратной безопасности — поставьте ему звезду. Если вы нашли что-то новое — откройте issue. Давайте сделаем исследования аппаратной безопасности открытыми и доступными для всех.

Скачать инструмент
СвойствоЗначение
НоутбукLenovo IdeaPad Gaming 3 15IAH7 (82S9)
ПроцессорIntel Core i7-12650H (12-е поколение Alder Lake)
Версия MECSME 16.0.15.1735
ME SKUConsumer LP
Дата ME2022-02-17
СборкаJMCN48WW
PCHADL Device 5182, Rev A1
МодульРазмерНазначение
kernel106 KBЯдро ОС — мозг секретного компьютера
bup312 KBBoot Up — первый код, выполняемый при включении ПК
syslib148 KBСистемная библиотека — базовые функции ОС
loadmgr28 KBЗагрузчик модулей — динамически загружает другие модули
vfs92 KBВиртуальная файловая система — управляет внутренним хранилищем ME
evtdisp16 KBДиспетчер событий — обрабатывает прерывания и события
maestro16 KBДвижок оркестрации — координирует подсистемы
МодульРазмерНазначение
crypto216 KBAES/RSA/HMAC — шифрует всё, к чему прикасается ME
policy36 KBДвижок политик безопасности — решает, что можете делать вы
fpf20 KBFused Protection Fuses — ключи с аппаратным корнем доверия
rot.key2 KBКлюч корня доверия — криптографическая идентичность ME
mca_boot16 KBАутентификация загрузки — проверяет целостность прошивки
mca_srv28 KBБезопасность времени выполнения — непрерывно мониторит систему
МодульРазмерНазначение
heci36 KBHost Embedded Controller Interface — шина CPU<->ME
ipc_drv16 KBМежпроцессное взаимодействие — обмен сообщениями между модулями
sec_msg4 KBБезопасные сообщения — шифрованные внутренние сообщения
prtc8 KBОбработчик протоколов — протоколы связи
smbus8 KBИнтерфейс SMBus — связь с аппаратными датчиками
busdrv8 KBДрайвер шины — внутренняя связь
МодульРазмерНазначение
ptt164 KBIntel PTT — замена TPM на уровне прошивки
pm16 KBМенеджер питания — состояния сна/пробуждения
pmdrv12 KBДрайвер управления питанием
fwupdate36 KBОбновление прошивки — обновляет ME незаметно
storage72 KBФлеш-хранилище — читает/пишет SPI-флеш
gpio8 KBКонтроллер GPIO — управление физическими выводами
МодульРазмерНазначение
intl.cfg18 KBIntel Configuration — настройки платформы
FTPR.man1 KBМанифест прошивки — метаданные целостности
fitc.cfg0 KBКонфигурация Flash Image Tool (пустая заглушка)
intl.cfg.met72 BКонтрольная сумма метаданных конфигурации
Функция безопасностиСтатусЗначение
FPF CommittedДаОдноразовые предохранители пережжены навсегда
PCH UnlockedОтключеноАппаратная блокировка активна
Flash ProtectionЗащищеноЗапись в SPI-флеш заблокирована
BootGuard Profile3 (Full)Максимальная проверка загрузки
Measured BootВключеноКаждый компонент загрузки хэшируется
NVAR ConfigЗаблокированоКонфигурацию невозможно изменить
EOM SettingsLockКонец производства (End-of-Manufacturing) заблокирован
FWUpdate SupportНетОбновления прошивки отключены
CPU DebuggingВключеноIntel может отлаживать (вы — нет)
ИнструментНазначение
heci_spy.py 🔥Наш HECI Spy — общение с Intel ME вживую, без зависимостей
Intel MEInfoWin64 v16.1Запрос к живому оборудованию ME
Intel FPTW64 v16.1Дамп живого SPI-флеша
Intel MEManufWin64 v16.1Производственные самотесты
MEAnalyzer v1.311.0Анализ метаданных прошивки
Radare2 6.1.8Дизассемблирование бинарного кода
Python 3.14Собственные скрипты анализа
Ghidra 11.3.2Реверс-инжиниринг прошивки