Blog Linux Avante

Malware encontrado no repositório de usuários Arch (AUR)

10 de julho de 2018

Logotipo do Arch Linux

Em 7 de julho, um pacote AUR foi modificado com algum código malicioso, lembrando os usuários Arch Linux (e usuários Linux em geral) de que todos os pacotes gerados pelo usuário devem ser verificados (quando possível) antes da instalação.

AUR, ou o Arch (Linux) User Repository contém descrições de pacotes, também conhecidos como PKGBUILDs, que tornam a compilação de pacotes a partir dos fontes mais fácil. Embora esses pacotes sejam muito úteis, eles nunca devem ser tratados como seguros, e os usuários devem sempre verificar seu conteúdo antes de usá-los, quando possível. Afinal, a página da Web do AUR afirma em negrito que "os pacotes AUR são conteúdo produzido pelo usuário. Qualquer uso dos arquivos fornecidos é de sua responsabilidade."

A descoberta de um pacote AUR contendo código malicioso prova isso. acroread foi modificado em 7 de julho (parece que era anteriormente "órfão", o que significa que não tinha mantenedor) por um usuário chamado "xeactor" para incluir um comando curl que baixou um script de um pastebin. O script então baixou outro script e instalou uma unidade systemd para executar esse script periodicamente.

Parece que dois outros pacotes AUR foram modificados da mesma maneira. Todos os pacotes ofensivos foram removidos e a conta de usuário (que foi registrada no mesmo dia em que esses pacotes foram atualizados) que foi usada para carregá-los foi suspensa.

O código malicioso não fez nada realmente prejudicial - ele apenas tentou carregar algumas informações do sistema, como a ID da máquina, a saída de uname -a (que inclui a versão do kernel, arquitetura, etc.), informações da CPU, informações do pacman e o saída de systemctl list-units (que lista as informações das unidades do systemd) para pastebin.com. Estou dizendo "tentado" porque nenhuma informação do sistema foi realmente carregada devido a um erro no segundo script (a função de upload é chamada de "upload", mas o script tentou chamá-la usando um nome diferente, "uploader").

Além disso, a pessoa que adiciona esses scripts maliciosos ao AUR deixou a chave pessoal da API Pastebin no script em texto não criptografado, provando mais uma vez que eles não sabem exatamente o que estão fazendo.

O objetivo de tentar fazer upload dessas informações para o Pastebin não é claro, especialmente porque dados muito mais confidenciais poderiam ter sido carregados, como chaves GPG/SSH.

Atualização: usuário do Reddit u/xanaxdroid_ menciona que o mesmo usuário chamado "xeactor" também postou alguns pacotes de mineração de criptomoedas, então ele especula que "xeactor" provavelmente estava planejando adicionar alguma criptomoeda oculta software de mineração para AUR (este também era o caso com alguns pacotes do Ubuntu Snap dois meses atrás). É por isso que "xeactor" provavelmente estava tentando obter várias informações do sistema. Todos os pacotes enviados por este usuário AUR foram removidos, então não posso verificar isso.

Outra atualização: O que exatamente você deve verificar em pacotes gerados pelo usuário, como os encontrados no AUR? Isso varia e não posso dizer exatamente, mas você pode começar procurando por qualquer coisa que tente baixar algo usando curl, wget e outras ferramentas semelhantes e ver o que exatamente eles estão tentando baixar. Verifique também o servidor de onde a fonte do pacote foi baixada e certifique-se de que é a fonte oficial. Infelizmente, esta não é uma 'ciência' exata. Para PPAs do Launchpad, por exemplo, as coisas ficam mais complicadas porque você deve saber como o pacote Debian funciona, e a fonte pode ser alterada diretamente, já que está hospedada no PPA e carregada pelo usuário. Fica ainda mais complicado com os pacotes Snap, porque você não pode verificar esses pacotes antes da instalação (até onde eu sei). Nestes últimos casos, e como uma solução genérica, acho que você só deve instalar pacotes gerados pelo usuário se confiar no uploader/packager.

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.