DNSTwist - Búsqueda de dominios potenciales para phishing

Iniciado por HATI, Agosto 28, 2017, 05:22:38 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 28, 2017, 05:22:38 AM Ultima modificación: Agosto 29, 2017, 02:29:11 PM por HATI

Cuando nosotros o una empresa poseemos un dominio y nos preocupa que puedan realizar ataques de phising en nuestro nombre o con la imagen corporativa, lo primero que hay que hacer es comprobar los dominios similares al nuestro. Esta tarea puede ser muy tediosa, ya que hay que comprobar en diferentes webs, y se nos pueden escapar los dominios con caracteres unicode, que actualmente son una de las formas más originales de suplantar una web (dejo un artículo del compañero @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que habla sobre el tema - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta).

Para facilitar la tarea, la gente de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta han creado DNSTwist.




DNSTwist

DNSTwist genera nombres de dominio similares al que le introducimos, después comprueba si están registrados, y nos da la opción de buscar similitudes en el código HTML, hasheandolo y haciendo comparaciones. Además, permite comprobar si los servidores de correo están mal configurados y permiten la intercepción de mails.

Junto con la longitud del dominio, el número de variantes generadas por los algoritmos aumenta considerablemente y por lo tanto el número de consultas DNS necesarias para verificarlas. Por ejemplo, para comprobar todas las variantes de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, tendría que enviar más de 300k consultas. Para el dominio No tienes permitido ver los links. Registrarse o Entrar a mi cuenta el número aumenta a más de 5 millones. Esto se traduce en una gran cantidad de recursos y tiempo. Para los dominios más largos, comprobar todas las opciones no es viable. Por esta razón, la herramienta genera y comprueba dominios muy cercanos al original - la distancia de Levenshtein no supera 2. Teóricamente, estos son los dominios más atractivos desde el punto de vista del atacante, sin embargo, hay que tener en cuenta que la imaginación de los agresores es ilimitada.


Características:



  • Amplia gama de algoritmos de fuzzing de dominio
  • Nombres de dominio Unicode (IDN)
  • Distribución de trabajos multiproceso
  • Consultas A, AAAA, NS y registros MX
  • Evalúa la similitud de la página web con fuzzy hashes para encontrar sitios de phishing en vivo mediante el algoritmo ssdeep
  • Prueba si el host MX (servidor de correo) se puede utilizar para interceptar correos electrónicos mal dirigidos
  • Permite el uso de diccionario
  • Información de ubicación con GeoIP
  • WHOIS búsquedas para la creación y la fecha de modificación
  • Graba banners de servicio HTTP y SMTP
  • Salida en formato CSV y JSON


Instalación:

Para obtener la herramienta podemos obtenerla desde su repositorio de GitHub: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

La herramienta se puede instalar tanto en Linux, OSX y Docker. En este tutorial mostraré solo la instalación en sistemas Linux.
En primer lugar tenemos que instalar los prerrequisitos, lo podemos hacer de dos formas. Recomiendo la primera ya que no te dará problemas de compatibilidad con otras instalaciones:
Código: bash
sudo apt-get install python-dnspython python-geoip python-whois python-requests python-ssdeep python-cffi



Código: bash
sudo apt-get install libgeoip-dev libffi-dev
BUILD_LIB=1 pip install -r requirements.txt



Uso:

El uso más sencillo de la herramienta es lanzarla sin argumentos. Se generará una lista de posibles dominios de phishing con los siguientes registros DNS: A, AAAA, NS y MX.
Código: bash
dnstwist.py --registered example.com


Normalmente tendremos una lista bastante amplia, y comprobar si esos dominios están registrados a mano sería una perdida de tiempo, para ello tenemos la opción -registered. Con está opción se nos muestran solo los dominios registrados.
Código: bash
dnstwist.py --registered example.com


Para facilitarnos aún más la tarea, DNSTwist permite buscar phising activos mediante el algoritmo ssdeep. El algoritmo de ssdeep divide de forma secuencial un archivo en grupos iguales de bytes, y sobre cada uno de estos grupos calcula un hash. Luego a partir de estos se calcula un nuevo hash que va a representar el total del archivo. Y es precisamente sobre este hash que se puede comparar la similitud con otros archivos.Para cada dominio generado, dnstwist obtendrá el contenido del servidor HTTP que responde (siguiendo los posibles redireccionamientos) y comparará su hash difuso con el del dominio original (inicial). El nivel de similitud se expresará como un porcentaje. Tenga en cuenta que es poco probable que obtenga el 100% de coincidencia para una página web generada dinámicamente, pero cada notificación debe inspeccionarse cuidadosamente independientemente del nivel de porcentaje.
Código: bash
dnstwist.py --ssdeep example.com
dnstwist.py --ssdeep example.com/crm/login


Muy a menudo los atacantes crean honeypots de correo electrónico en los dominios de phishing y esperan que los correos electrónicos mal escritos lleguen. DNSTwist permite comprobar si los servidores MX pueden ser vulnerables a este tipo de ataques.
Código: bash
dnstwist.py --mxcheck example.com


Si preferimos usar nuestro propio diccionario en vez de los algoritmos de DNSTwist también tenemos la opción.
Código: bash
dnstwist.py --dictionary dictionaries/english.dict example.com


La herramienta se integra con la base de datos GeoIP. Utilice el argumento --geoip para mostrar la ubicación geográfica (nombre del país) para cada dirección IPv4.
Código: bash
dnstwist.py --geoip example.com


Aparte de la salida en consola, podemos exportar los resultados en formato CSV o JSON.
Código: bash
dnstwist.py --csv example.com > out.csv
dnstwist.py --json example.com > out.json



Un saludo, HATI  ;D


Jugar o perder

Gracias por el aporte, @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, puede ser muy útil para ver posibles vectores de ataque y solventarlos. Habrá que probarlo cuando saque tiempo!!

Saludos