Malicious PDF — malware analysis report

Static analysis result for SHA-256 eed3597d1a2bfb0d…

MALICIOUS

PDF

44.9 KB Authoring application: PyPDF2
MD5: ae94a5bde9a847f1a23e627fbb9187d7 SHA-1: 548ea300ef4bdb2c6db82c14dbf27168e578541e SHA-256: eed3597d1a2bfb0dec3600543df2f5be2f6cf5d8ae32988c5ac50c5b7f59cbbb
234 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1204.002 Malicious File

The PDF file contains embedded JavaScript that is designed to exploit a vulnerability. The heuristics indicate that this JavaScript acts as a downloader, likely fetching and executing a secondary payload. The ML classifier strongly flags this PDF as malicious. The presence of obfuscated JavaScript and the PDF_JS_ACTIVEX_DOWNLOADER heuristic confirm the malicious intent.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9990

Heuristics 7

  • PDF JavaScript exploit cluster critical PDF_JS_EXPLOIT_CLUSTER
    PDF combines an executable JavaScript/action surface with exploit staging indicators such as eval/unescape/fromCharCode, XFA script content, or a related CVE pattern. Benign form JavaScript remains low-severity, but this correlated cluster is high-confidence malicious behavior.
  • Embedded script payload in PDF stream high PDF_EMBEDDED_SCRIPT_PAYLOAD
    PDF stream bytes contain script execution markers such as ActiveXObject/CreateObject, WScript.Shell, PowerShell, or shell-exec primitives. This is stronger than ordinary PDF JavaScript because it indicates a staged external script payload hidden in stream bytes.
  • PDF JavaScript ActiveX downloader high PDF_JS_ACTIVEX_DOWNLOADER
    Decoded PDF JavaScript instantiates Windows ActiveX/COM objects to download a payload over HTTP, write it through ADODB.Stream, and execute it through WScript.Shell/rundll32-style process launch. This is commodity downloader behavior rather than a specific Acrobat CVE trigger.
  • Suspicious extracted artifact high EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • JavaScript action low PDF_JAVASCRIPT
    PDF contains a /JavaScript action. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
  • Embedded JS stream low PDF_JS
    PDF references a /JS stream. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
  • String.fromCharCode low PDF_FROMCHARCODE
    String.fromCharCode found — used to construct payload strings dynamically. Common in benign JavaScript libraries for codepoint manipulation, so this alone is informational; weaponised use is also caught by the dedicated fromCharCode-stage and exploit-shape rules.

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0011_000.js
d9bcfb1d93ecd1a31483f13be526b08acdacae9b9ac4215c34538d33bb0b20ae
pdf-javascript-stream PDF /JS object 11 at offset 0x510 26704 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 shell/COM execution token(s). Carved artifact contains 3 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
embedded_pdf_script_00001602.bin
cfae422b5feb4b50a19b96092ffd17a4a789dc5dc00dc06c3d99778e9cb651fe
pdf-embedded-script PDF decompressed stream script payload at offset 0x1602 46007 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 shell/COM execution token(s). Carved artifact contains 3 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
deobfuscated.js
1f80d99ac34e60fdae0a26be4332aa345c15af2b658677f9c684a48bc37abb63
deobfuscated-js PDF JavaScript deobfuscation pass 74717 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 2 shell/COM execution token(s). Carved artifact contains 6 eval/decoder/string-building token(s). Carved artifact contains 2 long base64-like blob(s).