Kdykoliv napíšete do prohlížeče soom.cz, tak využíváte tohoto užitečného pomocníka jménem DNS. Funkci této služby jistě nemusím vysvětlovat, tak jdeme na věc.
Základní věc, kterou nám DNS může poskytnout je překlad doménového jména na IP adresu, což je jediný údaj, kterému stroje rozumí (ve skutečnosti je to složitější, ale to bych přesáhl tento článek). Což můžeme provést pomocí příkazu host takto:
linux$ host soom.cz soom.cz has address 89.187.131.211 soom.cz mail is handled by 10 ns1.netzona.cz.Případně pomocí příkazu ping:
linux$ ping soom.cz -c 1
PING soom.cz (89.187.131.211) 56(84) bytes of data.
64 bytes from alfa.netzona.cz (89.187.131.211): icmp_seq=1 ttl=58 time=19.6 ms
--- soom.cz ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 19.652/19.652/19.652/0.000 ms
Teď trochu teorie. Specifikace DNS definuje hned několik typů DNS záznamů viz. tabulka níže.
SOA | Start of authority | Časové údaje DNS pro aktualizaci a stárnutí záznamů, mailová adresa správce serveru |
A | Address | IP adresa příslušného záznamu |
CNAME | Canonical name | Kanonický (odvozený) název |
PTR | Pointer | Název PC s IP adresou |
HINFO | Host information | Operační systém počítače |
TXT | Text (nečekaně :) | Individuální informace o PC (umístění, účel atd.) |
RP | Responsible person | Kontakt (e-mail) na zodpovědnou osobu |
a spoustu dalších, které včetně jejich popisu a příslušné specifikace naleznete zde: vzi. http://en.wikipedia.org/wiki/DNS_record
S tí souvisí situace, kdy jsme v prvním příkladu obdrželi odpověď na dva řádky. Ve skutečnosti jsme obdrželi odpověď dvou záznamů. Kontrétně a a mx. To ale nemusí být bezpodmínečně vše. K této doméně se vztahuje například záznam soa:
linux$ host -t soa soom.cz
soom.cz has SOA record ns1.netzona.cz. admin.netzona.cz. 20080511 10 10 1000 10
Dosud získané informace by mohly být dobrým základem pro útok. Problém je v tom, že většinou nejsou údaje dostupné a my obdržíme pouze výsledek podobný tomuto:
linux$ host -t ptr soom.cz soom.cz has no PTR recordTo jsme zjistili informace o konkrétní doméně. Často se však hodí znát seznam subdobén (domény 3. a nižšíto řádu). K tomu se dá využít opět programu host nebo dig. Napřed ale potřebujeme znát jmén jmenného sereru (DNS - Domain Name Server ). Zřejmě nejsnazší způsob, jak tuto informaci získat je služba whois, kterou provozují všichni TLD (správci domén 1. řádu, pro .cz http://www.nic.cz/whois/), konkrétně http://www.nic.cz/whois/?d=soom.cz. Nebo stejnojmený program:
linux$ whois soom.cz
...
nsset: NETZONA.CZ
nserver: ns1.netzona.cz
nserver: ns2.netzona.cz
tech-c: FORPSI-BGO-C230788
registrar: REG-INTERNET-CZ
created: 18.05.2008 13:19:14
changed: 26.06.2008 11:34:02
...
Výstup byl pro stručnost zkrácen (mj. z výstupu se můžete dozvědět Emkeiovo skutečné jméno a nejen to ;-). Na řádcích nameserver: se dozvíme, že jmenné servery, kde jsou zapsány informace od doméně soom.cz jsou ns1.netzona.cz a ns2.netzona.cz. A teď není nic jednodužšího, než se jmennéno serveru zeptat na subdomény.
linux$ host -l www.soom.cz ns2.netzona.cz
;; Connection to 90.177.11.107#53(90.177.11.107) for www.soom.cz failed: connection refused.
V tomto případě však vidíme, že požadované informace nejsou dostupné. Je to očekávatelné. Přecijen možnost zónových přenosů se dá považovat be bezpečnostní chybu a je dobré, že server netzona.cz ná toto ošetřeno. Aby jste však nepřišli zkrátka, ukáži vám jiný příklad, kde zónové přenosy jsou možné.
Například u serveru neco.cz (skutečný server, není exemplární) nastane jedna zajímavý situace. Z primárního doménového serveru informace získat jejdou:
linux$ host -l neco.cz cerveny.neco.cz
; Transfer failed.
Using domain server:
Name: cerveny.neco.cz
Address: 88.86.111.14#53
Aliases:
Host neco.cz not found: 5(REFUSED)
; Transfer failed.
Avšak sekundární server se s ními o své informace rád podělí :-) :
linux$ host -l neco.cz modry.neco.cz
Using domain server:
Name: modry.neco.cz
Address: 85.207.113.248#53
Aliases:
neco.cz name server modry.neco.cz.
neco.cz name server cerveny.neco.cz.
neco.cz has address 88.86.111.14
cerveny.neco.cz has address 88.86.111.14
fialovy.neco.cz has address 62.240.166.66
medialine.neco.cz has address 212.20.120.138
modry.neco.cz has address 85.207.113.248
unipm.neco.cz has address 85.207.228.226
zluty.neco.cz has address 88.86.111.15
Není to však kompletní výpis domén, ale jak se říká lepší něco než nic.
Teď trochu mimo téma: Také se říká, že co je doma, to se počítá. V tomto případě si můžeme pomoci návštěvou webové stránky http://ww.neco.cz kde nám výpis, i když také nekompletní, ale obsáhlejší, poskytnou administrátoři sami.
Překvapení nakonec. Ještě jsem se zmiňoval o programu dig, který nám také umožňuje zjistit seznam subdomén. Možná budete překvapeni výpisem z primárního serveru, který nám za použití programu host nechtěl nic prozradit:
linux$ dig @modry.neco.cz neco.cz axfr
; <<>> DiG 9.4.1-P1 <<>> @modry.neco.cz neco.cz axfr
; (1 server found)
;; global options: printcmd
neco.cz. 3600 IN SOA cerveny.neco.cz. robert.neco.cz. 2007101501 28800 7200 604800 86400
neco.cz. 3600 IN NS modry.neco.cz.
neco.cz. 3600 IN NS cerveny.neco.cz.
neco.cz. 3600 IN A 88.86.111.14
neco.cz. 3600 IN MX 10 mail.neco.cz.
neco.cz. 3600 IN MX 20 backupmail.neco.cz.
*.neco.cz. 3600 IN CNAME cerveny.neco.cz.
angel.neco.cz. 3600 IN CNAME modry.neco.cz.
backupmail.neco.cz. 3600 IN CNAME modry.neco.cz.
cerveny.neco.cz. 3600 IN A 88.86.111.14
daruj.neco.cz. 3600 IN CNAME cerveny.neco.cz.
delej.neco.cz. 3600 IN CNAME cerveny.neco.cz.
fast.neco.cz. 3600 IN CNAME cerveny.neco.cz.
fazole.neco.cz. 3600 IN CNAME cerveny.neco.cz.
fialovy.neco.cz. 3600 IN A 62.240.166.66
frantiskanska.neco.cz. 3600 IN CNAME cerveny.neco.cz.
hellsoft.neco.cz. 3600 IN CNAME cerveny.neco.cz.
herniprace.neco.cz. 3600 IN CNAME cerveny.neco.cz.
hory.neco.cz. 3600 IN CNAME cerveny.neco.cz.
hrusice.neco.cz. 3600 IN CNAME cerveny.neco.cz.
jizdanakoni.neco.cz. 3600 IN CNAME cerveny.neco.cz.
jogaba.neco.cz. 3600 IN CNAME cerveny.neco.cz.
keramika.neco.cz. 3600 IN CNAME cerveny.neco.cz.
kone.neco.cz. 3600 IN CNAME cerveny.neco.cz.
kuba.neco.cz. 3600 IN CNAME cerveny.neco.cz.
kupuj.neco.cz. 3600 IN CNAME cerveny.neco.cz.
mail.neco.cz. 3600 IN CNAME cerveny.neco.cz.
mailnew.neco.cz. 3600 IN CNAME cerveny.neco.cz.
medialine.neco.cz. 3600 IN A 212.20.120.138
mirabai.neco.cz. 3600 IN CNAME cerveny.neco.cz.
modry.neco.cz. 3600 IN A 85.207.113.248
moricvil.neco.cz. 3600 IN CNAME cerveny.neco.cz.
oranzovy.neco.cz. 3600 IN CNAME cerveny.neco.cz.
pifik.neco.cz. 3600 IN CNAME cerveny.neco.cz.
ras.neco.cz. 3600 IN CNAME cerveny.neco.cz.
rights.neco.cz. 3600 IN CNAME cerveny.neco.cz.
robert.neco.cz. 3600 IN CNAME cerveny.neco.cz.
snez.neco.cz. 3600 IN CNAME cerveny.neco.cz.
sop8.neco.cz. 3600 IN CNAME cerveny.neco.cz.
tichacek.neco.cz. 3600 IN CNAME cerveny.neco.cz.
tucnak.neco.cz. 3600 IN CNAME cerveny.neco.cz.
ub.neco.cz. 3600 IN CNAME cerveny.neco.cz.
unipm.neco.cz. 3600 IN A 85.207.228.226
viladomy.neco.cz. 3600 IN CNAME cerveny.neco.cz.
www.neco.cz. 3600 IN CNAME cerveny.neco.cz.
zeleny.neco.cz. 3600 IN CNAME cerveny.neco.cz.
zluty.neco.cz. 3600 IN A 88.86.111.15
neco.cz. 3600 IN SOA cerveny.neco.cz. robert.neco.cz. 2007101501 28800 7200 604800 86400
;; Query time: 67 msec
;; SERVER: 85.207.113.248#53(85.207.113.248)
;; WHEN: Thu Jun 26 22:02:51 2008
;; XFR size: 48 records (messages 1, bytes 1049)
A abych nezklamal uživatele systému Windows, tak přidám velmi stručný návod i pro ně.
1. Otevřete si program cmd.exe A "vyskočí" na vás seznam subdomén stejně, jako tomu bylo v předchozích případech.
Na závěr vám doporučím si vše vyzkoušet na vlastním příkladu a popřeji vám hodně zábavi při bojevování nových možností.