Seguridad Informática Tools

Recursos y herramientas para el descubrimiento de subdominios

Todos los frameworks y metodologías existentes para tests de intrusión contemplan en sus fases iniciales el reconocimiento, y dentro del reconocimiento es fundamental el descubrimiento de subdominios ya que puede ayudar a un atacante o auditor a identificar y enumerar distintos sitios web del objetivo, algunos incluso mal configurados y vulnerables. A continuación se listan una serie de recursos online y herramientas de gran valor que facilitan enormemente esta tarea.

RECURSOS ONLINE

1.- Censys (https://censys.io/)

Es probablemente uno de los primeros motores de búsqueda que buscan subdominios. Además te muestra otra información como puertos abiertos, detalles del certificado y SSL y resultados del Whois.

2.- Shodan (http://shodan.io/)

Shodan es una plataforma de spidering con una base de datos enorme dirigida fundamentalmente a profesionales de seguridad. Tiene datos históricos y actuales sobre una gran franja de servidores en Internet, incluyendo subdominios descubiertos, versionado de servidores y mucho más.

3.- Pentest-tools (https://pentest-tools.com/information-gathering/find-subdomains-of-domain)

Dentro de la categoría de ‘Information Gathering’, Pentest-tools tiene una herramienta de búsqueda de subdominios que utiliza distintos métodos como transferencias de zona DNS, enumeración DNS basada en listas y peticiones a distintos motores de búsqueda.


4.- DNSDumpster (https://dnsdumpster.com/)

DNSDumpster del proyecto HackerTarget.com es una herramienta que, además de los subdominuios, nos devolverá información del servidor DNS, registros MX, registros TXT y un interesante esquema de las relaciones del dominio analizado.

5.- Netcraft (http://searchdns.netcraft.com/)

La compañía inglesa tiene una muy buena base de datos de dominios que no podemos olvidar consultar:

6.- CloudPiercer (https://cloudpiercer.org/)

Cloudpiercer está orientado a encontrar IPs reales de servidores web que deberían estar protegidos por la infraestructura de un proveedor en la nube. Si acreditas que eres el dueño del sitio mediante alguno de los métodos disponibles, CloudPiercer realizará un escaneo verificando varios vectores como bases de datos de historial de IPs, registros DNS, ficheros sensibles, pingback, certificados y, por supuesto, subdominios.

HERRAMIENTAS LOCALES

1. Sublist3r (https://github.com/aboul3la/Sublist3r)

Es una herramienta en python capaz de enumerar subdominios de sitios web a través de varios recursos OSINT. Utiliza como motores de búsqueda Google, Yahoo, Bing, Baidu y Ask y obtiene subdominios mediante Netcraft, Virustotal, ThreatCrowd, DNSdumpster y PassiveDNS. También incorpora otra herramienta, subbrute (https://github.com/TheRook/subbrute) para encontrar más subdominios mediante fuerza bruta (wordlists).

git clone https://github.com/aboul3la/Sublist3r.git
pip install -r requirements.txt

python sublist3r.py -d example.com

2.- SubBrute (https://github.com/TheRook/subbrute)

SubBrute es una de las herramientas de enumeración de subdominios más populares y precisas. Es un proyecto impulsado por la comunidad y utiliza “open resolvers” como proxy para no enviar directamente tráfico a los servidores DNS.

Se puede utilizar en sistemas operativos basados en Windows o UNIX y la instalación es muy fácil. La siguiente demostración se basa en Ubuntu:

sudo apt-get install python-dnspython
git clone https://github.com/TheRook/subbrute.git

cd subbrute
 ./subbrute -h
 

3.- Knock (https://github.com/guelfoweb/knock)

Es otra herramienta escrita en Python para descubrir subdominios usando una lista de palabras. Esta diseñada para escanear los DNS en busca de transferencias de zona y para intentar evadir el registro DNS Wildcard (si está activado).

git clone https://github.com/guelfoweb/knock.git

python knock.py -w wordlist/wordlist.txt faqin-org

4.- DNSRecon (https://github.com/darkoperator/dnsrecon)

DNSRecon de Darkoperator se incluye en el arsenal de Kali Linux y comprueba todos los registros NS en busca de transferencias de zona, registros DNs, resolución wildcard, registros PTR, etc.

git clone https://github.com/darkoperator/dnsrecon.git

./dnsrecon.py -d hackplayers.com

5.- Scripts nmap

– http-robtex-reverse-ip (https://github.com/adon90/http-robtex-reverse-ip) : Es un script para nmap que busca nombres DNS de la IP escaneada consultando el servicio de Robtex (http://www.robtex.com/ip-lookup/).

nmap --script http-robtex-reverse-ip 8.8.8.8

– hostmap-ip2hosts (https://github.com/nmap/nmap/blob/master/scripts/hostmap-ip2hosts.nse): encuentra hostnames consultando la base de datos online de IP2hosts (http://www.ip2hosts.com)

nmap -p443 --script hostmap-ip2hosts oracle.com

6.- iptodomain (https://github.com/jevalenciap/iptodomain)

Otra herramienta escrita en python. Permite extraer los dominios de un rango de ips usando la información histórica de la base de datos de Virustotal (requiere una API key).

python iptodomain.py -i 103.22.201.25 -f 103.22.201.255 -o 103.22.200.255.txt -v -r IPsCF.txt

7.- dnsscan (https://github.com/rbsec/dnscan)

La enésima herramienta en python primero intenta transferencias de zona y, a continuación si falla, busca los registros TXT y MX y luego realiza un escaneo recursivo de subdominios mediante wordlists.

git clone https://github.com/rbsec/dnscan.git
 pacman -S python-dnspython
 python dnscan.py -d pornhub.com

8.- Recon-ng (https://bitbucket.org/LaNMaSteR53/recon-ng)

Recon-ng es un completo framework de reconocimiento web que incluye el módulo brute_hosts para obtener subdominios por fuerza bruta.

git clone https://bitbucket.org/LaNMaSteR53/recon-ng.git
 pip2 install -r REQUIREMENTS

python2 recon-ng

9.- Fierce (https://github.com/mschwager/fierce)

Fierce es un escáner de enumeración escrito en Perl que ayuda a los pentesters a localizar el espacio de IPs y nombres de hosts no contiguos para dominios específicos mediante DNS, Whois y ARIN. Está diseñado específicamente para localizar objetivos probables dentro y fuera de una red corporativa. Dado que utiliza DNS principalmente, a menudo encuentra redes mal configuradas que generan fugas de espacio de direcciones internas.

Dependencias:
 $ sudo cpan
 cpan[1]> install Net::CIDR
 cpan[2]> install Net::Whois::ARIN
 cpan[3]> install Object::InsideOut
 cpan[4]> install Template
 cpan[5]> install Test::Class
 cpan[6]> install Test::MockObject
 cpan[7]> install Net::DNS
 cpan[8]> install Net::hostent
 cpan[0]> install WWW::Mechanize
Instalación:
 $ cd /data/src/
 $ svn co https://svn.assembla.com/svn/fierce/fierce2/trunk/ fierce2/
 $ cd fierce2/
 $ perl Makefile.PL
 $ make
 $ make test
 $ sudo make install
 $ mkdir -p /pentest/enumeration/fierce/
 $ ln -s /usr/local/bin/fierce /pentest/enumeration/fierce/fierce
Templates:
 $ mkdir -p /pentest/enumeration/fierce/
 $ ln -s /usr/local/bin/fierce /pentest/enumeration/fierce/fierce
Sintaxis:
 $ fierce {target options} [OPTIONS]

10.- dnsenum (https://github.com/fwaeytens/dnsenum)

Script en perl multiproceso para enumerar información de DNS de un dominio y para descubrir bloques de ip no contiguos.

perl -MCPAN -e shell
 install XML::Writer

perldoc dnsenum.pl

11.- Altdns (https://github.com/infosec-au/altdns)

Altdns es una herramienta de reconocimiento de DNS que permite el descubrimiento de subdominios que se ajustan a ciertos patrones. Altdns toma palabras que podrían estar presentes en subdominios bajo un dominio (como prueba, dev, stager), así como una lista de subdominios conocida o manual.

git clone https://github.com/infosec-au/altdns.git
 cd altdns
 pip2 install -r requirements.txt
 

DICCIONARIOS

https://github.com/bitquark/dnspop/tree/master/results
https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS

Fuentes:

– https://geekflare.com/find-subdomains/
– http://blog.bugcrowd.com/discovering-subdomains

Fuente:

hackplayers.com

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *