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.

PDF Forensics Analysis

forensics

Définition

La forensique PDF analyse les fichiers PDF pour détecter du contenu malveillant : JavaScript, exploits de rendu, objets embarqués, et flux chiffrés dissimulant du code. Les PDFs sont un vecteur d'attaque privilégié car ils sont universellement acceptés par les utilisateurs et supportent une riche grammaire d'objets potentiellement dangereux. La structure d'un fichier PDF comprend des objets numérotés (entiers, réels, chaînes, tableaux, dictionnaires, streams, et objets null). Les streams peuvent être compressés (FlateDecode/zlib) ou encodés (base64/ASCIIHexDecode), nécessitant un décodage avant analyse. Les objets les plus forensiquement pertinents incluent : /JavaScript ou /JS (code JavaScript exécuté par le lecteur PDF), /OpenAction (action exécutée à l'ouverture du document), /Launch (lancement d'une application externe), /EmbeddedFile (fichiers embarqués dans le PDF), /URI (URL externe), et /RichMedia (contenus multimédia). PDF-Parser (Didier Stevens) est l'outil de référence open source pour l'analyse statique de fichiers PDF. Il liste tous les objets du PDF, permet l'extraction de streams décodés, et identifie les objets suspects (JS, Launch, EmbeddedFile). peepdf (Eternal Todo) est une alternative Python plus interactive avec une interface shell permettant d'explorer le PDF objet par objet et d'extraire/déobfusquer le JavaScript. PDFID (Didier Stevens) effectue une analyse rapide de triage en comptant les occurrences de mots clés suspects. Pour les PDFs chiffrés, une analyse complète nécessite les credentials de déchiffrement ou l'utilisation d'outils de cracking de mot de passe PDF (Hashcat mode 10500 pour PDF RC4, mode 10600/10700 pour AES). Certains PDFs malveillants utilisent le chiffrement pour dissimuler leur payload malveillant jusqu'à l'ouverture. L'analyse comportementale en sandbox (Any.run, Cuckoo) complète l'analyse statique pour les PDFs avec du JavaScript obfusqué ou des techniques d'évasion d'analyse statique.

Fonctionnement

Les fichiers PDF commencent par %PDF-1.x, suivis d'objets numérotés (N 0 obj ... endobj), d'une cross-reference table (xref), et d'un trailer dictionnaire. Les streams (données arbitraires entre stream et endstream) sont souvent compressés. Le JavaScript malveillant est souvent obfusqué via des opérations sur des chaînes (String.fromCharCode, eval, unescape) et peut exploiter des vulnérabilités du moteur JavaScript d'Adobe Reader.

Application DFIR

Analyse PDF suspecte : 1) pdfid.py suspect.pdf → count de /JavaScript, /OpenAction, /EmbeddedFile, /Launch (>0 = suspicious), 2) pdf-parser.py suspect.pdf -f -k /JavaScript → extraire les objets JavaScript, 3) Si obfusqué : peepdf.py suspect.pdf → explorer interactivement, désobfusquer avec jsbeautifier, 4) Extraire fichiers embarqués : pdf-parser.py --raw --object N suspect.pdf --dump embedded.file, 5) Sandbox : soumettre à Any.run ou Hybrid Analysis pour l'analyse comportementale complète. Corréler avec les CVE connues pour Adobe Reader/Foxit.

Outils

PDF-Parser.py (Didier Stevens, analysis basique), peepdf (Eternal Todo, interactive), PDFID.py (Didier Stevens, triage rapide), PDFStreamDumper (GUI Windows). YARA rules PDF : Elastic Detection (pdf.yar), Florian Roth signatures. Sandbox : Any.run (PDF analysis), Joe Sandbox PDF. JavaScript deobfuscation : JSDetox, JStillery, jsbeautifier. Commercial : Kaspersky Threat Intelligence, MalwareMustDie PDF analysis.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis