Vybrané verzie servera Xorg X11 sú zraniteľné, pokiaľ ide o zneužitie privilégií, ovplyvnenie OpenBSD a CentOS.

Bezpečnosť / Vybrané verzie servera Xorg X11 sú zraniteľné, pokiaľ ide o zneužitie privilégií, ovplyvnenie OpenBSD a CentOS. 1 minúta čítania

Projekt OpenBSD



Xorg je veľmi slávny systém X okien používaný v systéme Linux. Jedná sa o grafické užívateľské rozhranie, ktoré využíva štandard X11, čo je zase komunikačný protokol. Xorg bol rozdvojený z projektu XFree86, ktorý už nie je v aktívnom vývoji.

Exploitácia privilégií

Všetky verzie servera Xorg X11 od 1.19.0 do 1.20.3 sú citlivé na chyby kontroly povolení, ktoré existujú pre možnosti -modulepath a -logfile. To dáva neprivilegovaným používateľom možnosť spustiť server a spustiť ľubovoľný kód so zvýšenými oprávneniami.



Vedci zistili, že vďaka spusteniu skriptu CRON s načítaným exploitom ho SELinux vynúti. Vytvorí sa záložný súbor crontab.old, ktorý je v podstate nahradený modulom Metasploit novým súborom s príkazmi a pokynmi na vykonanie démona cron. Neúspešné vykorisťovanie môže mať za následok poškodenie crontabu. Xorg tiež musí mať povolenie SUID, aby zneužitie fungovalo, čo si môžete overiť z útržku kódu nižšie.



# kontroly linuxu
uname = cmd_exec „uname“
ak uname = ~ / linux / i
vprint_status “Spustenie dodatočnej kontroly pre Linux”
if datastore [‘ConsoleLock’] user = cmd_exec “id -un”
pokiaľ neexistujú? „/ Var / run / console / # {user}“
vprint_error „Žiadny zámok konzoly pre # {user}“
návratový CheckCode :: bezpečný
koniec
vprint_good “Zámok konzoly pre # {user}”
koniec
ak je nainštalovaný selinux_installed?
ak selinux_enforcing?
vprint_error „Selinux vynucuje“
návratový CheckCode :: bezpečný
koniec
koniec
vprint_good “Selinux nie je problém”
koniec

# kontrola suid programu
xorg_path = cmd_exec „príkaz -v Xorg“
pokiaľ xorg_path.include? („Xorg“)
vprint_error „Nemôžem nájsť spustiteľný súbor Xorg“
návratový CheckCode :: bezpečný
koniec
vprint_good „Cesta Xorg bola nájdená na # {xorg_path}“
pokial nie je setuid? xorg_path
vprint_error „Binárka Xorg # {xorg_path} nie je SUID“
návratový CheckCode :: bezpečný
koniec
vprint_good „Binárka Xorg # {xorg_path} je SUID“

Metodika testovania

Na tomto ťažení pracovali štyria výskumníci -

  • Narendra Shinde - Objavte a využite
  • Raptor-0xdea - upravené využitie pre cron
  • Aaron Ringo - modul Metasploit
  • Brendan Coles - modul Metasploit

Toto bolo testované na OpenBSD 6.3, 6.4 a CentOS 7 (1708). Podľa poznámok k Packetstorm bude systém CentOS s predvolenou inštaláciou vyžadovať overenie konzoly pre relácie používateľa.

Toto je vážna zraniteľnosť vzhľadom na rozsah použitia produktu Xorg. Aj keď exploit potrebuje nejaké predvoľby, ktoré nemusia fungovať v profesionálnom prostredí.

Značky CentOS OpenBSD Xorg