(http://i.imgur.com/wGdqFMv.png)
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 @arthusu (https://underc0de.org/foro/profile/arthusu/) que habla sobre el tema - Homografos Unicode en URL's Y Cambio de Contraseñas (https://underc0de.org/foro/hacking/t30477/)).
Para facilitar la tarea, la gente de www.f-secure.com (http://www.f-secure.com) han creado
DNSTwist.
DNSTwistDNSTwist 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 google.com, tendría que enviar más de 300k consultas. Para el dominio facebook.com 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: https://github.com/elceef/dnstwist (https://github.com/elceef/dnstwist)
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:
sudo apt-get install python-dnspython python-geoip python-whois python-requests python-ssdeep python-cffi
sudo apt-get install libgeoip-dev libffi-dev
BUILD_LIB=1 pip install -r requirements.txt
Uso:(http://i.imgur.com/0PvLxPH.png)
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.
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.
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.
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.
dnstwist.py --mxcheck example.com
Si preferimos usar nuestro propio diccionario en vez de los algoritmos de DNSTwist también tenemos la opción.
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.
dnstwist.py --geoip example.com
Aparte de la salida en consola, podemos exportar los resultados en formato CSV o JSON.
dnstwist.py --csv example.com > out.csv
dnstwist.py --json example.com > out.json
Un saludo,
HATI ;D
Excelente aporte bro!! esta de mil! (http://esteticasora.com/new/c/?i=hxc)