
una herramienta de inteligencia y respuesta ante amenazas de bajo (cero) costo contra dominios de phishing
La herramienta Jeopardize está desarrollada para proporcionar capacidades básicas de inteligencia y respuesta contra amenazas de dominios de phishing al mínimo costo posible. Detecta candidatos a dominios de phishing registrados (typosquatting, homógrafos, etc.), los analiza y les asigna una puntuación de riesgo. Luego, envía credenciales de apariencia válida a los formularios de inicio de sesión en esos sitios de phishing.
¿Por qué? Imagine este escenario: Un atacante registra un dominio de phishing, acmebnak.com (typosquatting de acmebank), copia el formulario de inicio de sesión original de acmebank.com allí y publicita este dominio a través de tweets patrocinados. Este anuncio y el dominio probablemente serán marcados como phishing al día siguiente, pero el atacante ya ha recolectado credenciales de usuarios. Eliminarlo después de eso no ayudará a los usuarios afectados. Jeopardize proporciona una solución proactiva a este problema. Compromete el formulario de phishing con credenciales de apariencia válida para confundir al atacante. Esto dará tiempo a las organizaciones para tomar precauciones.
ATACANTE+-----publicita+
| +---------------+
| | |
+--------v-------+ +----------------+ | |
|twitter.com/ads | |acmebnak.com | | 549233/ahs72 +------>FALSO
+----------------+ +----------------+ | |
| | | | | 398273/pass1 +------>FALSO
| AcmeBank +-->+ usuario: +-------+ |
| Reembolsos | | contraseña: | | 393823/sm283 +------>LEGÍTIMO
| fiscales | | | | |
+--------^-------+ +----------------+ | 394837/azerb +------>FALSO
| ^ | |
USUARIO VÍCTIMA+--hace clic-+ |envía | |
|credenciales +---------------+
|falsas
+
JEOPARDIZE
Jeopardize genera diferentes combinaciones de palabras con un dominio dado. (dnstwist ayuda aquí) Por ejemplo, si el dominio dado es acmebank.com, las combinaciones serían acmebnak, acmeban, amcebank, etc. Si su dominio tiene un nombre corto o genérico (por ejemplo: aa.com), esta herramienta no le servirá. Funciona mejor para nombres únicos.
Jeopardize tiene dos métodos de detección diferentes para identificar dominios registrados:
Bruto: Jeopardize combina las palabras generadas (acmebnak, amcebank, etc.) con todos los TLD (com, net, xyz, live, etc.) y realiza una consulta whois para todos ellos. Ventajas: No requiere clave API, totalmente gratuito. / Desventajas: Tarda mucho tiempo.
Diario: Con la clave API de Zonefiles.io proporcionada, Jeopardize extrae todos los dominios registrados en las últimas 24 horas y los busca por las palabras generadas (acmebnak, amcebank, etc.). Ventajas: Rápido, se puede usar fácilmente como inteligencia de amenazas diaria. Desventajas: Requiere clave API de Zonefiles.io (edición Pro)
Los dominios detectados ya son sospechosos. Pero hay factores que aumentan la probabilidad de que sean un dominio de phishing. Además, necesitamos analizar si hay alguna página de phishing instalada en ese dominio para poder tomar medidas contra ella. Jeopardize verifica los siguientes elementos de los dominios registrados:
Si la puntuación de phishing es alta y el sitio web tiene un formulario de inicio de sesión, Jeopardize lo rellenará automáticamente con la lista de nombres de usuario/contraseñas proporcionada.
Guarda la información de los dominios de phishing detectados en un archivo XML. Por ejemplo:
<domain>
<address>acmebnak.com</address>
<name_servers>ns1.cloudflare.com ns2.cloudflare.com</name_servers>
<mx_servers> </mx_servers>
<date_flag>True</date_flag>
<alexa_flag>False</alexa_flag>
<webserver_flag>True</webserver_flag>
<certificate_flag>False</certificate_flag>
<form_flag>True</form_flag>
<phishing_score>85</phishing_score>
</domain>
Jeopardize requiere Python3 para funcionar y ha sido probado en macOS, Ubuntu 18.04 y sistemas Linux basados en Debian. Primero, clone el repositorio:
git clone https://github.com/utkusen/jeopardize.git
Entre en la carpeta
cd jeopardize
Instale las librerías necesarias
pip3 install -r requirements.txt
También necesita instalar chromedriver para selenium (Necesario para el relleno de formularios. Si no va a usarlo, no necesita instalarlo)
en Ubuntu: Ejecute sudo apt install chromium-chromedriver
en Kali (basado en Debian): Ejecute pip3 install chromedriver-binary
en macOS: Ejecute brew cask install chromedriver
Si desea integrar la API de Zonefiles.io, abra jeopardize.py con un editor de texto, reemplace ZONEFILES_API_KEY = "" con su propia clave.
¡Ya está listo!
Nota para usuarios de macOS: Parece que macOS restringe el multihilo como mecanismo de seguridad. Debe ejecutar el siguiente comando antes de ejecutar
la herramienta: export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES. Para más información sobre este problema, consulte aquí
Debe proporcionar su dominio para la verificación de phishing con el parámetro --domain. También debe proporcionar --type (brute, daily, incremental) como método de detección de dominios registrados.
Ejemplo de comando: python3 jeopardize.py --domain facebook.com --type brute
¿Qué hace?: Combina las combinaciones de palabras de facebook (fcabook, facebkook, etc.) con todos los TLD (com, net, org, xyz) y realiza una consulta whois para todos ellos. Los resultados se guardarán en el archivo facebook.com.xml. Esto no rellena los formularios de inicio de sesión de los dominios detectados.
Ejemplo de comando: python3 jeopardize.py --domain facebook.com --type daily
¿Qué hace?: Extrae todos los dominios registrados en las últimas 24 horas con la API de Zonefiles.io y los busca por las palabras generadas (fcabook, facebkook, etc.)
Ejemplo de comando: python3 jeopardize.py --domain facebook.com --type incremental
¿Qué hace?: Toma un archivo XML generado previamente (facebook.com.xml), extrae los dominios que contiene y actualiza sus datos, y también realiza un escaneo diario regular.
Si desea rellenar los formularios de inicio de sesión de los dominios de phishing detectados, proporcione una lista de nombres de usuario con -U y una lista de contraseñas con -P
Ejemplo de comando: python3 jeopardize.py --domain facebook.com --type daily -U user.txt -P pass.txt
Si desea activar el modo verbose, agregue el parámetro -v al final del comando.