Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
intel-me-research — Parlez directement à votre Intel Management Engine — outil Python sans dépendance. Détecte les fuites mémoire, le manifeste de partition, le sondage MKHI en direct. Premier HECI Spy public. | Kitploit
Outils/GitHubGitHub/jatinkapilaq1/intel-me-research
Sécurité des Systèmes EmbarquésAnalyse des VulnérabilitésRétro-ingénierieCollecte d'InformationsSécurité MatérielleAnalyse de BinairesAnalyse de Micrologiciel
GitHubjatinkapilaq1/intel-me-research

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

intel-me-research

Parlez directement à votre Intel Management Engine — outil Python sans dépendance. Détecte les fuites mémoire, le manifeste de partition, le sondage MKHI en direct. Premier HECI Spy public.

Voir le dépôt
1329il y a 1 moisPas encore vérifié

Ingénierie inverse du firmware Intel ME — Analyse en direct du CSME 16.x

« Votre ordinateur contient un second ordinateur secret. Nous l'avons trouvé, cartographié, et documenté ce qui s'y cache. »

🔥 ESSAYEZ PAR VOUS-MÊME — HECI SPY 🔥

Un script Python. Zéro dépendance. Parlez directement à votre Intel Management Engine.

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

Ce qu'il fait :

  • Détecte automatiquement votre périphérique Intel HECI/MEI
  • Se connecte au ME via le protocole MKHI
  • Interroge la version du firmware, le manifeste de partition et les valeurs cachées
  • Découvre la fuite mémoire — GEN.1B renvoie une valeur différente à chaque exécution
  • Enregistre un rapport partageable avec le journal hexadécimal brut complet

Nous l'avons exécuté sur un 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!)

Nous avons confirmé : 7/12 commandes MKHI répondent. Le ME est vivant, il parle et fuit de la mémoire.

▶️ Regardez la démo de 35 secondes — (clic droit « enregistrer sous », ou téléversez sur YouTube pour une lecture intégrée)

📊 Voir la présentation complète de 21 diapositives


🏆 PREMIÈRE MONDIALE

Ceci est la toute première divulgation publique de la structure interne complète du firmware Intel CSME 16.x (Alder Lake), décodée à partir d'un matériel en direct.

Personne n'a jamais publié :

  1. La carte complète du système de fichiers IFWI — 80 chemins internes de CSME 16.x
  2. La configuration matérielle exacte — blocs de configuration JSON montrant le câblage du portable
  3. La chaîne de confiance complète des certificats X.509 — 13 certificats décodés
  4. Le mécanisme de démarrage ROM Bypass — comment le ME démarre avant votre BIOS
  5. La carte des capacités du ME — 11 domaines d'accès issus des preuves du firmware
  6. 28 structures de sécurité cartographiées à partir du firmware en direct
  7. ~2,9 Mo de firmware lisible provenant d'un système Intel CSME 16.x en direct

Tout cela à partir d'un Lenovo IdeaPad Gaming 3 équipé d'un Intel Core i7-12650H (12e génération Alder Lake).

TL;DR

L'Intel Management Engine (ME) est un microcontrôleur caché intégré dans chaque CPU Intel moderne. Il exécute son propre système d'exploitation, possède son propre processeur (Synopsys ARC EM), et fonctionne 24h/24 et 7j/7 — même lorsque votre PC est complètement éteint. La plupart des gens savent qu'il existe. Presque personne n'a regardé à l'intérieur.

Ce projet l'a fait.

