Usando métodos ofensivos para enriquecer a Inteligência de Ameaças


Hoje, a Threat Intelligence, ou a coleta ativa de informações sobre ameaças à segurança da informação, é uma ferramenta essencial no processo de identificação de incidentes de segurança da informação. As fontes típicas de TI incluem assinaturas gratuitas com indicadores maliciosos, boletins de fabricantes de hardware e software que descrevem vulnerabilidades, relatórios de pesquisadores de segurança com descrições detalhadas de ameaças, além de assinaturas comerciais de fornecedores de TI. Além disso, muitas vezes as informações obtidas usando as fontes acima não têm um grau suficiente de abrangência e relevância. O uso de OSINT (inteligência de código aberto) e métodos ofensivos (ou seja, métodos que não são característicos do defensor, mas do atacante) na segurança da informação, que serão discutidos neste artigo, podem contribuir para melhorar a eficiência e melhorar a qualidade da TI.

AVISO LEGAL


Este artigo é apenas para fins informativos. O autor não é responsável por possíveis danos e / ou interrupção das redes e / ou serviços de terceiros associados à execução de determinadas ações descritas no artigo. O autor também incentiva os leitores a cumprir a lei.

Não em vez disso, mas juntos


Gostaria de fazer uma reserva imediatamente de que não se trata de recusar ou substituir as informações de Inteligência contra Ameaças recebidas de fontes tradicionais pagas e gratuitas, mas de complementá-las e enriquecê-las.

Portanto, o uso de métodos adicionais de TI pode aumentar sua eficiência e ajudar na solução de vários problemas. Por exemplo, com a próxima epidemia de IoT afetando certas versões vulneráveis ​​de firmware, em quanto tempo posso obter um feed com os endereços IP de dispositivos potencialmente vulneráveis ​​para detectar rapidamente suas atividades no perímetro? Ou quando as regras do sistema de monitoramento são acionadas por um indicador (endereço IP ou nome de domínio) marcado como malicioso há um ano ou mais, como entender se ele ainda permanece malicioso, desde que você inicie alguma verificação adicional do indicador como "Por enquanto" é geralmente impossível.

Ou seja, a adição e o enriquecimento serão especialmente úteis para indicadores de meia-idade, de acordo com a “pirâmide da dor” de David Bianco [0] (endereços IP, nomes de domínio, artefatos de rede), no entanto, em algumas circunstâncias, é possível obter novos indicadores de longa duração (acima da pirâmide) analistas.



Verificação na Internet


Um dos métodos úteis para obter a Inteligência de ameaças é a verificação em rede.

O que geralmente é coletado ao digitalizar
Na maioria das vezes, ao realizar uma varredura, os resultados mais interessantes são obtidos coletando os chamados "banners" - as respostas do software aplicativo do sistema varrido às solicitações do scanner. Os "banners" contêm muitos dados que identificam o software aplicativo e seus vários parâmetros no "outro lado", e essa verificação é feita rapidamente.

Ao resolver a tarefa de expandir o escopo da Inteligência contra ameaças, a verificação terá como alvo toda a Internet. Ao digitalizar um espaço de endereço público (~ 3,7 bilhões de endereços IPv4, excluindo endereços reservados), você pode extrair as seguintes informações úteis:

  • Quais nós são vulneráveis ​​a vulnerabilidades amplamente exploradas como parte de campanhas maliciosas reais e, em vista desse fato, são fontes potenciais de exposição maliciosa.
  • Quais nós são os servidores de controle das redes botnet [1] , acessos aos quais podem ser identificados por um nó comprometido no perímetro protegido.
  • Quais nós pertencem à parte não pública das redes anônimas distribuídas, que podem ser usadas para saída discretamente descontrolada fora do perímetro protegido.
  • Informações mais detalhadas sobre os nós "acenderam" na operação do sistema de monitoramento.

Seleção de ferramenta


Ao longo dos anos de desenvolvimento de redes de informação, um grande número de ferramentas para digitalização em rede foi criado. Entre o software atual, os seguintes scanners podem ser distinguidos:


Considere brevemente as principais vantagens e desvantagens dessas ferramentas para o enriquecimento da TI no espaço da Internet.

Nmap


