Malicious PDF — malware analysis report

Static analysis result for SHA-256 0c16c514823e7b8f…

MALICIOUS

PDF

44.5 KB
MD5: 116827202a6bd0aef7b07454aa3320eb SHA-1: 8e82d1de864af017f65684ae33dafda1b7611a70 SHA-256: 0c16c514823e7b8f3f2537bdb83d4435b7d11a87abc18601ed70931d702ce13d
506 Risk Score

Malware Insights

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

This PDF file contains multiple critical heuristic firings indicating exploitation of Adobe Reader vulnerabilities, specifically CVE-2009-3459 and CVE-2007-5659. The embedded JavaScript is obfuscated and designed as a dropper, which includes an embedded URL for downloading a second-stage payload. The script attempts to bypass analysis by checking app.plugIns.length. The primary function of the script is to decode and execute shellcode obtained from an annotation subject, which ultimately leads to downloading further malicious content from the provided URL.

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 15

  • Adobe Reader U3D auto-activated 3D annotation — CVE-2009-3459 critical CVE likely CVE_2009_3459_U3D_AUTOACTIVATE
    PDF contains a /Subtype /3D annotation that is configured to auto-activate on page view (/3DA <</A /PV /AIS /I>>) alongside a /U3D stream and JavaScript. This is the document shape used by CVE-2009-3459 (Adobe Reader U3D CLODProgressiveMeshDeclaration heap overflow, APSB09-15): the U3D parser runs without any user interaction once the page is rendered, while the accompanying JavaScript prepares a heap-spray to land controlled memory inside the corrupted allocation.
  • Collab.collectEmailInfo — CVE-2007-5659 critical CVE exact CVE_2007_5659
    PDF JavaScript calls Collab.collectEmailInfo — CVE-2007-5659 is a buffer overflow in Adobe Reader triggered by a long argument or heap-sprayed message field passed to Collab.collectEmailInfo(). Part of a series of Acrobat JS API exploits. (identified after JavaScript deobfuscation)
  • Adobe Reader U3D CLODProgressiveMeshDeclaration exploit critical CVE likely CVE_2009_3953
    PDF combines malformed U3D 3D content with JavaScript/action activation. CVE-2009-3953 is an Adobe Reader/Acrobat U3D CLODProgressiveMeshDeclaration array-boundary vulnerability triggered by malformed U3D data in a PDF.
  • U3D/3D content in PDF — Adobe Reader 3D parser CVE-family indicator high CVE related PDF_U3D_CVE_RELATED
    PDF contains U3D (Universal 3D) or 3D annotation content — CVE-2011-2462 and CVE-2009-3953 are critical vulnerabilities in Adobe Reader's U3D processing that allow arbitrary code execution. U3D content in PDFs is extremely rare in normal documents.
  • Adobe Reader APSB09-15 patch-range version gate (CVE-2009-3459) high CVE likely PDF_JS_ADOBE_APSB09_15_PATCH_GATE
    PDF JavaScript gates the exploit payload on an Adobe Reader version range that exactly matches the APSB09-15 patch boundary (< 9.2, < 8.1.7, < 7.1.4). That boundary fingerprints the CVE-2009-2990 / CVE-2009-3459 U3D parser vulnerabilities — no benign script tests all three Reader version-points together.
  • Adobe Reader APSB08-13 patch-range version gate (CVE-2007-5659) high CVE likely PDF_JS_ADOBE_APSB08_13_PATCH_GATE
    PDF JavaScript gates the exploit payload on (>= 8 && < 8.1.1) OR (< 7.1) — the Reader 7.0.x / 8.0–8.1.1 window patched by Adobe APSB08-13 for the CVE-2007-5659 Collab.collectEmailInfo buffer overflow. Only kits that target that exact bug check both of those patch points; benign scripts do not.
  • 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.
  • Obfuscated multi-stage PDF JavaScript dropper high PDF_JS_OBFUSCATED_DROPPER
    PDF JavaScript shows 3 independent signals of exploit-kit-style multi-stage obfuscation: annot_subject_stage, hex_dashed_payload, repeated_pluginschk. This is strongly consistent with pre-2011 Adobe Reader PDF droppers — OpenAction JS reads encoded data from annotation subjects, decodes it through one or more hex / base-N loops, and invokes eval indirectly (method name built one character at a time). The actual CVE is hidden in the final decoded layer and is not visible via static analysis.
  • PDF JavaScript shellcode contains an embedded download URL high PDF_JS_SHELLCODE_DOWNLOAD_URL
    Decoded PDF JavaScript shellcode contains a hardcoded http(s) URL stored as little-endian %uXXXX Unicode escapes. Reader exploit shellcode embeds the second-stage fetch URL this way and pulls it down with a urlmon/URLDownloadToFile-style download-and-execute (commodity downloader behaviour rather than a specific Acrobat CVE).
  • 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. (matched in decompressed stream)
  • 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://kiwwopa.info/cgi-bin/ion/n002106201r0019R1ad0bf71X5f1e24c5Y1485cdb0Z0100f080

Extracted artifacts 5

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0005_000.js
fd8fe9b42cd1356a46155ada47109136e50e6255bd444c91f12e20baf7956a47
pdf-javascript-stream PDF /JS object 5 at offset 0x14F 653 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s).
legacy_pdfkit_stage_000.js
c073f2897ff819792fa47ae6509707e6b964a6cb39abd359f44608a23e3da1f5
deobfuscated-js repeated-marker hex decoded JavaScript at offset 0x1E25 13275 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
legacy_pdfkit_stage_001.js
0f7dc314a32d088ef78cf79b83ccdfe55c763a22d9fd27c04e6bce98b3760bfc
deobfuscated-js nested inline base-23 callee-key decoded JavaScript at offset 0x1E25 5608 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 5 eval/decoder/string-building token(s).
deobfuscated.js
c07660fc1656dd6cd1377afb9f21c60912e1afb7635deac130588675f39a6c57
deobfuscated-js PDF JavaScript deobfuscation pass 208714 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 6 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
u3d_00_off000045a4.bin
70cf2aead4823e6d2651c9281eed0aa967449da358f439efb9e8e707421175e0
pdf-3d-stream PDF U3D 3D stream at offset 0x45A4 28021 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact entropy is 7.79, consistent with packed or encrypted content.