Nous avons réussi à :

  • Créer heci_spy.py — le premier outil public sans dépendance pour communiquer avec l'Intel ME en direct via HECI/MKHI
  • Découvrir une fuite mémoire — GEN.1B renvoie des valeurs différentes à chaque exécution (fuite du pointeur d'adresse)
  • Extraire le firmware en direct directement depuis le matériel Intel ME (4,8 Mo)
  • Identifier les 29 modules internes et leurs fonctions
  • Confirmer l'architecture du processeur ARC secret à partir des chaînes brutes du firmware
  • Cartographier le système de fichiers IFWI complet de 80 chemins de CSME 16.x
  • Décoder 8 blocs de configuration matérielle JSON montrant le câblage exact du portable
  • Extraire et décoder 13 certificats X.509 formant la chaîne de confiance
  • Documenter le mécanisme de démarrage ROM Bypass — le ME s'exécute avant votre BIOS
  • Trouver la table de données du moteur d'overclocking dans le firmware du ME
  • Cartographier 28 des 35 structures de sécurité dans le firmware
  • Documenter 8/8 verrous de sécurité permanents et irréversibles
  • Corriger MEAnalyzer pour prendre en charge CSME 16.x (auparavant cassé)

🗺️ PREMIÈRE MONDIALE : Carte interne complète du firmware

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)

🗺️ PREMIÈRE MONDIALE : Configuration matérielle décodée

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 }

🏆 PREMIÈRE MONDIALE : Chaîne de confiance des certificats

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

Système cible

Qu'est-ce que l'Intel ME ?

L'Intel ME (également appelé Intel Management Engine ou CSME) est un sous-système autonome intégré dans le Platform Controller Hub (PCH). Il est présent dans tous les chipsets grand public Intel depuis 2008.

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

Ce que le ME peut faire (et que vous ne pouvez pas arrêter)

  • Lire votre RAM — accès complet à toute la mémoire, même lorsque le PC est « éteint »
  • Accéder à votre réseau — possède sa propre pile TCP/IP et sa connexion réseau
  • Voir votre écran — peut capturer la sortie vidéo via DRM
  • Contourner votre pare-feu — opère sous le système d'exploitation, invisible pour tous les logiciels
  • Démarrer avant votre OS — commence à s'exécuter avant même que le BIOS/UEFI ne se charge
  • Ne peut pas être désactivé — aucun paramètre BIOS, aucune commande OS, aucun logiciel ne le désactive

Les 29 modules cachés

Nous avons découvert les 29 modules qui composent le système d'exploitation interne du ME :

Système central

Sécurité et crypto

Communication

Services de plateforme

Configuration

Comment nous avons procédé

Phase 1 : Extraction du BIOS

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

Utilisation d'outils standard d'extraction de BIOS pour extraire l'image firmware brute du package de mise à jour officiel de Lenovo.

Phase 2 : Outils 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)

Utilisation des outils d'ingénierie officiels d'Intel pour communiquer avec le matériel ME via l'interface HECI/MEI.

Phase 3 : Analyse du firmware

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

Phase 4 : Identification des modules

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

Phase 5 : Confirmation de l'architecture

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

Posture de sécurité

D'après les requêtes en direct sur le matériel ME :

Traduction : Cette instance du ME est verrouillée en permanence au niveau matériel. Il n'existe aucune méthode uniquement logicielle pour la modifier, la désactiver ou la contourner. Une programmation physique de la flash SPI avec des outils matériels serait nécessaire — et même dans ce cas, les fusibles grillés à l'intérieur du PCH ne peuvent pas être défaits.

Correctif MEAnalyzer

MEAnalyzer v1.311.0 plante avec KeyError: '01' lors de l'analyse du firmware ADL CSME 16.x en raison d'une recherche non prise en charge dans le dictionnaire du système de fichiers EFS.

Correctif : Fonction efs_anl() corrigée pour utiliser un accès sécurisé au dictionnaire (dict.get() au lieu d'un indexage direct par clé) et appel d'analyse EFS encapsulé dans un bloc 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]:

Outils utilisés

Structure du projet

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

Avertissement

Ce projet est à des fins éducatives et de recherche uniquement. Les outils et techniques présentés ici ne doivent être utilisés que sur du matériel vous appartenant. L'accès non autorisé à des systèmes informatiques est illégal. Cette recherche vise à améliorer la compréhension de la sécurité matérielle à des fins défensives.

Auteur

Conçu avec de la curiosité et de la caféine. Ce projet démontre que la recherche en sécurité matérielle est accessible — vous n'avez pas besoin d'un laboratoire ou d'équipement coûteux. Seulement un ordinateur portable, de la détermination et les bons outils.


