O worm que se espalha WanaCrypt0r
Algo que muitos pesquisadores de segurança temiam, de fato, se tornou realidade. Os atores da ameaça integraram um exploit crítico que faz exame da vantagem de um protocolo popular da comunicação usado por sistemas de Windows, aleijando milhares dos computadores worldwide com ransomware.
Poucas horas depois de ter sido alavancado, uma falha que tinha sido recentemente corrigida pela Microsoft foi usada para distribuir o ransomware WanaCrypt0r e causar estragos em todo o mundo .
Neste blog, vamos descrever o worm responsável por espalhar este ransomware, olhando para as suas capacidades eo que fez esta ameaça tão bem sucedida.
Funcionalidade principal
WanaCrypt0r tem sido mais eficaz – não só o ransomware loop através de cada sessão RDP aberto em um sistema e executar o ransomware como esse usuário, mas o componente inicial que é deixado cair em sistemas parece ser um worm que contém e executa o ransomware, espalhando Usando a ETERNALBLUE
vulnerabilidade SMB ( MS17-010 ).
O WinMain
deste executável primeiro tenta se conectar ao site www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com.
Ele realmente não baixar nada lá, apenas tenta se conectar. Se a conexão for bem-sucedida, o binário será encerrado.
Este foi provavelmente algum tipo de kill switch ou técnica anti-sandbox. Seja qual for, ele tem um tiro pela culatra sobre os autores do worm, como o domínio foi sinkholed eo host em questão agora resolve um endereço IP que hospeda um site. Portanto, nada acontecerá em nenhum novo sistema que execute o executável. Isso só se aplica ao binário com o hash listado acima; Pode haver novas versões lançadas no futuro.
Após esta verificação passa, a primeira coisa que o worm faz é verificar o número de argumentos que foi lançado com. Se foi executado com menos de dois argumentos passados, ele instala um serviço chamado mssecsvc2.0
com nome de exibição Microsoft Security Center (2.0) Service
(onde o binário correu é com dois argumentos), inicia esse serviço, descarta o binário ransomware localizado nos recursos do worm e executa-lo .
Se ele foi executado com dois argumentos ou mais, em outras palavras, se ele foi executado como um serviço de execução eventualmente cai através da função worm.
A função de inicialização chamou as WSAStartup()
primeiras chamadas para inicializar a rede e, em seguida, CryptAcquireContext()
para inicializar a API de criptografia para que ele possa usar um gerador de números pseudo-aleatórios criptográficamente seguro. Em seguida, chama uma função que inicializa dois buffers usados para armazenar as DLLs de carga útil do worm, um x86 e um x64. Ele copia as DLLs da carga útil da .data
seção do worm e, em seguida, copia todo o binário do worm após ele.
O código de cada DLL de carga é muito pequeno, apenas obtendo o conteúdo do recurso (ou seja, o binário do worm), caindo no disco como C:\WINDOWS\mssecsvc.exe
(este caminho é realmente hardcoded) e executá-lo.
Vulnerabilidade SMB alavancada para espalhar ransomware em todo o mundo
Depois de inicializar a funcionalidade usada pelo worm, dois threads são criados. O primeiro segmento varre hosts na LAN. O segundo segmento é criado 128 vezes e varre hosts na Internet mais ampla.
O primeiro thread (responsável pela varredura de LAN) usa GetAdaptersInfo()
para obter uma lista de intervalos de IP na rede local e, em seguida, cria uma matriz de cada IP nesses intervalos a serem verificados.
A varredura LAN é multithreaded em si, e não há código para evitar a digitalização de mais de 10 endereços IP na LAN de cada vez.
O segmento de varredura tenta se conectar à porta 445 e, em caso afirmativo, cria um novo segmento para tentar explorar o sistema usando MS17-010 / EternalBlue. Se as tentativas de exploração levam mais de 10 minutos, o thread de exploração é interrompido.
Os segmentos que digitalizam a Internet geram um endereço IP aleatório, usando o gerador de números pseudo-aleatórios criptográficamente seguro do sistema operacional inicializado anteriormente, ou um gerador de números pseudo-aleatório mais fraco se o CSPRNG falha ao inicializar. Se a conexão com a porta 445 nesse endereço IP aleatório for bem-sucedida, toda a /24
faixa será verificada e, se a porta 445 estiver aberta, serão feitas tentativas de exploração . Desta vez, o tempo limite de exploração para cada IP não acontece após 10 minutos, mas depois de uma hora.
O segmento de exploração tenta várias vezes explorar, com dois conjuntos diferentes de buffers usados (talvez um para x86 e um para x64). Se detectar a presença de DOUBLEPULSAR
após qualquer tentativa de exploração, ele usa DOUBLEPULSAR
para carregar a DLL de carga útil relevante.
Proteção
É crítico que você instale todas as atualizações de SO disponíveis para evitar que sejam exploradas pela vulnerabilidade MS17-010. Qualquer sistema executando uma versão do Windows que não tenha recebido um patch para essa vulnerabilidade deve ser removido de todas as redes. Se seus sistemas tiverem sido afetados, DOUBLEPULSAR
também terão sido instalados, portanto, isso também precisará ser removido. Um script está disponível que pode remotamente detectar e remover o DOUBLEPULSAR
backdoor. Consumidores e clientes empresariais do Malwarebytes são protegidos deste ransomware pela versão premium do Malwarebytes e Malwarebytes Endpoint Security , respectivamente.
Fonte: Malwarebytes
Você precisa fazer login para comentar.