Domain takeover
significa registrar un nombre de dominio inexistente para obtener el control de otro dominio.
Si los atacantes encuentran un dominio vencido ( aqui podemos ver como encontrarlos [[8 – Encontrar Dominios vencidos]]), pueden apropiarse de ese dominio para realizar otros ataques, como alojar contenido malicioso en un sitio web o enviar un correo electrónico de phishing utilizando el dominio reclamado.
La toma de control de dominio también es posible con subdominios llamados subdomain takeover
.
El registro de nombre canónico CNAME
de un DNS se utiliza para asignar diferentes dominios a un dominio principal.
Muchas organizaciones utilizan servicios de terceros como AWS, GitHub, Akamai, Fastly y otras redes de distribución de contenido (CDN) para alojar su contenido.
En este caso, generalmente crean un subdominio y lo hacen apuntar a esos servicios.
Por ejemplo,
sub.target.com. 60 IN CNAME anotherdomain.com
El nombre de dominio (por ejemplo, sub.target.com
) utiliza un registro CNAME para otro dominio (por ejemplo, anotherdomain.com
).
Supongamos que el anotherdomain.com
caduca y está disponible para que cualquiera pueda reclamar el dominio, ya que el target.com
servidor DNS de tiene el CNAME
registro.
En ese caso, cualquier persona que se registre anotherdomain.com
tendrá control total sobre el dominio sub.target.com
hasta que se actualice el registro DNS.
Tambien podemos hacer ataque de typosquatting
Que si no esta el anotherdomain.com caducado se puede pillar un domino muy parecido annotherdomain.com (aqui añadimos dos nn)
Enumeración de subdominios
Aparte de las otras tecnicas de enumeracion de subdominios podemos hacer lo siguiente.
Antes de realizar una toma de control de subdominio, debemos enumerar los subdominios de un dominio de destino utilizando herramientas como Subfinder .
Esta herramienta puede extraer subdominios de fuentes abiertas como DNSdumpster .
Otras herramientas como Sublist3r también se pueden utilizar para extraer subdominios mediante la fuerza bruta proporcionando una lista de palabras generada previamente:
[!bash!]# ./subfinder -d inlanefreight.com -v
_ __ _ _
____ _| |__ / _(_)_ _ __| |___ _ _
(_-< || | '_ \ _| | ' \/ _ / -_) '_|
/__/\_,_|_.__/_| |_|_||_\__,_\___|_| v2.4.5
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
[WRN] By using subfinder, you also agree to the terms of the APIs used.
[INF] Enumerating subdomains for inlanefreight.com
[alienvault] www.inlanefreight.com
[dnsdumpster] ns1.inlanefreight.com
[dnsdumpster] ns2.inlanefreight.com
...snip...
[bufferover] Source took 2.193235338s for enumeration
ns2.inlanefreight.com
www.inlanefreight.com
ns1.inlanefreight.com
support.inlanefreight.com
[INF] Found 4 subdomains for inlanefreight.com in 20 seconds 11 milliseconds
Una excelente alternativa es una herramienta llamada Subbrute .
Esta herramienta nos permite utilizar resolutores autodefinidos y realizar ataques de fuerza bruta de DNS puros durante pruebas de penetración internas en hosts que no tienen acceso a Internet.
[!bash!]$ git clone https://github.com/TheRook/subbrute.git >> /dev/null 2>&1
[!bash!]$ cd subbrute
[!bash!]$ echo "ns1.inlanefreight.com" > ./resolvers.txt
[!bash!]$ ./subbrute inlanefreight.com -s ./names.txt -r ./resolvers.txt
Warning: Fewer than 16 resolvers per process, consider adding more nameservers to resolvers.txt.
inlanefreight.com
ns2.inlanefreight.com
www.inlanefreight.com
ms1.inlanefreight.com
support.inlanefreight.com
<SNIP>
En ocasiones las configuraciones físicas internas están poco protegidas, lo que podemos aprovechar para subir nuestras herramientas desde un pendrive. Otro escenario sería que hayamos llegado a un host interno a través de pivoting y queramos trabajar desde allí. Por supuesto, hay otras alternativas, pero no está de más conocer formas y posibilidades alternativas.
La herramienta ha encontrado cuatro subdominios asociados con inlanefreight.com
. Con el comando nslookup
o host
podemos enumerar los CNAME
registros de esos subdominios.
[!bash!]# host support.inlanefreight.com
support.inlanefreight.com is an alias for inlanefreight.s3.amazonaws.com
El subdominio support
tiene un registro de alias que apunta a un depósito de AWS S3.
Sin embargo, la URL https://support.inlanefreight.com
muestra un NoSuchBucket
error que indica que el subdominio es potencialmente vulnerable a una apropiación de subdominio.
Ahora, podemos apropiarnos del subdominio creando un depósito de AWS S3 con el mismo nombre de subdominio.
El repositorio can-i-take-over-xyz también es una excelente referencia para una vulnerabilidad de toma de control de subdominio. Muestra si los servicios de destino son vulnerables a una toma de control de subdominio y proporciona pautas para evaluar la vulnerabilidad.
Este información es parte de mis apuntes de la academia https://academy.hackthebox.com/module/116/section/1512