ODIN
Observe, Detectar e Investigar Redes


Versão atual: v2.0.0 "Huginn"
ODIN é uma ferramenta Python para automatizar a coleta de inteligência, descoberta de ativos e geração de relatórios. Lembre-se, verifique o branch dev para a versão mais recente, e feedback é bem-vindo!
Veja o wiki do GitHub para detalhes e instruções de instalação e configuração.
O que o ODIN pode fazer?
O ODIN tem como objetivo automatizar as tarefas básicas de reconhecimento usadas por red teams para descobrir e coletar dados sobre ativos de rede, incluindo domínios, endereços IP e sistemas voltados para a internet. A principal característica do ODIN é o gerenciamento de dados e a geração de relatórios. Os dados são organizados em um banco de dados e, opcionalmente, esse banco pode ser convertido em um relatório HTML ou em um banco de dados gráfico Neo4j para visualizar os dados.
O ODIN realiza isso em várias fases:
Fase 1 - Descoberta de Ativos
- Coletar informações básicas da organização a partir de fontes como o banco de dados de marketing Full Contact.
- Verificar DNS Dumpster, Netcraft e certificados TLS para descobrir subdomínios dos domínios fornecidos.
- Resolver domínios e subdomínios para endereços IP por meio de conexões socket e registros DNS.
- Coletar informações de todos os endereços IP, como dados de propriedade e organização, a partir de RDAP, whois e outras fontes de dados.
- Consultar domínios e pesquisar endereços IP no Shodan para coletar dados adicionais, como sistemas operacionais, banners de serviço e portas abertas.
- Verificar a possibilidade de takeovers e domain fronting com os domínios e subdomínios.
Fase 2 - Descoberta de Funcionários
- Coletar endereços de e-mail e nomes de funcionários da organização alvo.
- Vincular funcionários a perfis de mídia social por meio de mecanismos de busca e da API do Twitter.
- Verificar cruzadamente endereços de e-mail descobertos com o Have I Been Pwned de Troy Hunt.
Fase 3 - Serviços em Nuvem e Web
- Procurar por arquivos do Office e PDFs sob o domínio alvo, baixá-los e extrair metadados.
- Pesquisar por buckets AWS S3 e Digital Ocean Spaces usando palavras-chave relacionadas à organização.
- Tirar screenshots dos serviços web descobertos para uma revisão rápida e inicial dos serviços.
Fase 4 - Geração de Relatórios
- Salvar todos os dados em um banco de dados SQLite3 para que os dados possam ser facilmente consultados.
- Gerar um relatório HTML usando consultas SQL padrão para facilitar a visualização dos dados em um navegador web.
- Criar um banco de dados gráfico Neo4j que conecta todas as entidades descobertas (endereços IP, domínios, subdomínios, portas e certificados) com relacionamentos (ex.: RESOLVES_TO, HAS_PORT).
Ao final de tudo isso, você terá várias maneiras de navegar e visualizar os dados. Até mesmo uma consulta simples no Neo4j como MATCH (n) RETURN n (exibir tudo) pode criar um gráfico fascinante do perímetro externo da organização e tornar fácil ver como os ativos estão interligados. As páginas do wiki do Neo4j contêm exemplos de consultas melhores.