Что такое обратный DNS? Основные инструменты для выполнения обратного поиска DNS
Что такое обратный DNS (rDNS)?
Мы все знаем, что такое DNS и как он работает. Но даже некоторые IT-ботаники иногда забывают о rDNS, а третьи, которые только что присоединились к клубу, никогда даже не слышали о нем.
На простом языке обратный DNS или rDNS делает противоположное традиционному DNS. То есть, вместо преобразования доменного имени на IP, он преобразует IP к имени хоста.
Разрешение rDNS – это совершенно отдельный механизм от обычного разрешения DNS. Например, если домен “yourcompany.com” указывает на IP 1.2.3.4 (фиктивный IP-адрес), это не обязательно означает, что обратное разрешение для IP является 1.2.3.4.
Для хранения записей rDNS существует определенный тип записи DNS, называемый записью PTR. Эта запись также известна как ”запись ресурсов” (RR) и задает IP-адреса всех систем, используя инвертированную нотацию.
Эта конфигурация rDNS позволяет выполнять поиск IP-адреса в DNS, так как inaddr.arpa домен добавляется в инвертированную нотацию IP, превращая IP в доменное имя.
Например: чтобы преобразовать IP-адрес 1.2.3.4 в PTR-запись, нам нужно инвертировать IP и добавить домен inaddr.arpa в результате чего получается следующая запись: 4.3.2.1.in-addr.arpa.
Классическая работа системы DNS заключается в преобразовании или разрешении IP-адресов в имена, но некоторые сценарии требуют обратного, и это означает, что имена подключенных к интернету устройств переводятся с их IP-адресов. Это то, что называется rDNS, или обратное разрешение.
Поддерживают ли все типы IP-адресов rDNS? Безусловно, и IPv4 и IPv6 поддерживают поиск rDNS. В случае адресов на основе IPv4 поисковые запросы используют специальный домен in-addr.arpa, в то время как для IPv6 rDNS поиск специального домена ip6.arpa используется.

Нужен ли мне rDNS? Текущее использование обратного DNS
Насколько важна rDNS тогда? Может ли мой интернет-бизнес жить без него?
Ответ-да…и нет. В то же время.
Если у вас нет настройки rDNS для вашей ИТ-инфраструктуры, она все равно будет работать. Это не является строгим требованием. Однако некоторые вещи могут работать не так, как ожидалось, или могут вызвать трудности. Продолжай читать.
Когда rDNS полезно?
- Если вы хотите, чтобы предотвратить проблемы с электронной почтой. Если вы размещаете свой собственный почтовый сервер, rDNS становится довольно полезным для ваших исходящих писем. Запись rDNS позволяет отслеживать происхождение электронной почты, повышая доверие к почтовому серверу и становясь надежным источником для многих популярных поставщиков услуг электронной почты, таких как Gmail, Yahoo, Hotmail и других. Некоторые серверы входящей электронной почты даже не позволяют вашей электронной почте поступать на их почтовые ящики, Если у вас нет настройки записи rDNS. Поэтому, если вы используете свой собственный почтовый сервер, вы захотите иметь его в виду.
- Когда вы проводите расследование киберпреступности. Еще одно популярное использование обратных записей DNS-это выявление потенциальных угроз и массовые сканеры по всему интернету. Используя обе конечные точки API безопасности или веб-продукты, такие как SurfaceBrowser, вы или ваша команда можете легко идентифицировать авторов и сети, стоящие за массовым сканированием, распространением вредоносных программ или другими видами вредоносных действий — так же, как Трой Мурш показал в нашем блоге, как использовать обратные записи DNS для идентификации массовых сканеров .
Как я могу выполнить обратный поиск DNS?
Выполнение обратного DNS-поиска не является ракетной наукой, но есть много методов и инструментов поиска rDNS, используемых для выполнения противоположной обычной проверки DNS : разрешения данного IP-адреса для хоста.
Некоторые из этих веб-утилит известны как обратные инструменты DNS, и все они делают одно и то же: запрашивают данный IP-адрес для разрешения имени хоста. Давайте сначала рассмотрим некоторые примеры на основе терминалов.
Мощная команда dig приходит на помощь, когда нам нужно выполнить обратный поиск DNS. С помощью параметра-x можно выполнить простой обратный поиск, чтобы сопоставить адрес с именами всего за несколько секунд.
Этот параметр dig автоматически выполняет поиск для традиционного имени IP-адреса, такого как 94.2.0.192.in-addr.arpa, и установите тип запроса и класс в PTR и IN соответственно для адресов IPv6. Поиск rDNS выполняется с использованием формата nibble под IP6.ARPA домен.
Пример вывода:
[research@securitytrails ~]$ dig -x 1.1.1.1 ; <<>> DiG 9.11.10-RedHat-9.11.10-1.fc30 <<>> -x 1.1.1.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56773 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 7 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;1.1.1.1.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.1.1.in-addr.arpa. 1096 IN PTR one.one.one.one. ;; AUTHORITY SECTION: 1.1.1.in-addr.arpa. 69422 IN NS ns3.cloudflare.com. 1.1.1.in-addr.arpa. 69422 IN NS ns7.cloudflare.com. ;; ADDITIONAL SECTION: ns3.cloudflare.com. 86027 IN A 162.159.7.226 ns3.cloudflare.com. 86027 IN A 162.159.0.33 ns3.cloudflare.com. 86027 IN AAAA 2400:cb00:2049:1::a29f:21 ns3.cloudflare.com. 86027 IN AAAA 2400:cb00:2049:1::a29f:7e2 ns7.cloudflare.com. 203 IN A 162.159.6.6 ns7.cloudflare.com. 203 IN A 162.159.4.8 ;; Query time: 13 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Wed Sep 18 11:20:01 -03 2019 ;; MSG SIZE rcvd: 248
Самое интересное заключается в следующем:
1.1.1.1.in-addr.arpa. 1096 IN PTR one.one.one.one.
Вы можете grep выходные данные для более четкого результата.
Хост
Команда host, вероятно, является самой популярной командой, когда речь заходит о выполнении быстрого разрешения rDNS с терминала. Синтаксис довольно прост:
host XX.XX.XX.XX
Где XX. XX. XX. XX-это реальный IP-адрес. Давайте рассмотрим несколько примеров.
Cloudflare поставляется в первую очередь с обратным запросом разрешения DNS против 1.1.1.1:
$ host 1.1.1.1 1.1.1.1.in-addr.arpa domain name pointer 1.1.1.1.in-addr.arpa.
То же самое относится и к любому другому IP-адресу, например DNS-серверу Google:
$ host 8.8.8.8 8.8.8.8.in-addr.arpa domain name pointer dns.google.
Или наши собственные securitytrails.com IP-адрес:
$ host 151.139.243.5 Host 5.243.139.151.in-addr.arpa. not found: 3(NXDOMAIN)
Правильно, для нашего IP-адреса у нас пока нет никакой настройки PTR-записи, это еще одна возможность, которую вы найдете на определенных IP-адресах.
G-Suite Toolbox Dig
Некоторое время назад Google выпустила очень полезный ресурс под названием G-Suite dig , онлайн-утилита, которая позволяет выполнять любой тип DNS-запросов на основе простого, но сложного веб-интерфейса.
В этом случае выберите запись “PTR”, введите свой IP-адрес и получите полный результат rDNS за считанные секунды.
Недостатком этой утилиты является то, что она позволяет получать результаты только для одного IP-адреса, что не удобно, когда вам нужно выполнить массовое сканирование rDNS.

