Malicious PDF — malware analysis report

Static analysis result for SHA-256 1877e890094bbfe5…

MALICIOUS

PDF

45.9 KB
MD5: 41c2b53dcbf3343addf35c3e981e93e6 SHA-1: dd6693beef64ed45186c74515d9d147b78ec1376 SHA-256: 1877e890094bbfe5ddb8d5065f4c08ea95ea357e775692ff0cebb4a88877686f
286 Risk Score

Malware Insights

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

The PDF file contains embedded JavaScript that leverages the CVE-2010-2883 vulnerability in Adobe Reader. The JavaScript uses unescape() to decode a shellcode payload, indicating an attempt to execute arbitrary code. The presence of generic stage recovery scripts further suggests that this PDF acts as a downloader for a subsequent malicious payload. The benign URLs related to XFA and Adobe are likely present due to the XFA form structure, not malicious intent.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9996

Heuristics 11

  • Adobe Reader CoolType SING font exploit — CVE-2010-2883 critical CVE likely CVE_2010_2883
    PDF embeds a TrueType/OpenType font with an actual SING table and pairs it with JavaScript heap-spray shellcode. This matches the public Adobe Reader CoolType SING exploit shape for CVE-2010-2883.
  • 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.
  • 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.
  • Embedded script payload in PDF stream medium PDF_EMBEDDED_SCRIPT_PAYLOAD
    PDF stream bytes contain an HTML/XFA <script> tag without accompanying Windows shell-execution primitives — common in accessible XFA forms but worth surfacing for analyst review.
  • 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.
  • XFA form low PDF_XFA
    PDF uses XML Forms Architecture — can contain script logic
  • AcroForm button with action trigger low PDF_ACROFORM_BUTTON
    PDF contains a /Btn form field together with a SubmitForm/URI/Launch/JS trigger — this is the building block of fake 'Download' or 'Open' button overlays used in PDF phishing lures
  • 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.bitstream.com
    • http://ns.adobe.com/xdp/
    • http://www.xfa.org/schema/xci/3.0/
    • http://www.xfa.org/schema/xfa-template/3.0/
    • http://www.xfa.org/schema/xfa-data/1.0/

Extracted artifacts 8

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0001_000.js
ca22018c97061ca4a76b7e56bbbcf0efcce760def689bc14237ac441db971fa6
pdf-javascript-stream PDF /JS object 1 at offset 0xA 2790 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 2 eval/decoder/string-building token(s).
stream_002_off0000ae25.js
d1dfd457a2fdd3cec4091f689f39b85b35666aa5599ef3a8d5f9a80d1e2ce105
decompressed-pdf-stream PDF FlateDecoded stream at offset 0xAE25 1042 bytes
generic_stage_recovery_000.js
52d226e22a7b98acb28d271ea344a1a9b3ddfd004d670d839f58447bd5e0025f
deobfuscated-js generic stage recovery split-literal-normalize from JavaScript object 1 at offset 0xA 2740 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 2 eval/decoder/string-building token(s).
generic_stage_recovery_001.js
8a02262d126811ecd54b3abf39ab7e056aae444904c667d048a4e6fa68ad21d5
deobfuscated-js generic stage recovery split-literal-normalize from decompressed stream at 0x0 at offset 0x0 46910 bytes
generic_stage_recovery_002.js
0e1d14f9e37fb7ac0228bbbe4ebabead3beb1fee4093904b575dc8c2df90f25e
deobfuscated-js generic stage recovery split-literal-normalize -> percent-decode from decompressed stream at 0x0 at offset 0x0 46908 bytes
font_00_sfnt_off0000106a.bin
fdf6ca548282fa5b8d6c71b1f84e95ee1b778da1f01feaea18bd7ec33cafda76
pdf-font-stream PDF embedded font (sfnt) at offset 0x106A 65932 bytes
font_01_type1_off0000b2c9.bin
c6bf78478c9c4dd5b3b86554d34c78f847f70af4118f9ff083c1fccf0e8e932b
pdf-font-stream PDF embedded font (type1) at offset 0xB2C9 97 bytes
font_02_type1_off0000b552.bin
b749644b3e758e7335900ab2e7499eaa64b3a946849f1f8a0948287bdd96763d
pdf-font-stream PDF embedded font (type1) at offset 0xB552 144 bytes