Hack Alerta

Módulo Go malicioso rouba senhas e instala backdoor Rekoobe em ambientes de desenvolvimento

Ataque à cadeia de suprimentos usa módulo Go malicioso que imita biblioteca criptográfica oficial para roubar credenciais e implantar backdoor Rekoobe. O módulo foi bloqueado, mas evita detecção ao só ativar seu payload durante uso interativo de funções que capturam senhas.

Módulo Go malicioso rouba senhas e instala backdoor Rekoobe em ambientes de desenvolvimento

Uma campanha de ataque à cadeia de suprimentos (supply chain) está visando desenvolvedores da linguagem Go. Um ator de ameaças publicou um módulo malicioso que imita a biblioteca criptográfica oficial "golang.org/x/crypto", sendo usado para roubar credenciais e implantar silenciosamente um backdoor Linux chamado Rekoobe em sistemas comprometidos. O módulo, github[.]com/xinfeisoft/crypto, foi listado publicamente no pkg.go.dev e já foi bloqueado pela equipe de segurança do Go.

Mecanismo de infecção e evasão

O módulo malicioso copiou a estrutura completa do repositório legítimo, incluindo subpacotes populares como bcrypt, argon2, acme e ssh. Essa estratégia de typosquatting avançada permitiu que ele se misturasse às dependências de projetos sem levantar suspeitas imediatas durante revisões de código. A exploração se aproveita do fato de o ecossistema Go usar o GitHub como um espelho para o repositório canônico.

O backdoor foi inserido no arquivo `ssh/terminal/terminal.go`, especificamente na função `ReadPassword`. Esta função é comumente usada por ferramentas que lidam com passphrases SSH, logins de banco de dados e chaves de API inseridas interativamente. A maliciosidade é acionada apenas durante o uso interativo ao vivo, permanecendo inativa durante execuções automatizadas de testes, o que reduz drasticamente as chances de detecção acidental.

Cadeia de ataque em múltiplos estágios

Quando a função comprometida é chamada, ela captura a credencial em texto simples e a escreve no arquivo `/usr/share/nano/.lock`. Em seguida, inicia uma cadeia de entrega em cinco estágios:

  1. Busca um ponteiro (`update.html`) de um repositório GitHub controlado pelo atacante.
  2. O ponteiro redireciona para um script (`seed.php`) no domínio `img[.]spoolsv[.]cc`.
  3. Esse script retorna um comando `curl | sh` que baixa e executa o estágio principal `snn50.txt`.
  4. O estágio `snn50.txt` realiza três ações críticas:
    • Adiciona uma chave SSH controlada pelo atacante ao arquivo `authorized_keys` para acesso persistente.
    • Altera as políticas padrão do iptables para `ACCEPT`, enfraquecendo o firewall do host.
    • Baixa e executa os payloads finais `sss.mp5` e `555.mp5` (disfarçados com extensões de mídia), deletando-os em seguida.
  5. O payload `555.mp5` foi confirmado como o backdoor Rekoobe, associado ao APT31 (Zirconium), que se comunica com o IP `154[.]84[.]63[.]184` na porta 443 usando tráfego customizado que simula HTTPS.

Impacto e recomendações de mitigação

O impacto é significativo para equipes que operam ambientes Linux baseados em Go, como VMs na nuvem, runners de CI/CD e hosts bastião. Qualquer aplicação que importe este módulo e invoque `ReadPassword` se torna um ponto de coleta de credenciais, expondo passphrases SSH, senhas de banco de dados e chaves de API antes que possam ser protegidas por hashing ou criptografia.

Para se defender, as organizações devem:

  • Auditar arquivos `go.mod` e `go.sum` em busca de mudanças inesperadas no módulo raiz.
  • Monitorar endpoints para escritas no arquivo `/usr/share/nano/.lock`.
  • Vigiar modificações não autorizadas no arquivo `authorized_keys` e alterações nas políticas do iptables.
  • Bloquear proativamente os domínios `img[.]spoolsv[.]cc` e `img[.]spoolsv[.]net`.
  • Implementar alertas para processos que encadeiam buscas no GitHub Raw com chamadas HTTP POST de saída.

Baseado em publicação original de Cyber Security News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.