Un enfoque distinto al reconocimiento tradicional.
Cuando se realiza una búsqueda de vulnerabilidades para una empresa, y no se proporciona la información suficiente, es difícil tener un mapa acerca de todos los activos que corresponden a la empresa. En esta entrada podrá obtener información sobre distintas técnicas para localizar aquellos objetivos que no son visibles con facilidad, por ejemplo objetivos que no aparecen en el proceso de enumeración de subdominios.
Un caso en particular es que se puede contar con el nombre del dominio principal redacted.com. El pentester probará siempre con los subdominios de dicho dominio, es decir:
correo.redacted.com
ftp.redacted.com
Así que como ya se irá imaginando, esta no es una guía orientada a la enumeración de subdominios, si no que tiene un enfoque mucho más amplio. Pensamos que por lo extenso de enumeración de subdominios lo podamos incluir mejor en una parte 2, así como también técnicas de OSINT.
Cuando se practica Bug Bounty, la mayoría de veces los objetivos son muy específicos proporcionando las direcciones IP, DNS y subdominios por lo que el alcance de donde buscar vulnerabilidades es más acotado y depende mucho de lo que herramientas de enumeración de información encuentren, por lo que hay una gran probabilidad de encontrar duplicados. Sin embargo existen programas con alcances muchos más generales y amplios donde el pentester puede averiguar por su cuenta los objetivos, siempre y cuando estos correspondan a la empresa.
Crunchbase
Podemos ver las adquisiciones de una empresa a través del siguiente portal web.
Ejemplo AT&T.
https://www.crunchbase.com/organization/at-t
Builtwith
Obtiene información de Google Analytics y New Relic. Recolecta dominios relacionados y subdominios de acuerdo a códigos de ad/analytics.
https://builtwith.com/relationships/att.com.mx
DomLink
DomLink es una herramienta que utiliza un nombre de dominio para descubrir el nombre de la organización y la dirección de correo electrónico asociada para luego encontrar más dominios asociados.
Descarga de la herramienta: https://github.com/vysecurity/DomLink.
Esto es útil para cuando necesita descubrir más dominios asociados con el objetivo.
OTX de AlienVault
Google Dork
Se pueden buscar por medio de filtros de Google, sitios webs que contengan en el pie de la página el nombre de la empresa, por ejemplo:
"2019 Twitch Interactive, Inc."
Shodan
En https://www.shodan.io podemos realizar búsquedas de direcciones IP utilizando el nombre de una organización.
org:"starbucks"
Dando clic en cualquier resultado podemos obtener más información del objetivo. Podemos dar clic en un puerto particular para que este sea consultado vía navegador web.
Muchas empresas adquieren rangos de IP consecutivos, así que si conoce una dirección IP de un dominio de servidor de correo electrónico o portal principal de la empresa, intente pasar esa IP a un CIDR para descubrir más direcciones IP.
net:"CIDR"
Obtener IPs en Shodan vía favicon
Primero necesitamos generar el valor hash de una imagen favicon de una o varias URL. Para esto utilizaremos la herramienta FavFreak ubicada en el siguiente repositorio https://github.com/devanshbatham/FavFreak.git.
Comandos para la instalación usando Linux:
$ git clone https://github.com/devanshbatham/FavFreak
$ cd FavFreak
$ virtualenv -p python3 env
$ source env/bin/activate
$ python3 -m pip install mmh3
Entonces guarde en un archivo de texto las URLS.
Ejecute el siguiente comando para obtener los valores hash de los favicons.
cat urls.txt | python3 favfreak.py
Una vez obtenido el hash utilícelo en el siguiente filtro de búsqueda de Shodan.
http.favicon.hash:2130917481
De esta manera obtendrá todas las direcciones IP que utilicen dicha imagen favicon.
Registrándose en shodan puede obtener el ApiKey para utilizar el cliente de shodan vía terminal.
Ahora inicie shodan con la ApiKey.
shodan init "APIKEY"
shodan search http.favicon.hash:2130917481 --fields ip_str,port --separator " " | awk '{print $1":"$2}'
Ahora el comando anterior lo puede mejorar para que a partir del listado de direcciones IP, pueda obtener el nombre de dominio utilizando la herramienta hakrevdns https://github.com/hakluke/hakrevdns.
shodan search http.favicon.hash:2130917481 --fields ip_str,port --separator " " | awk '{print $1}' | hakrevdns -d
Esta es una buena manera de buscar objetivos. Puede obtener más información acerca de filtros de shodan en el siguiente enlace:
https://github.com/JavierOlmedo/shodan-filters
Cencys
También puede utilizar el motor de Censys para buscar direcciones IP para un nombre de empresa.
ZoomEye
Finalmente recomendamos el buscador chino ZoomEye.
Existen muchas herramientas para obtener resultados del registro WHOIS. Un buena página para obtener resultados es la siguiente:
https://whois.domaintools.com/att.com
Solo cambie att.com por el dominio que quiera consultar.
Aquí podrá observar el nombre de la persona que registró el dominio, email y el nombre de los servidores de dominio. También puede ver cuando se registró el dominio, cuando expira y cuando fue la última vez que se actualizó entre otro tipo de información.
Podemos realizar búsquedas inversas de WHOIS utilizando un email, teléfono o nombre de empresa.
https://tools.whoisxmlapi.com/reverse-whois-search
También podemos utilizar la siguiente página para buscar nombres de dominios para un nombre de compañía o email https://viewdns.info/reversewhois.
Finalmente existe otro recurso para visualizar el historial de los dominios utilizando un email o nombre de empresa.
Un número de sistema autónomo (ASN) es un número único asignado a un sistema autónomo (AS) por la Autoridad de Números Asignados de Internet (IANA).
El direccionamiento interdominio sin clase (CIDR o superred) es una manera de combinar varios rangos de direcciones de clase C y formar una única red o ruta. Este método de direccionamiento añade direcciones IP de clase C.
Enumeración de CIDR con AMASS
Por ejemplo, obtengamos los ASN y CIDR para Facebook utilizando la herramienta de Amass https://github.com/OWASP/Amass.
amass intel -org Facebook
Con Amass también podemos buscar por ASN.
amass intel -asn 63293
Enumeración de CIDR con Metabigor
URL del proyecto https://github.com/j3ssie/metabigor.
Uso:
echo testla | metabigor net --org -v
Enumeración de CIDR utilizando whois.radb.net
Dado el ASN 63293 podemos obtener los CIDR.
whois -h whois.radb.net -- '-i origin 63293' | grep -Eo "([0-9.]+){4}/[0-9]+" | sort -u
Ahora podemos obtener los DNS para un CDIR en particular utilizando Amass.
amass intel -cidr <CIDR>
amass intel -cidr 164.163.191.64/26
Enumeración de CIDR utilizando Asnip
Asnip obtiene el ASN, CIDR y enumera las direcciones IP.
asnip -t starbucks.com.mx -p
Resolución de DNS mediante hakrevdns
URL del proyecto: https://github.com/hakluke/hakrevdns.
Dada una IP podemos obtener su DNS.
echo "173.0.84.110" | hakrevdns -d
También podemos enumerar las direcciones IP de un CIDR y obtener sus DNS.
prips 173.0.84.0/24 | hakrevdns
Utilizando el nombre de servidor DNS se pueden realizar búsquedas inversas.
La previa herramienta también permite realizar búsquedas inversas de registros MX.
BRO, el mejor articulo que lei hasta ahora
Excelente , espero la parte 2 …
By jivan
Claro que sí, estaremos trabajando en ello. Un saludo!
On the internet first time i saw this awesome article with best explanation and proper screenshot attached..I can’t wait for part 2 when you are going to release ?