Malicious PDF — malware analysis report

Static analysis result for SHA-256 6628cf257201bde1…

MALICIOUS

PDF

10.8 KB
MD5: c387445d326c94b0d45528561ae769f7 SHA-1: ab0b5ab2323d5673a5469cd7d7c582ab0167623f SHA-256: 6628cf257201bde120198a8a7788370645fb76bf7ac9325a95238ffb2e816c4e
124 Risk Score

Malware Insights

MITRE ATT&CK
T1059.007 JavaScript T1203 Exploitation for Client Execution T1566.001 Spearphishing Attachment

The PDF file contains embedded JavaScript that is heavily obfuscated using character codes and string concatenation. The script's primary function appears to be downloading and executing a second-stage payload, as indicated by the use of `String.fromCharCode` to reconstruct code and the call to `app[fnc](buf)`. The ML classifier and heuristics strongly suggest malicious intent.

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.
  • 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)
  • syncAnnotScan annotation-staging primitive low PDF_FOXIT_SYNCANNOTSCAN
    PDF JavaScript calls syncAnnotScan() — a no-op annotation-enumeration primitive used by exploit-kit JavaScript to stage payload reads from annotation /Subject fields before eval(). Not a vulnerable sink itself; rarely seen in legitimate PDFs. (identified after JavaScript deobfuscation)
  • 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 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0004_000.js
be4694a17eb89a55f7eb3db389ba2bc4f102f4c7dcfc99549d848cdb7df5dfb5
pdf-javascript-stream PDF /JS object 4 at offset 0xE1 1940 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 eval/decoder/string-building token(s).
numeric_charcode_stage_000.js
6c41320119e160dc719997b9a2efb3600ea9d7e9d7e44b4dc2125762dc9f365f
deobfuscated-js numeric char-code string decoded JavaScript at offset 0xEF 505 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
f978996d30c9bc74b9014c66e1d9a192b5d0cd8a84c2e062ea0dd2773ee097f9
deobfuscated-js repeated-marker hex decoded JavaScript at offset 0x25D0 1799 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 eval/decoder/string-building token(s).