Aller au contenu
Aback Tools Logo

Analyseur de noms et de caractéristiques de la section

Analysez les en-têtes de section PE/ELF pour détecter les noms de section non standard, les violations W^X, les anomalies d'entropie, les sections standard manquantes et plus de 70 signatures de packer/protecteur connues, notamment UPX, Themida, VMProtect, ASPack et MPRESS. Obtenez un score d’obscurcissement complet avec des anomalies hiérarchisées et des recommandations de désobscurcissement. Tout le traitement est local et privé.

Section Name & Characteristics Analyzer
Analyze PE/ELF section headers to detect non-standard names, W^X violations, entropy anomalies, missing standard sections, and known packer/protector signatures. Choose a preset below to see the analyzer in action.

Choose a Preset Example:

Select a preset example above to analyze PE/ELF section headers for obfuscation indicators.

The analyzer checks for non-standard names, W^X violations, entropy anomalies, and known packer signatures.

Caractéristiques

Analyse complète des sections PE/ELF conçue pour l'ingénierie inverse et les analystes de logiciels malveillants

  • Analyse des noms de section : comparez les noms de section avec des bases de données étendues de noms de section PE (.text,.rdata,.rsrc) et ELF (.text,.rodata,.bss) standard. Signale les noms non standard et les correspondances avec plus de 70 signatures de packer/protecteur connues, notamment UPX, Themida, VMProtect, ASPack et MPRESS.
  • Détection de violation W^X : détectez automatiquement les sections avec les autorisations WRITE et EXECUTE – un indicateur fort du déballage du runtime. Signale les combinaisons d'indicateurs dangereuses qui violent le principe de sécurité W^X (Write XOR Execute) couramment exploité par les packers.
  • Détection des anomalies d'entropie : calculez l'entropie de Shannon pour chaque section afin de détecter le contenu crypté ou compressé. Les sections avec une entropie supérieure à 7,0 bits/octet dans des emplacements non standard suggèrent des charges utiles cryptées/compactes. Les anomalies à faible entropie signalent les sections de stub remplies de zéros.
  • Scoring et reporting complets : obtenez un score d'obscurcissement global (propre, suspect, probablement emballé, fortement obscurci) avec une analyse détaillée par section. Affichez les anomalies hiérarchisées, les recommandations de désobscurcissement personnalisées et les rapports textuels exportables pour la documentation.

Cas d'utilisation

Comment les professionnels et les analystes de la sécurité utilisent l'analyseur de noms et de caractéristiques de section

Que sont les en-têtes de section ?

Les en-têtes de section sont des structures de métadonnées dans les fichiers PE (Portable Executable) et ELF (Executable and Linkable Format) qui décrivent chaque section du binaire. Ils contiennent le nom de la section, l'adresse virtuelle, la taille, le décalage du fichier et les indicateurs d'autorisation. Les compilateurs standard utilisent des noms de section prévisibles (.text,.data,.rdata) avec les indicateurs appropriés, ce qui fait des écarts par rapport à ces modèles d'importants indicateurs d'obscurcissement.

Le principe W^X

W^X (Write XOR Execute) est un principe de protection de la mémoire stipulant qu'aucune page mémoire ne doit être à la fois inscriptible et exécutable simultanément. Le code compilé légitime comporte des sections distinctes.text (exécuter) et .data (écrire). Les packers et les protecteurs violent fréquemment cela en créant des sections avec des indicateurs WRITE et EXECUTE pour prendre en charge le déballage et le déchiffrement du code d'exécution.

Entropie et emballage

L'entropie de Shannon mesure la densité d'information du contenu d'une section. Les sections de code standard ont généralement une entropie comprise entre 4,0 et 6,0 bits/octet. Les sections chiffrées ou compressées (caractéristique des packers comme UPX, Themida, VMProtect) affichent souvent une entropie supérieure à 7,0 bits/octet. Une entropie extrêmement faible (inférieure à 1,0) dans les sections non triviales suggère un stub rempli de zéros ou un code de déballage.

Sections standard ou personnalisées

Les compilateurs standards (MSVC, GCC, Clang) produisent un ensemble prévisible de sections avec des noms conventionnels. Tout écart (noms inhabituels, sections critiques manquantes (.text, .data), sections non standard supplémentaires ou sections réorganisées) mérite une enquête. Notre outil maintient des bases de données de noms de sections PE et ELF standard, ainsi qu'une liste complète de plus de 70 noms de sections d'emballage/protecteur connus pour une identification automatique.

Foire aux questions