Talvez o scanner de rede mais famoso, criado há 20 anos. Devido à possibilidade de usar scripts personalizados (por meio do Nmap Scripting Engine), essa é uma ferramenta extremamente flexível, não se limitando apenas à coleta de "banners" aplicados. No momento, um número bastante grande de scripts NSE foi gravado, muitos dos quais estão disponíveis gratuitamente. Como o Nmap monitora cada conexão, ou seja, possui uma natureza síncrona, não vale a pena usá-la em grandes redes como a Internet devido à baixa velocidade do scanner. Ao mesmo tempo, é aconselhável usar essa ferramenta em pequenas amostras de endereços obtidos por ferramentas mais rápidas, devido ao poder do NSE.

Sobre a velocidade do Nmap
Apesar da baixa produtividade inicialmente, desde o lançamento deste scanner, seus desenvolvedores adicionaram muitos recursos que aumentam a velocidade da digitalização. Entre eles estão os modos operacionais paralelos e a tarefa de classificar em pacotes por segundo. No entanto, mesmo com configurações distorcidas, o Nmap fica atrás dos concorrentes assíncronos em velocidade. Usando o exemplo de varredura / 15 sub-redes em uma porta 443 / tcp de uma máquina virtual com 1 CPU Xeon Gold 6140 e um canal de gigabit, obtemos:

  • 71,08 segundos para o Nmap com os parâmetros -T5 -n -Pn -p 443 --open --min-rate 1000000 --randomize-hosts --defeat-rst-ratelimit –oG nmap.txt
  • 9,15 segundos para o Zmap com os parâmetros -p 443 –o zmap.txt


Zmap


Um scanner de rede assíncrono bastante conhecido, embora não o primeiro de seu tipo, que apareceu em 2013. De acordo com o relatório dos desenvolvedores publicado na 22ª conferência do USENIX Security Simposium [5] , a ferramenta pode escanear todo o intervalo de endereços públicos, executado em um computador comum com conexão à Internet em gigabit, em menos de 45 minutos (através de uma porta). Os benefícios do Zmap incluem:

  • Alta velocidade; usando a estrutura PF_RING e uma conexão de 10 gigabit, o tempo teórico de varredura de um espaço de endereço IPv4 público é de 5 minutos (uma porta).
  • Suporte para verificação aleatória de endereços de rede.
  • Suporte de módulo para varreduras TCP SYN, ICMP, consultas DNS, UPnP, BACNET [6] , som UDP.
  • Presença nos repositórios de distribuições comuns do GNU / Linux (além disso, há suporte para Mac OS e BSD).
  • Além do Zmap, vários projetos de utilitários relacionados foram desenvolvidos para ampliar a funcionalidade do scanner.

Se falarmos sobre as desvantagens do Zmap, aqui podemos observar a capacidade de verificar endereços em apenas uma porta no momento.

Dos projetos relacionados ao Zmap, expandindo sua funcionalidade para tarefas de interesse, podemos destacar:

  • O ZGrab é um scanner de protocolo de aplicativo com suporte para os protocolos TTP, HTTPS, SSH, Telnet, FTP, SMTP, POP3, IMAP, Modbus, BACNET, Siemens S7 e Tridium Fox (grabber de banner com recursos avançados).
  • O ZDNS é um utilitário para consultas rápidas de DNS.
  • O ZTag é um utilitário para marcar os resultados da verificação fornecidos pelo ZGrab.
  • O ZBrowse é um utilitário de distribuição sem cabeça baseado no Chrome para rastrear alterações no conteúdo do site.

Sobre os recursos do ZGrab
O scanner avançado dos protocolos de aplicativos ZGrab, para os quais a versão 2.0 já foi lançada (não há paridade funcional completa com a versão 1.X, mas será alcançada em um futuro próximo, após o qual será possível falar sobre a substituição completa da versão antiga por uma nova), o que permite filtrar os resultados com bastante flexibilidade digitalização graças ao suporte ao formato de saída estruturada (JSON). Por exemplo, para coletar apenas o emissor e o assunto do nome distinto dos certificados HTTPS, basta um comando simples:

 zmap --target-port=443 --output-fields=saddr | ./zgrab2 tls -o - | jq '.ip + "|" + .data.tls.result.handshake_log.server_certificates.certificate.parsed.issuer_dn + "|" + .data.tls.result.handshake_log.server_certificates.certificate.parsed.subject_dn' > zmap-dn-443.txt 


Masscan


O scanner assíncrono, criado no mesmo ano que o Zmap, é semelhante em sintaxe de comando ao Nmap.

O criador (Robert David Graham) declarou maior produtividade do que todos os scanners assíncronos existentes na época, incluindo o Zmap, alcançados com o uso de uma pilha TCP / IP personalizada.

Vantagens do scanner:

  • Alta velocidade com desempenho teórico de até 10 milhões de pacotes por segundo, o que permite digitalizar todo o espaço público IPv4 em alguns minutos (em uma porta) em uma conexão de 10 gigabits - o mesmo que no Zmap usando a estrutura PF_RING.
  • Suporte para protocolos TCP, SCTP e UDP (via envio de cargas UDP do Nmap).
  • Suporte para verificação aleatória de endereços de rede.
  • Suporte para selecionar o intervalo de IP e o intervalo de portas ao digitalizar.
  • Suporte para vários formatos para gerar resultados de varredura (XML, grepable, JSON, binário, como uma lista).

Ao mesmo tempo, o scanner tem várias desvantagens:

  • Em conexão com o uso de uma pilha TCP / IP personalizada, é recomendável executar uma varredura em um IP dedicado para evitar conflitos com a pilha do SO.
  • Comparado ao ZGrab, as possibilidades do banner grabber são bastante limitadas.

Gráfico de comparação do scanner


A tabela de resumo abaixo fornece uma comparação da funcionalidade desses scanners.

Valores nas linhas da tabela
"++" - muito bem implementado
"+" - implementado
"±" - implementado com restrições
"-" - não implementado



Selecionando destinos e método de verificação


Depois de escolher quais ferramentas usar, você precisa decidir sobre o objeto e a finalidade da verificação, ou seja, entender o que e por que fazer a verificação. Se o primeiro, via de regra, não surgir nenhuma dúvida (este é um espaço de endereço IPv4 público com várias exceções), e no segundo tudo depende do resultado final desejado. Por exemplo:

  • Para identificar nós que estão sujeitos a uma vulnerabilidade específica, é razoável primeiro percorrer o intervalo verificado com uma ferramenta rápida (Zmap, Masscan) para identificar nós com portas abertas de serviços vulneráveis; após finalizar a lista de endereços, vale a pena usar o Nmap com o script NSE correspondente, se houver, ou criar um script personalizado com base nas informações disponíveis sobre a vulnerabilidade nas publicações dos pesquisadores de segurança. Às vezes, um grep simples é suficiente para banners de aplicativos coletados, porque muitos serviços exibem informações sobre sua versão nele.
  • Para identificar os nós da infraestrutura oculta - redes anônimas e nós C2 (ou seja, os servidores de controle das redes botnet) - será necessário compilar cargas úteis / análises personalizadas.
  • Para resolver uma ampla variedade de problemas na identificação de nós comprometidos, partes da infraestrutura de redes anônimas e outras coisas, a coleta e a análise de certificados podem dar muito durante os handshakes do TLS.

Escolha da infraestrutura


O fato de os scanners rápidos modernos poderem mostrar resultados impressionantes em recursos bastante modestos do processador médio não significa que a carga na infraestrutura de rede seja insignificante. Devido às especificidades do tráfego gerado durante a verificação, é obtida uma taxa suficientemente significativa de pacotes por segundo. Segundo a experiência, um núcleo do processador médio (em uma CPU de produção dos últimos anos, em um ambiente virtual, em qualquer sistema operacional, sem nenhum ajuste da pilha TCP / IP) é capaz de gerar um fluxo da ordem de 100 a 150 mil pacotes por segundo por faixa de ~ 50 Mb / s , que é um fardo sério para roteadores de software. Os equipamentos de rede de hardware também podem ter problemas para atingir o limite de desempenho do ASIC. Ao mesmo tempo, a uma velocidade de varredura de 100-150 Kpps (mil pacotes por segundo), ignorar o intervalo público de IPv4 pode levar mais de 10 horas, ou seja, uma quantidade bastante significativa de tempo. Para uma varredura realmente rápida, você deve usar uma rede distribuída de nós de varredura que divide o pool varrido em partes. Uma ordem de varredura aleatória também é necessária para que a utilização dos canais da Internet e o carregamento em lote de equipamentos de fornecedores na “última milha” não sejam significativos.

Dificuldades e momentos “sutis”




Na prática, ao realizar varreduras em rede de massa, pode-se encontrar uma série de dificuldades, tanto de natureza tecnológica quanto jurídica-organizacional.

Problemas de desempenho e disponibilidade


Como mencionado anteriormente, a verificação em rede em massa cria um fluxo de tráfego com um alto valor de PPS, causando uma grande carga na infraestrutura local e na rede do provedor à qual os nós de verificação estão conectados. Antes de realizar qualquer varredura para fins de pesquisa, é imprescindível coordenar todas as ações com administradores locais e representantes do fornecedor. Por outro lado, problemas de desempenho podem ocorrer nos nós de varredura final ao alugar servidores virtuais em serviços de hospedagem na Internet.

Nem todos os VPS são igualmente úteis.
No VPS alugado de hosts não convencionais, pode-se encontrar uma situação em que nas VMs produtivas (várias vCPUs e alguns gigabytes de memória), as taxas de pacotes Zmap e Masscan não ultrapassam algumas dezenas de Kpps. Na maioria das vezes, a combinação de hardware desatualizado e uma combinação não ideal de software para ambiente virtual desempenha um papel negativo. De uma maneira ou de outra, de acordo com a experiência do autor, garantias de desempenho mais ou menos substanciais podem ser obtidas apenas das empresas - líderes de mercado.

Além disso, ao identificar nós vulneráveis, vale a pena considerar que determinadas verificações do NSE podem levar a uma negação de serviço nos nós verificados. Esse desenvolvimento da situação não é simplesmente não ético, mas está definitivamente localizado fora do campo jurídico e implica o aparecimento de conseqüências na forma de responsabilidade penal.

O que estamos procurando e como?


Para encontrar algo, você precisa saber como procurar algo. As ameaças estão em constante evolução e é necessário um novo estudo analítico para identificá-las. Às vezes, as análises publicadas nos documentos de pesquisa ficam desatualizadas, levando-os a realizar suas próprias pesquisas.

