Ransomware “amador” escondia chave de encriptação no próprio código

 

A família Black Kindom tem uma complexidade e sofisticação que não pode ser comparada com outras famílias Ransomware-as-a-Service RaaS ou Big Game Hunting BGH. O ransomware é codificado em Python e compilado em um executável usando PyInstaller, o ransomware suporta dois modos de criptografia: um gerado dinamicamente e o outro usando uma chave codificada. A traves da analise do código foi revalado um ciclo de desenvolvimento amado e uma possibilidade de recuperar arquivos criptografados com o Black Kingdom com ajuda da chave codificada. A indústria já forneceu um script para recuperar arquivos criptografados caso eles tenham sido criptografados com a chave incorporada.

Pela atividade anterior do Black Kingdom pode indica que o ransomware foi usado em campanhas maiores de exploração de vulnerabilidades relacionadas ao Pulse Secure ou Microsoft Exchange. Relatórios públicos indicaram que o adversário por trás da campanha, após explorar com sucesso a vulnerabilidade, instalou um webshell no sistema comprometido. O webshell habilitou o invasor a executar comandos arbitrários, como um script PowerShell para baixar e executar o executável Black Kingdom.

O ransomware consegue ser executado sem parâmetros e começará a criptografar o sistema, mas é possível executar o Black Kingdom com um valor numérico, que será interpretado como o número de segundos a esperar antes de iniciar a criptografia.

O código estaticamente, descobrimos que a maior parte da lógica do ransomware foi codificada em um arquivo denominado 0xfff.py . O ransomware foi escrito em Python 3.7.
O usuário por trás do Black Kingdom especificou que certas pastas deveriam ser excluídas da criptografia. O objetivo é evitar quebrar o sistema durante a criptografia. A lista de pastas excluídas está disponível no código:

• Janelas,
• Dados do Programa,
• Arquivos de Programas,
• Arquivos de programa (x86),
• AppData / Roaming,
• AppData / LocalLow,
• AppData / Local.

O código que implementa essa funcionalidade que demonstra como o Black Kingdom é escrito amadoristicamente. Os desenvolvedores não conseguiram usar ambientes de sistema operacional ou regex para evitar a repetição do código duas vezes.

Antes da criptografia de arquivos, o Black Kingdom usa o PowerShell para tentar interromper todos os processos no sistema que contêm “sql” no nome com o seguinte comando:
Get-Service*sql*|Stop-Service-Force2>$null
feito isso, Black Kingdom excluirá o histórico do PowerShell no sistema.

O Black Kingdom em comparação com outras, é uma implementação amadora com vários erros e uma falha crítica de criptografia que poderia permitir descriptografar os arquivos devido ao uso de uma chave codificada. O Black Kingdom não é um jogador novo: foi observado em ação após outras explorações de vulnerabilidades em 2020, como CVE-2019-11510.