Sua saída, gráfico: como não encontramos um bom gráfico de rede e criamos nosso próprio



Investigando casos envolvendo phishing, redes de bots, transações fraudulentas e grupos criminosos de hackers, os especialistas do Grupo-IB usam a análise de gráficos há muitos anos para identificar todos os tipos de conexões. Casos diferentes têm suas próprias matrizes de dados, seus próprios algoritmos de identificação de conexão e interfaces personalizadas para tarefas específicas. Todas essas ferramentas eram um desenvolvimento interno do Grupo-IB e estavam disponíveis apenas para nossos funcionários.

A análise gráfica da infraestrutura de rede ( gráfico de rede ) foi a primeira ferramenta interna que incorporamos a todos os produtos públicos da empresa. Antes de criar nosso próprio gráfico de rede, analisamos muitos desenvolvimentos semelhantes no mercado e não encontramos um único produto que satisfizesse nossas próprias necessidades. Neste artigo, falaremos sobre como criamos o gráfico de rede, como usá-lo e quais dificuldades encontramos.

Dmitry Volkov, CTO Group-IB e Chefe de Cyber ​​Intelligence

O que um gráfico de rede do Grupo-IB pode fazer?


Investigações


Desde a fundação do Grupo-IB em 2003 até o presente, identificação, decano e responsabilização de criminosos cibernéticos têm sido a principal prioridade em nosso trabalho. Nenhuma investigação de ataque cibernético poderia prescindir de uma análise da infraestrutura de rede do invasor. No início de nossa jornada, foi um trabalho árduo e minucioso encontrar relacionamentos que pudessem ajudar a identificar criminosos: informações sobre nomes de domínio, endereços IP, impressões digitais de servidores, etc.

A maioria dos atacantes tenta agir da forma mais anônima possível na rede. No entanto, como todas as pessoas, eles cometem erros. A principal tarefa dessa análise é encontrar os projetos históricos “brancos” ou “cinzas” dos invasores que se cruzam com a infraestrutura maliciosa usada no incidente real que estamos investigando. Se for possível detectar "projetos brancos", encontrar o invasor, em regra, torna-se uma tarefa trivial. No caso dos "cinzas", é preciso mais tempo e esforço para pesquisar, pois seus proprietários tentam anonimizar ou ocultar os dados de registro, mas as chances permanecem bastante altas. Como regra, no início de sua atividade criminosa, os atacantes prestam menos atenção à sua própria segurança e cometem mais erros; portanto, quanto mais aprofundados pudermos mergulhar na história, maiores serão as chances de uma investigação bem-sucedida. É por isso que um gráfico de rede com um bom histórico é um elemento extremamente importante dessa investigação. Simplificando, quanto mais profundos os dados históricos de uma empresa, melhor será o seu gráfico. Suponha que uma história de 5 anos possa ajudar a resolver, condicionalmente, 1-2 de 10 crimes, e uma história de 15 anos oferece a chance de resolver todos os dez.

Detectando phishing e fraude


Sempre que recebemos um link suspeito para recursos de phishing, fraudulentos ou pirateados, criamos automaticamente um gráfico dos recursos de rede relacionados e verificamos todos os hosts encontrados quanto a conteúdo semelhante. Isso permite que você encontre sites antigos de phishing ativos, mas desconhecidos, e sites novos, preparados para ataques futuros, mas que ainda não são usados. Um exemplo elementar bastante comum: encontramos um site de phishing em um servidor com apenas 5 sites. Ao verificar cada um deles, também encontramos conteúdo de phishing em outros sites, o que significa que podemos bloquear 5 em vez de 1.

Pesquisa de back-end


Esse processo é necessário para estabelecer onde o servidor malicioso está realmente localizado.
99% das lojas de cartões, fóruns de hackers, muitos recursos de phishing e outros servidores mal-intencionados estão escondidos atrás de seus próprios servidores proxy e proxies de serviços legítimos, por exemplo, o Cloudflare. Conhecer o back-end real é muito importante para as investigações: se torna conhecido o provedor de hospedagem do qual você pode remover o servidor, torna-se possível estabelecer conexões com outros projetos maliciosos.

