Em uma estratégia inédita e ousada, alguns hackers usam o dependabot do GitHub para roubar informações disfarçadamente.
Dependabot é uma ferramenta automatizada fornecida pelo GitHub que verifica projetos em busca de dependências vulneráveis e, em seguida, emite automaticamente solicitações pull para instalar as versões atualizadas.
Os hackers estão violando contas do GitHub e inserindo códigos maliciosos disfarçados de contribuições do Dependabot para roubar segredos de autenticação e senhas dos desenvolvedores.
Hackers usam o Dependabot do GitHub para roubar informações
A campanha se desenrolou em julho de 2023, quando pesquisadores descobriram commits incomuns em centenas de repositórios públicos e privados forjados para aparecerem como commits do Dependabot.
Conforme relatado hoje pela Checkmarx, essas contribuições falsas do Dependabot foram possíveis usando tokens de acesso roubados do GitHub com o objetivo dos invasores de injetar código malicioso para roubar os segredos do projeto.
O ataque começou com os invasores obtendo de alguma forma os tokens pessoais de acesso do GitHub de seus alvos, dos quais Checkmarx não tem conhecimento.
Os atores da ameaça parecem estar usando scripts automatizados para criar mensagens de commit falsas intituladas “consertar” que parecem ser da conta de usuário “dependabot[bot]”.
Esses commits introduzem código malicioso no projeto que executa as duas ações a seguir:
- Extrai segredos do projeto GitHub alvo e envie-os para o servidor de comando e controle do invasor.
- Modifica os arquivos JavaScript existentes no repositório violado para adicionar malware que rouba senhas de envios de formulários da web e os envia para o mesmo endereço C2.
A exfiltração de segredos é obtida adicionando o arquivo de ação GitHub “hook.yml” como um novo fluxo de trabalho acionado em cada evento push de código no repositório afetado.
O componente ladrão de senhas injeta JavaScript ofuscado no final de todos os arquivos JavaScript (.js) que carregam o script a seguir de um site remoto. Este script monitorará os envios de formulários para roubar senhas de qualquer entrada de formulário do tipo ‘senha’.
Como muitos tokens comprometidos também concederam acesso a repositórios privados, o ataque afetou repositórios GitHub públicos e privados.
Os analistas da Checkmarx examinaram os registros de algumas vítimas e descobriram que suas contas foram comprometidas usando PATs (tokens de acesso pessoal) roubados.
Esses tokens são armazenados localmente nos computadores do desenvolvedor e podem ser usados para fazer login no GitHub sem passar pelas etapas de 2FA (autenticação de dois fatores).
“Infelizmente, a atividade do log de acesso do token não é visível no log de auditoria da conta. Portanto, se o seu token foi comprometido, você não pode ter certeza porque os logs de acesso estão faltando”, avisa Checkmarx
Embora a empresa de segurança cibernética não tenha chegado a uma conclusão concreta sobre os meios exatos pelos quais os invasores roubaram esses tokens, eles presumem que pode ser por meio de uma infecção por malware, possivelmente introduzida no dispositivo do desenvolvedor por meio de um pacote malicioso.
A maioria dos usuários comprometidos são da Indonésia, o que implica um ataque direcionado e adaptado a esse grupo demográfico. Contudo, as evidências disponíveis não fornecem detalhes específicos sobre o tema.
Uma medida proposta para se defender contra esses ataques é mudar para os tokens de acesso pessoal refinados do GitHub, que limitam cada usuário a permissões específicas, reduzindo assim os riscos em caso de comprometimento.