Malicious PDF — malware analysis report

Static analysis result for SHA-256 bd4a8af81a64488c…

MALICIOUS

PDF

11.2 KB Authoring application: Scribus 1.4.5.1 (via Scribus PDF Library 1.5.3.1)
MD5: f985f10feb4ff4acf14d9a5a7b4cd59f SHA-1: 58b6483ffd484176e24ac859235fe16ece8140a0 SHA-256: bd4a8af81a64488c367f690c877c3b754481d7a921147b97dbb5fe599fa374fe
176 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1027 Obfuscated Files or Information T1566.001 Spearphishing Attachment

The PDF file contains embedded JavaScript, indicated by multiple heuristic firings including PDF_JAVASCRIPT, PDF_JS, PDF_EVAL, and PDF_UNESCAPE. The ML classifier strongly flags this as malicious. The JavaScript appears to be obfuscated and acts as a stager, likely responsible for downloading and executing a secondary payload. The presence of two large JavaScript streams suggests a complex, multi-stage attack. The authoring application 'Scribus' is not inherently suspicious, but the embedded scripts are the primary indicators of malicious activity.

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 7

  • eval() call high PDF_EVAL
    eval() found — commonly used for obfuscated exploit execution
  • unescape() call high PDF_UNESCAPE
    unescape() found — often used to decode shellcode in PDF JS exploits
  • PDF metadata JavaScript eval stager high PDF_METADATA_EVAL_STAGER
    PDF JavaScript reads document metadata fields such as title, subject, or producer, decodes character data with parseInt/String.fromCharCode style helpers, and evals the recovered stage. This is a high-signal exploit-kit staging pattern.
  • 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.
  • Suspicious extracted artifact info 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.

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0013_001.js
7ebd820b49c99503ab0cc4a4ea84d6c6f7bd67dc78e6e342f02052596847fd2e
pdf-javascript-stream PDF /JS object 13 at offset 0x38B 9958 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 6 eval/decoder/string-building token(s). Carved artifact contains 4 long base64-like blob(s).
javascript_obj0013_002.js
8c2c58eba5b463b135f2b2c3cf013ed02f4c6299081f21ab00e5d710a9131958
pdf-javascript-stream PDF /JS object 13 at offset 0x3AD 10492 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 6 eval/decoder/string-building token(s). Carved artifact contains 4 long base64-like blob(s).