Шукати в цьому блозі

пʼятницю, 3 жовтня 2014 р.

Как получить список поддоменов доменного имени?

Возник вопрос, а как можно получить список всех поддоменов доменного имени?
Наприме, возьмём два домена ukrhub.net и olden.org.ua - какие тут есть поддомены третьего и четвёртого уровней, соответственно?
Для ответа на поставленный вопрос нам потребуется два инструмента - whois и dig.
Для начала через whois узнаем нейм-сервера зон:
~$ whois ukrhub.net | awk '$1~/^Name$/ && $2~/^Server:$/ { print $3 }' | sort -u
NS190.UKRHUB.NET
NS94.UKRHUB.NET
~$ whois olden.org.ua | awk '$1~/^nserver:/ { print $2 }' | sort -u
ns2.olden.org.ua
ns.olden.org.ua

Далее к нейм-серверам зон через dig отсылаем запрос axfr:
~$ dig @ns2.olden.org.ua olden.org.ua +multiline +nottlid -t axfr

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns2.olden.org.ua olden.org.ua +multiline +nottlid -t axfr
; (1 server found)
;; global options: +cmd
olden.org.ua.           IN SOA  olden.org.ua. oldengremlin.gmail.com. (
                                2014042900 ; serial
                                86400      ; refresh (1 day)
                                7200       ; retry (2 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                172800     ; minimum (2 days)
                                )
olden.org.ua.           IN NS   ns.olden.org.ua.
... 8< skip-skip 8< ...
www.olden.org.ua.       IN CNAME olden.org.ua.
olden.org.ua.           IN SOA  olden.org.ua. oldengremlin.gmail.com. (
                                2014042900 ; serial
                                86400      ; refresh (1 day)
                                7200       ; retry (2 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                172800     ; minimum (2 days)
                                )
;; Query time: 1 msec
;; SERVER: 212.90.160.2#53(212.90.160.2)
;; WHEN: Fri Oct  3 09:25:59 2014
;; XFR size: 22 records (messages 1, bytes 554)

~$ dig @ns.ukrhub.net ukrhub.net +multiline +nottlid -t axfr

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns.ukrhub.net ukrhub.net +multiline +nottlid -t axfr
; (1 server found)
;; global options: +cmd
ukrhub.net.             IN SOA  ns94.ukrhub.net. hostmaster.ukrhub.net. (
                                2014093000 ; serial
                                3600       ; refresh (1 hour)
                                1800       ; retry (30 minutes)
                                1209600    ; expire (2 weeks)
                                7200       ; minimum (2 hours)
                                )
ukrhub.net.             IN NS   ns94.ukrhub.net.
... 8< skip-skip 8< ...
zemkadast-nop.ukrhub.net. IN A  212.90.170.202
ukrhub.net.             IN SOA  ns94.ukrhub.net. hostmaster.ukrhub.net. (
                                2014093000 ; serial
                                3600       ; refresh (1 hour)
                                1800       ; retry (30 minutes)
                                1209600    ; expire (2 weeks)
                                7200       ; minimum (2 hours)
                                )
;; Query time: 15 msec
;; SERVER: 212.90.160.2#53(212.90.160.2)
;; WHEN: Fri Oct  3 09:29:33 2014
;; XFR size: 944 records (messages 1, bytes 24617)

Однако тут же отмечу, что использовать запрос axfr выйдет не для всех зон. Почему? Да потому, что по большому счёту он открывает путь к "уязвимости" известной как Valve и системными администраторами, которым не чужда информационная безопасность, фиксится - трансфер зон разрешается лишь для доверенных ip. К примеру, попытка axfr запросов для доменов xda-developers.com, fb.com и vk.com, в той или иной степени, будут не успешными и список поддоменов таким образом нам получить не получится:
~$ DOMAIN=xda-developers.com; for NS in $( whois ${DOMAIN} | awk '$1~/^Name$/ && $2~/^Server:$/ { print $3 }' | sort -u ); do dig @${NS} ${DOMAIN}  +multiline +nottlid -t axfr; done

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @NS1.XDA-DEVELOPERS.COM xda-developers.com +multiline +nottlid -t axfr
; (1 server found)
;; global options: +cmd
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @NS2.XDA-DEVELOPERS.COM xda-developers.com +multiline +nottlid -t axfr
; (1 server found)
;; global options: +cmd
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @NS3.XDA-DEVELOPERS.COM xda-developers.com +multiline +nottlid -t axfr
; (1 server found)
;; global options: +cmd
; Transfer failed.

~$ DOMAIN=fb.com; for NS in $( whois ${DOMAIN} | awk '$1~/^Name$/ && $2~/^Server:$/ { print $3 }' | sort -u ); do dig @${NS} ${DOMAIN}  +multiline +nottlid -t axfr; done
;; Connection to 69.171.239.12#53(69.171.239.12) for fb.com failed: connection refused.
;; Connection to 69.171.239.12#53(69.171.239.12) for fb.com failed: connection refused.
;; Connection to 69.171.255.12#53(69.171.255.12) for fb.com failed: connection refused.
;; Connection to 69.171.255.12#53(69.171.255.12) for fb.com failed: connection refused.

~$ DOMAIN=vk.com; for NS in $( whois ${DOMAIN} | awk '$1~/^Name$/ && $2~/^Server:$/ { print $3 }' | sort -u ); do dig @${NS} ${DOMAIN}  +multiline +nottlid -t axfr; done

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @NS1.VKONTAKTE.RU vk.com +multiline +nottlid -t axfr
; (2 servers found)
;; global options: +cmd
vk.com.                 IN SOA  ns1.vkontakte.ru. ncc.vkontakte.ru. (
                                2014093001 ; serial
                                3600       ; refresh (1 hour)
                                900        ; retry (15 minutes)
                                604800     ; expire (1 week)
                                900        ; minimum (15 minutes)
                                )
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @NS2.VKONTAKTE.RU vk.com +multiline +nottlid -t axfr
; (2 servers found)
;; global options: +cmd
vk.com.                 IN SOA  ns1.vkontakte.ru. ncc.vkontakte.ru. (
                                2014093001 ; serial
                                3600       ; refresh (1 hour)
                                900        ; retry (15 minutes)
                                604800     ; expire (1 week)
                                900        ; minimum (15 minutes)
                                )
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @NS3.VKONTAKTE.RU vk.com +multiline +nottlid -t axfr
; (2 servers found)
;; global options: +cmd
vk.com.                 IN SOA  ns1.vkontakte.ru. ncc.vkontakte.ru. (
                                2014093001 ; serial
                                3600       ; refresh (1 hour)
                                900        ; retry (15 minutes)
                                604800     ; expire (1 week)
                                900        ; minimum (15 minutes)
                                )
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @NS4.VKONTAKTE.RU vk.com +multiline +nottlid -t axfr
; (2 servers found)
;; global options: +cmd
vk.com.                 IN SOA  ns1.vkontakte.ru. ncc.vkontakte.ru. (
                                2014093001 ; serial
                                3600       ; refresh (1 hour)
                                900        ; retry (15 minutes)
                                604800     ; expire (1 week)
                                900        ; minimum (15 minutes)
                                )
; Transfer failed.

А вот попытка "выстрелить" по доменам tlc.ks.ua, unio.kherson.ua и plusnet.ks.ua оказалась вполне успешной:
~$ for DOMAIN in tlc.ks.ua unio.kherson.ua plusnet.ks.ua; do for NS in $( whois ${DOMAIN} | awk '$1~/^nserver:/ { print $2 }' | sort -u ); do dig @${NS} ${DOMAIN}  +multiline +nottlid -t axfr; done; done

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns01.tlc.ks.ua tlc.ks.ua +multiline +nottlid -t axfr
; (2 servers found)
;; global options: +cmd
tlc.ks.ua.              IN SOA  virtual2.ks-host.com. support.ks-host.com. (
                                2014082507 ; serial
                                10800      ; refresh (3 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
tlc.ks.ua.              IN TXT  "v=spf1 ip4:62.149.13.45 a mx ~all"
tlc.ks.ua.              IN NS   ns01.tlc.ks.ua.
tlc.ks.ua.              IN NS   ns02.tlc.ks.ua.
tlc.ks.ua.              IN NS   ns03.tlc.ks.ua.
tlc.ks.ua.              IN MX   10 mail.tlc.ks.ua.
tlc.ks.ua.              IN A    62.149.13.45
ftp.tlc.ks.ua.          IN A    62.149.13.45
imap.tlc.ks.ua.         IN A    62.149.13.45
mail.tlc.ks.ua.         IN A    62.149.13.45
ns01.tlc.ks.ua.         IN AAAA 2a03:6300:1:12::13:45
ns01.tlc.ks.ua.         IN A    62.149.13.45
ns02.tlc.ks.ua.         IN A    77.120.125.20
ns03.tlc.ks.ua.         IN AAAA 2001:1608:10:38::87b0:f63a
ns03.tlc.ks.ua.         IN A    84.200.213.106
pop.tlc.ks.ua.          IN A    62.149.13.45
smtp.tlc.ks.ua.         IN A    62.149.13.45
www.tlc.ks.ua.          IN A    195.38.16.2
tlc.ks.ua.              IN SOA  virtual2.ks-host.com. support.ks-host.com. (
                                2014082507 ; serial
                                10800      ; refresh (3 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
;; Query time: 1 msec
;; SERVER: 62.149.13.45#53(62.149.13.45)
;; WHEN: Fri Oct  3 09:50:45 2014
;; XFR size: 19 records (messages 1, bytes 489)


; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns02.tlc.ks.ua tlc.ks.ua +multiline +nottlid -t axfr
; (1 server found)
;; global options: +cmd
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns03.tlc.ks.ua tlc.ks.ua +multiline +nottlid -t axfr
; (2 servers found)
;; global options: +cmd
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns02.ks-host.com.ua unio.kherson.ua +multiline +nottlid -t axfr
; (1 server found)
;; global options: +cmd
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns03.ks-host.com.ua unio.kherson.ua +multiline +nottlid -t axfr
; (2 servers found)
;; global options: +cmd
; Transfer failed.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns04.ks-host.com.ua unio.kherson.ua +multiline +nottlid -t axfr
; (2 servers found)
;; global options: +cmd
unio.kherson.ua.        IN SOA  virtual2.ks-host.com. support.ks-host.com. (
                                2014091001 ; serial
                                10800      ; refresh (3 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
unio.kherson.ua.        IN TXT  "v=spf1 ip4:62.149.13.45 a mx ~all"
unio.kherson.ua.        IN NS   ns02.ks-host.com.ua.
unio.kherson.ua.        IN NS   ns03.ks-host.com.ua.
unio.kherson.ua.        IN NS   ns04.ks-host.com.ua.
unio.kherson.ua.        IN MX   10 mail.unio.kherson.ua.
unio.kherson.ua.        IN A    62.149.13.45
ftp.unio.kherson.ua.    IN A    62.149.13.45
mail.unio.kherson.ua.   IN A    62.149.13.45
pop.unio.kherson.ua.    IN A    62.149.13.45
smtp.unio.kherson.ua.   IN A    62.149.13.45
www.unio.kherson.ua.    IN A    62.149.13.45
unio.kherson.ua.        IN SOA  virtual2.ks-host.com. support.ks-host.com. (
                                2014091001 ; serial
                                10800      ; refresh (3 hours)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
;; Query time: 1 msec
;; SERVER: 62.149.13.45#53(62.149.13.45)
;; WHEN: Fri Oct  3 09:50:45 2014
;; XFR size: 13 records (messages 1, bytes 382)

;; Connection to 77.121.4.19#53(77.121.4.19) for plusnet.ks.ua failed: timed out.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns.plusnet.ks.ua plusnet.ks.ua +multiline +nottlid -t axfr
; (1 server found)
;; global options: +cmd
plusnet.ks.ua.          IN SOA  plusnet.ks.ua. hostmaster.plusnet.ks.ua. (
                                2013102200 ; serial
                                86400      ; refresh (1 day)
                                7200       ; retry (2 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                172800     ; minimum (2 days)
                                )
plusnet.ks.ua.          IN NS   ns.plusnet.ks.ua.
plusnet.ks.ua.          IN NS   ns2.plusnet.ks.ua.
plusnet.ks.ua.          IN MX   10 mail.plusnet.ks.ua.
plusnet.ks.ua.          IN A    77.121.4.50
*.plusnet.ks.ua.        IN A    77.121.4.50
clan.plusnet.ks.ua.     IN A    77.121.4.50
cs.plusnet.ks.ua.       IN A    77.121.4.50
ban.cs.plusnet.ks.ua.   IN A    77.121.4.50
data.cs.plusnet.ks.ua.  IN A    77.121.4.50
datasvit.cs.plusnet.ks.ua. IN A 77.121.4.50
forum.cs.plusnet.ks.ua. IN A    77.121.4.50
gungame.cs.plusnet.ks.ua. IN A  77.121.4.50
monitor.cs.plusnet.ks.ua. IN A  77.121.4.50
plusnet.cs.plusnet.ks.ua. IN A  77.121.4.50
stats.cs.plusnet.ks.ua. IN A    77.121.4.50
ftp.plusnet.ks.ua.      IN CNAME plusnet.ks.ua.
localhost.plusnet.ks.ua. IN A   127.0.0.1
m.plusnet.ks.ua.        IN A    93.79.167.142
mail.plusnet.ks.ua.     IN A    77.121.4.50
ns.plusnet.ks.ua.       IN A    77.121.4.50
ns2.plusnet.ks.ua.      IN A    77.121.4.19
rc.plusnet.ks.ua.       IN A    77.121.4.50
ts.plusnet.ks.ua.       IN A    77.121.4.50
vik.plusnet.ks.ua.      IN A    77.121.4.50
www.plusnet.ks.ua.      IN CNAME plusnet.ks.ua.
plusnet.ks.ua.          IN SOA  plusnet.ks.ua. hostmaster.plusnet.ks.ua. (
                                2013102200 ; serial
                                86400      ; refresh (1 day)
                                7200       ; retry (2 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                172800     ; minimum (2 days)
                                )
;; Query time: 108 msec
;; SERVER: 77.121.4.50#53(77.121.4.50)
;; WHEN: Fri Oct  3 09:50:53 2014
;; XFR size: 27 records (messages 1, bytes 612)

Немає коментарів: