Vybrané verze serveru Xorg X11 jsou zranitelné, pokud jde o zneužití privilegovaných eskalace, ovlivnění OpenBSD a CentOS

Bezpečnostní / Vybrané verze serveru Xorg X11 jsou zranitelné, pokud jde o zneužití privilegovaných eskalace, ovlivnění OpenBSD a CentOS 1 minuta čtení

Projekt OpenBSD



Xorg je velmi slavný X okenní systém používaný v Linuxu. Jedná se o grafické uživatelské rozhraní, které používá standard X11, což je zase komunikační protokol. Xorg byl rozdvojen z projektu XFree86, který již není v aktivním vývoji.

Využití eskalace oprávnění

Všechny verze serveru Xorg X11 od 1.19.0 do 1.20.3 jsou citlivé na chyby kontroly oprávnění, které existují pro možnosti -modulepath a -logfile. To dává neprivilegovaným uživatelům možnost spustit server, spouštět libovolný kód se zvýšenými oprávněními.



Vědci zjistili, že díky spuštění skriptu CRON s načteným exploitem jej SELinux vynucuje. Vytvoří se záložní soubor crontab.old, který je v zásadě nahrazen modulem Metasploit novým souborem s příkazy a pokyny pro spuštění démona cron. Neúspěšné vykořisťování může mít za následek poškození crontabu. Xorg také musí mít oprávnění SUID, aby zneužití fungovalo, což si můžete ověřit z níže uvedeného fragmentu kódu.



# kontroly linuxu
uname = cmd_exec „uname“
pokud uname = ~ / linux / i
vprint_status „Spuštění další kontroly pro Linux“
pokud datové úložiště [„ConsoleLock“] uživatel = cmd_exec „id -un“
pokud neexistuje? „/ Var / run / console / # {user}“
vprint_error „Žádný zámek konzoly pro # {user}“
vrátit CheckCode :: Safe
konec
vprint_good „Zámek konzoly pro # {uživatele}“
konec
pokud selinux_installed?
pokud selinux_enforcing?
vprint_error „Selinux vynucuje“
vrátit CheckCode :: Safe
konec
konec
vprint_good „Selinux není problém“
konec

# kontrola suid programu
xorg_path = cmd_exec „příkaz -v Xorg“
pokud xorg_path.include? („Xorg“)
vprint_error „Nelze najít spustitelný soubor Xorg“
vrátit CheckCode :: Safe
konec
vprint_good „Cesta Xorg nalezena na # {xorg_path}“
pokud setuid? xorg_path
vprint_error „Xorg binární # {xorg_path} není SUID“
vrátit CheckCode :: Safe
konec
vprint_good „Xorg binární # {xorg_path} je SUID“

Metodika testování

Na této explozi pracovali čtyři vědci -

  • Narendra Shinde - Objevte a využijte
  • Raptor-0xdea - Upravený exploit pro cron
  • Aaron Ringo - modul Metasploit
  • Brendan Coles - modul Metasploit

To bylo testováno na OpenBSD 6.3, 6.4 a CentOS 7 (1708). Podle poznámek k Packetstorm bude CentOS s výchozí instalací potřebovat pro relace uživatele ověřování konzoly.

Jedná se o vážnou chybu zabezpečení vzhledem k rozsahu použití Xorg. Přestože exploit potřebuje k práci některá přednastavení, která nemusí být k dispozici v profesionálním prostředí.

Značky CentOS OpenBSD Xorg