Por exemplo, você tem um site de phishing para coletar dados de cartão bancário que resolve para o endereço IP 11/11/11/11 e um endereço de loja de cartão que resolve para o endereço IP 22.22.22.22. Durante a análise, pode acontecer que o site de phishing e a loja de cartões tenham um endereço IP de back-end comum, por exemplo, 33.33.33.33. Esse conhecimento permite criar um vínculo entre ataques de phishing e uma loja de cartões na qual, talvez, eles vendam dados de cartões bancários.

Correlação de eventos


Quando houver dois gatilhos diferentes (por exemplo, no IDS) com malware e servidores diferentes para controlar o ataque, você os considerará como dois eventos independentes. Mas se houver uma boa conexão entre infraestruturas maliciosas, torna-se óbvio que esses não são ataques diferentes, mas estágios de um ataque multiestágio mais complexo. E se um dos eventos já for atribuído a qualquer grupo de atacantes, o segundo também poderá ser atribuído ao mesmo grupo. Obviamente, o processo de atribuição é muito mais complexo, portanto, trate a escrita como um exemplo simples.

Indicadores de enriquecimento


Não prestaremos muita atenção a isso, pois esse é o cenário mais comum para o uso de gráficos em segurança cibernética: você fornece um indicador para a entrada e obtém uma série de indicadores relacionados na saída.

Detecção de padrões


A identificação de padrões é essencial para uma caça eficaz. Os gráficos permitem não apenas encontrar elementos relacionados, mas também revelar propriedades comuns que são inerentes a um determinado grupo de hackers. Conhecer esses recursos exclusivos permite que você reconheça a infraestrutura do invasor, mesmo no estágio de preparação e sem evidências que confirmem o ataque, como e-mails de phishing ou malware.

Por que criamos nosso próprio gráfico de rede?


Repito que consideramos soluções de diferentes fornecedores antes de chegarmos à conclusão de que precisamos desenvolver nossa própria ferramenta que possa fazer o que não é encontrado em nenhum produto existente. Demorou vários anos para criá-lo, durante o qual o mudamos completamente mais de uma vez. Mas, apesar do longo período de desenvolvimento, ainda não encontramos um único análogo que atendesse aos nossos requisitos. Usando nosso próprio produto, conseguimos resolver quase todos os problemas encontrados nos gráficos de rede existentes. Abaixo, consideramos esses problemas em detalhes:

O problemaSolução
Falta de um provedor com diferentes coleções de dados: domínios, DNS passivo, SSL passivo, registros DNS, portas abertas, serviços em execução nas portas, arquivos que interagem com nomes de domínio e endereços IP. Explicação Os fornecedores geralmente fornecem tipos separados de dados e, para obter uma imagem completa, você precisa comprar assinaturas de todos. Mas, mesmo assim, nem sempre é possível obter todos os dados: alguns provedores SSL passivos fornecem apenas dados sobre certificados emitidos por CAs confiáveis, e a cobertura de certificados autoassinados é extremamente baixa. Outros fornecem dados em certificados autoassinados, mas apenas os coletam em portas padrão.Reunimos todas as coleções acima. Por exemplo, para coletar dados sobre certificados SSL, escrevemos nosso próprio serviço que os coleta de CAs confiáveis ​​e verificando todo o espaço IPv4. Os certificados foram coletados não apenas do IP, mas também de todos os domínios e subdomínios do nosso banco de dados: se você tiver o domínio example.com e seu subdomínio www.example.com e todos resolverem para o IP 1.1.1.1, quando tentar obter SSL- certificado da porta 443 por IP, domínio e seu subdomínio, você pode obter três resultados diferentes. Para coletar dados sobre portas abertas e serviços em execução, tive que criar meu próprio sistema de varredura distribuída, porque para outros serviços os endereços IP dos servidores de varredura estavam frequentemente nas "listas negras". Nossos servidores de digitalização também estão na lista negra, mas o resultado de encontrar os serviços de que precisamos é maior do que aqueles que simplesmente digitalizam o maior número possível de portas e vendem o acesso a esses dados.
Falta de acesso a todo o banco de dados de registros históricos. Explicação Cada fornecedor normal tem um bom histórico acumulado, mas por razões naturais, como cliente, não conseguimos acesso a todos os dados históricos. I.e. você pode obter a história inteira por um registro separado, por exemplo, por domínio ou endereço IP, mas não pode ver o histórico de tudo - e sem isso, não é possível ver a imagem inteira.Para coletar o maior número possível de registros históricos por domínio, compramos vários bancos de dados, analisamos muitos recursos abertos que possuíam esse histórico (é bom que existissem muitos deles) e concordamos com os registradores de nomes de domínio. Todas as atualizações em nossas próprias coleções, é claro, são armazenadas com um histórico completo de alterações.
Todas as soluções existentes permitem criar um gráfico no modo manual. Explicação Digamos que você comprou muitas assinaturas de todos os provedores de dados possíveis (geralmente eles são chamados de "enriquecimento"). Quando você precisa criar um gráfico, você fornece o comando “mãos” para criar a partir do elemento de comunicação desejado, depois, a partir dos elementos exibidos, seleciona os necessários e fornece o comando para concluir as conexões a partir deles e assim por diante. Nesse caso, a responsabilidade de quão bem o gráfico será construído recai inteiramente sobre a pessoa.Fizemos gráficos automáticos. I.e. se você precisar criar um gráfico, as conexões do primeiro elemento serão construídas automaticamente, além de todas as subsequentes. O especialista indica apenas a profundidade com a qual construir o gráfico. O processo de preenchimento automático de gráficos é simples, mas outros fornecedores não o implementam porque ele oferece uma quantidade enorme de resultados irrelevantes, e também tivemos que considerar essa desvantagem (veja abaixo).
Muitos resultados irrelevantes são o problema de todos os gráficos nos elementos de rede. Explicação Por exemplo, um "domínio incorreto" (participou do ataque) está associado a um servidor ao qual nos últimos 10 anos 500 outros domínios foram associados. Ao adicionar ou criar manualmente um gráfico, todos esses 500 domínios também devem rastrear o gráfico, embora não estejam relacionados ao ataque. Ou, por exemplo, você verifica o indicador IP no relatório de segurança do fornecedor. Como regra geral, esses relatórios apresentam um atraso significativo e geralmente cobrem um ano ou mais. Provavelmente, no momento em que você lê o relatório, o servidor com esse endereço IP já está alugado para outras pessoas com outras conexões, e a construção do gráfico levará ao fato de que você recebeu novamente resultados irrelevantes.Treinamos o sistema para identificar elementos irrelevantes de acordo com a mesma lógica que nossos especialistas fizeram manualmente. Por exemplo, você verifica o domínio incorreto example.com, que agora resolve para o IP 11.11.11.11 e, há um mês, para o IP 22.22.22.22. Além do domínio example.com, o example.ru está associado ao IP 11.11.11.11 e 25 mil outros domínios estão associados ao IP 22.22.22.22. O sistema, como uma pessoa, entende que o 11.11.11.11 provavelmente é um servidor dedicado e, como o domínio example.ru é semelhante em ortografia ao example.com, então, com uma alta probabilidade, eles estão conectados e devem estar no gráfico; mas o IP 22.22.22.22 pertence à hospedagem compartilhada, portanto, você não precisa colocar todos os seus domínios no gráfico se não houver outros links que mostrem que um desses 25 mil domínios também precisa ser removido (por exemplo, exemplo.net). Antes que o sistema perceba que as conexões precisam ser interrompidas e alguns dos elementos não devem ser colocados no gráfico, leva em consideração as muitas propriedades dos elementos e agrupamentos nos quais esses elementos são combinados, bem como a força das conexões atuais. Por exemplo, se tivermos um cluster pequeno (50 elementos) no gráfico, que inclui um domínio incorreto, e outro cluster grande (5 mil elementos) e os dois clusters estiverem conectados por um link (linha) com força (peso) muito baixa, essa conexão será interrompida e os itens do cluster grande serão excluídos. Mas se houver muitos links entre clusters pequenos e grandes e sua força aumentar gradualmente, nesse caso a conexão não será interrompida e os elementos necessários de ambos os clusters permanecerão no gráfico.
O intervalo de propriedade do servidor e do domínio não é levado em consideração. Explicação O registro de "domínios defeituosos" expira mais cedo ou mais tarde e eles são comprados novamente para fins maliciosos ou legítimos. Mesmo com hospedagem à prova de balas, os servidores são alugados para diferentes hackers; portanto, é essencial conhecer e levar em consideração o intervalo em que um domínio / servidor específico estava sob o controle de um proprietário. Muitas vezes, encontramos uma situação em que um servidor com IP 11.11.11.11 agora é usado como C&C para um bot bancário e o Ransomware foi gerenciado há dois meses. Se você criar uma conexão, sem levar em consideração os intervalos de propriedade, parecerá que há uma conexão entre os proprietários da botnet bancária e o ransomware, embora na verdade não seja. Em nosso trabalho, esse erro é crítico.Ensinamos o sistema a determinar intervalos de propriedade. Para domínios, isso é relativamente simples, porque whois geralmente mostra as datas de início e término do registro e, quando há um histórico completo de alterações de whois, é fácil determinar os intervalos. Quando o domínio não expirou, mas seu gerenciamento foi transferido para outros proprietários, você também pode controlá-lo. Não existe esse problema para certificados SSL, porque é emitido uma vez, não é renovado e não é transmitido. Mas para certificados autoassinados, você não pode confiar nas datas indicadas nas datas de vencimento do certificado, porque é possível gerar um certificado SSL hoje e especificar a data de início do certificado a partir de 2010. O mais difícil é determinar os intervalos de propriedade dos servidores, porque apenas os provedores de hospedagem têm datas e concessões. Para determinar o período de propriedade do servidor, começamos a usar os resultados da verificação de portas e a criação de impressões digitais dos serviços em execução nas portas. Com base nessas informações, podemos dizer com precisão quando o proprietário do servidor mudou.
Poucas conexões. Explicação Agora, não é um problema obter uma lista de domínios gratuitamente, quem é um endereço de email específico ou descobrir todos os domínios associados a um endereço IP específico. Porém, quando se trata de hackers que fazem todo o possível para dificultar o rastreamento, são necessários "truques" adicionais para encontrar novas propriedades e criar novas conexões.Passamos muito tempo pesquisando como recuperar dados que não estão disponíveis da maneira usual. Não podemos descrever como isso funciona aqui por razões óbvias, mas sob certas circunstâncias, os hackers cometem erros ao registrar domínios ou ao alugar e configurar servidores, o que permite descobrir endereços de email, aliases de hackers e endereços de back-end. Quanto mais conexões você extrair, mais precisamente poderá criar gráficos.

