Malicious PDF — malware analysis report

Static analysis result for SHA-256 0c00005e4efb8bf7…

MALICIOUS

PDF

208.2 KB Created: 2009-09-11 10:57:23 +08:00 Authoring application: Adobe Acrobat 9.0 (via Adobe Acrobat 9.0 Image Conversion Plug-in)
MD5: ee46ccb2b7fcbef2e508b207eea69a03 SHA-1: da35a2221140b2edc51e908823d289fb81bf4d2a SHA-256: 0c00005e4efb8bf75923ddc9eeec838f5936b8303d43b6e38f24ffa53818b17f
342 Risk Score

Malware Insights

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

This PDF file contains embedded JavaScript that leverages the unescape() function to perform a heap-spray attack, specifically targeting CVE-2009-0658. The script attempts to allocate a large amount of memory and then execute arbitrary code, indicating an exploit for Adobe Reader. The presence of JBIG2 decoding with active content further supports the exploitation of known PDF vulnerabilities.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9987

Heuristics 13

  • Adobe Reader JBIG2Decode heap-spray exploit critical CVE likely CVE_2009_0658
    PDF combines JBIG2Decode image streams with a Reader 9 JavaScript heap-spray stage. This is the in-the-wild Adobe Reader/Acrobat JBIG2Decode exploit shape associated with CVE-2009-0658.
  • JBIG2 + active content high CVE related PDF_JBIG2_ACTIVE_CONTENT
    JBIG2Decode appears with JavaScript/XFA/RichMedia — a related indicator for JBIG2 parser-exploit families including CVE-2021-30860 and CVE-2009-0658, but not a unique CVE fingerprint.
  • 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)
  • JBIG2Decode filter medium PDF_JBIG2
    JBIG2 image decoder present — historically used in zero-click exploits
  • 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.
  • Optional Content Group with action trigger low PDF_OPTIONAL_CONTENT
    Optional Content Group (layer) co-occurs with an action trigger — content can be selectively hidden from viewers or scanners while the action still fires on open
  • PDF paints image(s) but contains no text operators info PDF_IMAGE_ONLY_LURE
    PDF has 2 image XObject(s) and the content stream contains no text-emitting operators (BT/ET, Tj, TJ, ', ") in either raw bytes or decompressed streams — this is the screenshot-as-PDF pattern used to bypass text-based scanners and to deliver instructions purely through rendered pixels. It is informational unless paired with invisible links or risky URI context.
  • 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 5

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0028_000.js
60013647f65915440fea2210c9f54b093561f299268f0782c4385d3b3dfe4634
pdf-javascript-stream PDF /JS object 28 at offset 0x3881 520 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 2 eval/decoder/string-building token(s).
jbig2_00_off00001233.bin
4fdf9c9b4a3ae778c2d42d8e6939fdfc93cad47aa49316259dbf621ee7e57ffe
pdf-jbig2-stream PDF JBIG2 stream at offset 0x1233 3056 bytes
jbig2_01_off00002067.bin
fa9e37cf0e1a31f09636e81e3a526558f25733e11d1fb7f928d95d912dfb3d2f
pdf-jbig2-stream PDF JBIG2 stream at offset 0x2067 1269 bytes
jbig2_03_off00032638.bin
78d5becadffb577437624e9d4d0054c3fae3b21b21549cfbac19832ba1751e76
pdf-jbig2-stream PDF JBIG2 stream at offset 0x32638 1269 bytes
polyglot_child_pdf_off000305d1.pdf
4d484e04e3f6fafc03a10ed85cd30171a17df8a17449f16cd0893ae36c904315
polyglot-child-pdf Secondary PDF body inside pdf container at offset 0x305D1 15086 bytes