Malicious PDF — malware analysis report

Static analysis result for SHA-256 143b32601f3b2551…

MALICIOUS

PDF

3.44 MB Created: 2008-02-27 16:58:09 +08:00 Authoring application: PScript5.dll Version 5.2 (via Acrobat Distiller 6.0.1 (Windows))
MD5: a72c58269eeee1a54050b04ec2cc4700 SHA-1: b30e4be0959f857ca07d57837934c39847c67283 SHA-256: 143b32601f3b25514ca0cfbf19e75d8032cfca8d50a19d2bbc70af80084971b4
556 Risk Score

Malware Insights

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

The PDF contains multiple critical heuristic firings indicating exploitation of known Adobe Reader vulnerabilities (CVE-2009-4324, CVE-2009-0927, CVE-2007-5659) through embedded JavaScript. The JavaScript code, particularly the `eval()` and `unescape()` calls, is designed to deobfuscate and execute a malicious payload. This exploit cluster strongly suggests the document's purpose is to compromise the user's system by leveraging these vulnerabilities.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9791

Heuristics 17

  • 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)
  • Collab.getIcon — CVE-2009-0927 critical CVE exact CVE_2009_0927
    PDF JavaScript calls Collab.getIcon — CVE-2009-0927 is a stack buffer overflow in Adobe Reader triggered by Collab.getIcon() with a crafted argument. Allows arbitrary code execution. (matched in decompressed stream)
  • 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. (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.
  • Multi-CVE Adobe Reader JavaScript exploit kit critical PDF_ADOBE_READER_MULTI_CVE_JS_KIT
    One recovered JavaScript stage contains multiple version-gated Adobe Reader exploit branches. This is stronger evidence than independent API keywords: the PDF is selecting old Reader vulnerabilities by viewer version and running heap-sprayed Acrobat JavaScript exploit paths.
  • ClamAV detection on extracted artifact critical EXTRACTED_FILE_CLAMAV
    ClamAV flagged at least one file extracted from inside this sample. Even when the wrapping document carries no AV detection of its own, a hit on the carved artifact is a strong indicator the sample is a delivery vehicle.
  • eval() call high PDF_EVAL
    eval() found — commonly used for obfuscated exploit execution (matched inside decoded stream)
  • 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.
  • Embedded file low PDF_EMBEDDED
    PDF embeds a file attachment — could carry an executable or another weaponised document as a nested payload
  • XFA form low PDF_XFA
    PDF uses XML Forms Architecture — can contain script logic
  • 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)
  • 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.pdf-repair.com
    • http://www.pdf-repair.com)/Producer(Advanced
    • http://www.pdf-repair.com)/ModDate(D:20100331095227+08
    • http://www.pdf-repair.com)/ModDate(D:20100331095400+08
    • http://www.pdf-repair.com)/ModDate(D:20100331100222+08
    • http://www.pdf-repair.com)/ModDate(D:20100331100427+08
    • http://www.w3.org/1999/02/22-rdf-syntax-ns#
    • http://ns.adobe.com/pdf/1.3/
    • http://ns.adobe.com/xap/1.0/
    • http://ns.adobe.com/xap/1.0/mm/
    • http://purl.org/dc/elements/1.1/
    • http://www.w3.org/1999/xhtml
    • http://www.xfa.org/schema/xfa-data/1.0/