Un en-tête de section est une métadonnée qui décrit une section spécifique (bloc contigu) d'un fichier binaire. Chaque en-tête de section contient le nom de la section (par exemple, .text, .data), l'adresse virtuelle où elle se charge en mémoire, la taille en mémoire et sur le disque, le décalage du fichier et les indicateurs d'autorisation (READ, WRITE, EXECUTE). Les formats PE (Windows) et ELF (Linux) organisent leur code et leurs données en sections pour un chargement et une gestion efficaces de la mémoire.

W^X (Write XOR Execute) est un principe de sécurité stipulant qu'aucune région mémoire ne doit être à la fois inscriptible et exécutable. Une violation W^X se produit lorsqu'une section possède à la fois des indicateurs d'autorisation WRITE et EXECUTE. Ceci est extrêmement suspect car les binaires compilés légitimes gardent le code (.text, exécution uniquement) séparé des données (.data, lecture-écriture). Des packers comme UPX et Themida créent des sections W^X pour décompresser ou déchiffrer le code au moment de l'exécution.

Les packers utilisent des noms de section distinctifs que l'analyseur détecte automatiquement : UPX utilise UPX0/UPX1/UPX2, Themida utilise .themida/.tagg, VMProtect utilise .vmp0/.vmp1/.vmp2, ASPack utilise .aspack/.adata, MPRESS utilise .MPRESS1/.MPRESS2, Enigma utilise .enigma/.enigma1/.enigma2 et PEtite utilise .petext/.pdata. Notre outil vérifie une base de données de plus de 70 noms de sections de packer connus.

L'entropie de Shannon (0-8 bits/octet) mesure la densité d'informations du contenu d'une section. Les sections de code standard ont une entropie comprise entre 4,0 et 6,0 bits/octet. Les sections chiffrées ou compressées dépassent généralement 7,0 bits/octet – un indicateur fort de compression ou de chiffrement. Une entropie extrêmement faible (inférieure à 1,0) dans une section non triviale suggère un code stub ou une section non initialisée remplie au moment de l'exécution.

Ceci est normal pour les sections .bss (données non initialisées) mais suspect pour les autres sections. Cela signifie que la section occupe de l'espace en mémoire mais aucune donnée sur le disque – le chargeur la remplit à zéro au moment de l'exécution. Les packers utilisent cette technique : UPX0 a généralement raw_size=0 mais une grande virtual_size. Les données réellement compressées sont stockées dans une autre section (UPX1) et décompressées dans cet espace rempli de zéros au moment de l'exécution.

Le score varie de 0 à votre nombre total de sections x 10. Chaque anomalie ajoute des points : noms de sections non standard (+4), signatures de packer connues (+10), violations W^X (+8), sections critiques manquantes comme .text (+10), anomalies à haute entropie (+5-8) et tailles inhabituelles (+3). L'étiquette finale catégorise : Propre (0 à 15 %), Suspect (15 à 35 %), Probablement emballé (35 à 60 %) et Fortement obscurci (60 % et plus).

Les sections PE standard incluent : .text (code exécutable), .rdata (données en lecture seule), .data (données en lecture-écriture), .pdata (gestionnaires d'exceptions), .rsrc (ressources), .reloc (déplacements), .tls (stockage local du thread), .edata (données d'exportation), .idata (données d'importation), .debug (symboles de débogage) et .bss (données non initialisées). Chacun a un objectif bien défini au format Windows PE.

Les sections ELF standard incluent : .text, .data, .bss, .rodata (données en lecture seule), .plt (table de liaison de procédures), .got (table de décalage global), .dynsym (symboles dynamiques), .dynstr (chaînes dynamiques), .init/.fini (initialisation/finalisation), .eh_frame/.eh_frame_hdr (gestion des exceptions), .comment, .note.* sections, .gnu.hash, .gnu.version et .shstrtab (tableau de chaînes d'en-tête de section).

Oui. L'outil prend en charge les formats PE et ELF avec des bases de données distinctes de noms de sections standard. L'analyse PE comprend des sections spécifiques à Windows telles que .edata, .idata, .rsrc, .reloc et .tls. L'analyse ELF comprend des sections spécifiques à Linux telles que .plt, .got, .dynamic, .eh_frame, .init_array et .gnu.hash.

Oui, complètement. L'analyseur de nom de section s'exécute entièrement dans votre navigateur : aucun fichier n'est téléchargé sur un serveur. Les exemples prédéfinis sont intégrés à l'outil. Si vous souhaitez analyser un vrai binaire, vous extrayez ses en-têtes de section manuellement et saisissez les données localement. Tout le traitement reste dans la session de votre navigateur sans aucune requête réseau.