Něco na Úvod :
Postupy uvedené v tomto clánku umožní nekdy získat více informací o nekom ci jeho pocítaci, než je obvyklé (a leckdy i dotycnému milé). Nicméne nezarucuji, že tyto postupy budou fungovat vždy - vetšine z nich nebo všem lze zabránit vhodným nastavením pocítace nebo firewallu. Software použitý jako príklad v techto cláncích je zpravidla soucástí operacního systému (Windows NT), a nebo je volne dostupný na Internetu. Odmítám tedy nést jakoukoliv zodpovednost za prípadné škody zpusobené užitím zde uvedených postupu a nezarucuji jejich funkcnost a použitelnost. V textu jsou použita znacná zjednodušení a zobecnení, za což se omlouvám všem, kdo do dané problematiky více vidí.
E-mailové zprávy Z e-mailu je možno vycíst podstatne více než jenom adresu odesílatele. Pojdme se spolecne podívat na jeden e-mail, který jsem nedávno dostal. Nejprve je nutno zobrazit hlavicku e-mailové zprávy. Hlavicka je cást, která se bežne nezobrazuje a obsahuje „systémové“ informace nutné pro dorucení zprávy. V programu Microsoft Outlook 98 ji zobrazíte tak, že otevrete došlou zprávu a klepnete v menu na View -> Options (Zobrazit -> Možnosti). V poli Internet headers uvidíte text ne nepodobný tomuto :
Return-Path:
Received: from smtp2.vol.cz ([195.250.128.42]) by pet.asp.cz
(Post.Office MTA v3.5.2 release 221 ID# 0-40517U100L2S100)
with ESMTP id cz for ;
Fri, 25 Feb 2000 12:14:46 +0100
Received: from ponygirl (brnob-216.vol.cz [212.20.109.216])
by smtp2.vol.cz (8.9.3/8.9.3) with SMTP id MAA69838
for ; Fri, 25 Feb 2000 12:08:10 +0100 (CET)
Message-ID: <000301bf7f80$71a2cf60$d86d14d4@rider>
From: "Rider"
To: "Altair"
Subject: Testovaci zprava
Date: Fri, 25 Feb 2000 11:14:40 +0100
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-2"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.5
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by smtp2.vol.cz id MAA69838
Pro nás, rádoby-hackery, je v nem duležitých hned nekolik rádek. V rádce X-Mailer je uveden program, který byl pro odeslání použit - v daném prípade Microsoft Outlook Express. Podle maileru je možno odhadnout, jaký OS uživatel používá, zda Windows nebo treba UNIX. Ve vetšine prípadu mužeme zjistit, z jakého pocítace byl e-mail odeslán a kudy Internetem putoval. To lze zjistit podle rádku Received. Každý pocítac, pres který zpráva projde, pridá do hlavicky svoje vlastní „razítko“ v podobe jednoho rádku Received. Mužeme vysledovat, kudy zpráva šla. Rádky je treba císt odspoda nahoru, poslední pocítac je uveden jako první a první pocítac je uveden jako poslední. Jako poslední (tedy vlastne první) je zde tento záznam: Received: from ponygirl (brnob-216.vol.cz [212.20.109.216]) by smtp2.vol.cz. Z toho vycteme, že mail byl puvodne odeslán z pocítace s IP adresou 212.20.109.216 a DNS jménem brnob-216.vol.cz. Pocítac sám sebe identifikoval jako ponygirl, takže tak ho jeho majitel pojmenoval ve Windows. Pozdeji byla zpráva prevzata strojem pet.asp.cz od smtp2.vol.cz (jak je možno vycíst z dalšího rádku Received a zde její pout koncí, nebot to je muj mailserver, ze kterého jsem si ji stáhnul pres POP3. Známe tedy IP adresu, ze které byl e-mail odeslán. Co s ní, to si povíme pozdeji.
Tento postup platí, když je zpráva odeslána z bežného e-mailového klienta. Ale co když uživatel použije nekterý z freemailových serveru? Použijeme stejný postup, tedy šmírování v hlavicce. Takhle vypadá jeden z mailu, jaké po svete posílá hotmail.com :
Return-Path:
Received: from hotmail.com ([216.33.241.91]) by pet.asp.cz
(Post.Office MTA v3.5.2 release 221 ID# 0-40517U100L2S100)
with SMTP id cz for ;
Wed, 23 Feb 2000 18:19:45 +0100
Received: (qmail 23751 invoked by uid 0); 23 Feb 2000 17:13:27 -0000
Message-ID: <20000223171327.23750.qmail@hotmail.com>
Received: from 194.228.57.27 by www.hotmail.com with HTTP;
Wed, 23 Feb 2000 09:13:27 PST
X-Originating-IP: [194.228.57.27]
From: "Xxxxxx Xxxxxxxx"
To: rider@bdsm.cz
Subject: Xxxxxxxxxx xxxxxx xx
Date: Wed, 23 Feb 2000 17:13:27 GMT
Mime-Version: 1.0
Content-Type: text/plain; format=flowed
Hotmail píše do hlavicky Received i prvotní prípad, kdy byla zpráva prijata od uživatele pres prohlížec: Received: from 194.228.57.27 by www.hotmail.com with HTTP; Zpráva byla tedy odeslána z pocítace s IP 194.228.57.27. V prípade, že freemailer neuvádí tuto hlavicku Received, je ješte dobré podívat se po hlavicce X-Originating-IP, která vetšinou uvádí IP adresu pocítace, jenž odeslání zprávy zpusobil (treba v prípade odeslání WWW formuláre a podobne). Známe tedy dva parametry - e-mailovou adresu a IP adresu uživatele. E-mail mužeme využít hned nekolika zpusoby. Mužeme napríklad zadat hledání této adresy na Internetu - pokud zadáte e-mailovou adresu treba do AltaVisty, vypadne na vás seznam stránek, kde se vyskytuje. Další možností je použít služby Lidé (www.lide.cz) nebo Bigfoot (www.bigfoot.com), kde se uživatelé registrují jako do „telefonního seznamu Internetu“.
Další zpusoby zjištení IP adresy. E-mail není jediný zpusob, jak zjistit necí IP adresu. Je dokonce jedním z tech méne vhodných. Nicméne dá se použít treba ke zjištení, zda ta kráska, která se s vámi bohužel nemuže sejít, protože je momentálne v Austrálii, nesedí dejme tomu v Holešovicích.
Zneužíváme ICQ .Vdecným zpusobem, jak zjistit necí IP, je program ICQ. Stací se jenom podívat do User‘s details - rada lidí tam svoji IP publikuje. A co když ne? Máte v zásade dve možnosti: Bud si seženete hacknutou verzi ICQ, která zobrazuje IP i u uživatelu, kterí to mají zakázáno, a nebo mužete využít funkcí operacního systému. Pokud má tu možnost (a nestojí mu v ceste napríklad firewall nebo proxy), ICQ posílá zprávy prímo na stroj príjemce. Windows obsahují príkaz, který vypíše aktivní TCP spojení : netstat. Napište do príkazového rádku netstat -n a odešlete ENTER. Systém vypíše neco podobného jako následující text :
[administrator@gateway.altair2000.net] C:\>netstat -n
Active Connections
Proto Local Address Foreign Address State
TCP 10.0.0.1:80 10.0.0.3:2611 ESTABLISHED
TCP 10.0.0.1:1083 10.0.0.2:445 ESTABLISHED
TCP 212.20.105.90:2043 195.98.10.24:80 CLOSE_WAIT
TCP 212.20.105.90:2097 147.32.110.2:80 CLOSE_WAIT
TCP 212.20.105.90:2106 193.85.233.106:80 CLOSE_WAIT
TCP 212.20.105.90:2107 193.85.233.106:80 CLOSE_WAIT
TCP 212.20.105.90:2110 194.228.3.17:80 ESTABLISHED
TCP 212.20.105.90:2113 194.108.145.136:80 CLOSE_WAIT
TCP 212.20.105.90:2124 194.228.3.17:110 TIME_WAIT
TCP 212.20.105.90:2127 212.65.220.69:80 ESTABLISHED
TCP 212.20.105.90:2129 194.149.103.101:80 CLOSE_WAIT
Toto jsou všechna aktivní TCP spojení z vašeho pocítace. První sloupec obsahuje protokol (TCP nebo UDP), druhý vaši IP adresu (já mám v tomto výpisu dve, jednu 10.0.0.1 pro privátní sít a druhou 212.20.105.90 pro Internet) a tretí IP adresu pocítace, s nímž jste ve spojení. Císlo za dvojteckou obsahuje port, na kterém je pripojení realizováno. Nyní odešlete zprávu uživateli, jehož IP chcete zjistit. V prubehu odesílání zprávy odešlete znovu príkaz netstat -n:
[administrator@gateway.altair2000.net] C:\>netstat -n
Active Connections
Proto Local Address Foreign Address State
TCP 10.0.0.1:1083 10.0.0.2:445 ESTABLISHED
TCP 212.20.105.90:2043 195.98.10.24:80 CLOSE_WAIT
TCP 212.20.105.90:2097 147.32.110.2:80 CLOSE_WAIT
TCP 212.20.105.90:2106 193.85.233.106:80 CLOSE_WAIT
TCP 212.20.105.90:2107 193.85.233.106:80 CLOSE_WAIT
TCP 212.20.105.90:2110 194.228.3.17:80 ESTABLISHED
TCP 212.20.105.90:2113 194.108.145.136:80 CLOSE_WAIT
TCP 212.20.105.90:2127 212.65.220.69:80 ESTABLISHED
TCP 212.20.105.90:2129 194.149.103.101:80 CLOSE_WAIT
TCP 212.20.105.90:2130 212.65.194.96:8084 ESTABLISHED
Za tu chvilku se nám tabulka ponekud zmenila. Nicméne pro nás je duležitý poslední rádek, který ukazuje, že muj pocítac je v aktivním spojení se strojem 212.65.194.96 na port 8084. A práve to je IP adresa hledaného neštastníka. Varování: Tato metoda není stoprocentne spolehlivá, musíte mít jisté základní vedomosti o tom, co a jak behá po TCP/IP a na jakých portech. Nezapomente si též overit, jestli zjištená IP neodpovídá adrese nekterého z ICQ serveru - to se stane v prípade, že komunikace z nejakého duvodu neprobíhá prímo.
WWW stránky. Pokud jste správci WWW serveru, mužete ho zneužít i ke špionážním úcelum. Vystavte na svém serveru nejaký soubor a sledovaného uživatele nejakým zpusobem donutte, aby si ho stáhl. V logu svého serveru najdete jeho IP adresu. Pokud máte možnost na serveru spouštet ASP, PHP, CGI nebo jakékoliv jiné aktivní skripty, není problém napsat jednoduchou aplikaci, která zjistí obsah všech serverových promenných (obsahují mj. IP adresu klienta, použitý prohlížec, prípadne informace o proxy serveru atd.) a pošle je e-mailem. Jakým zpusobem prinutíte obet, aby si príslušnou stránku nacetla, to nechávám na vaší fantazii. Na chatech typu Mageo je osvedcenou metodou poslat uživateli ve zpráve „obrázek“ o rozmeru 1x1 pixel, který je umísten na vašem serveru - pokud má zapnuté zobrazování obrázku, automaticky se stáhne. Pokud nemáte vlastní WWW server, mužete si zrídit stránky na nejakém freewebu a využít služeb, jako je TopList - ty vám též sdelí IP adresu návštevníka.
Co s IP adresou? Postupy uvedenými výše nebo nejakým jiným trikem jsme zjistili IP adresu zamýšlené obeti. Nyní nastal cas zjistit o dané IP adrese co možná nejvíce informací. Whois databáze Nejprve zjistíme, ke kterému providerovi príslušná IP patrí. K tomu lze použít WHOIS. Pokud predpokládáme, že se daná IP adresa nachází v Evrope, musíme využít ádatabzi RIPE . Prípadne lze použít samostatného WHOIS klienta. V obou prípadech bude položeným dotazem zjištená IP adresa a whois serverem stroj whois.ripe.net. Podívejme se, co nám RIPE databáze rekne o vlastníkovi IP adresy 212.65.194.96, kterou jsme zjistili v predchozím kroku :
[administrator@gateway.altair2000.net] C:\>whois -h whois.ripe.net 212.65.194.96
% Rights restricted by copyright. See http://www.ripe.net/ripencc/pub-services/d
b/copyright.html
inetnum: 212.65.192.0 - 212.65.206.255
netname: CONTACTELNET
descr: Contactel s.r.o.
descr: Vaclavske nam. 66
descr: 110 00 Praha 1
country: CZ
admin-c: ZL96-RIPE
tech-c: ZL96-RIPE
status: ASSIGNED PA
notify: zlinhart@atlas.cz
changed: hostmaster@ripe.net 19990601
source: RIPE
route: 212.65.192.0/19
descr: Contactel
origin: AS12461
mnt-by: AS12461-MNT
changed: zbynek.linhart@contactel.cz 19990630
source: RIPE
person: Zbynek Linhart
address: Contactel
address: Vinohradska 174
address: Prague 3
address: Czech Republic
phone: +420 2 330 11 602
fax-no: +420 2 330 11 600
e-mail: zbynek.linhart@contactel.cz
nic-hdl: ZL96-RIPE
changed: zbynek.linhart@contactel.cz 19990629
source: RIPE
Zjistili jsme, že sledovaný uživatel je pripojen pres ISP Contactel, což se muže hodit. Pokud máme podezrení, že sledovaný uživatel se nenachází v Evrope (tj. RIPE vypíše No entries found for the selected source(s).), mužeme vyzkoušet pro Severní Ameriku WHOIS-server whois.arin.net nebo pro Asii a Pacifik whois.apnic.net.
Traceroute a DNS. Prostrednictvím WHOIS zjistíme zpravidla jenom providera, nikoliv fyzické místo, kde je uživatel pripojen. To lze vetšinou zjistit prostrednictvím DNS nebo traceroute, protože vetšina provideru dává pocítacum dialupových klientu príhodná jména jako napríklad prahad-30.vol.cz. Že se volaný prístupový bod nachází v Praze, je celkem zjevné. Príkaz traceroute (tracert.exe) umožní sledovat cestu, kterou tecou data z vašeho pocítace na nejaký jiný - vypíše všechny routery, firewally a podobne. Podle názvu pocítacu lze zjistit, kde se nachází cílový pocítac. Výstup programu Traceroute muže vypadat napríklad takto :
[administrator@gateway.altair2000.net] C:\>tracert 194.228.150.62
Tracing route to as3-62.praha.iol.cz [194.228.150.62]
over a maximum of 30 hops:
1 120 ms 110 ms 131 ms prahad.vol.cz [195.250.155.56]
2 431 ms 791 ms 530 ms praha-fast-1-0-1.vol.cz [195.250.155.1]
3 120 ms 191 ms 110 ms 194.50.100.161
4 110 ms 150 ms 111 ms 194.228.255.254
5 321 ms 791 ms 711 ms 194.228.176.3
6 290 ms 320 ms 321 ms as3-62.praha.iol.cz [194.228.150.62]
Trace complete.
Data z mého pocítace tecou na 194.228.150.62 pres šest pocítacu, jejichž adresy jsou videt v predchozím výpisu. Cílový pocítac se jmenuje as3-62.praha.iol.cz, z cehož snadno zjistíme, že obet je pripojena pres Internet OnLine na prístupový bod v Praze. V rade prípadu lze podle IP adresy zjistit i více informací - napríklad telefonní císlo, na které dotycný uživatel volá. Nicméne tyto údaje se celkem casto mení a navíc jsou provideri na jejich zverejnování dosti citliví, protože nemají rádi, když nekdo verejne rozkrývá strukturu jejich síte.
Prímé spojení. Všechny dosud použité postupy jsou relativne neškodné a nezjistitelné - pouze se ptáme ruzných zdroju, co vedí o té které IP adrese, aniž bychom se na pocítac obeti prímo napojili. Ta tak nemuže zjistit, že se o ni zajímáme. Následující postupy už pocítají s prímým kontaktem s pocítacem obeti. Jsou už méne cisté, takže pokud má obet nainstalován nejaký hlídací software, tento software muže reagovat ponekud paranoidne. Pokud se rozhodnete jít dál, ciníte tak na vlastní nebezpecí. Overte si, zda je on-line První, co musíte udelat, je overit, zda daný pocítac je pripojen. To lze ucinit pomocí príkazu PING :
[administrator@gateway.altair2000.net] C:\>ping 212.20.105.90
Pinging 212.20.105.90 with 32 bytes of data:
Reply from 212.20.105.90: bytes=32 time<10ms TTL=128
Reply from 212.20.105.90: bytes=32 time<10ms TTL=128
Reply from 212.20.105.90: bytes=32 time<10ms TTL=128
Reply from 212.20.105.90: bytes=32 time<10ms TTL=128
Ping statistics for 212.20.105.90:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Pokud se vám ukáže neco podobného jako v následujícím prípade (Reply from …), pak pocítac odpovídá na požadavky a je tedy pripojen. V prípade, že na požadavky neodpovídá (vypíše se timeout nebo unreachable), pak patrne není pripojen, nebo je pripojen pres nejaký paranoidní firewall ci cosi v tom duchu. Varování: Jestliže sledujete nekoho na dial-upu, muže se stát, že na dané IP adrese je už prihlášen nekdo jiný! Pokud sledujete nekoho, kdo nemá pevnou linku, musíte tak cinit ihned po zjištení IP adresy!
Port scan. Na jeden pocítac muže být soucasne kladeno mnoho požadavku na ruzné jeho služby. Každá služba (jako napríklad WWW, FTP…) pracuje na tzv. portu. Portu je celkem 65535. Nekterá císla portu jsou rezervována pro urcité služby. Pár základních uvádím v následující tabulce, seznam dalších mužete najít napríklad v souboru %SystemRoot%\drivers\etc\services.
Port Služba
7 Echo
13 Daytime
17 QOTD (quote of the day)
19 Character generator
21 FTP
23 Telnet
25 SMTP (odesílání pošty)
43 WHOIS
53 DNS
79 Finger
80 WWW (HTTP)
110 POP3 (výber pošty)
119 NNTP (news)
443 WWW (HTTPS)
1433 MS SQL Server (data)
1434 MS SQL Server (monitor)
Existují programy (ríká se jim ruzne, napríklad port sniffer), které projdou na daném pocítaci zadaný pocet portu a zjištují, na kterých portech jim pocítac odpoví, tj. jaké služby tam beží. Já ke snifování portu používám program ~HakTek pro Windows . Jeho výstup vypadá zhruba následovne :
Scanning host 212.20.105.90, ports 0 to 2000
Port 21 found. Desc='ftp'
Port 25 found. Desc='smtp'
Port 79 found. Desc='finger'
Port 80 found. Desc='www'
Port 110 found. Desc='pop3'
Port 135 found.
Port 1433 found.
Done!
Je videt, že na cílovém pocítaci jede spousta služeb, mezi jinými i HTTP. Takže se mužete zkusit pripojit pres WWW browser a FTP klienta.
Další triky:
V prípade, že je mezi vámi cistá linka, mužete se pokusit pripojit pomocí Windows sdílení. Pokud má uživatel zapnuté sdílení pres TCP/IP a Windows 9x, dostanete se mu na harddisk - o tomto problému už Žive psalo. Pokud najdete na pocítaci živý SQL server (port 1433), mužete se zkusit pripojit jako uživatel ‚sa‘ s prázdným heslem. SQLko nechává úcet administrátora nezaheslovaný.