Malicious PDF — malware analysis report

Static analysis result for SHA-256 9bcae901e1577bd2…

MALICIOUS

PDF

11.2 KB Authoring application: Scribus 1.4.5.1 (via Scribus PDF Library 1.5.3.1)
MD5: 27f416d9f4af5c831fcada98366b59d2 SHA-1: 4da3dfdbfa30665ba8ab19c0f5326e3588667a8f SHA-256: 9bcae901e1577bd2d773e1d7ef15cf452ec5c316d1ae2ab84479b16768c799eb
178 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1027 Obfuscated Files or Information T1140 Deobfuscate/Decode Files or Information

The PDF file contains heavily obfuscated JavaScript, indicated by multiple heuristic firings including PDF_JAVASCRIPT, PDF_JS, PDF_EVAL, PDF_UNESCAPE, and PDF_METADATA_EVAL_STAGER. The ML classifier also flagged it as highly malicious. The embedded JavaScript streams, javascript_obj0013_001.js and javascript_obj0013_002.js, are likely responsible for decoding and executing a second-stage payload, although their exact function is obscured. The presence of Scribus metadata suggests a potential vector for embedding malicious content.

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
5b6911f29cbd22016c8828bc291efa8b0eb02b8783ccff19d58236859dfb33ba
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
7d4cd5747dbf9ff525c4abb50ab3d70a2fb51eb701dac2cd331365adcb2d82b8
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).