OpenBSD-projekt
Xorg er et meget berømt X-vinduessystem, der bruges i Linux. Det er en grafisk brugergrænseflade, der bruger X11-standarden, som igen er en kommunikationsprotokol. Xorg blev forked fra XFree86-projektet, som ikke længere er i aktiv udvikling.
Udnyttelse af privilegiereskalering
Alle Xorg X11-serverversioner fra 1.19.0 til 1.20.3 er sårbare over for fejl i tilladelseskontrol, der findes for -modulepath og -logfile-muligheder. Dette giver privilegerede brugere muligheden for at starte en server, til at køre vilkårlig kode med forhøjede privilegier.
Forskerne fandt ud af, at kørsel af et CRON-script med den indlæste udnyttelse får SELinux til at håndhæve det. En crontab.old backup-fil oprettes, som i det væsentlige erstattes af Metasploit-modulet med en ny fil med kommandoer og instruktioner til cron-dæmonen at udføre. Mislykket udnyttelse kan resultere i en beskadiget crontab. Xorg skal også have SUID-tilladelser for at udnyttelsen kan fungere, hvilket du kan bekræfte fra nedenstående kodestykke.
# linux kontrollerer
uname = cmd_exec “uname”
hvis uname = ~ / linux / i
vprint_status “Kører yderligere kontrol for Linux”
hvis datalager [‘ConsoleLock’] bruger = cmd_exec “id -un”
medmindre eksisterer? “/ Var / run / console / # {user}”
vprint_error “Ingen konsollås til # {bruger}”
returner CheckCode :: Safe
ende
vprint_good “Konsollås til # {bruger}”
ende
hvis selinux_installeret?
hvis selinux_enforcing?
vprint_error 'Selinux håndhæver'
returner CheckCode :: Safe
ende
ende
vprint_good “Selinux er ikke et problem”
ende# kontrol af suidprogram
xorg_path = cmd_exec “kommando -v Xorg”
medmindre xorg_path.include? (“Xorg”)
vprint_error “Kunne ikke finde Xorg eksekverbar”
returner CheckCode :: Safe
ende
vprint_good “Xorg-sti fundet ved # {xorg_path}”
medmindre setuid? xorg_path
vprint_error “Xorg binær nr. {xorg_path} er ikke SUID”
returner CheckCode :: Safe
ende
vprint_good “Xorg binær nr. {xorg_path} er SUID”
Testmetode
Denne udnyttelse blev arbejdet med af fire forskere -
- Narendra Shinde - Opdag og udnyt
- Raptor-0xdea - Modificeret udnyttelse til cron
- Aaron Ringo - Metasploit-modul
- Brendan Coles - Metasploit-modul
Dette blev testet på OpenBSD 6.3, 6.4 og CentOS 7 (1708). I henhold til noterne om Packetstorm skal CentOS med en standardinstallation have brug for konsolgodkendelse til brugerens sessioner.
Dette er en alvorlig sårbarhed i betragtning af omfanget af Xorgs brug. Selvom udnyttelsen har brug for nogle forudindstillinger for at fungere, som muligvis ikke findes i et professionelt miljø.
Mærker CentOS OpenBSD Xorg