| name | analyzing-malicious-pdf-with-peepdf |
| description | Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-parser to extract embedded JavaScript, shellcode, and suspicious objects. Use when performing static analysis of malicious pdf documents using peepdf, pdfid,. |
| domain | cybersecurity |
| tags | ["malware-analysis","pdf","peepdf","pdfid","pdf-parser","static-analysis","reverse-engineering","dfir"] |
| subdomain | malware-analysis |
| version | 1.0 |
| author | oyi77 |
| license | Apache-2.0 |
| nist_csf | ["DE.AE-02","RS.AN-03","ID.RA-01","DE.CM-01"] |
Analyzing Malicious Pdf With Peepdf
Overview
Cybersecurity skill for analyzing malicious pdf with peepdf. Follows industry best practices and security standards.
When to Use
Trigger phrases:
-
"analyzing malicious pdf with peepdf"
-
"Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-"
-
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
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
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
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Scope the Analysis — Define what malicious pdf artifacts or data sources to examine and the investigation timeline.