Um exemplo famoso
Como exemplo, podemos fazer um estudo [5] de 2013 pelos autores do Zmap, dedicado à identificação de nós de uma rede TOR. No momento da publicação do documento, analisando a cadeia de certificados e identificando o nome do sujeito especialmente gerado nos certificados autoassinados, foram encontrados ~ 67 mil nós TOR trabalhando na porta tcp / 443 e ~ 2,9 mil nós trabalhando no tcp / 9001. Atualmente, a lista de nós TOR detectados por esse método é muito menor (uma variedade maior de portas é usada, transportes obfs são usados, ocorre migração para certificados Let's Encrypt), o que força o uso de outros métodos analíticos para resolver um problema semelhante.

Reclamações de abuso


Ao digitalizar na Internet, existe quase um risco de 100% de receber um fluxo de reclamações de abuso. Particularmente irritante é o abuso gerado automaticamente para algumas dezenas de pacotes SYN. E se as verificações forem repetidas regularmente, as reclamações criadas manualmente também poderão fluir.

Quem reclama com mais frequência
As principais fontes de abuso (principalmente automáticas) são instituições educacionais na zona do domínio * .edu. Por experiência, você deve evitar a digitalização de endereços de ASNs pertencentes à Indiana University (EUA). Também nas apresentações de Zmap [5] e Masscan [7], podemos encontrar alguns exemplos interessantes de resposta inadequada à digitalização em rede.

Não tome esse abuso de ânimo leve, porque:

  • No caso de reclamações, o hoster geralmente bloqueia o tráfego de / para as máquinas virtuais alugadas ou até suspende sua operação.
  • Um ISP pode desativar o uplink para eliminar os riscos de bloquear o sistema autônomo.

A melhor prática para minimizar reclamações é:

  1. Familiaridade com os Termos de Serviço do seu provedor de Internet / hospedagem.
  2. Criando uma página de informações nos endereços de origem da verificação informando sobre o objetivo da verificação; esclarecimentos apropriados nos registros DNS TXT.
  3. Esclarecimento das verificações ao receber reclamações de abuso.
  4. Manter uma lista de exclusões da verificação, adicionando à exclusão de sub-redes que se aplicam na primeira solicitação, fornecendo esclarecimentos sobre o procedimento para fazer exclusões na página de informações.
  5. A digitalização não é mais e não é mais frequente do que o necessário para resolver a tarefa.
  6. Distribuição do tráfego de digitalização por origem, endereços de destino e o horário em que é possível.

Terceirização de digitalização em rede



A realização de varreduras em massa independentes requer uma abordagem equilibrada (os riscos estão descritos acima), mas você deve estar ciente de que, se o processamento analítico dos resultados da varredura usados ​​não for suficientemente profundo, o resultado final poderá ser insatisfatório. Pelo menos em termos técnicos, você pode facilitar a tarefa usando ferramentas comerciais existentes, como:


Mais serviços
Além dos serviços mencionados, há um número bastante grande de projetos, de uma forma ou de outra conectados à digitalização em rede global. Por exemplo:

  • Punk.sh (anteriormente mecanismo de pesquisa na web PunkSPIDER)
  • Projeto Sonar (conjunto de dados com os resultados de varreduras de rede do Rapid7)
  • Thingful (outro mecanismo de pesquisa da Internet das coisas)

Shodan




O primeiro e mais famoso mecanismo de pesquisa de serviços publicados na Internet, que foi originalmente criado como um mecanismo de pesquisa da IoT e foi lançado em 2009 por John Materley [11] . Atualmente, o mecanismo de busca oferece vários níveis de acesso às informações em si. Sem registro, as possibilidades são muito básicas. Ao registrar e adquirir uma associação, as seguintes funcionalidades ficam disponíveis:

  • Pesquise por filtros básicos.
  • Emitindo informações detalhadas sobre nós ("dados brutos").
  • Uma API "básica" com capacidade de integração com utilitários comuns como Maltego, Metasploit, Nmap e outros.
  • A capacidade de exportar resultados de pesquisa (mediante taxa, por "Créditos" - a moeda interna do serviço).
  • A capacidade de digitalizar, mediante solicitação, endereços e intervalos individuais (mediante taxa, por "Créditos").

Os recursos mencionados já são suficientes para o OSINT básico [12] , no entanto, o mecanismo de pesquisa revela completamente seus recursos com uma assinatura Enterprise, a saber:

  • Verificação sob demanda de todo o intervalo público IPv4 da Internet, incluindo a verificação do intervalo especificado de portas e a especificação de coletores de banners específicos do protocolo.
  • Notificações em tempo real com base nos resultados das verificações em execução.
  • A capacidade de fazer upload de resultados brutos da varredura para análises adicionais (sem restrições, todo o banco de dados está disponível).
  • A capacidade de desenvolver coletores personalizados para tarefas específicas (protocolos não padrão etc.).
  • Acesso aos resultados históricos da verificação (até outubro de 2015).

O projeto Shodan criou vários projetos relacionados, como caçador de malware, verificação de honeypot, explorações, enriquecendo os resultados da verificação.

Censys




Motor de busca na IoT e não apenas, criado pelo autor do Zmap Zakir Durumerik e apresentado publicamente em 2015. O mecanismo de pesquisa usa a tecnologia Zmap e vários projetos relacionados (ZGrab e ZTag). Sem registro, diferentemente do Shodan, o mecanismo de pesquisa é limitado a 5 solicitações por dia a partir de um IP. Após o registro, as possibilidades de uso são expandidas: uma API é exibida, os resultados da pesquisa para solicitações são aumentados (até 1000 resultados); no entanto, o acesso mais completo, incluindo o upload de dados históricos, fica disponível apenas no plano da empresa.

As vantagens do mecanismo de pesquisa sobre Shodan incluem os seguintes recursos:

  • Não há restrições nos filtros de pesquisa nos planos tarifários básicos.
  • Alta velocidade de atualização dos resultados da verificação automática (diariamente, de acordo com os autores; a velocidade do Shodan é muito menor).

As desvantagens incluem:

  • Menos portas digitalizadas em comparação com Shodan.
  • Incapacidade de verificar “sob demanda” (por faixas de IP e por portas).
  • Menos profundidade do enriquecimento dos resultados com os meios "prontos para uso" (o que é óbvio, dado o maior número de ferramentas Shodan implementadas por meio de projetos relacionados).

Se os resultados coletados no intervalo de portas suportadas pela Censys forem suficientes para atingir esse objetivo, a falta de capacidade de varredura sob demanda não deve ser um obstáculo sério devido à alta velocidade da atualização dos resultados da varredura.

Zoomeye




Um mecanismo de pesquisa de IoT criado pela empresa chinesa de segurança da informação Knowsec Inc em 2013. Hoje, o mecanismo de pesquisa trabalha com seus próprios desenvolvimentos - Xmap (scanner host) e Wmap (web scanner). O mecanismo de pesquisa coleta informações em uma ampla variedade de portas, ao pesquisar, é possível categorizar de acordo com um grande número de critérios (portas, serviços, SO, aplicativos) com detalhes para cada host (o conteúdo dos banners de aplicativos). Os resultados da pesquisa listam possíveis vulnerabilidades para o software aplicativo identificado no projeto SeeBug relacionado (sem verificar a aplicabilidade). Para contas registradas, uma API e uma pesquisa na web também estão disponíveis com um conjunto completo de filtros, mas com uma limitação no número de resultados exibidos. Para remover restrições, propõe-se comprar um plano da empresa. Das vantagens de um mecanismo de pesquisa, podemos observar:

  • Um grande número de portas digitalizadas (aproximadamente semelhante ao Shodan).
  • Suporte expandido da web.
  • Aplicativo e identificador do SO.

Entre as desvantagens estão:

  • Intervalo de atualização lento para resultados da verificação.
  • Incapacidade de digitalizar sob demanda.
  • O enriquecimento dos resultados da verificação limita-se à identificação de serviços, software aplicativo, SO e vulnerabilidades em potencial.

Tabela de comparação de serviços


A tabela de resumo abaixo fornece uma comparação da funcionalidade dos serviços considerados.

Valores nas linhas da tabela
"++" - muito bem implementado
"+" - implementado
"±" - implementado com restrições
"-" - não implementado



Digitalize você mesmo


A infraestrutura própria também pode ser uma fonte útil de TI, para que você possa entender quais novos hosts e serviços apareceram na rede, eles são vulneráveis ​​ou até maliciosos? Se serviços externos puderem ser usados ​​para varrer o perímetro (por exemplo, esse caso de uso é oficialmente suportado pelo caso do usuário Shodan), todas as ações dentro do perímetro só poderão ser executadas independentemente. A gama de ferramentas para análise de rede nesse caso pode ser bastante extensa: ambos são analisadores passivos, como Bro [13] , Argus [14] , Nfdump [15] , p0f [16] e scanners ativos - Nmap, Zmap, Masscan e seus concorrentes comerciais. A estrutura do IVRE [17] , que permite obter sua própria ferramenta semelhante ao Shodan / Censys, pode ajudar a interpretar os resultados.



A estrutura foi desenvolvida por um grupo de pesquisadores de segurança da informação, um dos autores é um desenvolvedor ativo do utilitário scapy [18] Pierre Lalet [19] . Entre os recursos da estrutura incluem:

  • O uso de análise visual para identificar padrões e anormalidades anormais.
  • Mecanismo de pesquisa avançado com análise detalhada dos resultados da verificação.
  • Integração com utilitários de terceiros por meio da API com suporte a Python.

O IVRE também é adequado para analisar grandes varreduras da Internet.

Conclusões


A digitalização e a inteligência de rede ativa são excelentes ferramentas que há muito são utilizadas por vários pesquisadores no campo da segurança da informação. No entanto, para guardas de segurança "clássicos", esses métodos de trabalho ainda são novos. O uso de OSINT e métodos ofensivos em combinação com os meios defensivos clássicos fortalecerá significativamente a proteção e garantirá sua proatividade.


Mikhail Larin, especialista no Centro de Monitoramento e Resposta a Incidentes de Segurança da Informação Jet CSIRT, Jet Infosystems.

Source: https://habr.com/ru/post/pt426025/


All Articles