Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом. Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
Система доменних імен (DNS) слугує каталогом Інтернету, дозволяючи користувачам отримувати доступ до веб-сайтів через легко запам'ятовувані доменні імена такі як google.com або facebook.com, замість числових адрес Інтернет-протоколу (IP). Перекладаючи доменні імена в IP-адреси, DNS забезпечує швидке завантаження веб-браузерами ресурсів Інтернету, спрощуючи навігацію в онлайн-світі.
Порт за замовчуванням: 53
PORT STATE SERVICE REASON
53/tcp open domain Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)
5353/udp open zeroconf udp-response
53/udp open domain Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)
Different DNS Servers
DNS Root Servers: Це сервери, які знаходяться на вершині ієрархії DNS, керуючи доменами верхнього рівня і втручаючись лише у випадку, якщо сервери нижчого рівня не відповідають. Операцію цих серверів контролює Інтернет-корпорація з присвоєння імен та номерів (ICANN), загальна кількість яких становить 13.
Authoritative Nameservers: Ці сервери мають остаточне слово для запитів у своїх призначених зонах, надаючи остаточні відповіді. Якщо вони не можуть надати відповідь, запит передається на кореневі сервери.
Non-authoritative Nameservers: Не маючи власності над зонами DNS, ці сервери збирають інформацію про домени через запити до інших серверів.
Caching DNS Server: Цей тип сервера запам'ятовує відповіді на попередні запити на певний час, щоб прискорити час відповіді на майбутні запити, при цьому тривалість кешу визначається авторитетним сервером.
Forwarding Server: Виконуючи просту роль, пересилальні сервери просто передають запити на інший сервер.
Resolver: Інтегровані в комп'ютери або маршрутизатори, резолвери виконують розв'язання імен локально і не вважаються авторитетними.
Enumeration
Banner Grabbing
У DNS немає банерів, але ви можете отримати магічний запит для version.bind. CHAOS TXT, який працюватиме на більшості BIND nameserver.
Ви можете виконати цей запит, використовуючи dig:
digversion.bindCHAOSTXT@DNS
Крім того, інструмент fpdns також може визначити відбиток сервера.
Також можливо отримати банер за допомогою скрипта nmap:
--script dns-nsid
Будь-який запис
Запит ANY попросить DNS-сервер повернути всі доступні входи, які він готовий розкрити.
diganyvictim.com@<DNS_IP>
Zone Transfer
Ця процедура скорочено називається Asynchronous Full Transfer Zone (AXFR).
digaxfr@<DNS_IP>#Try zone transfer without domaindigaxfr@<DNS_IP><DOMAIN>#Try zone transfer guessing the domainfierce --domain <DOMAIN> --dns-servers <DNS_IP> #Will try toperform a zone transfer against every authoritative name server and if this doesn'twork, will launch a dictionary attack
Більше інформації
digANY@<DNS_IP><DOMAIN>#Any informationdigA@<DNS_IP><DOMAIN>#Regular DNS requestdigAAAA@<DNS_IP><DOMAIN>#IPv6 DNS requestdigTXT@<DNS_IP><DOMAIN>#InformationdigMX@<DNS_IP><DOMAIN>#Emails relateddigNS@<DNS_IP><DOMAIN>#DNS that resolves that namedig-x192.168.0.2@<DNS_IP>#Reverse lookupdig-x2a00:1450:400c:c06::93@<DNS_IP>#reverse IPv6 lookup#Use [-p PORT] or -6 (to use ivp6 address of dns)
Автоматизація
for sub in $(cat <WORDLIST>);do dig $sub.<DOMAIN> @<DNS_IP> | grep -v ';\|SOA' | sed -r '/^\s*$/d' | grep $sub | tee -a subdomains.txt;done
dnsenum--dnsserver<DNS_IP>--enum-p0-s0-osubdomains.txt-f<WORDLIST><DOMAIN>
Використання nslookup
nslookup> SERVER <IP_DNS>#Select dns server> 127.0.0.1 #Reverse lookup of 127.0.0.1, maybe...><IP_MACHINE>#Reverse lookup of a machine, maybe...
#Perform enumeration actionsnmap-n--script"(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport"<IP>
DNS - Зворотний BF
dnsrecon-r127.0.0.0/24-n<IP_DNS>#DNS reverse of all of the addressesdnsrecon-r127.0.1.0/24-n<IP_DNS>#DNS reverse of all of the addressesdnsrecon-r<IP_DNS>/24-n<IP_DNS>#DNS reverse of all of the addressesdnsrecon-dactive.htb-a-n<IP_DNS>#Zone transfer
Якщо вам вдається знайти піддомени, що розв'язуються на внутрішні IP-адреси, вам слід спробувати виконати реверсний DNS BF до NS домену, запитуючи цей діапазон IP.
#Query paypal subdomains to ns3.isc-sns.infonmap-sSU-p53--scriptdns-nsec-enum--script-argsdns-nsec-enum.domains=paypal.comns3.isc-sns.info
IPv6
Брутфорс за допомогою запитів "AAAA" для збору IPv6 піддоменів.
dnsdict6-s-t<domain>
Брутфорс зворотного DNS з використанням IPv6 адрес
dnsrevenum6pri.authdns.ripe.net2001:67c:2e8::/48#Will use the dns pri.authdns.ripe.net
DNS Recursion DDoS
Якщо включена рекурсія DNS, зловмисник може підробитиджерело в UDP-пакеті, щоб змусити DNS надіслати відповідь на сервер жертви. Зловмисник може зловживати типами записів ANY або DNSSEC, оскільки вони зазвичай мають більші відповіді.
Спосіб перевірити, чи підтримує DNS рекурсію, - це запитати доменне ім'я та перевірити, чи є прапор "ra" (рекурсія доступна) у відповіді:
diggoogle.comA@<IP>
Не доступно:
Доступно:
Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом. Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
Через аналіз повідомлення про ненадання (NDN), викликаного електронним листом, надісланим на недійсну адресу в межах цільового домену, часто розкриваються цінні деталі внутрішньої мережі.
Надане повідомлення про ненадання містить інформацію, таку як:
Генеруючий сервер був ідентифікований як server.example.com.
Було повернуто повідомлення про помилку для user@example.com з кодом помилки #550 5.1.1 RESOLVER.ADR.RecipNotFound; не знайдено.
Внутрішні IP-адреси та імена хостів були розкриті в заголовках оригінального повідомлення.
The original message headers were modified for anonymity and now present randomized data:Generating server: server.example.comuser@example.com#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##Original message headers:Received: from MAILSERVER01.domain.example.com (192.168.1.1) bymailserver02.domain.example.com (192.168.2.2) with Microsoft SMTP Server (TLS)id 14.3.174.1; Mon, 25 May 2015 14:52:22 -0700Received: from filter.example.com (203.0.113.1) byMAILSERVER01.domain.example.com (192.168.1.1) with Microsoft SMTP Server (TLS)id 14.3.174.1; Mon, 25 May 2015 14:51:22 -0700X-ASG-Debug-ID: 1432576343-0614671716190e0d0001-zOQ9WJReceived: from gateway.domainhost.com (gateway.domainhost.com [198.51.100.37]) byfilter.example.com with ESMTP id xVNPkwaqGgdyH5Ag for user@example.com; Mon,25 May 2015 14:52:13 -0700 (PDT)X-Envelope-From: sender@anotherdomain.orgX-Apparent-Source-IP: 198.51.100.37
Protocol_Name: DNS #Protocol Abbreviation if there is one.
Port_Number: 53 #Comma separated if there is more than one.
Protocol_Description: Domain Name Service #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for DNS
Note: |
#These are the commands I run every time I see an open DNS port
dnsrecon -r 127.0.0.0/24 -n {IP} -d {Domain_Name}
dnsrecon -r 127.0.1.0/24 -n {IP} -d {Domain_Name}
dnsrecon -r {Network}{CIDR} -n {IP} -d {Domain_Name}
dig axfr @{IP}
dig axfr {Domain_Name} @{IP}
nslookup
SERVER {IP}
127.0.0.1
{IP}
Domain_Name
exit
https://book.hacktricks.xyz/pentesting/pentesting-dns
Entry_2:
Name: Banner Grab
Description: Grab DNS Banner
Command: dig version.bind CHAOS TXT @DNS
Entry_3:
Name: Nmap Vuln Scan
Description: Scan for Vulnerabilities with Nmap
Command: nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" {IP}
Entry_4:
Name: Zone Transfer
Description: Three attempts at forcing a zone transfer
Command: dig axfr @{IP} && dix axfr @{IP} {Domain_Name} && fierce --dns-servers {IP} --domain {Domain_Name}
Entry_5:
Name: Active Directory
Description: Eunuerate a DC via DNS
Command: dig -t _gc._{Domain_Name} && dig -t _ldap._{Domain_Name} && dig -t _kerberos._{Domain_Name} && dig -t _kpasswd._{Domain_Name} && nmap --script dns-srv-enum --script-args "dns-srv-enum.domain={Domain_Name}"
Entry_6:
Name: consolesless mfs enumeration
Description: DNS enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; set RPORT 53; run; exit' && msfconsole -q -x 'use auxiliary/gather/enum_dns; set RHOSTS {IP}; set RPORT 53; run; exit'
Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом. Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, виявлення проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.