Как получить имя DNS по IP адресу или RDNS

Задача, которая относится к сбору сведений об атакуемой сети c помощью возможностей DNS. Невольно задаёшься вопросом: что тут можно получить? Например, у нас есть имя целевого сервера жертвы, мы его резолвим и получаем IP-адрес. После этого резолвим обратно из IP-адреса — анализируем получившееся имя. Бывают ситуации, когда оно может отличаться от того, что было…

Пуск -> Выполнить -> cmd:

>nslookup krikunov.ru
╤хЁтхЁ: UnKnown
Address: 8.8.8.8

DNS request timed out.
timeout was 2 seconds.
Не заслуживающий доверия ответ:
╚ь : krikunov.ru
Address: 213.189.197.80

>nslookup 213.189.197.80
╤хЁтхЁ: UnKnown
Address: 8.8.8.8

╚ь : axx80.distributed.zenon.net
Address: 213.189.197.80

К тому же можно провести так называемый обратный резолв (из IP адреса в доменное имя) и для всех соседних серверов, чтобы расширить вектор атаки… В принципе, с этими задачами может справиться и nslookup/dig. Идейно здесь все должно быть понятно. Но мне хотелось бы обратить внимание конкретно на механизмы, которые при этом используются. Эти тонкости могут помочь при определении количества серверов — «соседей» по хостингу.

Итак, мы имеем имя домена целевого сервера и его IP-адрес. Так что же происходит при обратном резолве IP-адреса (nslookup 44.55.66.77)? По данному запросу Ваш DNS-сервер попытается найти PTR-запись для указанного IP-адреса. При этом DNS-сервер, отвечающий на запрос, будет совсем не тот, который вернет обычные записи (TXT, A, MX…). Если проанализировать последовательность, то становится понятно, почему так происходит.

1) Для резолва IP-адресов применяется стандартный подход (иерархия). Чтобы привести эти адреса в валидный вид, создана специальная DNS зона «.in-addr.arpa», а также обратная последовательность IP-адреса. Например, 77.66.55.44.in-addr.arpa для 44.55.66.77.

2) Когда осуществляется запрос к DNS-серверу сделать обратный резолв, то DNS воспроизводит стандартный проход по иерархии. Сперва он инициирует запрос на один из рутовых DNS-серверов. Рутовый DNS-сервер отвечает ему именем того сервера, который ответственен за эту зону. То есть здесь можно будет увидеть один из основных регистраторов. Далее можно сделать запрос уже к этому регистратору. Его ответ уже решающий.

В результате мы получим имя сервера DNS, который ответственен за диапазон IP-адресов. Это вполне может быть либо провайдер, либо организация, то есть отдельная автономная система (AS). Сам диапазон IP адресов можно запросить с помощью стандартной команды whois. У данного сервера можно напрямую запросить абсолютно все PTR-записи по всему указанному диапазону IP-адресов.

Таким образом, можно сделать вывод, что PTR-записи находятся на DNS-сервере, который является ответственным за диапазон IP-адресов, а не DNS доменной зоны. Резолв в данном случае идет вполне стандартным путем по иерархии.

Кстати, некоторые почтовые сервера не получают почту с хостов без указания PTR-записи (якобы данный способ спасает от спама). Однако эта проблема решается очень просто и дешево — покупкой сервера с PTR-записью.

Добавить комментарий

Ваш e-mail не будет опубликован.