Malicious PDF — malware analysis report

Static analysis result for SHA-256 02b57ec1288c31b7…

MALICIOUS

PDF

181.8 KB
MD5: 804aaef05eb35d5ef94e55a0747e1c67 SHA-1: ed164c60b083363914bd14d092d18757897ed912 SHA-256: 02b57ec1288c31b73a08bdfe4ce367bb670e085a3f7176563234937612a7f7ba
312 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 obfuscated and utilizes the unescape function, indicating malicious intent. Critical heuristics like 'PDF_JS_EXPLOIT_CLUSTER' and 'CVE_2009_4324' confirm the exploitation of a known vulnerability (media.newPlayer) to execute code. The embedded JavaScript is designed to download and execute a secondary payload, as evidenced by the generic stage recovery scripts.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9984

Heuristics 10

  • media.newPlayer — CVE-2009-4324 critical CVE exact CVE_2009_4324
    PDF JavaScript calls media.newPlayer — CVE-2009-4324 is a use-after-free in Adobe Reader's multimedia plugin triggered by media.newPlayer(). Actively exploited as a zero-day in December 2009. (matched in decompressed stream)
  • 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.
  • Secondary embedded PDF body has suspicious static findings critical POLYGLOT_CHILD_PDF_STATIC_TRIAGE
    A valid PDF body was found at a nonzero offset inside another container and its carved contents matched PDF exploit or lure heuristics. This catches polyglots where the top-level magic routes to ZIP/OLE while a PDF reader or downstream parser opens the hidden PDF payload.
  • unescape() call high PDF_UNESCAPE
    unescape() found — often used to decode shellcode in PDF JS exploits (matched inside decoded stream)
  • 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.
  • Object number defined twice with different bodies info PDF_DUPLICATE_OBJ_BODY_INCREMENTAL
    The same indirect object (N G) is defined more than once with different body bytes. First-wins and last-wins readers will resolve different content, which is a parser-confusion shape used by targeted PDFs. Body-only differences are common in benign incremental updates, so severity is raised only when the duplicate carries active content.
  • 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.
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://www.w3.org/1999/02/22-rdf-syntax-ns#
    • http://ns.adobe.com/xap/1.0/
    • http://purl.org/dc/elements/1.1/
    • http://ns.adobe.com/xap/1.0/mm/
    • http://ns.adobe.com/pdf/1.3/

Extracted artifacts 11

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0057_000.js
eae10c2d1846ed108dbd322fa8001738199732b4fe8b3355e360a1f3532eb5fd
pdf-javascript-stream PDF /JS object 57 at offset 0x551F 2102 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
stream_005_off00000b74.bin
e4217c167299ac63f64b8b7e903cc0196f0828693d273431b8b793a12ed0fed3
decompressed-pdf-stream PDF FlateDecoded stream at offset 0xB74 1000 bytes
generic_stage_recovery_000.js
b93e8ecdf0788df91556b0fbf10c3e0d25f9728455da3a58133cd8dd2ff231ec
deobfuscated-js generic stage recovery split-literal-normalize from JavaScript object 57 at offset 0x551F 2099 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
generic_stage_recovery_001.js
baa9e2c3862a7c99c7c545f4aea2ffda085566084afc904dc097ec99e78103f0
deobfuscated-js generic stage recovery percent-decode from JavaScript object 57 at offset 0x551F 2098 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
generic_stage_recovery_002.js
6d7bd4a28343765f1a9af16b92e3902188564512a1e8a50df6c699f1af8d2c52
deobfuscated-js generic stage recovery marker-XX-to-%u from JavaScript object 57 at offset 0x551F 1788 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s).
generic_stage_recovery_003.js
71fe503a96798dac812f6388728918a3fcdd0ce1abeea34bbe81fa4a153ba77a
deobfuscated-js generic stage recovery percent-decode from JavaScript object 57 at offset 0x551F 1784 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s).
generic_stage_recovery_004.js
8791ba85121d7081f904c2e03c71c3403f45306ee69748bd581b9c6bc77898d3
deobfuscated-js generic stage recovery split-literal-normalize -> percent-decode from JavaScript object 57 at offset 0x551F 2095 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
generic_stage_recovery_005.js
3f4144e71a12a073af4d0726cd63c0d7d6767839057693c02b2f0f5594ba341b
deobfuscated-js generic stage recovery split-literal-normalize -> marker-XX-to-%u from JavaScript object 57 at offset 0x551F 1785 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s).
generic_stage_recovery_006.js
03dc9d848c40bd19d32af29ef00174f71f1df723e153060b1a8e0befe2b6370b
deobfuscated-js generic stage recovery split-literal-normalize -> percent-decode from JavaScript object 57 at offset 0x551F 1781 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s).
objstm_0053_00.bin
f9797d0fa28384c30d8bf1da89163104ce539753e417fa1f9c5fd135d1eceb39
pdf-objstm-decoded PDF /ObjStm 53 0 obj (inflated) 50 bytes
polyglot_child_pdf_off00026b73.pdf
19a460963f66e25a89b47cb1971eb13098f8d69d76275e5e2a273e2e7ae1fdfb
polyglot-child-pdf Secondary PDF body inside pdf container at offset 0x26B73 27598 bytes