Como nosso gráfico funciona


Para começar a usar o gráfico de rede, é necessário inserir o domínio, endereço IP, email ou impressão digital do certificado SSL na caixa de pesquisa. Existem três condições que um analista pode controlar: tempo, profundidade da etapa e limpeza.



Tempo


Hora - a data ou intervalo em que o item de pesquisa foi usado para fins maliciosos. Se você não especificar este parâmetro, o sistema determinará o último intervalo de propriedade desse recurso. Por exemplo, em 11 de julho, a Eset publicou um relatório sobre como o Buhtrap usa uma exploração de 0 dias para espionagem cibernética. No final do relatório, existem 6 indicadores. Uma delas, a telemetria segura [.] Net, foi registrada novamente em 16 de julho. Portanto, se você criar um gráfico após 16 de julho, receberá resultados irrelevantes. Mas se você indicar que esse domínio foi usado antes dessa data, 126 novos domínios e 69 endereços IP que não estão listados no relatório Eset caem no gráfico:

  • ukrfreshnews [.] com
  • unian-search [.] com
  • vesti-world [.] informação
  • runewsmeta [.] com
  • foxnewsmeta [.] negócios
  • sobesednik-meta [.] informação
  • rian-ua [.] líquido
  • e outros

Além dos indicadores de rede, encontramos imediatamente links para arquivos maliciosos que tinham links para essa infraestrutura e tags que informam que o Meterpreter, AZORult foi usado.

