analyzing-malicious-pdf-with-peepdf

Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-parser to extract embedded JavaScript, shellcode, and suspicious objects. Use when triaging a suspicious PDF attachment from a phishing email, analyzing a PDF-based exploit document, or building detection signatures for

By mukul975 · 386 installs

npx skills add mukul975/anthropic-cybersecurity-skills --skill analyzing-malicious-pdf-with-peepdf

Source repository · Upstream listing

Analyzing Malicious PDF with peepdf When to Use When triaging suspicious PDF attachments from phishing emails During malware analysis of PDF based exploit documents When extracting embedded JavaScript, shellcode, or executables from PDFs For forensic examination of weaponized document artifacts When building detection signatures for PDF based threats Prerequisites Python 3.8+ with peepdf 3 installed (pip install peepdf 3) pdfid.py and pdf parser.py from Didier Stevens suite Isolated analysis environment (VM or sandbox) Optional: PyV8 for JavaScript emulation within peepdf Optional: Pylibemu for shellcode analysis Workflow 1. Triage with pdfid : Scan PDF for suspicious keywords (/JS, /JavaScript, /OpenAction, /Launch, /EmbeddedFile). 2. Interactive Analysis : Open PDF in peepdf interactive mode to explore object structure. 3. Identify Suspicious Objects : Locate objects containing JavaScript, streams, or encoded data. 4. Extract Content : Dump suspicious streams and decode filters (FlateDecode, ASCIIHexDecode). 5. Deobfuscate JavaScript : Analyze extracted JS for shellcode, heap sprays, or exploit code. 6. Check VirusTotal : Use peepdf vtcheck to cross reference file hash with AV detections. 7. Generate IOCs : Extract URLs, domains, hashes, and shellcode signatures. Key Concepts Concept Description /OpenAction Automatic action executed when PDF is opened /JavaScript /JS Embedded JavaScript code in PDF objects /Launch Action that launches external applications /EmbeddedFile File embedded within the PDF structure FlateDecode zlib compression filter used to hide content Object Streams PDF objects stored in compressed streams Tools & Systems Tool Purpose peepdf / peepdf 3 Interactive PDF analysis with JS emulation pdfid.py Quick triage scanning for suspicious keywords pdf parser.py Deep object level PDF parsing VirusTotal Hash lookup and AV detection cross reference CyberChef Decode and transform extracted payloads Output Format