Threat Database Backdoors BlackRota Backdoor

BlackRota Backdoor

O BlackRota é uma ameaça de backdoor escrita na linguagem de programação Go. O BlackRota explora uma vulnerabilidade de acesso não autorizado encontrada na API Docker Remote. A ameaça é capaz de comprometer as arquiteturas de 64 bits e 86 bits, mas funciona apenas em sistemas Linux. Uma característica única do BlackRota é o alto nível de ofuscação que foi implementado pelos hackers responsáveis pela ameaça. É extremamente raro que um malware escrito em Go apresente tais medidas intensivas de ofuscação. Na verdade, os pesquisadores da Infosec que analisaram o BlackRota afirmam que é o malware Go mais ofuscado que encontraram até hoje.

Depois de se infiltrar em seu alvo, o BlackRota estabelece o que os pesquisadores chamaram de 'geacon'. Ele representa um sinalizador por meio do qual o malware se comunica com seu servidor de comando e controle para receber comandos e exfiltrar os dados coletados. O beacon específico implementado no BlackRota foi observado anteriormente como sendo usado pelo CobaltStrike, uma ferramenta de malware usada por agentes de ameaças para espalhar ransomware. Entre as funcionalidades ameaçadoras disponíveis para o BlackRota está a capacidade de executar comandos shell, navegador, fazer upload e download de arquivos do sistema comprometido, alterar diretórios ou definir um temporizador de atraso de sono.

Para impedir que quaisquer pesquisadores em potencial façam engenharia reversa, a BlackRota emprega várias técnicas de ofuscação. Primeiro, ele aproveita uma ferramenta de código aberto para código escrito em Go denominado gobfuscate, resultando em vários elementos do código subjacente do malware, como variáveis globais e nomes de pacotes, nomes de métodos, nomes de tipos e nomes de funções ocultos atrás de caracteres aleatórios substituições. O mesmo aplicativo gobfuscate também é responsável por codificar todas as strings do código com a cifra criptográfica XOR. Cada string BlackRota é decodificada dinamicamente durante a execução.

A análise de código escrito em Go apresenta desafios por si só devido à maneira como os arquivos binários são construídos. O uso de bibliotecas totalmente estáticas significa que os arquivos binários correspondentes atingem tamanhos comparativamente grandes. Quando os pesquisadores abrem esse arquivo em uma ferramenta de desmontagem, eles são apresentados a potencialmente dezenas de milhares de funções, que, se os simbólicos correspondentes estiverem faltando, podem aumentar tremendamente o tempo necessário para chegar a uma análise aceitável.

Tendendo

Mais visto

Carregando...