O melhor é que você obtém esse resultado em um segundo e não precisa mais passar dias analisando os dados. Obviamente, essa abordagem às vezes reduz o tempo para investigações em várias vezes, o que geralmente é crítico.


O número de etapas ou a profundidade de recursão com a qual o gráfico será construído


Por padrão, a profundidade é 3. Isso significa que, a partir do elemento que você está procurando, todos os elementos diretamente relacionados serão encontrados e, a partir de cada novo elemento, novas conexões serão construídas para outros elementos e, a partir dos novos elementos da última etapa, haverá novos elementos.

Tomemos um exemplo não relacionado a APT e explorações de 0 dias. Recentemente, Habré descreveu um caso interessante de fraude associada a criptomoedas. O relatório menciona o domínio - themcx [.] Co, usado pelos golpistas para hospedar o site da supostamente trocadora Miner Coin Exchange e a pesquisa por telefone [.] Xyz, para atrair tráfego.

A partir da descrição, fica claro que o esquema requer uma infraestrutura suficientemente grande para atrair tráfego para recursos fraudulentos. Decidimos analisar essa infraestrutura criando um gráfico em 4 etapas. A saída foi um gráfico com 230 domínios e 39 endereços IP. Em seguida, dividimos os domínios em duas categorias: os que são semelhantes aos serviços para trabalhar com criptomoedas e os que são projetados para capturar tráfego através dos serviços de verificação por telefone:
Criptomoeda relacionadaAssociado aos serviços de perfuração por telefone
guarda-moedas [.] ccsite de registro de chamadas [.].
mcxwallet [.] coespaço para registros telefônicos [.]
btcnoise [.] comfone-descobrir [.] xyz
relógio cryptominer [.]número-descobrir [.] informações


Limpeza


Por padrão, a opção "Limpar gráfico" está ativada e todos os elementos irrelevantes serão excluídos do gráfico. A propósito, foi usado em todos os exemplos anteriores. Prevejo uma pergunta natural: como garantir que algo importante não desapareça? : , , = 1. .

whois, DNS, .



APT- , . , , , .


. — lloydsbnk-uk[.]com, 3 , 250 , 2015 . , , .

2 .

, 2019 -, . , swift-department.com, saudconsultancy.com, vbgrigoryanpartners.com.


Cobalt gang


2018 Cobalt, , .


hXXps://nationalbank.bz/Doc/Prikaz.doc. , powershell, hXXp://wateroilclub.com/file/dwm.exe %Temp%\einmrmdmy.exe. %Temp%\einmrmdmy.exe aka dwm.exe — CobInt stager, hXXp://admvmsopp.com/rilruietguadvtoefmuy.

, . nationalbank[.]bz , .


IP- 46.173.219[.]152 . 40 , , bl0ckchain[.]ug
paypal.co.uk.qlg6[.]pw
cryptoelips[.]com

, , , , .


nationalbank[.]bz, , 500 Cobalt, . , :


Conclusão


, , , . . , , , . “” , . , . . Group-IB . . , , , , .

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


All Articles