Nimbuspwn, ranjivost u mrežnom dispečeru koja omogućuje pokretanje naredbi kao root

The Microsoftovi istraživači sigurnosti objavili vijest koja identificirali su dvije ranjivosti (CVE-2022-29799, CVE-2022-29800) u mrežno-dispečerskoj službi kodnog naziva Nimbuspwn koji dopuštaju neprivilegiranom korisniku da izvršava proizvoljne naredbe kao root.

mrežni dispečer en koju koriste mnoge distribucije Linuxa, uključujući Ubuntu, koji koristi pozadinski proces systemd-networkd za konfiguriranje mrežnih postavki i obavlja funkcije slične NetworkManager-dispatcheru, tj. upravlja izvršavanjem skripte kada se promijeni stanje mrežne veze, na primjer, koristi se za pokretanje VPN-a nakon uspostavljanja glavna mrežna veza.

Microsoft je otkrio nekoliko ranjivosti, zajednički nazvanih Nimbuspwn, koje bi mogle omogućiti napadaču da podigne privilegije za root na mnogim Linux desktop krajnjim točkama. Ranjivosti se mogu povezati kako bi se dobile root privilegije na Linux sustavima, dopuštajući napadačima da implementiraju korisni teret kao što je root backdoor i izvedu druge zlonamjerne radnje putem proizvoljnog izvršavanja root koda. Osim toga, ranjivosti Nimbuspwn potencijalno bi se mogle iskoristiti kao vektor za root pristup sofisticiranijim prijetnjama, kao što su zlonamjerni softver ili ransomware, za daljnji utjecaj na ranjive uređaje.

Otkrili smo ranjivosti slušajući poruke na sabirnici sustava dok smo obavljali preglede koda i dinamičku analizu na uslugama koje se pokreću kao root, te smo primijetili čudan uzorak u jedinici systemd zvanoj networkd-dispatcher.

Pozadinski proces povezan s mrežnim dispečerom izvodi se kao root i osluškuje događaje putem D-Busa. Usluga systemd-networkd šalje informacije o događajima povezanim s promjenom stanja mrežnih veza. Problem je u tome što neprivilegirani korisnici mogu pokrenuti nepostojeći statusni događaj i početi izvršavati vašu skriptu, koja će se izvoditi kao root.

systemd-networkd je dizajniran samo za pokretanje skripti kontroler sustava koji se nalazi u direktoriju /etc/networkd-dispatcher i nije zamjenjiv korisniku, ali zbog ranjivosti (CVE-2022-29799) bilo je moguće da je kod za rukovanje stazom datoteke isključen iz osnovnog direktorija ograničenja i izvršavanje proizvoljnih skripti.

Konkretno, prilikom formiranja putanje datoteke do skripte korištene su vrijednosti OperationalState i AdministrationState prenesene preko D-Bus-a, u kojima posebni znakovi nisu uklonjeni. Napadač bi mogao generirati vlastito stanje sa znakovima "../" u imenu i preusmjeriti poziv mrežnog dispečera na drugi direktorij.

Druga ranjivost (CVE-2022-29800) povezano je sa stanjem utrke: Između provjere parametara skripte (u vlasništvu roota) i njenog izvršavanja, proteklo je kratko vrijeme, dovoljno da se datoteka zamijeni i preskoči provjeru skripte u vlasništvu roota. Također, mrežni dispečer nije provjeravao simboličke veze, čak ni kada je izvršavao skripte putem podprocesa.Popen poziva, što je uvelike pojednostavilo orkestraciju napada.

Kreira se direktorij "/tmp/nimbuspwn" i kreira se simbolična veza "/tmp/nimbuspwn/poc.d" koja upućuje na direktorij "/sbin" koja se koristi za provjeru izvršnih datoteka u vlasništvu roota.

Za izvršne datoteke “/sbin”, datoteke s istim imenom kreiraju se u direktoriju “/tmp/nimbuspwn”, na primjer, za datoteku “/sbin/vgs” kreira se izvršna datoteka “/tmp/nimbuspwn/ vgs” , u vlasništvu korisnika bez privilegija, u koji se stavlja kod koji napadač želi izvršiti.

D-Bus signal se šalje procesu umreženog dispečera s OperationalState postavljenim na "../../../tmp/nimbuspwn/poc". Da biste poslali signal u imenskom prostoru "org.freedesktop.network1", upotrijebili ste mogućnost povezivanja svojih kontrolera na systemd-networkd, na primjer, gpgv ili epmd manipulacijama, ili možete koristiti činjenicu da systemd-networkd nije radi prema zadanim postavkama (na primjer, na Linux mint).

Nakon što primi signal, Networkd-dispatcher kreira popis izvršnih datoteka u vlasništvu root korisnika i dostupnih u direktoriju "/etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d", što se zapravo odnosi na "/sbin".

Čim se primi popis datoteka, ali skripta još nije izvršena, simbolička veza se preusmjerava s "/tmp/nimbuspwn/poc.d" na "/tmp/nimbuspwn" i mrežni dispečer će se izvršiti kao korijen. skripta koju je postavio napadač.

problem popravljeno u izdanju networkd-dispatcher 2.2, iako nema informacija o izdavanju ažuriranja po distribucijama.

Konačno ako vas zanima više o tome, možete provjeriti detalje U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   luix dijo

    Rečeno je tisuću i jedan put: systemd je smeće. Suvišan, loše dizajniran, preopterećen, sklon pogreškama. Šteta što je ugrađen u moju omiljenu distribuciju (debian)