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

465 lines
26 KiB
Markdown
Raw Normal View History

2024-02-10 13:11:20 +00:00
# 53 - Pentestiranje DNS-a
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</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-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2024-01-03 10:42:55 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
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-10 13:11:20 +00:00
**Trenutno dostupna postavka za procenu ranjivosti i testiranje penetracije**. Pokrenite pun pentest sa bilo kog mesta sa preko 20 alata i funkcija koje idu od rekonstrukcije do izveštavanja. Mi ne zamenjujemo pentestere - mi razvijamo prilagođene alate, module za detekciju i eksploataciju kako bismo im vratili neko vreme da dublje kopaju, otvaraju ljuske i zabavljaju se.
2024-01-11 13:18:30 +00:00
{% embed url="https://pentest-tools.com/" %}
2024-02-10 13:11:20 +00:00
## **Osnovne informacije**
2024-02-10 13:11:20 +00:00
**Sistem za imenovanje domena (DNS)** služi kao direktorijum interneta, omogućavajući korisnicima pristup veb sajtovima putem **lako pamtljivih imena domena** kao što su google.com ili facebook.com, umesto numeričkih Internet Protocol (IP) adresa. Prevodeći imena domena u IP adrese, DNS omogućava veb pregledačima brzo učitavanje internet resursa, pojednostavljujući način na koji se krećemo po onlajn svetu.
2024-02-10 13:11:20 +00:00
**Podrazumevani 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-10 13:11:20 +00:00
### Različiti DNS serveri
2024-02-10 13:11:20 +00:00
- **DNS koreni serveri**: Oni se nalaze na vrhu DNS hijerarhije, upravljaju domenima najvišeg nivoa i intervenišu samo ako serveri nižeg nivoa ne odgovaraju. Internet korporacija za dodelu imena i brojeva (**ICANN**) nadgleda njihov rad, a ukupno ih ima 13.
2024-02-06 03:10:38 +00:00
2024-02-10 13:11:20 +00:00
- **Autoritativni nameserveri**: Ovi serveri imaju poslednju reč za upite u svojim određenim zonama i pružaju definitivne odgovore. Ako ne mogu da pruže odgovor, upit se prenosi na korene servere.
2024-02-06 03:10:38 +00:00
2024-02-10 13:11:20 +00:00
- **Neautoritativni nameserveri**: Ovi serveri nemaju vlasništvo nad DNS zonama i prikupljaju informacije o domenima putem upita drugim serverima.
2024-02-06 03:10:38 +00:00
2024-02-10 13:11:20 +00:00
- **Caching DNS server**: Ovaj tip servera pamti prethodne odgovore na upite u određenom vremenskom periodu kako bi ubrzao vreme odgovora na buduće zahteve, pri čemu trajanje keša određuje autoritativni server.
2024-02-06 03:10:38 +00:00
2024-02-10 13:11:20 +00:00
- **Forwarding server**: Ovi serveri jednostavno prosleđuju upite drugom serveru.
2024-02-06 03:10:38 +00:00
2024-02-10 13:11:20 +00:00
- **Resolver**: Ugrađeni u računare ili rutere, resolveri lokalno izvršavaju razrešavanje imena i nisu smatrani autoritativnim.
2022-10-02 19:15:35 +00:00
2024-02-10 13:11:20 +00:00
## Enumeracija
2022-10-02 19:15:35 +00:00
### **Banner Grabbing**
2024-02-10 13:11:20 +00:00
Nema banera u DNS-u, ali možete dobiti informacije o verziji koristeći magični upit `version.bind. CHAOS TXT`, koji će raditi na većini BIND nameservera.\
Možete izvršiti ovaj upit koristeći `dig`:
```bash
dig version.bind CHAOS TXT @DNS
```
2024-02-10 13:11:20 +00:00
Osim toga, alatka [`fpdns`](https://github.com/kirei/fpdns) takođe može identifikovati server.
2024-02-10 13:11:20 +00:00
Takođe je moguće dobiti baner i sa **nmap** skriptom:
```
--script dns-nsid
```
2024-02-10 13:11:20 +00:00
### **Bilo koji zapis**
2024-02-10 13:11:20 +00:00
Zapis **ANY** će tražiti od DNS servera da **vrati** sve dostupne **unose** koje **je spreman otkriti**.
2022-10-02 19:15:35 +00:00
```bash
dig any victim.com @<DNS_IP>
```
### **Zone Transfer**
2024-02-10 13:11:20 +00:00
Ovaj postupak je skraćen kao `Asinhroni potpuni 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-10 13:11:20 +00:00
### Više informacija
```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-10 13:11:20 +00:00
#### Automatizacija
Automatizacija je ključni koncept u pentestiranju DNS-a. Korišćenje alata za automatizaciju može značajno ubrzati proces testiranja i omogućiti efikasnije otkrivanje ranjivosti. U nastavku su navedeni neki od alata za automatizaciju koji se mogu koristiti u pentestiranju DNS-a:
- **dnsrecon**: Alat za skeniranje DNS-a koji omogućava otkrivanje DNS servera, zapisivanje zona, pretragu rekordnih tipova i još mnogo toga.
- **dnsenum**: Alat za skeniranje DNS-a koji se koristi za otkrivanje poddomena i drugih informacija o DNS-u.
- **fierce**: Alat za skeniranje DNS-a koji se koristi za pronalaženje poddomena i drugih informacija o DNS-u.
- **dnsmap**: Alat za skeniranje DNS-a koji se koristi za mapiranje DNS servera i otkrivanje poddomena.
- **dnsrecon**: Alat za skeniranje DNS-a koji se koristi za otkrivanje DNS servera, zapisivanje zona, pretragu rekordnih tipova i još mnogo toga.
- **dnsenum**: Alat za skeniranje DNS-a koji se koristi za otkrivanje poddomena i drugih informacija o DNS-u.
- **fierce**: Alat za skeniranje DNS-a koji se koristi za pronalaženje poddomena i drugih informacija o DNS-u.
- **dnsmap**: Alat za skeniranje DNS-a koji se koristi za mapiranje DNS servera i otkrivanje poddomena.
Ovi alati mogu biti veoma korisni za automatizaciju procesa skeniranja i otkrivanja ranjivosti u DNS-u.
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-10 13:11:20 +00:00
#### Korišćenje nslookup-a
Nslookup je alat koji se koristi za izvršavanje DNS upita i dobijanje informacija o DNS zapisima. Može se koristiti za pronalaženje IP adrese određenog domena ili za pronalaženje domena na osnovu IP adrese.
Da biste koristili nslookup, otvorite terminal i unesite sledeću komandu:
```
nslookup <domen>
```
Zamenite `<domen>` sa željenim domenom koji želite da proverite. Nakon izvršavanja komande, nslookup će prikazati IP adresu povezanu sa tim domenom, kao i druge informacije o DNS zapisima.
Takođe možete koristiti nslookup za izvršavanje reverznog DNS upita. Da biste to uradili, unesite sledeću komandu:
```
nslookup <IP adresa>
```
Zamenite `<IP adresa>` sa željenom IP adresom za koju želite da pronađete domen. Nslookup će prikazati domen povezan sa tom IP adresom, kao i druge informacije o DNS zapisima.
2024-02-10 13:11:20 +00:00
Nslookup je koristan alat za istraživanje DNS-a i može vam pomoći u identifikaciji problema sa DNS-om ili pronalaženju informacija o DNS zapisima.
```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-10 13:11:20 +00:00
### Korisni metasploit moduli
Metasploit je moćan alat za testiranje penetracije koji pruža širok spektar modula za iskorišćavanje ranjivosti. Ovi moduli omogućavaju hakerima da izvrše različite vrste napada na ciljane sisteme. Evo nekoliko korisnih metasploit modula:
- **exploit/multi/handler**: Ovaj modul omogućava postavljanje ručnog iskorišćavanja za više ranjivosti. Koristi se za prihvatanje udaljenih veza i izvršavanje odgovarajućih eksploatacija.
- **exploit/windows/smb/ms17_010_eternalblue**: Ovaj modul iskorišćava ranjivost EternalBlue u protokolu SMB na Windows sistemima. Omogućava hakerima da dobiju udaljeni pristup ciljnom sistemu.
2024-02-10 13:11:20 +00:00
- **exploit/multi/http/jboss_maindeployer**: Ovaj modul iskorišćava ranjivost u JBoss aplikacijskom serveru. Omogućava hakerima da izvrše udaljeni kod na ciljnom sistemu.
2024-02-10 13:11:20 +00:00
- **auxiliary/scanner/http/robots_txt**: Ovaj modul skenira robots.txt fajl na ciljnom veb serveru. Može otkriti informacije o skrivenim direktorijumima i datotekama koje mogu biti ranjive.
- **auxiliary/scanner/portscan/tcp**: Ovaj modul vrši skeniranje TCP portova na ciljnom sistemu. Može se koristiti za identifikaciju otvorenih portova i potencijalnih ranjivosti.
Ovi moduli su samo neki od mnogih korisnih alata koje Metasploit pruža. Hakeri mogu iskoristiti ove module za izvršavanje različitih napada i testiranje sigurnosti sistema.
```bash
auxiliary/gather/enum_dns #Perform enumeration actions
```
2024-02-10 13:11:20 +00:00
### Korisni nmap skriptovi
Nmap je moćan alat za skeniranje mreže koji se često koristi u procesu testiranja penetracije. Nmap skriptovi su dodatne funkcionalnosti koje se mogu koristiti za automatizaciju određenih zadataka tokom skeniranja. Evo nekoliko korisnih nmap skriptova:
2024-02-10 13:11:20 +00:00
- **dns-brute.nse**: Ovaj skript koristi rekurzivno pretraživanje DNS-a kako bi otkrio poddomene i resurse na ciljnom DNS serveru.
- **dns-zone-transfer.nse**: Ovaj skript pokušava izvršiti DNS zonu transfera kako bi otkrio sve poddomene i resurse na ciljnom DNS serveru.
- **dns-reverse-query.nse**: Ovaj skript izvršava obrnuti DNS upit kako bi otkrio IP adrese povezane sa zadatim domenom.
- **dns-service-discovery.nse**: Ovaj skript otkriva DNS servere i njihove konfiguracije na ciljnoj mreži.
- **dns-blacklist.nse**: Ovaj skript proverava da li je ciljni DNS server na crnoj listi poznatih DNS servera za spam ili zlonamernu aktivnost.
2024-02-10 13:11:20 +00:00
Ovi skriptovi mogu biti korisni tokom testiranja penetracije kako bi se identifikovali potencijalni propusti u DNS infrastrukturi cilja.
```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>
```
2022-10-02 19:15:35 +00:00
### DNS - Reverse BF
2024-02-10 13:11:20 +00:00
DNS - Obrnuti BF
#### Opis
Obrnuti BF (engl. Reverse Brute Force) je tehnika koja se koristi za otkrivanje DNS imena na osnovu IP adrese. Ova tehnika je korisna kada imate IP adresu i želite da saznate koja DNS imena su povezana sa tom adresom.
#### Implementacija
Da biste izvršili obrnuti BF, možete koristiti alate kao što su `dnsrecon` ili `dnsenum`. Ovi alati će automatski generisati DNS imena i proveriti da li su povezana sa datom IP adresom.
Na primer, možete koristiti sledeću komandu sa `dnsrecon` alatom:
```bash
dnsrecon -r <IP adresa>
```
Ova komanda će generisati DNS imena i proveriti da li su povezana sa datom IP adresom.
#### Mere predostrožnosti
Prilikom izvršavanja obrnutog BF-a, važno je biti pažljiv i poštovati zakone i pravila. Ova tehnika može biti zloupotrebljena za neovlašćeni pristup ili napade na sistem. Uvek se pridržavajte etičkih smernica i koristite ovu tehniku samo u okviru zakona i sa dozvolom vlasnika sistema.
```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-10 13:11:20 +00:00
Ako uspete da pronađete poddomene koje se rešavaju na interne IP adrese, trebali biste pokušati da izvršite obrnuti DNS BF na NS-ovima domena tražeći taj IP opseg.
2021-04-02 19:21:43 +00:00
{% endhint %}
2024-02-10 13:11:20 +00:00
Još jedan alat za to: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
2024-02-10 13:11:20 +00:00
Možete upitati obrnute IP opsege na [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (ovaj alat je takođe koristan sa BGP-om).
2024-02-10 13:11:20 +00:00
### DNS - BF poddomena
```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-10 13:11:20 +00:00
### Serveri Active Directory-ja
Active Directory (AD) je servis koji se koristi za upravljanje korisnicima, grupama i resursima u Windows okruženju. AD serveri su ključni elementi infrastrukture Active Directory-ja i igraju važnu ulogu u autentifikaciji i autorizaciji korisnika.
#### Domain Controller (DC)
Domain Controller (DC) je glavni AD server koji sadrži kopiju AD baze podataka za određeni domen. DC je odgovoran za autentifikaciju korisnika, upravljanje grupama i pristupom resursima. Takođe, DC je zadužen za replikaciju podataka sa drugim DC-ovima u domenu.
#### Global Catalog (GC)
Global Catalog (GC) je poseban tip DC servera koji sadrži kopiju delova AD baze podataka iz svih domena u šumi. GC omogućava brže pretraživanje i pronalaženje objekata u AD-u, bez potrebe za pretrazivanjem svih DC-ova u domenu.
#### Read-Only Domain Controller (RODC)
Read-Only Domain Controller (RODC) je DC server koji je namenjen za postavljanje u udaljenim ili nesigurnim okruženjima. RODC sadrži samo read-only kopiju AD baze podataka i ne dozvoljava upisivanje promena. Ovo povećava sigurnost jer se smanjuje rizik od kompromitovanja AD baze podataka.
#### Lightweight Directory Access Protocol (LDAP)
Lightweight Directory Access Protocol (LDAP) je protokol koji se koristi za pristupanje i upravljanje AD bazom podataka. LDAP omogućava pretragu, dodavanje, izmenu i brisanje objekata u AD-u. Takođe, LDAP se koristi za autentifikaciju korisnika i autorizaciju pristupa resursima.
#### Kerberos
2024-02-10 13:11:20 +00:00
Kerberos je protokol za autentifikaciju koji se koristi u AD okruženju. Kerberos omogućava sigurnu razmenu ključeva između korisnika i AD servera kako bi se potvrdila autentičnost korisnika. Ovaj protokol se koristi za autentifikaciju korisnika prilikom prijavljivanja na AD domen.
2024-02-10 13:11:20 +00:00
#### DNS (Domain Name System)
DNS (Domain Name System) je servis koji se koristi za mapiranje imena domena na IP adrese. AD serveri koriste DNS za pronalaženje drugih AD servera i resursa u domenu. DNS je ključni deo AD infrastrukture i omogućava pravilno funkcionisanje autentifikacije i autorizacije u AD okruženju.
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-10 13:11:20 +00:00
DNSSec (Domain Name System Security Extensions) je set sigurnosnih ekstenzija za DNS protokol. Cilj DNSSec-a je pružiti integritet i autentičnost DNS podataka, sprečavajući napade kao što su DNS cache poisoning i DNS spoofing.
DNSSec koristi digitalne potpise kako bi se osiguralo da DNS odgovori nisu promenjeni tokom prenosa. Kada se koristi DNSSec, DNS server potpisuje DNS odgovore privatnim ključem, a klijenti mogu proveriti integritet odgovora koristeći javni ključ DNS servera.
Da bi se iskoristio DNSSec, napadač bi morao da prevari DNS server tako da potpiše lažne DNS odgovore sa svojim privatnim ključem. Međutim, ovo je teško izvodljivo jer napadač ne može dobiti privatni ključ DNS servera.
DNSSec takođe omogućava verifikaciju lanca poverenja DNS potpisa. To znači da klijenti mogu proveriti da li je javni ključ DNS servera validan tako što će proveriti potpisane DNS odgovore od drugih DNS servera.
Ukratko, DNSSec pruža dodatni sloj sigurnosti za DNS protokol, obezbeđujući integritet i autentičnost DNS podataka.
```bash
2024-02-10 13:11:20 +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-10 13:11:20 +00:00
Bruteforsiranje korišćenjem "AAAA" zahteva za prikupljanje IPv6 adresa poddomena.
```bash
dnsdict6 -s -t <domain>
```
2024-02-10 13:11:20 +00:00
## Bruteforce obrnutog DNS-a korišćenjem IPv6 adresa
Da biste izvršili bruteforce obrnutog DNS-a korišćenjem IPv6 adresa, možete koristiti alat poput `dnsrecon` ili `dnsenum`. Ovi alati omogućavaju automatsko generisanje i proveru DNS upita za određeni opseg IPv6 adresa.
2024-02-10 13:11:20 +00:00
Evo koraka koje možete slediti:
2024-02-10 13:11:20 +00:00
1. Identifikujte ciljni opseg IPv6 adresa koji želite da testirate.
2. Pokrenite alat `dnsrecon` ili `dnsenum` sa odgovarajućim parametrima kako biste generisali DNS upite za svaku IPv6 adresu u opsegu.
3. Analizirajte rezultate kako biste pronašli potencijalne DNS zapise koji se odnose na obrnuti DNS za te adrese.
4. Proverite svaki pronađeni DNS zapis kako biste utvrdili da li postoji neka korisna informacija koju možete iskoristiti.
Važno je napomenuti da je bruteforce obrnutog DNS-a resursno intenzivan proces, posebno kada se radi sa velikim opsezima IPv6 adresa. Stoga, preporučuje se pažljivo odabrati opseg adresa koji želite da testirate kako biste izbegli nepotrebno opterećenje mreže.
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
2024-02-10 13:11:20 +00:00
### DNS rekurzivni DDoS
2024-02-10 13:11:20 +00:00
Ako je **omogućena DNS rekurzija**, napadač može **falsifikovati** poreklo UDP paketa kako bi **DNS poslao odgovor na server žrtve**. Napadač može zloupotrebiti **bilo koji** ili **DNSSEC** tip zapisa jer obično imaju veće odgovore.\
Način da **proverite** da li DNS podržava **rekurziju** je da upitate ime domena i **proverite** da li je **flag "ra"** (_rekurzija dostupna_) prisutan u odgovoru:
```bash
dig google.com A @<IP>
```
2024-02-10 13:11:20 +00:00
**Nedostupno**:
![](<../.gitbook/assets/image (275).png>)
2024-02-10 13:11:20 +00:00
**Dostupno**:
![](<../.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-10 13:11:20 +00:00
**Trenutno dostupna postavka za procenu ranjivosti i testiranje prodiranja**. Pokrenite potpuni test prodiranja sa više od 20 alata i funkcija koje idu od istraživanja do izveštavanja. Mi ne zamenjujemo testere prodiranja - mi razvijamo prilagođene alate, module za otkrivanje i eksploataciju kako bismo im vratili neko vreme da dublje kopaju, otvaraju ljuske i zabavljaju se.
2024-01-11 13:18:30 +00:00
{% embed url="https://pentest-tools.com/" %}
2024-02-10 13:11:20 +00:00
### Slanje e-pošte na nepostojeći nalog
2024-02-10 13:11:20 +00:00
Pregledom obaveštenja o nedostavi (NDN) koje je pokrenuto slanjem e-pošte na nevažeću adresu unutar ciljnog domena, često se otkrivaju vredni detalji interne mreže.
2024-02-10 13:11:20 +00:00
Dostavljeno izveštavanje o nedostavi uključuje informacije kao što su:
2024-02-10 13:11:20 +00:00
- Generišući server je identifikovan kao `server.example.com`.
- Obaveštenje o neuspehu za `user@example.com` sa kodom greške `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` je vraćeno.
- Interni IP adrese i imena hostova su otkriveni u zaglavljima originalne poruke.
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-10 13:11:20 +00:00
## Konfiguracioni fajlovi
Configuracioni fajlovi su važni delovi DNS infrastrukture. Oni sadrže informacije o postavkama i podešavanjima DNS servera. Ovi fajlovi se često koriste tokom pentestiranja DNS-a kako bi se identifikovali potencijalni bezbednosni propusti.
### Fajl named.conf
Fajl `named.conf` je glavni konfiguracioni fajl za BIND DNS server. Ovaj fajl se nalazi u direktorijumu `/etc/bind/` na većini Linux sistema. U njemu se definišu globalne postavke servera, zone i drugi parametri.
### Fajl named.conf.local
Fajl `named.conf.local` se koristi za dodavanje lokalnih zona i drugih specifičnih podešavanja. Ovaj fajl se takođe nalazi u direktorijumu `/etc/bind/` i koristi se za prilagođavanje DNS servera prema potrebama organizacije.
### Fajl named.conf.options
Fajl `named.conf.options` sadrži opcije i parametre za konfiguraciju DNS servera. Ovde se mogu postaviti parametri kao što su forwarders (serveri za prosleđivanje upita), listen-on (adrese na kojima server sluša), allow-query (dozvoljeni upiti) i drugi.
### Fajl named.conf.default-zones
2024-02-10 13:11:20 +00:00
Fajl `named.conf.default-zones` definiše podrazumevane zone koje se koriste na DNS serveru. Ovde se mogu naći zone kao što su localhost, reverse zone i druge podrazumevane zone.
2024-02-10 13:11:20 +00:00
### Fajl named.rfc1912.zones
Fajl `named.rfc1912.zones` sadrži predefinisane zone koje se koriste u skladu sa RFC 1912 standardom. Ovde se mogu naći zone kao što su bogons (adrese koje se ne smeju koristiti), ip6.arpa (IPv6 reverse zone) i druge.
### Fajl named.root.hints
Fajl `named.root.hints` sadrži informacije o korenskim DNS serverima. Ovaj fajl se koristi za inicijalno konfigurisanje DNS servera i omogućava mu da pronađe korenske servere na internetu.
### Ostali konfiguracioni fajlovi
Pored navedenih fajlova, postoje i drugi konfiguracioni fajlovi koji se mogu koristiti u zavisnosti od specifičnih potreba i konfiguracija DNS servera. Ovi fajlovi se obično nalaze u direktorijumu `/etc/bind/` ili u drugim direktorijumima koji su konfigurisani u `named.conf` fajlu.
```
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-10 13:11:20 +00:00
Opasne postavke prilikom konfigurisanja Bind servera:
2024-02-10 13:11:20 +00:00
| **Opcija** | **Opis** |
2022-10-02 19:15:35 +00:00
| ----------------- | ------------------------------------------------------------------------------ |
2024-02-10 13:11:20 +00:00
| `allow-query` | Definiše koje hostove je dozvoljeno slanje zahteva DNS serveru. |
| `allow-recursion` | Definiše koje hostove je dozvoljeno slanje rekursivnih zahteva DNS serveru. |
| `allow-transfer` | Definiše koje hostove je dozvoljeno primanje zona sa DNS servera. |
| `zone-statistics` | Prikuplja statističke podatke o zonama. |
2022-10-02 19:15:35 +00:00
2024-02-10 13:11:20 +00:00
## Reference
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-10 13:11:20 +00:00
* Knjiga: **Network Security Assessment 3rd edition**
2021-08-12 12:57:59 +00:00
2024-02-10 13:11:20 +00:00
## HackTricks Automatske Komande
```
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-10 13:11:20 +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-10 13:11:20 +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-10 13:11:20 +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-10 13:11:20 +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-10 13:11:20 +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-10 13:11:20 +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-10 13:11:20 +00:00
**Trenutno dostupna postavka za procenu ranjivosti i testiranje prodiranja**. Pokrenite puni pentest bilo odakle sa više od 20 alata i funkcija koje idu od rekonstrukcije do izveštavanja. Ne zamenjujemo pentestere - razvijamo prilagođene alate, module za otkrivanje i eksploataciju kako bismo im vratili neko vreme da dublje kopaju, otvaraju ljuske i zabavljaju se.
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-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</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-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2024-01-03 10:42:55 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite da vidite **vašu kompaniju oglašenu u HackTricks-u** ili **preuzmete HackTricks u PDF formatu**, proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
2022-04-28 16:01:33 +00:00
</details>