Malicious PDF — malware analysis report

Static analysis result for SHA-256 b8163a952923132f…

MALICIOUS

PDF

91.1 KB Created: 2010-06-29 10:30:35 +08:00 Authoring application: Acrobat 编辑器 8.0 (via Adobe Acrobat 8.0) First seen: 2022-03-20
MD5: 2dd7f04b006821eba4369794e74fdba7 SHA-1: 2b4f2664c183860e63606620d711dd7382a72cfd SHA-256: b8163a952923132f8c9e609a73dfbe249d55dacd142ce83b578afbef43e93ca5
460 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1204.002 Malicious File

The PDF contains embedded JavaScript that exploits CVE-2009-4324 using the media.newPlayer API. This JavaScript is designed to download and execute a secondary payload, as indicated by the 'unescape()' call and the presence of an embedded, suspicious secondary PDF. The polyglot nature of the file suggests a multi-stage attack. No specific family could be identified.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9987

Heuristics 13

  • Adobe Flash Player RichMedia exploit critical CVE likely CVE_2011_0611_FLASH_RICHMEDIA
    PDF combines RichMedia Flash activation with an embedded AS3 SWF loader (ByteArray/loadBytes) and shellcode heap-spray staging. This is the static exploit shape associated with CVE-2011-0611 Flash content delivered through Adobe Reader.
  • 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. (identified after JavaScript deobfuscation)
  • Flash ActionScript-3 exploit loader in PDF critical CVE related PDF_FLASH_AS3_EXPLOIT_LOADER
    An embedded Flash (SWF) object's ActionScript-3 bytecode contains exploit-loader primitives: decompressing an inner SWF into a ByteArray and executing it via LoaderContext.allowLoadBytesCodeExecution, and/or Vector heap/JIT spray groomers. Benign Flash content does not load and execute code from raw bytes — this is a staged Flash exploit delivered through the document.
  • 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.
  • JavaScript action low 2 related findings PDF_JAVASCRIPT
    PDF contains a /JavaScript action. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules. (matched inside decoded 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.
    Matched line in script
     var nop =  unescape("\x25\x750c0c");
  • 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. (matched inside decoded stream)
  • RichMedia (Flash) high PDF_RICHMEDIA
    PDF contains /RichMedia (Adobe Flash) which is a historic exploit vector (matched inside decoded stream)
  • Suspicious extracted artifact medium 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 file low PDF_EMBEDDED
    PDF embeds a file attachment — could carry an executable or another weaponised document as a nested payload (matched inside decoded stream)
  • PDF paints image(s) but contains no text operators info PDF_IMAGE_ONLY_LURE
    PDF has 1 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.
  • 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# In PDF document text
    • http://ns.adobe.com/xap/1.0/In PDF document text
    • http://purl.org/dc/elements/1.1/In PDF document text
    • http://ns.adobe.com/xap/1.0/mm/In PDF document text
    • http://ns.adobe.com/pdf/1.3/In PDF document text

Extracted artifacts 5

Files carved from inside the sample during analysis.

FilenameKindSourceSize
stream_002_off00000392.bin decompressed-pdf-stream PDF FlateDecoded stream at offset 0x392 4264 bytes
SHA-256: dc7871b301d6502b20da5da1fb4bce7526393149933b7cc9d92a16bc6c19e183
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 eval/decoder/string-building token(s). Carved artifact contains 3 long base64-like blob(s). Carved artifact contains 1 long hex-escaped blob(s).
legacy_pdfkit_stage_000.js deobfuscated-js string-concatenation normalized Acrobat API aliases at offset 0x392 126 bytes
SHA-256: 42c3f4df375ff6f58ff655cc4f88b5cc28f0dd33b978390db3538684a6219b74
Preview script
First 1,000 lines of the extracted script
media.newPlayer(null); /* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
objstm_0017_00.bin pdf-objstm-decoded PDF /ObjStm 17 0 obj (inflated) 871 bytes
SHA-256: dd7918c182d6e2b8d996a6b8ee81663c49a0cb297efe1e1fa3c5af0c987bde84
polyglot_child_pdf_off00013a6b.pdf polyglot-child-pdf Secondary PDF body inside pdf container at offset 0x13A6B 12786 bytes
SHA-256: c11e03ac3120cdf0cd05eece897322e896c303597d3fb0ca37da9cb3fa4f3e07
polyglot_child_pdf_off00015470.pdf polyglot-child-pdf Secondary PDF body inside pdf container at offset 0x15470 6125 bytes
SHA-256: 0b1c923c8a0028794f3a3244dc498786746334f394e41678cc58ffbeb707d0a8