Agência de Segurança Nacional e o FBI dos EUA , de acordo com o qual o 85º Centro Principal de Serviço Especial (85 GЦCC GРУ) utiliza o complexo de malware chamado "Serrador". O "Serrador" inclui um rootkit na forma de um módulo do núcleo Linux, uma ferramenta para envio de arquivos e redirecionamento de portas de rede, e um servidor de controle. A parte cliente pode baixar e enviar arquivos, executar comandos arbitrários em nome do usuário root e redirecionar portas de rede para outros nós da rede.
O centro de controle do "Serrador" recebe, como argumento de linha de comando, o caminho para o arquivo de configuração em formato JSON:
{
"db_host" : "",
"db_port" : "",
"db_db" : "",
"db_user" : "",
"db_password" : "",
"lport" : "",
"lhost" : "",
"ping_sec" : "",
"priv_key_file" : "",
"phrase" : ""
}
Como backend, é utilizado o banco de dados MySQL. Para a conexão dos clientes, o protocolo WebSocket é utilizado.
O cliente possui uma configuração embutida, incluindo a URL do servidor, sua chave pública RSA, nome de usuário e senha. Após a instalação do rootkit, a configuração é salva como um arquivo de texto em formato JSON, que é ocultado do sistema pelo módulo do núcleo "Serrador":
{
"id" : "cbcf6abc-466b-11e9-853b-000c29cb9f6f",
"key": "Y2xpZW50a2V5"
}
Aqui, "id" é um identificador único atribuído pelo servidor, onde os últimos 48 bits correspondem ao endereço MAC da interface de rede do servidor. O parâmetro "key" por padrão é uma string codificada em base64 chamada "clientkey", que é utilizada pelo servidor durante o primeiro handshake. Além disso, o arquivo de configuração pode conter informações sobre arquivos ocultos, módulos e portas de rede:
{
"id" : "6fa41616-aff1-11ea-acd5-000c29283bbc",
"key": "Y2xpZW50a2V5",
"monitor" : {
"file" : [
{
"active" : "true",
"id" : "d9dc492b-5a32-8e5f-0724-845aa13fff98",
"mask" : "testfile1"
}
],
"module" : [
{
"active" : "true",
"id" : "48a5e9d0-74c7-cc17-2966-0ea17a1d997a",
"mask" : "testmodule1"
}
],
"net" : [
{
"active" : "true",
"id" : "4f355d5d-9753-76c7-161e-7ef051654a2b",
"port" : "12345",
"protocol" : "tcp"
}
]
}
}
Outro componente do "Serrador" é o agente, cujo arquivo de configuração contém informações para conexão ao servidor:
{
"client_login" : "user123",
"client_pass" : "pass4567",
"clientid" : "e391847c-bae7-11ea-b4bc-000c29130b71",
"clientkey_base64" : "Y2xpZW50a2V5",
"pub_key_file" :"public_key",
«server_host» : «192.168.57.100»,
«server_port» :»45122″,
«server_uri» :»/ws»
}
Os campos «clientid» e «clientkey_base64» não estão presentes inicialmente, eles são adicionados após o registro inicial no servidor.
Após a instalação, as seguintes operações são realizadas:
- o módulo do kernel é carregado, registrando ganchos para chamadas de sistema;
- o cliente se registra no módulo do kernel;
- o módulo do kernel oculta o processo em execução do cliente e seu arquivo executável no disco.
Para a interação do cliente com o módulo do kernel, é utilizado um dispositivo pseudo, por exemplo /dev/zero. O módulo do kernel analisa todos os dados gravados no dispositivo e, para enviar dados de volta, envia ao cliente um sinal SIGUSR1, após o qual este lê os dados do mesmo dispositivo.
Para detectar o 'Woodcutter', pode-se usar a análise de tráfego de rede com ferramentas NIDS (não é possível identificar a atividade maliciosa na própria sistema infectada, pois o módulo do kernel oculta os sockets de rede utilizados, regras netfilter e pacotes que poderiam ser interceptados por raw-sockets). Em um sistema onde o 'Woodcutter' está instalado, é possível detectar o módulo do kernel enviando o comando de ocultação de arquivo:
touch testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls
O arquivo criado 'testfile' torna-se invisível.
Outros métodos de detecção incluem a análise de memória e do conteúdo do disco. Para prevenir infecções, é recomendado o uso de verificação de assinatura obrigatória do kernel e dos módulos, disponível a partir da versão 3.7 do kernel Linux.
O relatório contém regras do Snort para detectar a atividade de rede do 'Woodcutter' e regras Yara para detectar seus componentes.
Vale lembrar que o 85 GTS GRU (no 26165) está associado ao grupo , responsável por numerosos ciberataques.
Fonte: opennet.ru
