Imagens Maliciosas de Contêiner do Docker Hub são Usadas para Mineração de Criptomoedas

O aumento da adoção de contêineres deu origem a uma ampla gama de ameaças potenciais aos pipelines DevOps. Muitos dos ataques que observamos envolveram o uso abusivo de imagens de contêiner para realizar funcionalidades maliciosas. Em nosso monitoramento de ameaças relacionadas ao Docker, recentemente encontramos um ataque vindo de 62[.]80[.]226[.]102. Uma análise posterior revelou que o agente da ameaça carregou duas imagens maliciosas no Docker Hub para mineração de criptomoeda. O Docker já foi notificado desse ataque e, desde então, removeu estas imagens.

Figura 1. Fragmento de código da solicitação HTTP POST recebida pelo honeypot Docker.

Uma análise mais detalhada do perfil do usuário do carregador de imagens levou à descoberta de duas imagens Docker atualizadas recentemente:

Figura 2. As duas imagens Docker atualizadas recentemente encontradas no perfil do carregador de imagem.

As duas imagens foram rotuladas como “alpine” e “alpine2” para induzir os desenvolvedores a usá-las, já que Alpine Linux é uma imagem base popular do Docker. A análise do Dockerfile da imagem alpine do agente malicioso revelou que os contêineres executados a partir dessa imagem poderiam fazer a varredura na Internet em busca de servidores Docker vulneráveis usando o Masscan, um scanner de porta de rede.

Figura 3. Fragmento de código do shell script usado pela imagem alpine.

Uma análise posterior mostrou que o script envia um comando que executará um contêiner da imagem alpine2 do agente da ameaça para todos os servidores Docker expostos que puder encontrar.

Figura 4. Fragmento de código do Dockerfile de alpine2.

Uma olhada mais de perto no Dockerfile da imagem alpine2 revelou que a imagem foi construída usando Alpine Linux como sua imagem base. Também foi descoberto que o alpine2 instala dependências e clona o código-fonte do software de mineração do repositório oficial do GitHub XMRIG. Por último, o minerador de criptomoedas seria criado a partir do código-fonte e executado.

Figura 5. A cadeia de infecção do ataque que usa Docker Hub para hospedar uma imagem Docker maliciosa.

Os contêineres se tornaram alvos frequentes de agentes de ameaças que realizam mineração de criptomoeda maliciosa e outros ataques. No ano passado, a Trend Micro encontrou atividades de mineradores de criptomoedas que foram implantadas como contêineres afetados usando uma imagem distribuída pela comunidade publicada no Docker Hub. Em maio, os pesquisadores descobriram um diretório aberto contendo um minerador de criptomoeda malicioso e um bot de negação de serviço distribuído (DDoS) que tinha como alvo portas abertas daemon do Docker. No ataque, um contêiner Alpine Linux foi criado para hospedar o minerador de criptomoedas e o bot DDoS.

 

Defesa contra ameaças relacionadas ao Docker

A descoberta de mais uma ameaça que abusa dos contêineres do Docker deve lembrar as equipes de desenvolvimento para evitar a exposição das portas Docker Daemon à internet pública. Essas equipes também devem considerar o uso apenas de imagens oficiais do Docker para evitar possíveis riscos e ameaças à segurança. Aqui estão outras práticas recomendadas para proteger contêineres:

  •         Minimize o uso de software de terceiros e use aqueles verificáveis a fim de evitar a introdução de software malicioso no ambiente do contêiner.
  •         Faça a varredura das imagens no repositório e verifique se há configurações incorretas e determine se elas contêm alguma vulnerabilidade.
  •         Evite a exploração da vulnerabilidade usando ferramentas como o Clair, que fornece análise estática para contêineres.
  •         Hospede contêineres em um sistema operacional focado neles, para reduzir a superfície de ataque.

Enquanto isso, as organizações podem contar com as seguintes soluções de segurança em nuvem para proteger os contêineres Docker:

 

Indicadores de Comprometimento (IOCs)

URLs

  •   62[.]80[.]226[.]102
  •     pool[.]supportxmr[.]com:5555

SHA256 

  •         71421f34ead04b75934495c503f49e4ac43a04107ec770f2b17c178ec56e26b6 (detectado pela Trend Micro como Trojan.SH.MALXMR.UWEKI)