<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
**Configurazione immediatamente disponibile per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, ottenere shell e divertirsi.
Il **Domain Name System (DNS)** funge da directory di Internet, consentendo agli utenti di accedere ai siti web tramite **nomi di dominio facili da ricordare** come google.com o facebook.com, invece degli indirizzi numerici del Protocollo Internet (IP). Traducendo i nomi di dominio in indirizzi IP, il DNS garantisce che i browser web possano caricare rapidamente le risorse di Internet, semplificando la navigazione nel mondo online.
- **Server DNS radice**: Questi si trovano in cima alla gerarchia DNS, gestendo i domini di primo livello e intervenendo solo se i server di livello inferiore non rispondono. L'Internet Corporation for Assigned Names and Numbers (**ICANN**) sovraintende alla loro operatività, con un conteggio globale di 13.
- **Server di nomi autoritativi**: Questi server hanno l'ultima parola per le query nelle loro zone designate, offrendo risposte definitive. Se non possono fornire una risposta, la query viene inoltrata ai server radice.
- **Server di nomi non autoritativi**: Privi di proprietà sulle zone DNS, questi server raccolgono informazioni di dominio tramite query ad altri server.
- **Server DNS in cache**: Questo tipo di server memorizza le risposte alle query precedenti per un determinato periodo di tempo al fine di velocizzare i tempi di risposta per le richieste future, con la durata della cache dettata dal server autoritativo.
Non ci sono banner nel DNS, ma è possibile ottenere il messaggio di versione utilizzando la query `version.bind. CHAOS TXT`, che funzionerà sulla maggior parte dei server BIND.\
È possibile eseguire questa query utilizzando `dig`:
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
The `nslookup` command is a powerful tool for querying DNS (Domain Name System) servers to obtain information about domain names and IP addresses. It is commonly used in network troubleshooting and penetration testing.
Il comando `nslookup` è uno strumento potente per interrogare i server DNS (Domain Name System) al fine di ottenere informazioni sui nomi di dominio e gli indirizzi IP. Viene comunemente utilizzato per risolvere problemi di rete e per il penetration testing.
To use `nslookup`, open a command prompt and type `nslookup` followed by the domain name or IP address you want to query. By default, `nslookup` will display the IP address of the queried domain name and the name of the DNS server that provided the response.
Per utilizzare `nslookup`, apri un prompt dei comandi e digita `nslookup` seguito dal nome di dominio o dall'indirizzo IP che desideri interrogare. Per impostazione predefinita, `nslookup` visualizzerà l'indirizzo IP del nome di dominio interrogato e il nome del server DNS che ha fornito la risposta.
You can also specify a specific DNS server to query by typing `nslookup` followed by the domain name or IP address, followed by the IP address of the DNS server you want to use. For example, `nslookup example.com 8.8.8.8` will query the DNS server at IP address 8.8.8.8 for information about the domain name example.com.
È anche possibile specificare un server DNS specifico da interrogare digitando `nslookup` seguito dal nome di dominio o dall'indirizzo IP, seguito dall'indirizzo IP del server DNS che si desidera utilizzare. Ad esempio, `nslookup example.com 8.8.8.8` interrogherà il server DNS all'indirizzo IP 8.8.8.8 per ottenere informazioni sul nome di dominio example.com.
In addition to querying DNS servers, `nslookup` can also perform reverse lookups by specifying an IP address instead of a domain name. For example, `nslookup 8.8.8.8` will display the domain name associated with the IP address 8.8.8.8.
Oltre all'interrogazione dei server DNS, `nslookup` può anche eseguire ricerche inverse specificando un indirizzo IP anziché un nome di dominio. Ad esempio, `nslookup 8.8.8.8` visualizzerà il nome di dominio associato all'indirizzo IP 8.8.8.8.
`nslookup` also supports various options and commands that can be used to customize its behavior. To view a list of available options and commands, type `nslookup` followed by `help`.
`nslookup` supporta anche diverse opzioni e comandi che possono essere utilizzati per personalizzare il suo comportamento. Per visualizzare un elenco delle opzioni e dei comandi disponibili, digita `nslookup` seguito da `help`.
Metasploit è un framework di test di penetrazione ampiamente utilizzato che offre una vasta gamma di moduli per eseguire varie attività di hacking. Di seguito sono elencati alcuni dei moduli più utili di Metasploit:
- **exploit/multi/handler**: Questo modulo consente di creare un gestore per gli exploit multipli. È utile per intercettare le connessioni in arrivo dai payload generati da altri moduli di exploit.
- **exploit/multi/script/web_delivery**: Questo modulo consente di generare un payload personalizzato per l'iniezione in un sito web. Può essere utilizzato per eseguire codice arbitrario sul server di destinazione.
- **auxiliary/scanner/portscan/tcp**: Questo modulo consente di eseguire una scansione delle porte TCP su un host di destinazione. È utile per identificare le porte aperte e potenziali vulnerabilità.
- **auxiliary/scanner/http/dir_scanner**: Questo modulo consente di eseguire una scansione dei directory su un server web. Può essere utilizzato per individuare file e directory nascosti o vulnerabili.
- **post/multi/gather/enum_dns**: Questo modulo consente di raccogliere informazioni sul server DNS di destinazione. Può essere utilizzato per identificare record DNS, zone e altre informazioni utili.
- **post/multi/gather/dns_enum**: Questo modulo consente di eseguire una scansione dei record DNS su un server di destinazione. È utile per identificare sottodomini e altre informazioni relative al DNS.
- **post/multi/gather/dns_bruteforce**: Questo modulo consente di eseguire un attacco di forza bruta sui record DNS di un server di destinazione. Può essere utilizzato per individuare nomi di host nascosti o vulnerabili.
- **post/multi/gather/dns_recon**: Questo modulo consente di eseguire una ricognizione completa del server DNS di destinazione. Può essere utilizzato per identificare informazioni dettagliate sul DNS, come i server autoritativi e le zone.
Questi sono solo alcuni dei moduli disponibili in Metasploit. Il framework offre molte altre funzionalità e moduli che possono essere utilizzati per eseguire test di penetrazione su vari servizi di rete.
Il DNS (Domain Name System) è un sistema utilizzato per tradurre gli indirizzi IP in nomi di dominio e viceversa. Durante un test di penetrazione, è possibile utilizzare una tecnica chiamata Reverse BF (Brute Force) per scoprire i nomi di dominio associati a un determinato indirizzo IP.
La tecnica Reverse BF coinvolge l'utilizzo di un elenco di nomi di dominio comuni e l'invio di richieste DNS per verificare se uno di questi nomi di dominio è associato all'indirizzo IP in esame. Questo può essere utile per identificare potenziali risorse o servizi nascosti all'interno di un sistema.
Per eseguire un attacco di Reverse BF, è possibile utilizzare strumenti come `dnsrecon` o `dnsenum`. Questi strumenti consentono di automatizzare il processo di invio di richieste DNS per una lista di nomi di dominio e di visualizzare i risultati.
È importante notare che l'utilizzo di questa tecnica potrebbe essere considerato un comportamento sospetto e potrebbe attirare l'attenzione degli amministratori di sistema o dei sistemi di sicurezza. Pertanto, è consigliabile utilizzare questa tecnica con cautela e solo durante un test di penetrazione autorizzato.
Se riesci a trovare sottodomini che risolvono a indirizzi IP interni, dovresti provare a eseguire un reverse dns BF sui NSs del dominio chiedendo quel range di IP.
Puoi interrogare i range IP inversi su [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (questo strumento è anche utile con BGP).
Gli Active Directory (AD) sono un servizio di directory sviluppato da Microsoft che fornisce servizi di autenticazione, autorizzazione e gestione delle risorse di rete in un ambiente Windows. Gli AD sono costituiti da uno o più server che contengono informazioni sugli utenti, i gruppi e le risorse di rete.
#### Enumerazione degli utenti
Per enumerare gli utenti di un server Active Directory, è possibile utilizzare il comando `enum4linux` o lo strumento `ldapsearch`. Entrambi gli strumenti consentono di ottenere informazioni sugli utenti, inclusi i loro nomi, i gruppi di appartenenza e altre informazioni pertinenti.
Per enumerare i gruppi di un server Active Directory, è possibile utilizzare il comando `enum4linux` o lo strumento `ldapsearch`. Entrambi gli strumenti consentono di ottenere informazioni sui gruppi, inclusi i loro nomi, i membri e altre informazioni pertinenti.
Per enumerare le risorse di rete di un server Active Directory, è possibile utilizzare il comando `enum4linux` o lo strumento `ldapsearch`. Entrambi gli strumenti consentono di ottenere informazioni sulle risorse di rete, inclusi i nomi dei computer, i servizi disponibili e altre informazioni pertinenti.
Per eseguire attacchi di password su un server Active Directory, è possibile utilizzare strumenti come `hydra` o `crackmapexec`. Questi strumenti consentono di eseguire attacchi di forza bruta o attacchi di dizionario per cercare di ottenere le password degli utenti.
Per eseguire attacchi di pass-the-hash su un server Active Directory, è possibile utilizzare strumenti come `mimikatz` o `pth-winexe`. Questi strumenti consentono di sfruttare le hash delle password degli utenti per ottenere l'accesso al server senza conoscere le password effettive.
Per eseguire attacchi di Kerberoasting su un server Active Directory, è possibile utilizzare lo strumento `GetUserSPNs` di `impacket`. Questo strumento consente di ottenere i Service Principal Names (SPN) degli utenti e generare richieste di ticket Kerberos per ottenere i relativi hash delle password.
Per eseguire attacchi di Golden Ticket su un server Active Directory, è possibile utilizzare lo strumento `mimikatz`. Questo strumento consente di generare un ticket Kerberos dorato (Golden Ticket) utilizzando la chiave di crittografia del dominio e ottenere l'accesso completo al dominio.
Per eseguire attacchi di Silver Ticket su un server Active Directory, è possibile utilizzare lo strumento `mimikatz`. Questo strumento consente di generare un ticket Kerberos argentato (Silver Ticket) utilizzando la chiave di crittografia di un servizio e ottenere l'accesso a quel servizio senza conoscere le credenziali effettive.
Per eseguire attacchi di DCSync su un server Active Directory, è possibile utilizzare lo strumento `mimikatz`. Questo strumento consente di ottenere le informazioni sulle password degli account di dominio senza privilegi di amministratore.
Esempio di utilizzo di `mimikatz`:
```
mimikatz "lsadump::dcsync /user:<nome_utente>"
```
#### Esecuzione di attacchi di DCShadow
Per eseguire attacchi di DCShadow su un server Active Directory, è possibile utilizzare lo strumento `mimikatz`. Questo strumento consente di creare un oggetto fittizio nel database di Active Directory e ottenere il controllo completo su di esso.
Per eseguire attacchi di DNS poisoning su un server Active Directory, è possibile utilizzare strumenti come `dnsmasq` o `mitm6`. Questi strumenti consentono di iniettare record DNS falsi nel server DNS per indirizzare il traffico verso indirizzi IP controllati dall'attaccante.
Per eseguire attacchi di DNS tunneling su un server Active Directory, è possibile utilizzare strumenti come `iodine` o `dnscat2`. Questi strumenti consentono di creare un tunnel di comunicazione attraverso il traffico DNS per bypassare le restrizioni di rete e trasferire dati in modo nascosto.
Per eseguire attacchi di zone transfer su un server Active Directory, è possibile utilizzare strumenti come `dig` o `nslookup`. Questi strumenti consentono di ottenere una copia completa della zona DNS del server, inclusi i record degli utenti, i record dei gruppi e altre informazioni pertinenti.
Esempio di utilizzo di `dig`:
```
dig axfr @<indirizzo_IP_server_DNS><dominio>
```
Esempio di utilizzo di `nslookup`:
```
nslookup
> server <indirizzo_IP_server_DNS>
> ls -d <dominio>
```
#### Esecuzione di attacchi di subdomain takeover
Per eseguire attacchi di subdomain takeover su un server Active Directory, è possibile utilizzare strumenti come `subjack` o `subover`. Questi strumenti consentono di individuare sottodomini non utilizzati o scaduti e prendere il controllo su di essi per eseguire attacchi di phishing o di spoofing.
DNSSec (Domain Name System Security Extensions) è un insieme di estensioni di sicurezza per il protocollo DNS. L'obiettivo principale di DNSSec è garantire l'integrità e l'autenticità dei dati DNS, prevenendo così attacchi come il DNS spoofing e il DNS cache poisoning.
DNSSec utilizza una struttura a chiave pubblica per firmare digitalmente le risposte DNS, consentendo ai client di verificare l'autenticità dei dati ricevuti. Inoltre, DNSSec introduce anche la firma delle zone, che consente ai server DNS di firmare digitalmente l'intera zona DNS, garantendo l'integrità dei dati.
Per verificare l'autenticità dei dati DNS, i client devono disporre delle chiavi pubbliche dei server DNS autoritativi. Queste chiavi pubbliche possono essere ottenute tramite il processo di delega delle zone DNS.
DNSSec non fornisce confidenzialità dei dati, quindi i dati DNS firmati possono ancora essere letti da un attaccante. Tuttavia, DNSSec fornisce un meccanismo per rilevare eventuali modifiche non autorizzate ai dati DNS, consentendo agli utenti di prendere provvedimenti appropriati.
Per sfruttare DNSSec durante un test di penetrazione, è possibile utilizzare strumenti come `dnssec-verify` per verificare l'autenticità dei dati DNS e identificare eventuali vulnerabilità nel sistema DNS.
In some cases, during a penetration test, it may be necessary to bruteforce reverse DNS records for IPv6 addresses. This can be useful for gathering information about the target network and identifying potential vulnerabilities.
## Methodology
To bruteforce reverse DNS records for IPv6 addresses, follow these steps:
1.**Enumerate IPv6 addresses**: Use tools like `nmap` or `masscan` to scan the target network and identify active IPv6 addresses.
2.**Generate possible reverse DNS names**: Create a list of possible reverse DNS names based on the target's domain name or any other relevant information. For example, if the target's domain name is `example.com`, possible reverse DNS names could be `com.example.`, `com.example.www.`, etc.
3.**Perform reverse DNS lookup**: Use a tool like `dig` to perform reverse DNS lookup for each IPv6 address and check if any of the generated reverse DNS names match the actual reverse DNS record.
4.**Automate the process**: To speed up the bruteforce process, you can write a script or use existing tools to automate the reverse DNS lookup for all the IPv6 addresses and compare the results with the generated reverse DNS names.
## Conclusion
Bruteforcing reverse DNS records for IPv6 addresses can provide valuable information during a penetration test. By automating the process and generating possible reverse DNS names, you can efficiently identify potential vulnerabilities in the target network.
Se **la ricorsione DNS è abilitata**, un attaccante potrebbe **falsificare** l'**origine** del pacchetto UDP al fine di far inviare la risposta DNS al server vittima. Un attaccante potrebbe sfruttare **qualsiasi** tipo di record o **DNSSEC**, in quanto tendono a generare risposte più grandi.\
Il modo per **verificare** se un DNS supporta la **ricorsione** è interrogare un nome di dominio e **verificare** se il flag "ra" (_ricorsione disponibile_) è presente nella risposta:
**Configurazione immediatamente disponibile per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicarsi a scavare più a fondo, ottenere accesso ai sistemi e divertirsi.
Attraverso l'esame di una notifica di mancata consegna (NDN) scatenata da una mail inviata a un indirizzo non valido all'interno di un dominio target, spesso vengono rivelati preziosi dettagli sulla rete interna.
Config files are files that contain settings and parameters for various applications and services. These files are often used to customize the behavior of the application or service according to the user's preferences.
I file di configurazione sono file che contengono impostazioni e parametri per varie applicazioni e servizi. Questi file vengono spesso utilizzati per personalizzare il comportamento dell'applicazione o del servizio in base alle preferenze dell'utente.
Config files can be found in different locations depending on the operating system and the application or service being used. Some common locations for config files include:
I file di configurazione possono essere trovati in posizioni diverse a seconda del sistema operativo e dell'applicazione o del servizio utilizzato. Alcune posizioni comuni per i file di configurazione includono:
-`/etc`: This directory is commonly used for system-wide configuration files in Unix-like operating systems.
-`/etc`: Questa directory è comunemente utilizzata per i file di configurazione a livello di sistema nei sistemi operativi di tipo Unix.
-`/usr/local/etc`: This directory is often used for configuration files specific to a particular application or service.
-`/usr/local/etc`: Questa directory viene spesso utilizzata per i file di configurazione specifici di un'applicazione o di un servizio particolare.
-`~/.config`: This directory is used for user-specific configuration files in Unix-like operating systems.
-`~/.config`: Questa directory viene utilizzata per i file di configurazione specifici dell'utente nei sistemi operativi di tipo Unix.
-`C:\Program Files`: This directory is commonly used for system-wide configuration files in Windows operating systems.
-`C:\Program Files`: Questa directory è comunemente utilizzata per i file di configurazione a livello di sistema nei sistemi operativi Windows.
It is important to note that config files may contain sensitive information such as passwords, API keys, and database credentials. Therefore, it is crucial to ensure that these files are properly secured and access to them is restricted to authorized users only.
È importante notare che i file di configurazione possono contenere informazioni sensibili come password, chiavi API e credenziali del database. Pertanto, è fondamentale assicurarsi che questi file siano adeguatamente protetti e che l'accesso ad essi sia limitato solo agli utenti autorizzati.
**Configurazione immediatamente disponibile per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester, sviluppiamo invece strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicarsi a scavare più a fondo, ottenere accesso shell e divertirsi.
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF**, controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai repository github di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).