A equipe de pesquisa da Socket revelou a existência de um pacote Python malicioso denominado ‘fabrice’, que tem como objetivo enganar desenvolvedores ao se passar pela popular biblioteca de automação SSH chamada ‘fabric’. Ao explorar essa semelhança, o pacote ‘fabrice’ se infiltra em sistemas, com a intenção de roubar credenciais da Amazon Web Services (AWS), causando grande preocupação entre os profissionais de tecnologia. Essa descoberta chama a atenção para os riscos contínuos da entrega de malware por meio de bibliotecas de código aberto disfarçadas, especialmente em um cenário onde ataques em larga escala têm mirado usuários do NPM.
Desde sua estreia no repositório PyPI em 2021, o pacote ‘fabrice’ vem operando nas sombras, acumulando mais de 37 mil downloads, o que evidencia uma estratégia astuta de enganar os menos atentos. O pacote legítimo, ‘fabric’, desenvolvido pelo programador bitprophet, conta atualmente com mais de 201 milhões de downloads e é amplamente confiável pelos desenvolvedores ao redor do mundo. Contudo, a estratégia do ‘fabrice’ é explorar essa confiança, disponibilizando cargas maliciosas que visam o roubo de credenciais, a criação de backdoors e a execução de comandos em plataformas específicas.
A pesquisa conduzida pelo Socket oferece uma análise detalhada das atividades maliciosas promovidas pelo ‘fabrice’, tanto em sistemas Linux quanto Windows, destacando as táticas e as estratégias utilizadas para mitigar tais ameaças. O relatório revela que o pacote ‘fabrice’ adota abordagens distintas para a execução de suas operações maliciosas, dependendo do sistema operacional subjacente. Essa complexidade nas operações demonstra a sofisticação do código e a malícia envolvidas.
como o ‘fabrice’ atua em sistemas linux e windows
No caso dos sistemas Linux, o ‘fabrice’ utiliza uma função chamada `linuxThread()`, que é responsável por baixar, decodificar e executar scripts a partir de um servidor externo. Essa função tem como alvo diretórios ocultos, utilizando técnicas de ofuscação para evitar sua detecção. Um dos passos adotados consiste em criar um diretório oculto (`~/.local/bin/vscode`), onde armazena suas cargas prejudiciais, dificultando a identificação de anomalias pelos usuários.
Adicionalmente, a função `linuxThread()` se conecta a um endereço IP específico (89.44.9.227, vinculado a um servidor VPN em Paris) por meio de uma URL ofuscada, construída com a concatenação de strings, para baixar scripts que serão ocultados em um diretório secreto. O texto obtido é então convertido em múltiplos arquivos executáveis guardados nesse local. Ao configurar permissões de execução, o malware pode rodar um dos scripts (`per.sh`), permitindo que os atacantes executem comandos com os privilégios do usuário que foi infectado.
Por sua vez, em sistemas Windows, o pacote ‘fabrice’ faz uso da função `winThread()`, que utiliza cargas maliciosas codificadas em base64 para criar um mecanismo de execução de scripts maliciosos e persistentes. Dentro dessa função, estão duas cargas chave, chamadas ‘vv’ e ‘zz’, que, ao serem decodificadas, realizam tarefas específicas de natureza prejudicial. A carga ‘vv’, por exemplo, gera um script VBScript (`p.vbs`) que executa de forma oculta um script Python (`d.py`), sem o consentimento do usuário. O VBScript é projetado para esconder erros de execução, permitindo que as atividades nocivas continuem sem serem notadas.
A carga ‘zz’ amplia as ameaças ao baixar um executável supostamente benigno (nomeado ‘chrome.exe’) a partir do servidor do atacante e armazená-lo na pasta de Downloads. Além disso, estabelece persistência ao criar uma tarefa agendada chamada ‘chromeUpdate’, responsável por executar o arquivo a cada 15 minutos. Depois, o pacote ‘fabrice’ remove o script inicial `d.py`, com o objetivo de deixar menos vestígios de suas atividades.
metodologia de exfiltração de credenciais da aws
O principal objetivo do pacote ‘fabrice’ é o roubo de credenciais da AWS. Para conseguir isso, ele utiliza a biblioteca `boto3`, a qual coleta chaves de acesso e chaves secretas da AWS, transmitindo essas informações a um servidor remoto. Essa abordagem é especialmente preocupante, uma vez que, ao conseguir essas credenciais, os atacantes podem potencialmente acessar recursos críticos na nuvem, gerando um risco significativo para a segurança das informações. As credenciais são enviadas para um endpoint de VPN, o que ajuda a mascarar as origens do ataque e facilita o uso das informações roubadas, sem deixar rastros que possam levar à identificação do criminoso.
Diante do grave risco apresentado pelo ‘fabrice’, a Socket Research Team já notificou a equipe do PyPI sobre a necessidade de remoção deste pacote malicioso. A Socket também aconselha os desenvolvedores a manterem-se vigilantes, verificando meticulosamente suas dependências e adotando ferramentas de detecção de ameaças para evitar intrusões não autorizadas em seus ambientes críticos. O esforço em manter a segurança das informações deve ser uma prioridade constante para todos os que atuam no universo da tecnologia.
Portanto, a preocupação com a segurança cibernética está mais presente do que nunca e é essencial que todos os desenvolvedores compreendam as ameaças que podem surgir de fontes aparentemente confiáveis. Estar ciente dessas vulnerabilidades é o primeiro passo para garantir um desenvolvimento seguro e proteger valiosas informações na era digital.