Hackers podem usar GitHub Codespaces para entregar malware

Segundo um novo relatório da Trend Micro, pesquisadores demonstraram que os hackers podem usar GitHub Codespaces para entregar malware.

O GitHub Codespaces permite que os desenvolvedores implantem plataformas IDE hospedadas na nuvem em contêineres virtualizados para escrever, editar e testar/executar código diretamente em um navegador da web.

Desde que se tornou amplamente disponível em novembro de 2022, o GitHub Codespaces se tornou uma escolha popular entre os desenvolvedores que o preferem por seu ambiente baseado em contêiner pré-configurado, equipado com todas as ferramentas e dependências necessárias para seus projetos.

Agora, os pesquisadores demonstraram como os agentes de ameaças podem abusar do recurso de encaminhamento de porta do GitHub Codespaces para hospedar e distribuir malware e scripts maliciosos.

Hackers podem usar GitHub Codespaces para entregar malware

Hackers podem usar GitHub Codespaces para entregar malware
Hackers podem usar GitHub Codespaces para entregar malware – Configuração de visibilidade de porta em Codespaces Fonte: Trend Micro

Em um novo relatório da Trend Micro, os pesquisadores demonstram como GitHub Codespaces podem ser facilmente configurados para atuar como um servidor web para distribuição de conteúdo malicioso, evitando potencialmente a detecção quando o tráfego vem da Microsoft.

O GitHub Codespaces permite que os desenvolvedores encaminhem portas TCP ao público para que usuários externos possam testar ou visualizar os aplicativos.

Ao encaminhar portas em uma VM do Codespace, o recurso GitHub gerará uma URL para acessar o aplicativo em execução nessa porta, que pode ser configurada como privada ou pública.

Um encaminhamento de porta privada requer autenticação na forma de um token ou cookies para acessar a URL. No entanto, uma porta pública pode ser acessada por qualquer pessoa que conheça a URL sem exigir autenticação.

Esse recurso do GitHub oferece aos desenvolvedores flexibilidade nas demonstrações de código, mas a Trend Micro diz que os invasores hoje podem facilmente abusar dele para hospedar malware na plataforma.

Teoricamente, um invasor pode executar um servidor da Web Python simples, fazer upload de scripts maliciosos ou malware em seu Codespace, abrir uma porta de servidor da Web em sua VM e atribuir visibilidade “pública”.

A URL gerada pode então ser usada para acessar os arquivos hospedados, seja para campanhas de phishing ou para hospedar executáveis maliciosos baixados por outro malware.

É exatamente assim que os agentes de ameaças abusam de outros serviços confiáveis, como Google Cloud, Amazon AWS e Microsoft Azure, para campanhas de distribuição de malware.

“Para validar nossa hipótese de cenário de abuso de modelagem de ameaças, executamos um servidor HTTP baseado em Python na porta 8080, encaminhamos e expusemos a porta publicamente.”, diz o relatório da Trend Micro.

"No processo, encontramos facilmente o URL e a ausência de cookies para autenticação."

Os analistas dizem que, embora o HTTP seja usado por padrão no sistema de encaminhamento de porta do Codespaces, os desenvolvedores podem configurá-lo para HTTPS, aumentando a ilusão de segurança para o URL.

Como o GitHub é um espaço confiável, as ferramentas antivírus são menos propensas a disparar alarmes para que os agentes de ameaças possam evitar a detecção a um custo mínimo.

Hackers podem usar GitHub Codespaces para entregar malware
Hackers podem usar GitHub Codespaces para entregar malware – Diagrama de ataque de abuso de codespaces (Trend Micro)

Os analistas da Trend Micro também exploram o abuso de Dev Containers em GitHub Codespaces para tornar suas operações de distribuição de malware mais eficientes.

Um “dev container” no GitHub Codespaces é um container pré-configurado que contém todas as dependências e ferramentas necessárias para um projeto específico. Os desenvolvedores podem usá-lo para implantação rápida, compartilhá-lo com outras pessoas ou conectar-se via VCS.

Um invasor pode usar um script para encaminhar uma porta, executar um servidor HTTP Python e baixar arquivos maliciosos dentro de seu Codespace.

Em seguida, a visibilidade da porta é definida como pública, o que cria um servidor da Web com um diretório aberto que fornece arquivos maliciosos aos alvos.

A Trend Micro criou uma prova de conceito (PoC) para isso, usando um atraso de 100 segundos após o URL ser acessado antes que o servidor web seja excluído.

O site BleepingComputer conseguiu replicar a criação de um servidor web “malicioso” usando Codespaces em menos de 10 minutos, sem experiência com o recurso.

Hackers podem usar GitHub Codespaces para entregar malware
Hackers podem usar GitHub Codespaces para entregar malware – Executando um servidor da Web em uma VM GitHub Codespaces Fonte: BleepingComputer

“Usando esses scripts, os invasores podem facilmente abusar dos codespaces do GitHub para fornecer conteúdo malicioso rapidamente, expondo as portas publicamente em seus ambientes de codespace. Como cada codespace criado possui um identificador exclusivo, o subdomínio associado também é exclusivo”, explica a Trend Micro em o relatório.

“Isso dá ao invasor terreno suficiente para criar diferentes instâncias de diretórios abertos.”

A política do GitHub é que os espaços de código inativos sejam excluídos automaticamente após 30 dias, para que os invasores possam usar o mesmo URL por um mês inteiro.

Embora não haja abuso conhecido de GitHub Codespaces no momento, o relatório destaca uma possibilidade realista, já que os agentes de ameaças geralmente preferem segmentar plataformas “gratuitas para uso” que também são confiáveis para produtos de segurança.

O site BleepingComputer entrou em contato com o GitHub para comentar o relatório da Trend Micro, e recebeu a seguinte resposta:

“O GitHub está empenhado em investigar os problemas de segurança relatados. Estamos cientes desse relatório e planejamos adicionar um prompt aos usuários para validar que eles confiam no proprietário ao se conectar a um espaço de código.”

“Recomendamos que os usuários do GitHub Codespaces sigam nossas diretrizes para manter a segurança e minimizar o risco de seu ambiente de desenvolvimento.”

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.