Malicious PDF — malware analysis report

Static analysis result for SHA-256 160e1a778d9d9347…

MALICIOUS

PDF

12.1 KB
MD5: 70512358dc878fb8fdfbbe742cd258a6 SHA-1: 241983e83ab0db879ab20f417a8cd3e7b6b01e76 SHA-256: 160e1a778d9d9347a946639483b51e92cf9b975c50a38ab0ac7ed0df58761a2b
338 Risk Score

Malware Insights

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

The PDF contains JavaScript that leverages the syncAnnotScan and getAnnots methods to retrieve an embedded payload. This payload is then decoded and executed using app.eval(). The script contains a URL, http://pfgfgdepthr.com/nte/GNH4.py/eU230d9c2eH23686c22V0100f060006Re898a4e4102Td1058a1c203l000cKecd3ddab, which is likely used to download a second-stage malicious file. The exploit targets CVE-2007-5659, specifically affecting Adobe Reader versions between 7.1 and 8.11.

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 11

  • 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 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.
  • ClamAV: Pdf.Exploit.Agent-36063 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Pdf.Exploit.Agent-36063
  • 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.
  • Annotation subject callee-key hex JavaScript stager high PDF_ANNOT_SUBJECT_CALLEE_HEX_STAGER
    PDF JavaScript uses syncAnnotScan()/getAnnots() to read an indirect annotation /Subject stream, percent-decodes it through marker replacement, then uses a callee.toString()-derived key to decode and eval the final exploit stage.
  • 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.
  • 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://pfgfgdepthr.com/nte/GNH4.py/eU230d9c2eH23686c22V0100f060006Re898a4e4102Td1058a1c203l000cKecd3ddab

Extracted artifacts 5

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0007_000.js
eb39e2de4dbbc100de6d3e30aa43ff78fa075618862ba1ebba5151ea3a3b848d
pdf-javascript-stream PDF /JS object 7 at offset 0x19D 273 bytes
generic_stage_recovery_000.js
41323bb0bc5d6e8e4f59ad32a6e5f405b8b479252ecf9b61a0159542b2003e8e
deobfuscated-js generic stage recovery split-literal-normalize from JavaScript object 7 at offset 0x19D 263 bytes
annotation_subject_callee_hex_stage_000.js
44ed6ca6dfcf63f2d0923a0d2e8107fed049b8cd498148de58425612927bbb6e
deobfuscated-js annotation-subject callee-key decoded JavaScript at offset 0x14A 5139 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 5 eval/decoder/string-building token(s).
legacy_pdfkit_stage_001.js
16089bb46b7d6cb8a37b5f19365bddbc63ba2533da50cea0e0d8df3d699e41f5
deobfuscated-js repeated-marker hex decoded JavaScript at offset 0x2D6 12304 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).
deobfuscated.js
78efc118fd8b48c1ab15e4a08d6d7291d7115967104362b5f73927f7b939792d
deobfuscated-js PDF JavaScript deobfuscation pass 77460 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 long base64-like blob(s).