
uma ferramenta de inteligência de ameaças e resposta de custo baixo (zero) contra domínios de phishing
A ferramenta Jeopardize é desenvolvida para fornecer capacidades básicas de inteligência e resposta contra domínios de phishing com o menor custo possível. Ela detecta candidatos a domínios de phishing registrados (typosquatting, homógrafo etc.), analisa-os e atribui uma pontuação de risco. Depois disso, envia credenciais de aparência válida para os formulários de login nesses sites de phishing.
Por quê? Imagine este cenário: O atacante registra um domínio de phishing, acmebnak.com (Typosquatting de acmebank), copia o formulário de login original do acmebank.com e anuncia este domínio através de tweets patrocinados. Este anúncio e o domínio provavelmente serão marcados como phishing no dia seguinte, mas o atacante já colheu credenciais dos usuários. Retirá-lo após isso não ajudará os usuários afetados. O Jeopardize fornece uma solução proativa para este problema. Ele compromete o formulário de phishing com credenciais de aparência válida para confundir o atacante. Isso dará às organizações algum tempo para tomar precauções.
ATTACKER+-----advertises+
| +---------------+
| | |
+--------v-------+ +----------------+ | |
|twitter.com/ads | |acmebnak.com | | 549233/ahs72 +------>FAKE
+----------------+ +----------------+ | |
| | | | | 398273/pass1 +------>FAKE
| AcmeBank +-->+ username: +-------+ |
| Tax Refunds | | password: | | 393823/sm283 +------>LEGIT
| | | | | |
+--------^-------+ +----------------+ | 394837/azerb +------>FAKE
| ^ | |
VICTIM USER+-----clicks-+ |sends | |
|fake creds +---------------+
+
JEOPARDIZE
O Jeopardize gera diferentes combinações de palavras com um domínio fornecido. (dnstwist ajuda aqui) Por exemplo, se o domínio fornecido é acmebank.com, as combinações seriam acmebnak, acmeban, amcebank etc. Se o seu domínio tiver um nome curto ou genérico (por exemplo: aa.com) Esta ferramenta não ajudará. Funciona melhor para nomes únicos.
O Jeopardize tem dois métodos de detecção diferentes para identificar domínios registrados:
Brute: O Jeopardize combina as palavras geradas (acmebnak, amcebank etc.) com todos os TLDs (com, net, xyz, live etc.) e faz consulta whois para todos eles. Prós: Não requer chave de API, totalmente gratuito. / Contras: Leva muito tempo.
Dailly: Com a chave de API do Zonefiles.io fornecida, o Jeopardize coleta todos os domínios registrados nas últimas 24 horas e os pesquisa pelas palavras geradas (acmebnak, amcebank etc.). Prós: Rápido, pode ser usado facilmente como inteligência de ameaças diária. Contras: Requer chave de API do Zonefiles.io (edição Pro)
Os domínios detectados já são suspeitos. Mas existem fatores que aumentam a probabilidade de serem um domínio de phishing. Além disso, precisamos analisar se alguma página de phishing está instalada nesse domínio para que possamos tomar medidas contra eles. O Jeopardize verifica os seguintes elementos dos domínios registrados:
Se a pontuação de phishing for alta e o site tiver um formulário de login, o Jeopardize o preencherá automaticamente com a lista de nomes de usuário/senhas fornecida.
Ele salva as informações dos domínios de phishing detectados em um arquivo XML. Por exemplo:
<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>
O Jeopardize requer Python3 para funcionar e foi testado em macOS, Ubuntu 18.04 e sistemas Linux baseados em Debian. Primeiro, clone o repositório:
git clone https://github.com/utkusen/jeopardize.git
Entre na pasta
cd jeopardize
Instale as bibliotecas necessárias
pip3 install -r requirements.txt
Você também precisa instalar o chromedriver para selenium (Necessário para preenchimento de formulários. Se você não for usá-lo, não precisa instalar)
no Ubuntu: Execute sudo apt install chromium-chromedriver
no Kali (baseado em Debian): Execute pip3 install chromedriver-binary
no macOS: Execute brew cask install chromedriver
Se você quiser integrar a API Zonefiles.io, abra jeopardize.py com um editor de texto, substitua ZONEFILES_API_KEY = "" pela sua própria chave.
Você está pronto para começar!
Nota para usuários macOS: Parece que o macOS restringe o multithreading como mecanismo de segurança. Você precisa executar o seguinte comando antes de executar a ferramenta: export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES para mais informações sobre este problema, consulte aqui
Você precisa fornecer seu domínio para verificação de phishing com o parâmetro --domain. Você também precisa fornecer --type(brute,daily,incremental) como método de detecção de domínio registrado.
Exemplo de comando: python3 jeopardize.py --domain facebook.com --type brute
O que faz?: Combina as combinações de palavras de facebook (fcabook, facebkook etc.) com todos os TLDs (com, net, org, xyz) e faz consulta whois para todos eles. Os resultados serão salvos no arquivo facebook.com.xml. Isso não preenche os formulários de login dos domínios detectados.
Exemplo de comando: python3 jeopardize.py --domain facebook.com --type daily
O que faz?: Coleta todos os domínios registrados nas últimas 24 horas com a API Zonefiles.io e os pesquisa pelas palavras geradas (fcabook, facebkook etc.)
Exemplo de comando: python3 jeopardize.py --domain facebook.com --type incremental
O que faz?: Pega um arquivo XML gerado anteriormente (facebook.com.xml), coleta os domínios nele e atualiza seus dados, também faz varredura diária regular.
Se você quiser preencher formulários de login dos domínios de phishing detectados, forneça uma lista de nomes de usuário com -U e lista de senhas com o parâmetro -P
Exemplo de comando: python3 jeopardize.py --domain facebook.com --type daily -U user.txt -P pass.txt
Se você quiser ativar o modo verbose, adicione o parâmetro -v no final do comando.