Extracted artifacts 15

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0039_000.js
479709d781d3e822daffb67b734746d6560150ce79b6e5e1c0a6bc6750c65f27
pdf-javascript-stream PDF /JS object 39 at offset 0x368F17 24715 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 eval/decoder/string-building token(s).
javascript_obj0052_001.js
c917b33e0b828ad59a6d239ec06fb8c323d17273aa37747a1f4041c436ef4b17
pdf-javascript-stream PDF /JS object 52 at offset 0x36C82E 7515 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 25 eval/decoder/string-building token(s).
generic_stage_recovery_000.js
ac1193fbfef7e653f2145890a293c08f22dc2e7a1179bb2a8723ff2ecf90307e
deobfuscated-js generic stage recovery fromCharCode-args from JavaScript object 39 at offset 0x368F17 7513 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 25 eval/decoder/string-building token(s).
generic_stage_recovery_001.js
8e9de13832805893c17c363767427975c4af91b5c324e9a75f2f633bd4237550
deobfuscated-js generic stage recovery percent-decode from JavaScript object 39 at offset 0x368F17 7505 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 25 eval/decoder/string-building token(s).
generic_stage_recovery_002.js
8e2eb2eea26be86895cd9226bc5c3bf611583c0e3a30eeab84af693fdf85eaa3
deobfuscated-js generic stage recovery split-literal-normalize from combined JavaScript objects at offset 0x368F17 32093 bytes
Detection
ClamAV: Pdf.Exploit.Agent-35646
Obfuscation or payload: likely
Carved artifact contains 27 eval/decoder/string-building token(s).
generic_stage_recovery_003.js
ec5cd180f37eac87515f20fbae42d8307abfb92135dda295fff0620287ea3295
deobfuscated-js generic stage recovery percent-decode from combined JavaScript objects at offset 0x368F17 32223 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 26 eval/decoder/string-building token(s).
generic_stage_recovery_004.js
42c9f1642d817edff53c8fc403ed2931f2834594a7ee63f2f1c56ad0f9696588
deobfuscated-js generic stage recovery split-literal-normalize from JavaScript object 52 at offset 0x36C82E 7377 bytes
Detection
ClamAV: Pdf.Exploit.Agent-35646
Obfuscation or payload: likely
Carved artifact contains 26 eval/decoder/string-building token(s).
generic_stage_recovery_005.js
dea79717468ea352f14e78d746cb18aedc24a866023f8a48951af7ed3602f4b4
deobfuscated-js generic stage recovery percent-decode from JavaScript object 52 at offset 0x36C82E 7507 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 25 eval/decoder/string-building token(s).
generic_stage_recovery_006.js
f64d03eb009b6dbce28f16fbf85bf844a879f4633261711bb473bfb6b158087e
deobfuscated-js generic stage recovery fromCharCode-args from decompressed stream at 0x36AB1E at offset 0x36AB1E 7536 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 25 eval/decoder/string-building token(s).
generic_stage_recovery_007.js
16159565e23c35c86196605bf105005549d44344be0ff3c9c446ac49a9ba8255
deobfuscated-js generic stage recovery percent-decode from decompressed stream at 0x36AB1E at offset 0x36AB1E 7528 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 25 eval/decoder/string-building token(s).
generic_stage_recovery_008.js
09f198aa6d21fb54cf2a583e8cb70df01c9dd30d46e4209a92aff6b8d323730b
deobfuscated-js generic stage recovery fromCharCode-args from decompressed stream at 0x36E20A at offset 0x36E20A 7463 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 6 eval/decoder/string-building token(s).
generic_stage_recovery_009.js
0e11a81b7e365098619c453cb98bb51c62e3955018c99690782ce540014a1dfd
deobfuscated-js generic stage recovery percent-decode from decompressed stream at 0x36E20A at offset 0x36E20A 7455 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 6 eval/decoder/string-building token(s).
generic_stage_recovery_010.js
7e5b51fda2964a6520818836528c41cd546f4cd2bca3bbd2424d3812270c67bc
deobfuscated-js generic stage recovery fromCharCode-args from decompressed stream at 0x36FF1A at offset 0x36FF1A 7454 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 6 eval/decoder/string-building token(s).
generic_stage_recovery_011.js
13510c29ab6d8ef3d93233c0d3e05035ae258b39a91e243d85c90e74c6c5e40e
deobfuscated-js generic stage recovery percent-decode from decompressed stream at 0x36FF1A at offset 0x36FF1A 7446 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 6 eval/decoder/string-building token(s).
combined_document_js_000.js
f1a6f8d9a7dc4a7721fdc65db4e8e76e20332478e292ba774caa3bd1f6f2163a
deobfuscated-js combined document JavaScript streams at offset 0x368F17 32231 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 26 eval/decoder/string-building token(s).