SOC335: CVE-2024-49138 explorada no CLFS do Windows
SOC335 no Let's Defend: detectando a exploração da CVE-2024-49138 no driver CLFS do Windows, do alerta do EDR à escalação de privilégio.
Esse artigo foi baseado no challenge SOC335 - CVE-2024-49138 Exploitation Detected, na plataforma Let’s Defend, todos os créditos aos desenvolvedores tanto da plataforma quanto da máquina.
Inicialmente , o ataque foi criado com base na CVE-2024-49138, que aproveitando de uma máquina já infectada inicialmente como usuário, afetando as versões desde 2012 (Windows Server) até mesmo a versão 22H2 do Windows 11.
Ela utiliza o Driver CLFS, que controla parte do sistema de logs do Windows , possuindo permissão administrativa nas versões desatualizadas, assim, invasores se aproveitam desse erro, inserindo as informações falsas, CAPEC-93 (Injeção de Logs Fictícias) , nas logs do CLFS , que ativam o famoso Buffer Overflow(CWE-121) , ou seja, transbordamento de dados quando é processado e como foi dito anteriormente, com as permissões elevadas, leva a escalação de previlégio (TA0004).
O objetivo desse artigo é simples, mostrar a defesa, do meu ponto de vista como um profissional da área , aproveitando de um challenge do Let’s Defend , devo informar que é de um nível mais técnico , então observe com cuidado.
Introdução
Na tela abaixo, temos uma log do EDR (Endpoint Detection e Response) na tela, com o nível de severidade Médio , no dia 22 de janeiro de 2025 , às 02:37 da madrugada.
Imagem da Detecção de Resposta de Endpoint
Já temos algumas coisas para avaliar , principalmente em relação ao horário, que pelo visual é bem incomum , madrugada não é um horário de ataques por padrão, mas por ser uma tentativa de intrusão , já com um usuário hackeado , ele se torna muito mais comum, o número de funcionários de Blue Team é normalmente reduzido, então é muito mais fácil aproveitar disso.
É possível observar que a máquina do usuário “Victor“, do IP 172.16.17.207 , foi invadida, ou seja, estamos com um T1078 (Conta Local) , o invasor se aproveitando dessa conta que foi configurada pela empresa ou pelo usuário para realizar uma TA0004 (Escalação de Privilégio) , e a maior prova disso foi essa regra ter apitado.
Também temos algumas atividades dessa invasão , que utilizaram um nome parecido com um programa do próprio Windows , chamado de svchost.exe , e esse vírus utiliza svohost.exe , para tentar não apenas enganar o usuário mas também quem protege a máquina , tentando um T1564 (Escondendo Artefatos) e T1036.005 (Nome igual ou próximo do programa legítimo) , sendo o próprio EDR ou o Analista. Uma observação interessante, ele roda o malware na pasta temporária , já que provavelmente ele não tem permissão em qualquer outra pasta do sistema e/ou está evitando problemas com o sistema de defesa.
É possível visualizar que ele se utiliza do“Powershell “, T1059-001 (Intérprete de comando e script: PowerShell) , para executar algum comando, em breve veremos qual o comando ele deu, possívelmente tem conexão com o processo de invasão.
Triagem Inicial
Pegando todas essas informações, vamos verificar o ataque nos utilizando do Log Management , colocando o IP da vítima em questão.
Imagem do Log Management relacionada ao ataque
Achamos diversas informações importantes por aqui, primeiro, o IP do atacante 185.107.56.141 , segundo, a utilização de Port Hopping , T1571 (Porta Não-Padrão) , como exemplo na primeira e na segunda, que houve a troca da porta 45762 para 21905 , visando evadir-se do Firewall, EDR ou qualquer ferramenta de bloqueio automático, TA0005 (Evasão de Defesa).
Também nos logs , é possível visualizar que houve um Brute-Force, T1110 , contra o RDP (Remote Desktop Protocol) da vítima, tentando conseguir o login administrativo ou apenas do usuário , o EventID 4625 nos mostra isso, mas também que houve 5 tentativas , duas contra o login Guest e duas contra o login Admin , e por fim, o login Victor que foi sucedida, com o EventID 4624.
Imagem sobre Threat Intel em relação ao IP do Atacante
Também verifiquei os E-mails e Threat Intel , entretanto, só consegui achar o IP relacionado ao ataque de Brute-Force, T1110 , agora conseguimos entender o que ocasionou e onde terminou o ataque.
Podemos assumir que o ataque veio de fora , se aproveitando de uma porta exposta da vítima, T1210 (Exploração de Serviços Remotos) , utilizando a porta 3389 do RDP (Remote Desktop Protocol) , que conseguiu o login Victor e desencadeou o ataque explorando a falha do Driver CLFS, T1068 (Exploração por Escalação de Previlégio) , onde terminou como NT-Authority-System , ou seja, administrador do sistema.
Resposta ao Incidente
Agora com todas as informações , devemos conter a máquina direto pelo sistema de Endpoint Security , para garantir que o vírus não se espalhe pro servidor ou cause algo pior.
Imagem da máquina contida com o sistema de EDR
Agora observando a máquina da vítima do ataque, é possível visualizar todo o comando feito pelo atacante que se utilizou do PowerShell T1059-001.
Imagem do comando utilizado pelo atacante no PowerShell
No comando, ele passa a variável “url “, com um link suspeito , com o instalador que vimos ao início do artigo, passando o destino temporário do Windows para conseguir utilizá-lo imediatamente ou enganar a defesa , T1036 (Mascarando) , houve também a obtenção da senha “infected “ por meio da variável “password “, também após isso, tenta procurar pelo programa de extração 7Zip e executá-lo , já que o arquivo está em .rar e, por fim, ele sendo extraido, executa o programa svohost.exe.
Vamos fazer a verificação de Hash do vírus, identificado anteriormente como svohost.exe , na tentativa de encontrar alguma informação, e posteriormente, passar ao playbook.
Imagem do Virustotal com o Hash malicioso
Pelo VirusTotal , é possível identificar que a última análise feita foi a 4 dias atrás, possívelmente , outra pessoa fazendo a análise do hash ou até mesmo sofreu esse ataque.
Podemos visualizar que o malware em questão é identificado como Trojan , que verifica se o sistema está testando o vírus , ou seja, realizando __debugging__ T1622 (Evasão de Debug) , podemos ver também que é o tipo __spreader__ T1021 (Serviços Remotos) , ele se move de um sistema para outro , na intenção de se propagar e levantar mais vítimas , além disso, ele também é um vírus polimórfico , T1027 (Arquivos ou Informações Ofuscadas) , que muda a assinatura cada vez que replica.
Imagem de todos os IP’s identificados no vírus
Além do IP do atacante , podemos ver também que o programa se utiliza de muitos IPs da Microsoft ou a assinatura dela , T1036 (Mascarando) , para novamente, causar confusão no sistema e achar que é um programa legítimo , quando não é o caso, os principais nessa lista são 104.98.118.0/24, 151.101.22.172 e 104.71.214.69.
Respondendo ao Playbook
Com todos os detalhes do ataque , conseguimos agora realizar todo o procedimento proposto pelo desafio, o Playbook.
Questão: Fez a checagem se alguém realizou Command & Control
Resposta: Acessou/Realizou
Provas do ocorrido: Podemos observar na parte do PowerShell , o vírus foi executado e ordenado , em seguida, com o Trojan , ele abre uma ponte para o Hacker utilizando-se do Command & Control para ganhar acesso.
Questão: Faça a análise do Malware
Resposta: Malicioso
Provas do ocorrido: O malware foi verificado e identificado como Trojan utilizando-se do VirusTotal , também foram observados seus comandos, IPs e atividades que realizam dentro do computador.
Questão: Verifique se o malware está em quarentena ou não
Resposta: Não entrou em quarentena
Provas do Ocorrido: Na Log Management e no próprio computador do usuário ainda é possível visualizar o vírus , entretanto, a máquina já foi contida , sem mais chance de ataque.
Nota do Playbook: Caso tenha suspeita do ataque , verificar o hash do arquivo em questão e os IPs envolvidos , analisar a pasta temporária do Windows em busca de executáveis , DLLs **fora do padrão, **scripts ou até mesmo arquivos compactados. No sistema, foi notado a aparição do arquivo service_installer.rar e svohost.exe em pastas temporárias , visando escalação de previlégio.
IOCs
- IP do Atacante: 185.107.56.141
- URL do vírus: https://files-ld.s3.us-east-2.amazonaws.com/service-installer.zip
- Hash do arquivo: b432dcf4a0f0b601b1d79848467137a5e25cab5a0b7b1224be9d3b6540122db9
- Arquivo Executável: svohost.exe
- IPs identificados no malware: 104.98.118.0/24, 151.101.22.172 e 104.71.214.69
Respondendo ao Alerta
Questão: Esse alerta é um Verdadeiro-Positivo ou Falso-Positivo?
Resposta: Verdadeiro-Positivo
Provas: Identificado no computador do usuário , omalware correspondendo ao vírus svohost.exe e service_installer.rar na pasta temporária do Windows.
Nota do Alerta
O evento foi considerado verdadeiro-positivo , se tratando de um Trojan , servindo de ponte para Command & Control, foram observados ataques diretos ao Driver CLFS em busca de escalação de previlégio , ataque contido com sucesso.
Conclusão
Meu aprendizado sobre esse challenge me mostrou que não havia ideia de muitos tipos de métodos que os atacantesconseguem utilizar para realizar movimentação lateral , principalmente citando sobre as metodologias de Command & Control, Port Hopping e utilizando nomes próximos de serviços do Windows para realizar ataques , se esconder e conseguir se espalhar por outras máquinas e servidores.
Com certeza é o tipo de vírus , nesse caso, que você não consegue prever, principalmente pela porta exposta na internet, é um erro grave que podemos acabamos cometendo e que pode afetar todo um serviço ou empresa , os impactos financeiros no geral podem ser absurdos , pelo fato de conseguir todos os dados e no futuro possam servazados , inclusive, é um vírus que apenas atua como um Trojan e em seguida, talvez fosse aproveitado para um ataque Ransomware , se aproveitando da permissão geral da máquina.
Você deve sempre observar se você tem alguma abertura de ataque , por exemplo nesse caso em específico, onde a porta estava exposta para a internet, algum login de e-mail vazado ou até mesmo um documento em cima da mesa pode te comprometer e realizar um ataque em grande escala.
Bem, chegamos ao final , agradeço por realizar a leitura, abaixo estão todas as minhas redes de contato.
https://www.linkedin.com/in/otavioalvessec/
https://medium.com/@otavioalvessec
Até uma próxima!
Referências:
