Malicious PDF — malware analysis report

Static analysis result for SHA-256 095d55317d1d7a92…

MALICIOUS

PDF

15.0 KB
MD5: 1d1710abdf020cd0b84e49f7b6475898 SHA-1: b56b973e28521da29315ccfb16e007a656b86cbf SHA-256: 095d55317d1d7a929ebc938c118eb7e5b52f5cf801414058fd578cf2387fbfff
156 Risk Score

Malware Insights

MITRE ATT&CK
T1059.007 JavaScript T1203 Exploitation for Client Execution

The PDF file contains embedded JavaScript that is heavily obfuscated and utilizes `eval()` and `String.fromCharCode()` for deobfuscation. The primary JavaScript stream (`javascript_obj0004_000.js`) appears to be a small loader that decrypts and executes a larger, deobfuscated JavaScript payload (`legacy_pdfkit_stage_000.js`). This larger script likely contains the logic for downloading and executing a subsequent stage, as indicated by the 'PDF JavaScript exploit cluster' heuristic and the ML classifier's high confidence in maliciousness. The exact URL or payload is not directly visible due to obfuscation and truncation, hence the 'unknown family' designation.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9999

Heuristics 6

  • 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.
  • eval() call high PDF_EVAL
    eval() found — commonly used for obfuscated exploit execution (matched inside decoded stream)
  • 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. (matched inside decoded stream)
  • 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_obj0004_000.js
9105b8dccd4308fb3445c642ddb94b3264e815f845bb6aa977723c89e66cff93
pdf-javascript-stream PDF /JS object 4 at offset 0xE1 301 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 2 eval/decoder/string-building token(s).
legacy_pdfkit_stage_000.js
bae9c3868bbb2ec28c093312c97d00c8bdd6f7b6dd423bc8a76092c46d36e022
deobfuscated-js repeated-marker hex decoded JavaScript at offset 0x18D9 11933 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).