Dnstwist es una herramienta que permite ver qué clase de problemas pueden tener los usuarios al tratar de escribir un nombre de dominio. Encuentra dominios similares que los atacantes puedan usar para comprometer su dominio. Puede detectar: errores de tipografía, ataques de phishing, fraude y espionaje corporativo. Útil como una fuente adicional de inteligencia de amenazas específicas.
La idea es bastante sencilla: dnstwist toma su nombre de dominio como una semilla, genera una lista de posibles dominios de phishing y luego verifica si están registrados. Además, puede probar si el servidor de correo del registro MX se puede usar para interceptar correos electrónicos corporativos mal dirigidos y puede generar hash borrosos de las páginas web para ver si son sitios de phishing en vivo.
Características principales de dnstwist:
- Una amplia gama de algoritmos de fuzzing de dominio eficientes.
- Nombres de dominio Unicode (IDN).
- Distribución de trabajo multiproceso.
- Consultas A, AAAA, NS y registros MX.
- Evalúa la similitud de la página web con hash borrosos para encontrar sitios de phishing en vivo.
- Prueba si el host MX (servidor de correo) se puede usar para interceptar correos electrónicos mal dirigidos.
- Variantes de dominio adicionales que usan archivos de diccionario.
- Información de ubicación GeoIP.
- Captura banners de servicios HTTP y SMTP.
- Búsquedas de WHOIS para la creación y fecha de modificación
- Salida en formato CSV y JSON.
Cómo utilizar:
Para empezar, es una buena idea ingresar solo el nombre de dominio como argumento. La herramienta lo ejecutará a través de sus algoritmos de fuzzing y generará una lista de posibles dominios de phishing con los siguientes registros DNS: A, AAAA, NS y MX.
$dnstwist.py example.com
Por lo general, la lista de dominios generada tiene más de cien filas, especialmente para nombres de dominio más largos. En tales casos, puede ser práctico mostrar solo los registrados (resolubles) utilizando – argumento registrado .
$dnstwist.py –registered example.com
Comprobar manualmente cada nombre de dominio en términos de servir un sitio de phishing puede llevar mucho tiempo. Para hacer frente a esto, dnstwist hace uso de los denominados hash difusos (hashes por partes desencadenados por contexto). Fuzzy hash es un concepto que implica la capacidad de comparar dos entradas (en este caso, el código HTML) y determinar un nivel fundamental de similitud. Esta característica única de dnstwist se puede habilitar con el argumento –ssdeep . Para cada dominio generado, dnstwist obtendrá contenido del servidor HTTP que responde (siguiendo posibles redirecciones) 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 obtener el 100% de coincidencia para una página web generada dinámicamente, pero cada notificación debe inspeccionarse cuidadosamente, independientemente del nivel de porcentaje.
$dnstwist.py –ssdeep example.com
En algunos casos, los sitios de phishing se sirven desde una URL específica. Si proporciona una dirección URL completa o parcial como argumento, dnstwist la analizará y aplicará para cada variante de nombre de dominio generado. Esta habilidad es obviamente útil solo en conjunción con la función difusa de hash.
$dnstwist.py –ssdeep https://example.com/owa/ $ dnstwist.py –ssdeep example.com/crm/login
Con mucha frecuencia, los atacantes configuran los servidores de correos electrónicos en los dominios de suplantación de identidad (phishing) y esperan a que lleguen los correos electrónicos mal escritos. En este escenario, los atacantes configurarían su servidor para aspirar todos los correos electrónicos dirigidos a ese dominio, independientemente del usuario al que se envió. Otra función dnstwist permite realizar una prueba simple en cada servidor de correo (anunciado a través del registro MX del DNS) con el fin de verificar cuál se puede usar para dicho intento hostil. Los servidores sospechosos se marcarán con la cadena «SPYING-MX» .
Hay que tener en cuenta posibles falsos positivos. Algunos servidores de correo solo pretenden aceptar correos electrónicos dirigidos incorrectamente, pero luego descartan esos mensajes. Esta técnica se usa para prevenir un ataque de recolección de directorio.
$dnstwist.py –mxcheck example.com
No siempre son suficientes los nombres de dominio generados por los algoritmos fuzzing. Para generar aún más variantes de nombres de dominio, se puede alimentar dnstwist con un archivo de diccionario. Se incluyen algunas muestras de diccionarios con una lista de las palabras más comunes utilizadas en campañas de phishing.
$dnstwist.py –dictionary dictionaries/english.dict example.com
Además de la salida de texto agradable y colorida predeterminada, la herramienta proporciona dos formatos de salida bien conocidos y fáciles de analizar: CSV y JSON. Especialmente indicado para el intercambio de datos.
$dnstwist.py –csv example.com > out.csv $ dnstwist.py –json example.com > out.json
La herramienta se envía con una base de datos GeoIP incorporada. Con el argumento «–geoip» para mostrar la ubicación geográfica (nombre del país) para cada dirección IPv4.
$dnstwist.py –geoip example.com
Por supuesto, todas las funciones que ofrece dnstwist junto con breves descripciones están siempre disponibles al alcance de la mano:
$dnstwist.py –help
Fuente: Gurudelainformatica.es