Обратная конечная точка DNS API
Использование нашего мощного API является еще одним отличным источником для запроса нашей пассивной базы данных DNS для любых записей PTR компании.
Конечная точка “/v1/ips/list” позволяет запрашивать домен apex (в этом случае cloudflare.com), так что вы можете легко обнаружить все известные IP-адреса, связанные с Cloudflare.com доменное имя.
Давайте использовать быстрый скрипт python, чтобы увидеть, как это выглядит:
import requests url = "https://api.securitytrails.com/v1/ips/list" querystring = {"apikey":"your_api_key_here","page":"1"} payload = "{\"query\":\"ptr_part = 'cloudflare.com'\"}" response = requests.request("POST", url, data=payload, params=querystring) print(response.text)
Пример вывода:

В дополнение к записям PTR, вы также найдете открытые порты для каждого из хостов, возвращенных нашей службой API.
Благодаря нашему полностью основанному на HTTP API, вы также можете выполнить простой запрос CURL из командной строки или использовать любые другие популярные языки, включая Node.js, JavaScript, Ruby, Go и PHP.
Массивная разведка rDNS
Когда мы говорим, что SurfaceBrower – это идеальный инструмент для исследования поверхности атаки “все-в-одном”, мы действительно имеем это в виду. Помимо всех зон DNS, доменных имен, SSL и открытых портов данных он имеет, SurfaceBrowser может быть использован в качестве инструмента массового обратного поиска DNS.
Чтобы изучить данные rDNS от любой компании, просто запустите SurfaceBrowser с консоли вашего аккаунта по адресу: https://securitytrails.com/app/sb/
Выберите любое доменное имя, которое вы хотите изучить, а затем нажмите на опцию “обратный DNS”, как показано ниже:
Как вы, возможно, заметили, разрешение записей rDNS загружается мгновенно благодаря нашей пассивной технологии DNS, позволяя вам изучить все связанные записи rDNS, указывающие на эту организацию.

Первое, что вы увидите при загрузке области PTR-записей, – это сводка по открытым портам и сводка по аналогичным записям, что позволяет легко фильтровать всю текущую информацию rDNS в соответствии с вашими потребностями.
В этом случае, исследуя fbi.gov доменное имя выявило 289 записей. Каждый из них может быть изучен в области результатов, что позволяет исследовать запись PTR, открытые порты и количество связанных IP-адресов. Взглянуть:

Если вам нужно найти связанные IP-адреса, указывающие на любую PTR-запись, просто нажмите число+ для немедленных результатов::

Этот второй PTR-экран данных показывает вам общее количество IP-адресов, а также где они размещены и текущие открытые порты, найденные для каждого из них.
fbi.gov это “маленькая ” организация, когда речь заходит о PTR-записях, хотя мы нашли много полезной информации. Но вот что происходит, когда вы исследуете большую онлайн-компанию, такую как Google:

Ибо … cache.google.com мы нашли около 94 тыс. IP-адресов, связанных с этой записью PTR. Представьте себе выполнение этого поиска с помощью традиционных обратных инструментов DNS. Это может занять целую вечность!
Последняя мысль
Сегодня мы узнали, что обратный DNS-это не только отличный способ улучшить ваши исследования кибербезопасности, но и сохранить вашу электронную почту в отличной форме, используя правильные PTR-записи.
Выполнение ручного поиска rDNS отлично, когда вы фокусируетесь на изолированных случаях. Однако, когда вам действительно нужно исследовать сто или тысячу IP-адресов, это становится действительно медленным процессом, который может буквально занять у вас часы или даже дни в некоторых случаях.