Enviado por Edu4rdSHL el Mar, 16/04/2019 - 15:19
Findomain

Findomain (abreviatura de Find Sub-domains) es el nombre de una herramienta desarrollada por Eduard Tolosa (@edu4rdshl), fundador de Security Hack Labs y desarrollador de software entre ellas, la herramienta de hacking web para GNU Linux y Android, WebHackSHL (Lee: Conoce nuestra herramienta de hacking web WebHackSHL, Nuestra herramienta de hacking para Android!)

Findomain es una herramienta que no recurre a los métodos comunes para búsqueda de subdominios como son ataques de fuerza bruta o intentos de transferencia de zona. Esta usa los logs de transparencia de certificados, una nueva metodología para validar la autenticidad de las páginas inventada por Google. En resumen, todo dominio o subdominio firmado digitalmente por una entidad emisora de certificados, debe estar disponible públicamente de modo que cualquier persona o entidad lo pueda validar. Ahí es donde entra en juego la herramienta Findomain.

· ¿Cómo funcionan los logs de transparencia de certificado?

La transparencia de los certificados tiene como objetivo remediar estas amenazas basadas en certificados al hacer que la emisión y la existencia de certificados SSL estén abiertas al escrutinio de los propietarios de dominios, entidades emisoras de certificados y usuarios del dominio. Específicamente, la transparencia del certificado tiene tres objetivos principales:

    - Hace imposible (o al menos muy difícil) que una CA emita un certificado SSL para un dominio sin que el certificado sea visible para el propietario de ese dominio.

    - Proporcionar un sistema abierto de auditoría y monitoreo que permita a cualquier propietario del dominio o CA determinar si los certificados han sido emitidos por error o maliciosamente.

    - Proteger a los usuarios (tanto como sea posible) de ser engañados por certificados que fueron emitidos por error o maliciosamente.

Ahí es donde los registros de transparencia entran en juego:

 Los registros de certificados son servicios de red simples que mantienen registros de certificados criptográficamente asegurados, auditables públicamente, solo en anexo. Cualquiera puede enviar certificados a un registro, aunque es probable que las autoridades de certificación sean los principales remitentes. Del mismo modo, cualquier persona puede consultar un registro para una prueba criptográfica, que se puede usar para verificar que el registro se está comportando correctamente o para verificar que se haya registrado un certificado en particular. La cantidad de servidores de registro no tiene que ser grande (por ejemplo, mucho menos que mil en todo el mundo), y cada uno podría ser operado de manera independiente por una CA, un ISP o cualquier otra parte interesada.

 Significa que todos los dominios y subdominios emitidos con un certificado se pueden buscar públicamente aún si están ocultos o son privados del dominio raíz.

· Findomain - una herramienta que busca subdominios para ti

Tenemos múltiples opciones para buscar registros de certificados de transparencia, por ejemplo, Google, Facebook, crt.sh, certspotter y más, pero todos sabemos que lo cómodo es tener una herramienta para buscar desde nuestra terminal, allí es donde Findomain ingresa al juego.

Findomain es una herramienta escrita en Rust, la herramienta utiliza los registros de Transparencia del Certificado para encontrar subdominios, su método hace que la herramienta sea más rápida y confiable. Puede descubrir los subdominios de Amazon actuales (unos 200) en menos de 3 segundos. Está disponible públicamente en Github, puede descargarla desde https://github.com/Edu4rdSHL/findomain/

La herramienta utiliza la API de Certspotter para obtener los registros en formato JSON, luego mediante una estructura usa un vector para encontrar el valor dns_names que es la matriz que contiene los subdominios encontrados, luego los imprime en la pantalla con o sin la dirección IP dependiendo de los argumentos del usuario.

En las capacidades de Findomain puedes encontrar:

  • Le permite usar un archivo con una lista de dominios como entrada en el siguiente formato:
    dominio1.com
    dominio2.com
    dominio3.com
  • Solucionará automáticamente el formato de dominios incorrectos como https://domain.com, https://www.domain.com, www.domain.com y otros.
  • Puede encontrar direcciones IP (usando entrada directa o entrada de archivo) de los hosts encontrados si especifica la opción -i.
  • Puede usar el binario precompilado que no necesita ninguna dependencia o instalación adicional para funcionar, solo descárguelo y úselo.
  • Está escrito en Rust, el lenguaje más potente actualmente, por lo tanto, es muy rápido y puede escanear 1.000.000 de dominios de forma recursiva sin problemas.

Si quiere ver una demostración completa del funcionamiento de la herramienta, puede a continuación:

· Instalación

La instalación se puede hacer de dos maneras, compilando el código fuente o usando el binario precompilado.

Desde el código fuente: Debe tener instalado Rust en su sistema operativo.

$ git clone https://github.com/Edu4rdSHL/findomain.git
$ cd findomain
$ cargo build --release
$ sudo cp target/release/findomain /usr/bin/
$ findomain

Usando el binario precompilado (Recomendado).

$ git clone https://github.com/Edu4rdSHL/findomain.git
$ sudo cp findomain/bin/findomain /usr/bin
$ findomain

Luego puede sencillamente ejecutar el comando findomain desde su terminal.

Con esto finalizamos este artículo, cualquier duda o inquietud dejarla en los comentarios. Registrate en el foro, síguenos en FacebookTwitterunete a nuestro chat en Discord y no olvides compartirnos en las redes sociales.

Acerca del autor

Especialista en Seguridad Informática bajo certificación OSCP, experto en técnicas de privacidad y seguridad en la red, analista de criptografía, Fundador de Security Hack Labs. Desarrollador de BlackArch Linux. Twitter: @edu4rdshl XMPP: edu4rdshl@conversations.im Threema ID: 736WU8VV