Um pesquisador de segurança dos EUA criou um backdoor de código aberto do Windows que é vagamente baseado no código de ataque da NSA que vazou em 2017 como parte da infame violação do Shadow Brokers.

O pesquisador, que se chama @ zerosum0x0 na internet e Sean Dillon na vida real, apelidou seu novo malware ExtraPulsar, uma homenagem à ferramenta da NSA chamada DOUBLEPULSAR.

O código em si é intrigantemente simples.

Em vez de explorar uma vulnerabilidade que não deveria estar lá, ela faz uso silenciosamente de uma parte não documentada do próprio driver SRVNET.SYS do servidor de arquivos da Microsoft.

A maioria dos servidores Windows e muitos laptops Windows aceitam conexões de compartilhamento de arquivos – se você executar o comando net share e vir C $ e ADMIN $ na lista, o seu aceita.

Se o compartilhamento de arquivos estiver ativo, você verá o driver do kernel do WindowsSRVNET.SYS carregado – nome completo do driver de rede do servidor.

A ideia é que o driver de rede do servidor, chamado mesmo nas versões sem servidor do Windows, cuide das portas de rede abertas e do tráfego de rede que faz parte do compartilhamento de arquivos do Windows.

Esse driver de tratamento de tráfego, em seguida, transfere pacotes de entrada para um ou mais drivers adicionais para lidar com solicitações remotas.

Por exemplo, o driver de rede do servidor geralmente será acompanhado por um driver de “extensão de dispositivo” chamado SRV2.SYS, o driver de servidor Smb 2.0.

O SMB é a abreviatura de Server Message Block, o apelido da Microsoft para o seu protocolo de compartilhamento de arquivos.

Se você ativou a SMB desatualizada, insegura e agora fora do padrão 1 – algo que até a Microsoft recomenda que você não faça – também verá o SRV.SYS, listado como simples driver de servidor antigo.

O que o pesquisador descobriu é como ‘persuadir’ o driver de Rede do Servidor a carregar um módulo de kernel adicional construído a partir de seu código de backdoor, algo que ele indicou em sua árvore de origem com um diagrama descrito como “agrupar um gráfico”:

A ideia de criar malware que funciona da seguinte forma:

  • O código de malware é registrado para lidar com pacotes de rede já recebidos pelo driver de servidor de nível superior. Assim, o malware não precisa abrir portas de rede ou fazer chamadas de rede de aparência suspeita.
  • O código do malware é executado como um driver de kernel, e qualquer código recebido e lançado também adquire privilégios de kernel. Portanto, esse malware e qualquer código de backdoor que ele ativa são executados no que equivale a um nível super-administrador.
  • O código de malware é automaticamente ativado e ativado quando pacotes de rede SMB chegam. Assim, ele pode identificar facilmente suas próprias instruções de comando e controle, removê-las do fluxo de rede e agir sobre elas.

A ferramenta de entrega de execução remota de código de prova de conceito no projeto da Dillon é apenas 12 linhas de programação Python que envia um único pacote de rede de código executável para a porta 445 em um computador infectado.

Os pacotes SMB normais começam com os bytes 0xFF 0x53 0x4D 0x42, que aparecem como ■ SMB quando exibidos como texto.

O malware reconhece suas próprias cargas de código de shell porque elas são marcadas com 0x45 0x78 0x50 0x75, que aparece como ExPu, abreviação de ExtraPulsar.

O que fazer?

Se você já viu histórias da mídia sugerindo que esse projeto poderia levar a “malwares indetectáveis”, não entre em pânico.

Um bom software de segurança pode bloquear os drivers do kernel não autorizados e seus efeitos colaterais de várias maneiras:

  • Os drivers do kernel são, eles próprios, arquivos de programa do Windows, embora com algumas características especiais. (Eles geralmente têm uma extensão .SYS em vez de .EXE ou .DLL.) Assim, eles podem ser detectados, bloqueados e removidos pelo software antivírus.
  • Os drivers do kernel carregam na memória e permanecem lá, embora em uma parte diferente do sistema operacional para aplicativos comuns. Assim, eles podem ser detectados e ejetados pelo software antivírus.
    Os pacotes de rede ExtraPulsar SMB podem ter conteúdo de aparência inocente, por exemplo, criptografando-os, mas eles precisam ser reconhecidos como diferentes pelo componente backdoor. Assim, eles podem ser detectados e rejeitados por ferramentas de filtragem de rede.
  • As versões modernas do Windows não carregam drivers do kernel não autorizados por padrão. Os drivers do kernel precisam ser assinados digitalmente, então os criminosos precisam adquirir certificados não autorizados para obter qualquer tipo de posição. Então, motoristas desonestos podem ser identificados e bloqueados pelo software de segurança.

Não estamos convencidos de que Dillon realmente precisava lançar seu malware de prova de conceito como um projeto do GitHub que pode ser baixado gratuitamente …

…mas o ExtraPulsar não pode ser usado diretamente para iniciar um ataque e não representa uma ameaça “indetectável”, independentemente do que você possa ter ouvido.

Então, vamos ser caridosos e dizer que o código de Dillon é informativo para estudar se você estiver interessado em segurança cibernética.

Com informações do blog Naked Security, da Sophos – uma parceira SdRedes.