NOTÍCIAS

[ANONYMOUS][grids]

PgMiner Botnet ataca bancos de dados PostgreSQL para instalar um criptomoeda Miner

 

PgMiner Botnet ataca bancos de dados PostgreSQL para instalar um criptomoeda Miner

Os pesquisadores da Unidade 42 em Paloalto descobriram um botnet de mineração de criptomoedas chamado “PGMiner”. É um botnet de criptomoeda baseado em Linux que explora uma vulnerabilidade contestada de execução remota de código (RCE) PostgreSQL que permite o criptojacking a servidores de banco de dados.

Cryptojacking é uma ameaça online emergente que se esconde em um computador ou dispositivo móvel e usa o poder de computação desses dispositivos para explorar a criptomoeda de forma maliciosa.

PGMiner explora CVE-2019-9193 em PostgreSQL, também conhecido como Postgres, um RDBMS de código aberto popular. PostgreSQL é um dos DBMS mais populares. “Copiar do programa” é o recurso que está sendo explorado e foi introduzido na versão 9.3 em 9 de setembro de 2013.

Em 2018,  CVE-2019-9193  foi vinculado a este recurso, denominado como uma “vulnerabilidade”. No entanto, a comunidade PostgreSQL contestou esta atribuição, e o CVE foi rotulado como "disputado". Anteriormente, apenas CVEs confirmados eram alvos de agentes de malware, mas agora mesmo aqueles em status de disputa parecem ser alvos.

Visão do processo do ataque

PGMiner tenta se conectar ao pool de mineração de criptomoeda Monero. As técnicas de mineração de moedas da PGMiner se assemelham às da família SystemdMiner, com algumas variações significativas:

  1. Exclua a tabela PostgreSQL logo após o lançamento do código para obter uma execução sem arquivo.
  2. Colete informações do sistema e envie-as ao servidor de comando e controle (C2) para identificação da vítima.
  3. Empregue abordagens tradicionais e inovadoras para baixar o binário curl, caso o comando não esteja disponível na máquina da vítima.
  4. Personifique o processo “tracepath” para ocultar sua presença.
  5. Tentativa de matar programas concorrentes para melhor monetização
PgMiner Botnet ataca bancos de dados PostgreSQL para instalar um criptomoeda Miner

Em primeiro lugar, a carga maliciosa é entregue via PostgreSQL. Que então se comunica com os servidores C2 backend por meio de proxies SOCKS5. Depois disso, ele baixa as cargas úteis de mineração de moedas com base na arquitetura do sistema. Também foi descoberto que o GMiner se reproduz constantemente baixando recursivamente certos módulos. 

Em segundo lugar, o invasor verifica a porta 5432 (0x1538), usada pelo PostgreSQLql dos hosts na rede privada / local (ou seja, sub-redes 172.16.0.0, 192.168.0.0 e 10.0.0.0) e o malware escolhe aleatoriamente um intervalo de rede pública (por exemplo , 190.0.0.0, 66.0.0.0) para executar RCE no servidor PostgreSQL.

Com o usuário “postgres”, o invasor executa um ataque de força bruta iterando sobre uma lista embutida de senhas populares como   112233   e   1q2w3e4r   para quebrar a autenticação do banco de dados.

Assim, ao quebrar o banco de dados, o PostgreSQL usa o recurso “copiar do programa” para baixar e iniciar os scripts de mineração de moedas que permitem que o superusuário local ou remoto execute o script de shell diretamente no servidor.

Em terceiro lugar, o script malicioso tenta fazer o download do binário curl usando qualquer uma das seguintes maneiras e o adiciona aos caminhos de execução:

  • Instalação direta de utilitários de gerenciamento de pacotes oficiais como apt-get e yum.
  • Baixe o binário curl estático do GitHub.
  • Baixe usando / dev / tcp caso os meios normais não funcionem.

Depois de baixar o curl e resolver o endereço IP do servidor proxy SOCKS5, PGMiner encontra a primeira pasta que permite a permissão para criar um novo arquivo e, portanto, atualiza seus atributos.

Ao obter êxito, a carga maliciosa baixada será executada com sucesso na máquina da vítima.

As cargas recuperadas são x86_64, que é um executável ELF, aarch64 e armv7l, que são scripts de shell idênticos

Comportamento do executável x86_64 ELF

Preparação do ambiente:

  • Baixe e instale o binário curl conforme explicado acima.
  • Instale o crontab.
  • Remova ferramentas de monitor de segurança em nuvem, como Aegis, e utilitários de monitor Qcloud, como Yunjing.

Verificação de máquina virtual: PGMiner verifica a existência de VBoxGuestAdditions para inferir se ele está sendo analisado em um ambiente virtual.

Remoção de concorrentes

  • Remova outros scripts de minerador, processos e registros crontab conhecidos.
  • Mate os processos de limpeza do minerador.
  • Elimine todos os outros processos intensivos da CPU, como ddg, atualizações do sistema e assim por diante.
  • Elimine processos conectados a endereços IP de mineração conhecidos.

Comportamento de aarch64 e armv7l

O módulo cmd primeiro tenta eliminar o processo tracepath e, em seguida, baixa a carga adicional do mesmo endereço C2. O malware baixado representa o processo tracepath para ocultar sua presença.

Recomendação e Aconselhamento Para remover o impacto do PGMiner no servidor PostgreSQL, o usuário pode pesquisar e matar o processo “tracepath” e eliminar os processos cujos IDs de processo foram rastreados pelo malware em “/tmp/.X11-unix/”