Malicious PDF — malware analysis report

Static analysis result for SHA-256 5bac2f0400c3c1ba…

MALICIOUS

PDF

8.0 KB
MD5: d6893bd48e10ba7ef0bef8c673572c63 SHA-1: aad9b1add97a1767abea61c65f99f62d9d60658f SHA-256: 5bac2f0400c3c1ba39b1d6e562a03497d38b14d0651250ab629c7aa67c6cb9ef
154 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 designed to exploit a vulnerability. The script uses `app.doc.syncAnnotScan()` and `eval()` to execute further code, likely a second-stage payload. The ML classifier and ClamAV detection strongly indicate malicious intent, and the techniques used are consistent with PDF-based exploit delivery.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9999

Heuristics 5

  • ClamAV: Pdf.Exploit.Agent-35903 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Pdf.Exploit.Agent-35903
  • Generic recovered JavaScript exploit stage high PDF_GENERIC_STAGE_RECOVERY
    Bounded static stage recovery exposed hidden JavaScript through generic transforms such as null-byte collapse, percent decoding, marker replacement, arithmetic character codes, fromCharCode, numeric arrays, numeric-array minus-key decoders, alphabet-index arrays, /Producer half-difference metadata arrays, hex literals, marker-stripped Base64 literals, custom 6-bit XOR table decoders, or repeated-marker hex carriers. This rule is emitted only when the recovered stage contains exploit-like Acrobat JavaScript or shellcode markers.
  • 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.
  • 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. (matched in decompressed stream)

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0007_000.js
860eae5f96eb426380281c575a089242b50523bbb4bbb8dd765e582cd9c07d2e
pdf-javascript-stream PDF /JS object 7 at offset 0x1D2 294 bytes
generic_stage_recovery_000.js
5bc568df54a8264a8c74a69edd600ad23561504b42f7a0aebc447d8249168303
deobfuscated-js generic stage recovery split-literal-normalize from JavaScript object 7 at offset 0x1D2 278 bytes