No mundo do ciberespaço, existem softwares que buscam ser acessíveis a todos os tipos de público, ou seja, que os usuários possam utilizá-los, modificá-los, adaptá-los e distribuí-los conforme considerem adequado, sem a necessidade de obter permissões especiais ou licenças; isso é chamado de uma ferramenta de código aberto (open source em inglês).

O que torna uma ferramenta de código aberto tão valiosa?

Esse tipo de ferramenta baseia seu desenvolvimento em modelos descentralizados e colaborativos. Assim, sua dependência e melhoria contínua estão sempre vinculadas ao feedback da comunidade, não necessariamente a uma empresa.

Muitas dessas ferramentas podem ser encontradas no GitHub, onde milhares de usuários acessam repositórios ou código-fonte e contribuem para melhorar esses projetos.

Sua contraparte são as ferramentas proprietárias, também conhecidas como software de código fechado, que são legalmente protegidas pela empresa ou organização que as desenvolve. Elas limitam o acesso e a modificação apenas aos proprietários do código-fonte. Para que o usuário final possa utilizar essas ferramentas, é necessário pagar por seu uso através de uma assinatura ou licença, mas ele não terá permissão para modificá-las para novos usos nem compartilhá-las com terceiros.

Existem ferramentas de código aberto para cibersegurança?

Existe uma ampla variedade de ferramentas às quais é possível acessar. Abaixo, listamos algumas que podem ser úteis para qualquer entusiasta de cibersegurança:

Noir

É um detector de superfície de ataque de código aberto.

  • É multilíngue e utiliza vários frameworks que variam de Python, Ruby, JavaScript a Django, Spring, Express, respectivamente.
  • Atualmente, sua implementação é apenas para sistemas macOS e baseados em Linux.
  • Pode automaticamente atribuir o idioma e o framework do código-fonte.
  • Localiza a API de endpoints e páginas da web por meio da análise de código.
  • As saídas que produz são em formatos de dados estruturados, como JSON e HAR, permitindo interação com outras ferramentas.
  • Também suporta formatos de saída, como texto simples, JSON, curl e httpie.
  • Para mais detalhes, você pode visitar o repositório do Noir.
Noir

Imagem 1: Exemplo de uma pesquisa realizada com o Noir. Fonte: GitHub. Fonte: GitHub.

Associated-Threat-Analyzer

Identifica endereços IPv4 maliciosos e nomes de domínio associados à sua aplicação web por meio de domínios maliciosos locais e listas de IPv4, usando a linha de comando.

  • Está disponível apenas para sistemas baseados em Linux.
  • Sua utilização é simples por meio da linha de comando e é suportada por outros projetos de código aberto para seu funcionamento.
  • Atualmente, está na versão 1.0 e você pode acessar seu repositório por meio deste link.
Associated-Threat-Analyzer

Imagem 2: Captura de tela obtida do repositório oficial do Associated-Threat-Analyzer. Fonte: GitHub.

DNSWatch

Esta ferramenta em Python permite rastrear e analisar o tráfego DNS (Sistema de Nomes de Domínio) em uma rede específica. Ela monitora as solicitações e respostas de DNS, fornecendo informações sobre a atividade.

  • Está disponível apenas para sistemas baseados em Linux.
  • Entre suas características mais relevantes estão a inspeção detalhada dos pacotes que são analisados e a capacidade de filtragem personalizada de DNS para o IP de destino.
  • O desenvolvedor indica que a finalidade da ferramenta é apenas educativa e avaliativa, e se isenta de qualquer atividade maliciosa que possa ser realizada com ela.
dnswatch1

Imagem 3: Captura de tela obtida do repositório oficial do DNSWatch. Fonte: GitHub.

Holehe OSINT

Na área da ciberinteligência, encontra-se esta ferramenta que verifica se um endereço de e-mail é legítimo, e tudo relacionado a ele, em mais de 120 plataformas, incluindo destaque para X (anteriormente conhecido como Twitter), Instagram, Amazon, entre outros.

  • Possui uma versão on-line.
  • Para os sites que possui registros, existe um limite de buscas, portanto, o desenvolvedor sugere mudar para outra rede ou conectar-se a uma VPN.

No exemplo a seguir, foi feito um teste de conceito com um número de suporte da Guatemala:

Holehe-Online

Imagem 4: Versão on-line do Holehe. Fonte: OSINT INDUSTRIES.

Bryobio

Permite otimizar a análise de capturas de rede (PCAP) para pessoal do SOC (Centro de Operações de Segurança).

  • Sua utilização é feita por meio da linha de comando.
  • Compatível com sistemas operacionais Linux, sendo principalmente testado em Debian e Ubuntu.
  • Entre suas funções mais destacadas estão a obtenção de endereços de e-mail, as portas mais utilizadas e detalhes das conexões.
Bryobio
Imagem 5: Captura de tela obtida do repositório oficial do Bryobio. Fonte: GitHub.

Bashfuscator

É um framework modular e extensível de ofuscação Bash, programado em Python. Facilita a geração de comandos e scripts Bash altamente ofuscados.

  • Foi criado para permitir que a equipe Red Team avalie a capacidade de evasão que um ciberatacante pode alcançar se as soluções implementadas nas organizações não detectarem comandos Bash ofuscados em sistemas operacionais Linux.
  • Quanto à equipe Blue Team, permite gerar novas políticas de detecção de ameaças com base nos testes realizados pelo Red Team.
Bashfuscator

Imagem 6: Captura de tela obtida do repositório oficial do Bashfuscator. Fonte: GitHub.

MsLDAPDump

Simplifica a enumeração LDAP em um ambiente de domínio ao empacotar a biblioteca lpap3 de Python em uma interface PowerShell.

  • Entre suas funções está a exploração de sub-redes para sistemas com as portas 389 e 636 abertas, informações básicas do domínio como permissões de usuário atuais, SID do domínio, política de senhas, entre outros.
  • Atualmente, possui falhas em sistemas Unix, por isso, sua versão estável está disponível apenas para Windows.
msLDAPDump

Imagem 7: Exemplo de conexão anônima através do msLDAPDump. Fonte: GitHub.

A Importância das ferramentas de código aberto na cibersegurança

Na cibersegurança, as ferramentas de código aberto permitem que profissionais e comunidades as utilizem, modifiquem, adaptem e distribuam de acordo com suas necessidades. Além disso, por estarem disponíveis para o público em geral, qualquer vulnerabilidade ou melhoria no código pode ser identificada e corrigida rapidamente. Portanto, sua importância é fundamental para promover a inovação e automatização de tarefas ou processos de cibersegurança.