hacktricks/pentesting-web/domain-subdomain-takeover.md

124 lines
10 KiB
Markdown

# Domain/Subdomain takeover
<details>
<summary><strong>Impara l'hacking AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Esperto Red Team AWS di HackTricks)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* 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 [**La Famiglia PEASS**](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.
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
Ottieni l'accesso oggi:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Domain takeover
Se scopri un dominio (dominio.tld) che **è utilizzato da un servizio all'interno del perimetro** ma la **azienda** ha **perso la proprietà** di esso, puoi provare a **registrarlo** (se abbastanza economico) e farlo sapere all'azienda. Se questo dominio sta ricevendo alcune **informazioni sensibili** come un cookie di sessione tramite parametro **GET** o nell'intestazione **Referer**, questa è sicuramente una **vulnerabilità**.
### Subdomain takeover
Un sottodominio dell'azienda punta a un **servizio di terze parti con un nome non registrato**. Se puoi **creare** un **account** in questo **servizio di terze parti** e **registrare** il **nome** in uso, puoi eseguire il subdomain takeover.
Ci sono diversi strumenti con dizionari per verificare possibili takeover:
* [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz)
* [https://github.com/blacklanternsecurity/bbot](https://github.com/blacklanternsecurity/bbot)
* [https://github.com/punk-security/dnsReaper](https://github.com/punk-security/dnsReaper)
* [https://github.com/haccer/subjack](https://github.com/haccer/subjack)
* [https://github.com/anshumanbh/tko-sub](https://github.com/anshumanbh/tko-subs)
* [https://github.com/ArifulProtik/sub-domain-takeover](https://github.com/ArifulProtik/sub-domain-takeover)
* [https://github.com/SaadAhmedx/Subdomain-Takeover](https://github.com/SaadAhmedx/Subdomain-Takeover)
* [https://github.com/Ice3man543/SubOver](https://github.com/Ice3man543/SubOver)
* [https://github.com/m4ll0k/takeover](https://github.com/m4ll0k/takeover)
* [https://github.com/antichown/subdomain-takeover](https://github.com/antichown/subdomain-takeover)
* [https://github.com/musana/mx-takeover](https://github.com/musana/mx-takeover)
* [https://github.com/PentestPad/subzy](https://github.com/PentestPad/subzy)
#### Scansione dei sottodomini suscettibili di dirottamento con [BBOT](https://github.com/blacklanternsecurity/bbot):
I controlli di subdomain takeover sono inclusi nell'enumerazione predefinita dei sottodomini di BBOT. Le firme sono estratte direttamente da [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz).
```bash
bbot -t evilcorp.com -f subdomain-enum
```
### Generazione di Subdomain Takeover tramite Wildcard DNS
Quando viene utilizzato un wildcard DNS in un dominio, ogni sottodominio richiesto di quel dominio che non ha un diverso indirizzo esplicito verrà **risolto alle stesse informazioni**. Questo potrebbe essere un indirizzo IP A, un CNAME...
Ad esempio, se `*.testing.com` è wildcared a `1.1.1.1`. Allora, `not-existent.testing.com` punterà a `1.1.1.1`.
Tuttavia, se invece di puntare a un indirizzo IP, l'amministratore di sistema lo punta a un **servizio di terze parti tramite CNAME**, come ad esempio un **sottodominio di github** (`sohomdatta1.github.io`). Un attaccante potrebbe **creare la propria pagina di terze parti** (in questo caso su Github) e dire che `something.testing.com` punta lì. Poiché il **wildcard CNAME** concorderà, l'attaccante sarà in grado di **generare sottodomini arbitrari per il dominio della vittima puntando alle sue pagine**.
Puoi trovare un esempio di questa vulnerabilità nel write-up del CTF: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api)
## Sfruttare un subdomain takeover
Il subdomain takeover è essenzialmente un falsificazione DNS per un dominio specifico su Internet, consentendo agli attaccanti di impostare record A per un dominio, portando i browser a visualizzare contenuti dal server dell'attaccante. Questa **trasparenza** nei browser rende i domini vulnerabili al phishing. Gli attaccanti possono utilizzare il [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) o i [_domini Doppelganger_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) a questo scopo. Sono particolarmente vulnerabili i domini in cui l'URL in una email di phishing appare legittimo, ingannando gli utenti e sfuggendo ai filtri antispam a causa della fiducia intrinseca del dominio.
Controlla questo [post per ulteriori dettagli](https://0xpatrik.com/subdomain-takeover/)
### **Certificati SSL**
I certificati SSL, se generati dagli attaccanti tramite servizi come [_Let's Encrypt_](https://letsencrypt.org/), contribuiscono alla legittimità di questi domini falsi, rendendo gli attacchi di phishing più convincenti.
### **Sicurezza dei Cookie e Trasparenza del Browser**
La trasparenza del browser si estende anche alla sicurezza dei cookie, regolata da politiche come la [politica dello stesso origine](https://en.wikipedia.org/wiki/Same-origin\_policy). I cookie, spesso utilizzati per gestire sessioni e memorizzare token di accesso, possono essere sfruttati attraverso il subdomain takeover. Gli attaccanti possono **raccogliere cookie di sessione** semplicemente indirizzando gli utenti a un sottodominio compromesso, mettendo a rischio i dati e la privacy degli utenti.
### **Email e Subdomain Takeover**
Un altro aspetto del subdomain takeover coinvolge i servizi email. Gli attaccanti possono manipolare i **record MX** per ricevere o inviare email da un sottodominio legittimo, aumentando l'efficacia degli attacchi di phishing.
### **Rischi di Ordine Superiore**
Altri rischi includono il **takeover dei record NS**. Se un attaccante ottiene il controllo su un record NS di un dominio, potrebbe potenzialmente indirizzare una parte del traffico a un server sotto il suo controllo. Questo rischio è amplificato se l'attaccante imposta un alto **TTL (Time to Live)** per i record DNS, prolungando la durata dell'attacco.
### Vulnerabilità dei Record CNAME
Gli attaccanti potrebbero sfruttare i record CNAME non reclamati che puntano a servizi esterni non più utilizzati o dismessi. Ciò consente loro di creare una pagina sotto il dominio attendibile, facilitando ulteriormente il phishing o la distribuzione di malware.
### **Strategie di Mitigazione**
Le strategie di mitigazione includono:
1. **Rimozione dei record DNS vulnerabili** - Questo è efficace se il sottodominio non è più necessario.
2. **Richiesta del nome di dominio** - Registrare la risorsa presso il rispettivo fornitore cloud o ricomprare un dominio scaduto.
3. **Monitoraggio regolare delle vulnerabilità** - Strumenti come [aquatone](https://github.com/michenriksen/aquatone) possono aiutare a identificare i domini suscettibili. Le organizzazioni dovrebbero anche rivedere i loro processi di gestione dell'infrastruttura, garantendo che la creazione dei record DNS sia l'ultimo passo nella creazione delle risorse e il primo passo nella distruzione delle risorse.
Per i fornitori cloud, verificare la proprietà del dominio è cruciale per prevenire i subdomain takeover. Alcuni, come [GitLab](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/), hanno riconosciuto questo problema e implementato meccanismi di verifica del dominio.
## Riferimenti
* [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/)
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><strong>Impara l'hacking AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusivi [**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** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>