Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Export Address Table EAT

forensics

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis