hacktricks/network-services-pentesting/pentesting-dns.md

509 lines
32 KiB
Markdown
Raw Normal View History

2024-02-11 01:46:25 +00:00
# 53 - Testowanie penetracyjne DNS
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-01-03 10:42:55 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
2024-01-11 13:18:30 +00:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-11 01:46:25 +00:00
**Natychmiastowe dostępne narzędzie do oceny podatności i testowania penetracyjnego**. Uruchom pełne testowanie penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują od rozpoznania po raportowanie. Nie zastępujemy testerów penetracyjnych - opracowujemy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby dać im więcej czasu na głębsze drążenie, otwieranie powłok i dobrą zabawę.
2024-01-11 13:18:30 +00:00
{% embed url="https://pentest-tools.com/" %}
2024-02-11 01:46:25 +00:00
## **Podstawowe informacje**
2024-02-11 01:46:25 +00:00
**System nazw domenowych (DNS)** pełni funkcję katalogu internetowego, umożliwiając użytkownikom dostęp do witryn za pomocą **łatwych do zapamiętania nazw domenowych**, takich jak google.com lub facebook.com, zamiast numerycznych adresów protokołu internetowego (IP). Przez tłumaczenie nazw domenowych na adresy IP, DNS zapewnia, że przeglądarki internetowe mogą szybko ładować zasoby internetowe, upraszczając sposób poruszania się po świecie online.
2024-02-11 01:46:25 +00:00
**Domyślny port:** 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)
```
2024-02-11 01:46:25 +00:00
### Różne serwery DNS
2024-02-11 01:46:25 +00:00
- **Serwery korzeniowe DNS**: Są one na szczycie hierarchii DNS, zarządzając domenami najwyższego poziomu i interweniują tylko wtedy, gdy serwery niższego poziomu nie odpowiadają. Internet Corporation for Assigned Names and Numbers (**ICANN**) nadzoruje ich działanie, a ich globalna liczba wynosi 13.
2024-02-06 03:10:38 +00:00
2024-02-11 01:46:25 +00:00
- **Serwery autorytatywne**: Te serwery mają ostatnie słowo w kwestii zapytań w swoich strefach, oferując ostateczne odpowiedzi. Jeśli nie mogą udzielić odpowiedzi, zapytanie jest eskalowane do serwerów korzeniowych.
2024-02-06 03:10:38 +00:00
2024-02-11 01:46:25 +00:00
- **Serwery nieautorytatywne**: Nie posiadając własności nad strefami DNS, te serwery zbierają informacje o domenie poprzez zapytania do innych serwerów.
2024-02-06 03:10:38 +00:00
2024-02-11 01:46:25 +00:00
- **Serwer DNS z buforowaniem**: Ten rodzaj serwera zapamiętuje poprzednie odpowiedzi na zapytania przez określony czas, aby przyspieszyć czas odpowiedzi na przyszłe żądania, a czas buforowania jest określany przez serwer autorytatywny.
2024-02-06 03:10:38 +00:00
2024-02-11 01:46:25 +00:00
- **Serwer przekierowujący**: Pełniąc prostą rolę, serwery przekierowujące po prostu przekazują zapytania do innego serwera.
2024-02-06 03:10:38 +00:00
2024-02-11 01:46:25 +00:00
- **Resolver**: Zintegrowane w komputerach lub routerach, resolwery wykonują lokalne rozwiązywanie nazw i nie są uważane za autorytatywne.
2022-10-02 19:15:35 +00:00
2024-02-11 01:46:25 +00:00
## Wyliczanie
2022-10-02 19:15:35 +00:00
2024-02-11 01:46:25 +00:00
### **Pobieranie banerów**
2024-02-11 01:46:25 +00:00
W DNS nie ma banerów, ale można pobrać magiczne zapytanie dla `version.bind. CHAOS TXT`, które będzie działać na większości serwerów nazw BIND.\
Możesz wykonać to zapytanie za pomocą `dig`:
```bash
dig version.bind CHAOS TXT @DNS
```
2024-02-11 01:46:25 +00:00
Ponadto narzędzie [`fpdns`](https://github.com/kirei/fpdns) może również zidentyfikować serwer.
2024-02-11 01:46:25 +00:00
Możliwe jest również pobranie baneru za pomocą skryptu **nmap**:
```
--script dns-nsid
```
2024-02-11 01:46:25 +00:00
### **Dowolny rekord**
2024-02-11 01:46:25 +00:00
Rekord **ANY** poprosi serwer DNS o **zwrócenie** wszystkich dostępnych **wpisów**, które **jest gotowy ujawnić**.
2022-10-02 19:15:35 +00:00
```bash
dig any victim.com @<DNS_IP>
```
2024-02-11 01:46:25 +00:00
### **Transfer strefy**
2022-10-02 19:15:35 +00:00
2024-02-11 01:46:25 +00:00
Ta procedura jest skrótem od `Asynchronous Full Transfer Zone` (`AXFR`).
```bash
dig axfr @<DNS_IP> #Try zone transfer without domain
dig axfr @<DNS_IP> <DOMAIN> #Try zone transfer guessing the domain
2021-06-20 12:09:34 +00:00
fierce --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
```
2024-02-11 01:46:25 +00:00
### Więcej informacji
DNS (Domain Name System) jest protokołem używanym do przypisywania nazw domenowych do adresów IP. Jest to niezbędne do przeglądania stron internetowych, wysyłania poczty elektronicznej i innych usług internetowych. W procesie pentestowania DNS można wykorzystać różne techniki, aby zidentyfikować podatności i potencjalne luki w zabezpieczeniach.
#### Rekordy DNS
Rekordy DNS zawierają informacje o domenie, takie jak adres IP, serwery poczty elektronicznej, serwery nazw i inne. Kilka przykładów popularnych rekordów DNS to:
- **A**: Przypisuje adres IP do nazwy domeny.
- **CNAME**: Tworzy alias dla innej nazwy domeny.
- **MX**: Określa serwery poczty elektronicznej dla domeny.
- **NS**: Określa serwery nazw dla domeny.
- **TXT**: Przechowuje dowolne informacje tekstowe.
#### Techniki pentestowania DNS
Poniżej przedstawiono kilka technik pentestowania DNS:
1. **Zbieranie informacji**: Wykorzystanie narzędzi takich jak `nslookup` lub `dig` do zbierania informacji o domenie, takich jak rekordy DNS, serwery nazw i adresy IP.
2. **Zamiana rekordów**: Sprawdzenie, czy można zmienić rekordy DNS, takie jak rekord A, aby przekierować ruch na inny adres IP.
3. **Spoofing DNS**: Atakowanie serwera DNS, aby przekierować ruch na kontrolowane przez nas adresy IP. Może to prowadzić do przechwycenia danych lub przekierowania użytkowników na złośliwe strony.
4. **Zatrucie pamięci podręcznej DNS**: Wykorzystanie błędów w implementacji DNS, aby wprowadzić fałszywe rekordy do pamięci podręcznej serwera DNS. Może to prowadzić do przekierowania ruchu na kontrolowane przez nas adresy IP.
5. **Zaślepienie DNS**: Wykorzystanie błędów w implementacji DNS, aby zmusić serwer DNS do akceptowania fałszywych odpowiedzi, co może prowadzić do przekierowania ruchu na kontrolowane przez nas adresy IP.
6. **Ataki słownikowe**: Próba odgadnięcia nazw domenowych lub rekordów DNS, wykorzystując słowniki lub listy popularnych nazw.
7. **Ataki na serwery DNS**: Wykorzystanie błędów w oprogramowaniu serwera DNS, takich jak błędy wersji, błędy konfiguracji lub słabe hasła, aby uzyskać nieautoryzowany dostęp.
#### Narzędzia pentestowania DNS
Istnieje wiele narzędzi dostępnych do pentestowania DNS, takich jak:
- **dnsrecon**: Narzędzie do zbierania informacji o domenie, wyszukiwania rekordów DNS i identyfikowania podatności.
- **dnswalk**: Narzędzie do analizy i audytu serwerów DNS.
- **dnsenum**: Narzędzie do zbierania informacji o domenie, wyszukiwania rekordów DNS i identyfikowania podatności.
- **fierce**: Narzędzie do zbierania informacji o domenie, wyszukiwania rekordów DNS i identyfikowania podatności.
- **dnsmap**: Narzędzie do mapowania struktury DNS i identyfikowania podatności.
- **dnschef**: Narzędzie do przekierowywania ruchu DNS na kontrolowane przez nas adresy IP.
- **dnsspoof**: Narzędzie do przekierowywania ruchu DNS na kontrolowane przez nas adresy IP.
2024-02-11 01:46:25 +00:00
#### Podsumowanie
2024-02-11 01:46:25 +00:00
Pentestowanie DNS jest ważnym elementem testów penetracyjnych, które pomaga identyfikować podatności i luki w zabezpieczeniach. Wykorzystując różne techniki i narzędzia, można zwiększyć bezpieczeństwo infrastruktury sieciowej i chronić dane użytkowników.
```bash
dig ANY @<DNS_IP> <DOMAIN> #Any information
dig A @<DNS_IP> <DOMAIN> #Regular DNS request
dig AAAA @<DNS_IP> <DOMAIN> #IPv6 DNS request
dig TXT @<DNS_IP> <DOMAIN> #Information
dig MX @<DNS_IP> <DOMAIN> #Emails related
dig NS @<DNS_IP> <DOMAIN> #DNS that resolves that name
dig -x 192.168.0.2 @<DNS_IP> #Reverse lookup
dig -x 2a00:1450:400c:c06::93 @<DNS_IP> #reverse IPv6 lookup
#Use [-p PORT] or -6 (to use ivp6 address of dns)
```
2024-02-11 01:46:25 +00:00
#### Automatyzacja
2023-08-15 08:09:34 +00:00
```bash
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
2023-08-15 08:09:34 +00:00
dnsenum --dnsserver <DNS_IP> --enum -p 0 -s 0 -o subdomains.txt -f <WORDLIST> <DOMAIN>
```
2024-02-11 01:46:25 +00:00
#### Używanie nslookup
2024-02-11 01:46:25 +00:00
The `nslookup` command is a powerful tool for querying DNS (Domain Name System) servers. It allows you to retrieve information about DNS records, such as IP addresses associated with domain names.
To use `nslookup`, open a command prompt and type `nslookup` followed by the domain name or IP address you want to query. Press Enter to execute the command.
For example, to retrieve the IP address of a domain name, type:
```
nslookup example.com
```
This will display the IP address associated with the domain name `example.com`.
You can also specify the DNS server to use for the query by typing `server` followed by the IP address of the DNS server. For example:
```
server 8.8.8.8
```
This will set the DNS server to `8.8.8.8` (Google's public DNS server). Subsequent `nslookup` queries will use this DNS server.
To exit `nslookup`, type `exit` and press Enter.
`nslookup` is a useful tool for troubleshooting DNS issues and gathering information during a penetration test. It can help you identify misconfigured DNS records, check DNS propagation, and gather information about a target's infrastructure.
```bash
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...
```
2024-02-11 01:46:25 +00:00
### Przydatne moduły metasploit
Metasploit to popularne narzędzie do testowania penetracyjnego, które zawiera wiele modułów, które mogą być użyteczne podczas testowania usług sieciowych. Oto kilka przykładowych modułów, które warto znać:
2024-02-11 01:46:25 +00:00
- `auxiliary/scanner/dns/dns_cache_snoop`: Moduł ten pozwala na przeprowadzenie ataku typu DNS cache snoop, który umożliwia uzyskanie informacji o zapytaniach DNS przechowywanych w pamięci podręcznej serwera DNS.
- `auxiliary/scanner/dns/dns_enum`: Ten moduł umożliwia przeprowadzenie enumeracji DNS, która polega na zbieraniu informacji o rekordach DNS dla określonej domeny.
- `auxiliary/scanner/dns/dns_forward`: Moduł ten pozwala na przekierowanie ruchu DNS z jednego serwera na inny, co może być przydatne podczas testowania infrastruktury sieciowej.
- `auxiliary/scanner/dns/dns_reverser`: Ten moduł umożliwia przeprowadzenie odwróconej analizy DNS, która polega na wyszukiwaniu nazw hostów na podstawie adresów IP.
- `auxiliary/scanner/dns/dns_transfer`: Moduł ten umożliwia przeprowadzenie ataku typu DNS zone transfer, który pozwala na uzyskanie kopii strefy DNS z serwera DNS.
2024-02-11 01:46:25 +00:00
Te moduły są tylko kilkoma przykładami zasobów, jakie oferuje Metasploit. Istnieje wiele innych modułów, które można wykorzystać w celu testowania penetracyjnego usług sieciowych.
```bash
auxiliary/gather/enum_dns #Perform enumeration actions
```
2024-02-11 01:46:25 +00:00
### Przydatne skrypty nmap
Nmap to potężne narzędzie do skanowania sieci, które może być używane do badania bezpieczeństwa usług sieciowych. Nmap posiada wiele wbudowanych skryptów, które mogą pomóc w identyfikacji podatności i odkrywaniu ukrytych funkcji. Poniżej znajduje się lista kilku przydatnych skryptów nmap:
2024-02-11 01:46:25 +00:00
- **dns-brute**: Ten skrypt służy do przeprowadzania brutalnego ataku na serwer DNS w celu odkrycia ukrytych subdomen.
- **dns-zone-transfer**: Skrypt ten pozwala na przeprowadzenie transferu strefy DNS, co może pomóc w identyfikacji podatności związanych z konfiguracją serwera DNS.
- **dns-reverse-lookup**: Skrypt ten wykonuje odwrócone wyszukiwanie DNS, co pozwala na identyfikację hostów na podstawie ich adresów IP.
- **dns-cache-snoop**: Ten skrypt pozwala na przeprowadzenie ataku na pamięć podręczną serwera DNS w celu odkrycia informacji o odwiedzanych stronach internetowych.
- **dns-blacklist**: Skrypt ten sprawdza, czy adresy IP znajdują się na czarnej liście DNS, co może wskazywać na obecność złośliwego oprogramowania lub podejrzanej aktywności.
2024-02-11 01:46:25 +00:00
Te skrypty nmap mogą być użyteczne podczas testów penetracyjnych, aby zidentyfikować potencjalne podatności i zabezpieczyć usługi sieciowe.
```bash
#Perform enumeration actions
nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" <IP>
```
2024-02-11 01:46:25 +00:00
### DNS - Odwrócone BF
2024-02-11 01:46:25 +00:00
Reverse BF (Backward Forcing) to technika ataku na serwer DNS, która polega na próbie odgadnięcia nazw domen, które są zarejestrowane na serwerze DNS. Atakujący rozpoczyna od próby odgadnięcia najpopularniejszych nazw domen, takich jak "www", "mail", "ftp", a następnie przechodzi do mniej popularnych nazw.
2024-02-11 01:46:25 +00:00
Atak Reverse BF jest skuteczny w przypadku słabych ustawień serwera DNS, które pozwalają na łatwe odgadywanie nazw domen. Atakujący może wykorzystać tę technikę do uzyskania informacji o infrastrukturze sieciowej i potencjalnych celach ataku.
Aby przeprowadzić atak Reverse BF, atakujący może skorzystać z narzędzi do automatycznego generowania nazw domen lub ręcznie wprowadzać różne kombinacje nazw. Atakujący może również wykorzystać słowniki nazw domen, które zawierają popularne słowa i frazy.
Aby zabezpieczyć serwer DNS przed atakiem Reverse BF, zaleca się stosowanie silnych haseł i ustawień zabezpieczeń. Administracja serwera DNS powinna również monitorować logi i wykrywać podejrzane aktywności, takie jak duże ilości nieudanych prób odpytywania o nazwy domen.
```bash
dnsrecon -r 127.0.0.0/24 -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -r 127.0.1.0/24 -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -r <IP_DNS>/24 -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n <IP_DNS> #Zone transfer
```
2021-04-02 19:21:43 +00:00
{% hint style="info" %}
2024-02-11 01:46:25 +00:00
Jeśli uda ci się znaleźć subdomeny rozwiązujące się na adresy IP wewnętrzne, powinieneś spróbować przeprowadzić odwrócony DNS BF do NSs domeny, pytając o ten zakres IP.
2021-04-02 19:21:43 +00:00
{% endhint %}
2024-02-11 01:46:25 +00:00
Inne narzędzie do tego celu: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
2024-02-11 01:46:25 +00:00
Możesz zapytać o odwrócone zakresy IP na [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (to narzędzie jest również pomocne przy BGP).
2024-02-11 01:46:25 +00:00
### DNS - Przeglądanie subdomen
```bash
2022-10-02 19:15:35 +00:00
dnsenum --dnsserver <IP_DNS> --enum -p 0 -s 0 -o subdomains.txt -f subdomains-1000.txt <DOMAIN>
dnsrecon -D subdomains-1000.txt -d <DOMAIN> -n <IP_DNS>
dnscan -d <domain> -r -w subdomains-1000.txt #Bruteforce subdomains in recursive way, https://github.com/rbsec/dnscan
```
2024-02-11 01:46:25 +00:00
### Serwery Active Directory
Active Directory (AD) to usługa katalogowa opracowana przez firmę Microsoft, która umożliwia zarządzanie użytkownikami, grupami i zasobami w sieci. Serwery Active Directory są kluczowym elementem infrastruktury AD i pełnią rolę kontrolerów domeny. Kontrolery domeny przechowują informacje o obiektach w domenie, takie jak konta użytkowników, grupy, uprawnienia itp.
Podczas testowania penetracyjnego, serwery Active Directory są często celem ataków, ponieważ posiadają wiele wrażliwych informacji, takich jak hasła użytkowników, które mogą być wykorzystane do uzyskania dostępu do innych zasobów w sieci. Poniżej przedstawiam kilka technik, które można zastosować podczas testowania penetracyjnego serwerów Active Directory.
#### 1. Enumeracja użytkowników
Podstawowym krokiem podczas testowania penetracyjnego serwera Active Directory jest enumeracja użytkowników. Można to zrobić za pomocą narzędzi takich jak `ldapsearch`, `enum4linux` lub `PowerView`. Enumeracja użytkowników pozwala uzyskać informacje o kontach użytkowników, takie jak nazwy, identyfikatory SID, grupy, uprawnienia itp.
#### 2. Ataki słownikowe
2024-02-11 01:46:25 +00:00
Ataki słownikowe są popularnym sposobem na próbę złamania haseł użytkowników na serwerze Active Directory. Można to zrobić za pomocą narzędzi takich jak `Hydra`, `Medusa` lub `CrackMapExec`. Ataki słownikowe polegają na próbie logowania się na konto użytkownika, używając różnych kombinacji haseł z listy słownikowej.
2024-02-11 01:46:25 +00:00
#### 3. Ataki haseł jednorazowych (OTP)
W przypadku, gdy serwer Active Directory korzysta z haseł jednorazowych (OTP), ataki słownikowe nie będą skuteczne. W takim przypadku można spróbować ataku brute-force na hasła jednorazowe. Można to zrobić za pomocą narzędzi takich jak `Hydra` lub `Medusa`, które obsługują ataki na protokoły takie jak RDP, SSH, HTTP itp.
#### 4. Ataki na protokoły uwierzytelniania
Serwery Active Directory obsługują różne protokoły uwierzytelniania, takie jak Kerberos, NTLM itp. Ataki na te protokoły mogą umożliwić złamanie haseł użytkowników lub uzyskanie dostępu do innych zasobów w sieci. Można to zrobić za pomocą narzędzi takich jak `Kerberoast`, `Pass-the-Hash` lub `Golden Ticket`.
#### 5. Ataki na usługi powiązane z Active Directory
Serwery Active Directory często korzystają z innych usług, takich jak DNS, LDAP, SMB itp. Ataki na te usługi mogą umożliwić uzyskanie dostępu do serwera Active Directory lub innych zasobów w sieci. Można to zrobić za pomocą technik takich jak ataki DNS spoofing, ataki LDAP injection lub ataki SMB relay.
#### 6. Ataki na podatności serwera Active Directory
Podczas testowania penetracyjnego serwera Active Directory warto również sprawdzić, czy serwer jest podatny na znane luki bezpieczeństwa. Można to zrobić za pomocą narzędzi takich jak `Metasploit`, `Nessus` lub `OpenVAS`, które posiadają moduły do skanowania podatności serwera Active Directory.
#### 7. Ataki na infrastrukturę fizyczną
W niektórych przypadkach, ataki na serwer Active Directory mogą obejmować również ataki na infrastrukturę fizyczną, taką jak serwery, routery, przełączniki itp. Ataki te mogą umożliwić uzyskanie dostępu do serwera Active Directory lub innych zasobów w sieci. Można to zrobić za pomocą technik takich jak ataki fizyczne, ataki na urządzenia sieciowe lub ataki na systemy zarządzania.
#### 8. Ataki na aplikacje powiązane z Active Directory
Serwery Active Directory często są powiązane z różnymi aplikacjami, takimi jak serwery poczty elektronicznej, serwery plików, serwery baz danych itp. Ataki na te aplikacje mogą umożliwić uzyskanie dostępu do serwera Active Directory lub innych zasobów w sieci. Można to zrobić za pomocą technik takich jak ataki na aplikacje webowe, ataki SQL injection lub ataki na protokoły komunikacyjne.
#### 9. Ataki na użytkowników
Ostatnim, ale nie mniej ważnym, aspektem testowania penetracyjnego serwera Active Directory jest atak na użytkowników. Ataki na użytkowników mogą obejmować inżynierię społeczną, phishing, ataki na hasła itp. Ataki te mogą umożliwić uzyskanie dostępu do serwera Active Directory lub innych zasobów w sieci.
2023-11-03 01:17:04 +00:00
```bash
dig -t _gc._tcp.lab.domain.com
dig -t _ldap._tcp.lab.domain.com
dig -t _kerberos._tcp.lab.domain.com
dig -t _kpasswd._tcp.lab.domain.com
2023-11-03 01:17:04 +00:00
nslookup -type=srv _kerberos._tcp.<CLIENT_DOMAIN>
nslookup -type=srv _kerberos._tcp.domain.com
nmap --script dns-srv-enum --script-args "dns-srv-enum.domain='domain.com'"
```
2022-10-02 19:15:35 +00:00
### DNSSec
2024-02-11 01:46:25 +00:00
DNSSec (Domain Name System Security Extensions) to zestaw rozszerzeń bezpieczeństwa dla systemu DNS, które mają na celu zapobieganie atakom na integralność i autentyczność danych DNS. DNSSec wprowadza mechanizmy, które umożliwiają weryfikację podpisów cyfrowych dla rekordów DNS, co zapewnia większe zaufanie do dostarczanych informacji.
DNSSec działa na zasadzie hierarchicznej struktury zaufania, w której każda domena jest odpowiedzialna za podpisanie swoich rekordów DNS. Podpisy cyfrowe są przechowywane w rekordach DS (Delegation Signer) w domenie nadrzędnej, co umożliwia weryfikację autentyczności rekordów DNS dla danej domeny.
Atakujący próbujący przechwycić lub zmienić dane DNS napotkają trudności w przypadku domen zabezpieczonych DNSSec. W przypadku próby zmiany rekordów DNS, podpis cyfrowy zostanie naruszony, co spowoduje odrzucenie zmienionych danych przez klienta.
DNSSec jest ważnym narzędziem w zapewnianiu bezpieczeństwa dla infrastruktury DNS i powinien być wdrażany tam, gdzie to możliwe.
```bash
2024-02-11 01:46:25 +00:00
#Query paypal subdomains to ns3.isc-sns.info
nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal.com ns3.isc-sns.info
```
2022-10-02 19:15:35 +00:00
### IPv6
2024-02-11 01:46:25 +00:00
Brute force wykorzystujący żądania "AAAA" w celu zebrania adresów IPv6 subdomen.
```bash
dnsdict6 -s -t <domain>
```
2024-02-11 01:46:25 +00:00
# Bruteforce reverse DNS in using IPv6 addresses
## Introduction
Reverse DNS (rDNS) is a technique used to resolve an IP address to its corresponding domain name. In the case of IPv6 addresses, the process is similar to that of IPv4 addresses, but with some differences due to the longer address format.
## Bruteforcing rDNS for IPv6 addresses
To bruteforce rDNS for IPv6 addresses, you can follow these steps:
1. Generate a list of possible domain names based on the target's domain name or any other relevant information.
2. Convert the IPv6 address to its hexadecimal representation.
3. Append the hexadecimal representation of the IPv6 address to each domain name in the list.
4. Use a DNS resolver or a DNS lookup tool to query the rDNS for each domain name in the list.
5. Analyze the responses to identify any potential matches between the domain names and the target's IP address.
## Tools for bruteforcing rDNS
2024-02-11 01:46:25 +00:00
There are several tools available that can assist in the bruteforcing of rDNS for IPv6 addresses. Some popular ones include:
2024-02-11 01:46:25 +00:00
- **dnsrecon**: A powerful DNS enumeration and information gathering tool that supports IPv6.
- **dnsenum**: A Perl script that can perform various DNS enumeration tasks, including rDNS bruteforcing.
- **fierce**: A DNS reconnaissance tool that can be used to discover non-contiguous IP space and perform rDNS bruteforcing.
## Conclusion
Bruteforcing rDNS for IPv6 addresses can be a useful technique in penetration testing or other security assessments. By systematically querying different domain names with the target's IPv6 address, you may uncover additional information or potential vulnerabilities. However, it is important to note that bruteforcing rDNS should only be performed with proper authorization and in compliance with applicable laws and regulations.
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
2024-02-11 01:46:25 +00:00
### Atak DDoS na rekursję DNS
2024-02-11 01:46:25 +00:00
Jeśli **rekursja DNS jest włączona**, atakujący może **podrobić** **pochodzenie** w pakiecie UDP, aby **DNS wysłał odpowiedź do serwera ofiary**. Atakujący może wykorzystać dowolne typy rekordów, takie jak **ANY** lub **DNSSEC**, ponieważ generują one większe odpowiedzi.\
Sposób **sprawdzenia**, czy DNS obsługuje **rekursję**, polega na zapytaniu o nazwę domeny i **sprawdzeniu**, czy w odpowiedzi znajduje się flaga "ra" (_dostępna rekursja_):
```bash
dig google.com A @<IP>
```
2024-02-11 01:46:25 +00:00
**Niedostępne**:
![](<../.gitbook/assets/image (275).png>)
2024-02-11 01:46:25 +00:00
**Dostępne**:
![](<../.gitbook/assets/image (276).png>)
2024-01-11 13:18:30 +00:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-11 01:46:25 +00:00
**Natychmiastowe dostępne narzędzia do oceny podatności i testowania penetracyjnego**. Uruchom pełne testowanie penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują rozpoznanie i raportowanie. Nie zastępujemy testerów penetracyjnych - opracowujemy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębianie się, zdobywanie dostępu i dobrą zabawę.
2024-01-11 13:18:30 +00:00
{% embed url="https://pentest-tools.com/" %}
2024-02-11 01:46:25 +00:00
### Wysyłka wiadomości na nieistniejące konto
2024-02-11 01:46:25 +00:00
Podczas analizy powiadomienia o niemożliwości dostarczenia (NDN), które zostało wywołane przez wysłanie wiadomości e-mail na nieprawidłowy adres w domenie docelowej, często ujawniane są cenne szczegóły dotyczące wewnętrznej sieci.
2024-02-11 01:46:25 +00:00
Przedstawione powiadomienie o niemożliwości dostarczenia zawiera informacje takie jak:
2024-02-11 01:46:25 +00:00
- Generujący serwer został zidentyfikowany jako `server.example.com`.
- Powiadomienie o niepowodzeniu dla `user@example.com` z kodem błędu `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` zostało zwrócone.
- W oryginalnych nagłówkach wiadomości ujawnione zostały wewnętrzne adresy IP i nazwy hostów.
2024-02-06 03:10:38 +00:00
```markdown
The original message headers were modified for anonymity and now present randomized data:
Generating server: server.example.com
user@example.com
#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##
Original message headers:
2024-02-06 03:10:38 +00:00
Received: from MAILSERVER01.domain.example.com (192.168.1.1) by
mailserver02.domain.example.com (192.168.2.2) with Microsoft SMTP Server (TLS)
id 14.3.174.1; Mon, 25 May 2015 14:52:22 -0700
Received: from filter.example.com (203.0.113.1) by
MAILSERVER01.domain.example.com (192.168.1.1) with Microsoft SMTP Server (TLS)
id 14.3.174.1; Mon, 25 May 2015 14:51:22 -0700
X-ASG-Debug-ID: 1432576343-0614671716190e0d0001-zOQ9WJ
Received: from gateway.domainhost.com (gateway.domainhost.com [198.51.100.37]) by
filter.example.com with ESMTP id xVNPkwaqGgdyH5Ag for user@example.com; Mon,
25 May 2015 14:52:13 -0700 (PDT)
X-Envelope-From: sender@anotherdomain.org
X-Apparent-Source-IP: 198.51.100.37
```
2024-02-11 01:46:25 +00:00
## Pliki konfiguracyjne
Config files are an important aspect of DNS pentesting. These files contain the configuration settings for DNS servers and can provide valuable information for attackers. Here are some common config files to look out for:
### BIND
BIND is a popular DNS server software used on Unix-like operating systems. The main config file for BIND is usually located at `/etc/named.conf`. This file contains global configuration options, zone definitions, and other settings.
### Windows DNS Server
On Windows systems, the DNS server configuration is stored in the Windows Registry. The relevant keys can be found under `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters`.
### dnsmasq
2024-02-11 01:46:25 +00:00
dnsmasq is a lightweight DNS forwarder and DHCP server commonly used in small networks or as a local DNS cache. Its config file is typically located at `/etc/dnsmasq.conf` or `/etc/dnsmasq.d/*.conf`.
2024-02-11 01:46:25 +00:00
### PowerDNS
PowerDNS is a versatile DNS server software that supports various backends. Its main config file is usually located at `/etc/pdns.conf` or `/etc/powerdns/pdns.conf`.
### Unbound
Unbound is a validating, recursive, and caching DNS resolver. Its config file is typically located at `/etc/unbound/unbound.conf`.
### Other DNS Servers
Different DNS servers may have their own config file locations and formats. It's important to research the specific DNS server software being used to find the relevant config files.
Remember to check for any sensitive information, such as passwords or IP addresses, that may be stored in these config files. Attackers can leverage this information to gain unauthorized access or perform other malicious activities.
```
host.conf
2022-10-02 19:15:35 +00:00
/etc/resolv.conf
/etc/bind/named.conf
/etc/bind/named.conf.local
/etc/bind/named.conf.options
/etc/bind/named.conf.log
/etc/bind/*
```
2024-02-11 01:46:25 +00:00
Niebezpieczne ustawienia podczas konfigurowania serwera Bind:
2024-02-11 01:46:25 +00:00
| **Opcja** | **Opis** |
| ----------------- | ----------------------------------------------------------------------- |
| `allow-query` | Określa, które hosty mają prawo wysyłać żądania do serwera DNS. |
| `allow-recursion` | Określa, które hosty mają prawo wysyłać rekurencyjne żądania do serwera DNS. |
| `allow-transfer` | Określa, które hosty mają prawo otrzymywać transfer strefy od serwera DNS. |
| `zone-statistics` | Zbiera dane statystyczne dotyczące stref. |
2022-10-02 19:15:35 +00:00
2024-02-11 01:46:25 +00:00
## Referencje
2024-02-06 03:10:38 +00:00
* [https://www.myrasecurity.com/en/knowledge-hub/dns/](https://www.myrasecurity.com/en/knowledge-hub/dns/)
2024-02-11 01:46:25 +00:00
* Książka: **Network Security Assessment 3rd edition**
2021-08-12 12:57:59 +00:00
2024-02-11 01:46:25 +00:00
## HackTricks Automatyczne Polecenia
```
2021-08-12 12:57:59 +00:00
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
2021-08-15 17:42:53 +00:00
Entry_1:
2024-02-11 01:46:25 +00:00
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
2021-08-15 17:42:53 +00:00
Entry_2:
2024-02-11 01:46:25 +00:00
Name: Banner Grab
Description: Grab DNS Banner
Command: dig version.bind CHAOS TXT @DNS
2021-08-15 17:42:53 +00:00
Entry_3:
2024-02-11 01:46:25 +00:00
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}
2021-08-15 17:42:53 +00:00
Entry_4:
2024-02-11 01:46:25 +00:00
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}
2021-08-15 17:42:53 +00:00
Entry_5:
2024-02-11 01:46:25 +00:00
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:
2024-02-11 01:46:25 +00:00
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'
2021-08-12 12:57:59 +00:00
```
2024-01-11 13:18:30 +00:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-11 01:46:25 +00:00
**Natychmiastowo dostępne narzędzia do oceny podatności i testowania penetracyjnego**. Uruchom pełny test penetracyjny z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują rozpoznanie i raportowanie. Nie zastępujemy testerów penetracyjnych - opracowujemy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębianie się, zdobywanie powłok i dobrą zabawę.
2024-01-11 13:18:30 +00:00
{% embed url="https://pentest-tools.com/" %}
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-01-03 10:42:55 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć **reklamę swojej firmy w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) **i** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **repozytoriów GitHub.**
2022-04-28 16:01:33 +00:00
</details>