Pasirinktos „Xorg X11“ serverio versijos yra pažeidžiamos, kad būtų paveikti privilegijuoti eskalavimo įrankiai, paveikti „OpenBSD“ ir „CentOS“

Saugumas / Pasirinktos „Xorg X11“ serverio versijos yra pažeidžiamos, kad būtų paveikti privilegijuoti eskalavimo įrankiai, paveikti „OpenBSD“ ir „CentOS“ 1 minutė perskaityta

„OpenBSD“ projektas



„Xorg“ yra labai garsi „X window“ sistema, naudojama „Linux“. Tai grafinė vartotojo sąsaja, naudojanti X11 standartą, kuris savo ruožtu yra ryšio protokolas. „Xorg“ buvo įtrauktas iš „XFree86“ projekto, kuris nebėra aktyviai kuriamas.

Privilegijų eskalavimo išnaudojimas

Visos „Xorg X11“ serverio versijos nuo 1.19.0 iki 1.20.3 yra pažeidžiamos leidimų tikrinimo klaidų, esančių parinktims -modulepath ir -logfile. Tai suteikia neprivilegijuotiems vartotojams galimybę paleisti serverį, paleisti savavališką kodą su padidintomis teisėmis.



Tyrėjai išsiaiškino, kad paleidus CRON scenarijų su įkeltu išnaudojimu, „SELinux“ priverčia jį vykdyti. Sukuriamas atsarginės kopijos failas „crontab.old“, kurį iš esmės pakeičia „Metasploit“ modulis nauju failu su komandomis ir instrukcijomis, kaip „cron“ deemonui vykdyti. Nepavykus išnaudoti, gali būti sugadintas crontab. „Xorg“ taip pat turi turėti SUID leidimus, kad būtų galima naudoti, kurį galite patvirtinti iš toliau pateikto kodo fragmento.



# Linux patikrinimai
uname = cmd_exec „uname“
jei uname = ~ / linux / i
vprint_status „Vykdoma papildoma„ Linux “patikra“
if datastore [’ConsoleLock’] user = cmd_exec „id -un“
nebent egzistuoja? „/ Var / run / console / # {user}“
vprint_error „# {user} nėra konsolės užrakto“
grąžinti CheckCode :: Safe
galas
vprint_good „# {user} pulto užraktas“
galas
jei selinux_install?
jei selinux_stiprina?
vprint_error „„ Selinux “vykdo“
grąžinti CheckCode :: Safe
galas
galas
vprint_good „„ Selinux “nėra problema“
galas

# suid programos patikrinimas
xorg_path = cmd_exec „komanda -v Xorg“
nebent xorg_path.include? („Xorg“)
vprint_error „Nepavyko rasti vykdomojo„ Xorg “
grąžinti CheckCode :: Safe
galas
vprint_good „Xorg kelias rastas # {xorg_path}“
nebent setuidas? xorg_path
vprint_error „„ Xorg “dvejetainis numeris {{xorg_path} nėra PATINKAMAS“
grąžinti CheckCode :: Safe
galas
vprint_good „Xorg dvejetainis # {xorg_path} yra TIKSLAS“

Testavimo metodika

Prie šio išnaudojimo dirbo keturi tyrėjai -

  • Narendra Shinde - atradimas ir išnaudojimas
  • „Raptor-0xdea“ - modifikuotas „cron“ išnaudojimas
  • Aaronas Ringo - „Metasploit“ modulis
  • Brendanas Colesas - „Metasploit“ modulis

Tai buvo išbandyta naudojant „OpenBSD 6.3“, „6.4“ ir „CentOS 7“ (1708). Remiantis „Packetstorm“ pastabomis, „CentOS“ su numatytuoju diegimu reikės konsolės autentifikavimo vartotojo sesijoms.

Tai yra rimtas pažeidžiamumas, atsižvelgiant į „Xorg“ naudojimo mastą. Nors darbui išnaudoti reikia tam tikrų išankstinių nustatymų, kurių gali nebūti profesinėje aplinkoje.

Žymos CentOS „OpenBSD“ Xorg