Si ce projet vous a aidé à comprendre la sécurité matérielle, laissez-lui une étoile. Si vous avez trouvé quelque chose de nouveau, ouvrez une issue. Rendons la recherche en sécurité matérielle ouverte et accessible à tous.

Télécharger l’outil
PropriétéValeur
PortableLenovo IdeaPad Gaming 3 15IAH7 (82S9)
CPUIntel Core i7-12650H (12e génération Alder Lake)
Version du MECSME 16.0.15.1735
SKU du MEConsumer LP
Date du ME2022-02-17
BuildJMCN48WW
PCHADL Device 5182, Rev A1
ModuleTailleFonction
kernel106 KoLe noyau de l'OS — le cerveau de l'ordinateur secret
bup312 KoBoot Up — premier code exécuté lors de la mise sous tension
syslib148 KoBibliothèque système — fonctions de base de l'OS
loadmgr28 KoChargeur de modules — charge dynamiquement les autres modules
vfs92 KoSystème de fichiers virtuel — gère le stockage interne du ME
evtdisp16 KoRépartiteur d'événements — gère les interruptions et événements
maestro16 KoMoteur d'orchestration — coordonne les sous-systèmes
ModuleTailleFonction
crypto216 KoAES/RSA/HMAC — chiffre tout ce que le ME touche
policy36 KoMoteur de politique de sécurité — décide de ce que VOUS pouvez faire
fpf20 KoFusibles de protection fusionnés — clés ancrées dans le matériel
rot.key2 KoClé de racine de confiance — identité cryptographique du ME
mca_boot16 KoAuthentification au démarrage — vérifie l'intégrité du firmware
mca_srv28 KoSécurité à l'exécution — surveille le système en continu
ModuleTailleFonction
heci36 KoHost Embedded Controller Interface — bus CPU<->ME
ipc_drv16 KoCommunication inter-processus — messagerie entre modules
sec_msg4 KoMessagerie sécurisée — messages internes chiffrés
prtc8 KoGestionnaire de protocoles — protocoles de communication
smbus8 KoInterface SMBus — communication avec les capteurs matériels
busdrv8 KoPilote de bus — communication interne
ModuleTailleFonction
ptt164 KoIntel PTT — remplacement du TPM par firmware
pm16 KoGestionnaire d'alimentation — états veille/réveil
pmdrv12 KoPilote de gestion d'alimentation
fwupdate36 KoMise à jour du firmware — met à jour le ME silencieusement
storage72 KoStockage flash — lit/écrit la flash SPI
gpio8 KoContrôleur GPIO — contrôle des broches physiques
ModuleTailleFonction
intl.cfg18 KoConfiguration Intel — paramètres de la plateforme
FTPR.man1 KoManifeste du firmware — métadonnées d'intégrité
fitc.cfg0 KoConfiguration de l'outil d'image flash (espace réservé vide)
intl.cfg.met72 oSomme de contrôle des métadonnées de configuration
Caractéristique de sécuritéStatutSignification
FPF CommittedOuiFusibles à usage unique grillés de manière permanente
PCH UnlockedDésactivéVerrou au niveau matériel actif
Flash ProtectionProtégéFlash SPI verrouillée en écriture
BootGuard Profile3 (Complet)Vérification de démarrage maximale
Measured BootActivéChaque composant de démarrage est haché
NVAR ConfigVerrouilléeLa configuration ne peut pas être modifiée
EOM SettingsVerrouilléFin de fabrication verrouillée
FWUpdate SupportNonLes mises à jour du firmware sont désactivées
CPU DebuggingActivéIntel peut déboguer (pas vous)
OutilFonction
heci_spy.py 🔥Notre HECI Spy — parlez à l'Intel ME en direct, zéro dépendance
Intel MEInfoWin64 v16.1Requête matérielle ME en direct
Intel FPTW64 v16.1Extraction flash SPI en direct
Intel MEManufWin64 v16.1Auto-tests de fabrication
MEAnalyzer v1.311.0Analyse des métadonnées du firmware
Radare2 6.1.8Désassemblage binaire
Python 3.14Scripts d'analyse personnalisés
Ghidra 11.3.2Ingénierie inverse du firmware