Export Address Table EAT
forensicsDéfinition
L'Export Address Table (EAT) est la table des fonctions exportées d'un module Windows (DLL). Symétrique à l'Import Address Table (IAT) qui liste les fonctions importées, l'EAT liste les fonctions qu'une DLL expose aux autres modules. Dans le contexte forensique et d'analyse de malwares, l'EAT est pertinente pour détecter les hooks malveillants sur les DLLs systèmes et analyser les DLLs malveillantes conçues pour remplacer ou imiter des DLLs légitimes. La structure de l'EAT dans le format PE est localisée dans l'entrée EXPORT_TABLE du répertoire des données PE (à l'index 0 du tableau DataDirectory). Elle contient : la table des adresses d'exportation (les RVA — Relative Virtual Addresses — des fonctions exportées), la table des noms d'exportation (les noms ASCII des fonctions), et la table des ordinaux (les numéros ordinaux des exports). Chaque fonction exportée peut être accessible soit par son nom, soit directement par son ordinal. Forensiquement, l'EAT est importante pour plusieurs raisons. Les hooks malveillants sur les DLLs systèmes peuvent modifier l'EAT en mémoire (EAT hooking) pour rediriger les appels de fonctions vers du code malveillant. Ceci est une technique d'API hooking moins courante que l'IAT hooking ou le inline hooking (patching de la première instruction de la fonction), mais existante. La détection consiste à comparer l'EAT en mémoire avec l'EAT du fichier DLL sur disque — toute discordance indique un hook. Pour les DLLs malveillantes (DLL sideloading), l'analyse de l'EAT révèle si une DLL malveillante imite une DLL légitime en exportant les mêmes fonctions sous les mêmes noms, permettant de remplacer la DLL légitime sans que les applications qui l'utilisent ne détectent le changement. La comparaison de l'EAT d'une DLL suspecte avec l'EAT de la DLL légitime correspondante révèle les fonctions manquantes ou ajoutées.
Fonctionnement
L'EAT est résolue lors du chargement d'une DLL par le loader Windows. Le processus client accède aux exports via GetProcAddress(), qui consulte l'EAT pour résoudre le RVA de la fonction demandée. En mémoire, l'EAT est mappée en lecture seule dans la section PE. L'EAT hooking nécessite de modifier les protections mémoire (VirtualProtect) pour écrire dans la section read-only, une opération détectable.
Application DFIR
Analyse EAT forensique : 1) Lister les exports d'une DLL suspecte : dumpbin /EXPORTS suspecte.dll, ou PEview > EXPORT Address Table. 2) Comparer avec la DLL légitime : diff (exports légitimes) (exports suspects) → fonctions manquantes = DLL sideloading stub, fonctions ajoutées = backdoor. 3) EAT hooks en mémoire : Volatility malfind → régions PE en mémoire avec EAT modifiée. 4) API Monitor → tracer les appels via les exports hookés.
Outils
dumpbin /EXPORTS (Visual Studio), CFF Explorer (interactive PE viewer avec EAT), PEview, PE-bear, pestudio. Analyse en mémoire : Volatility malfind + dumpfiles, Process Hacker (modules chargés), pe-sieve (détection hooks). Comparaison EAT : scripts Python pefile (pe.DIRECTORY_ENTRY_EXPORT). Hooking detection : Moneta (listing shellcodes + hooks), PeSentry, Hollows Hunter.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h