선택 Xorg X11 서버 버전은 권한 상승 공격에 취약하며 OpenBSD 및 CentOS의 영향을받습니다.

보안 / 선택 Xorg X11 서버 버전은 권한 상승 공격에 취약하며 OpenBSD 및 CentOS의 영향을받습니다. 1 분 읽기

OpenBSD 프로젝트



Xorg는 Linux에서 사용되는 매우 유명한 X 윈도우 시스템입니다. 이는 통신 프로토콜 인 X11 표준을 사용하는 그래픽 사용자 인터페이스입니다. Xorg는 더 이상 개발 중이 아닌 XFree86 프로젝트에서 분리되었습니다.

권한 에스컬레이션 익스플로잇

1.19.0에서 1.20.3까지의 모든 Xorg X11 서버 버전은 -modulepath 및 -logfile 옵션에 존재하는 권한 검사 결함에 취약합니다. 이렇게하면 권한이없는 사용자에게 서버를 시작하고 상승 된 권한으로 임의 코드를 실행할 수있는 기능이 제공됩니다.



연구원들은로드 된 익스플로잇으로 CRON 스크립트를 실행하면 SELinux가이를 시행한다는 사실을 알아 냈습니다. crontab.old 백업 파일이 생성되며 이는 본질적으로 Metasploit 모듈로 대체되어 cron 데몬이 실행할 명령 및 지침이있는 새 파일로 대체됩니다. 악용에 실패하면 crontab이 손상 될 수 있습니다. Xorg는 또한 익스플로잇이 작동하려면 SUID 권한이 있어야합니다. 아래 코드 스 니펫에서 확인할 수 있습니다.



# 리눅스 검사
uname = cmd_exec“uname”
uname = ~ / linux / i 인 경우
vprint_status“Linux에 대한 추가 검사 실행 중”
데이터 저장소 [‘ConsoleLock’] 사용자 = cmd_exec“id -un”인 경우
존재하지 않는 한? “/ var / run / console / # {user}”
vprint_error“# {user}에 대한 콘솔 잠금 없음”
반환 CheckCode :: Safe
종료
vprint_good“# {user}에 대한 콘솔 잠금”
종료
selinux_installed 인 경우?
selinux_enforcing?
vprint_error‘Selinux가 시행 중입니다.’
반환 CheckCode :: Safe
종료
종료
vprint_good“Selinux는 문제가 아닙니다.”
종료

# suid 프로그램 확인
xorg_path = cmd_exec“command -v Xorg”
xorg_path.include? ( 'Xorg')가 아니면
vprint_error“Xorg 실행 파일을 찾을 수 없습니다”
반환 CheckCode :: Safe
종료
vprint_good“# {xorg_path}에서 찾은 Xorg 경로”
setuid가 아니면? xorg_path
vprint_error“Xorg 바이너리 # {xorg_path}는 SUID가 아닙니다.”
반환 CheckCode :: Safe
종료
vprint_good“Xorg 바이너리 # {xorg_path}는 SUID입니다.”

테스트 방법

이 익스플로잇은 4 명의 연구원이 수행했습니다.

  • Narendra Shinde – 검색 및 악용
  • Raptor-0xdea – 크론의 악용 수정
  • Aaron Ringo – Metasploit 모듈
  • Brendan Coles – Metasploit 모듈

이것은 OpenBSD 6.3, 6.4, CentOS 7 (1708)에서 테스트되었습니다. Packetstorm의 메모에 따르면 기본 설치를 사용하는 CentOS는 사용자 세션에 대한 콘솔 인증이 필요합니다.

이것은 Xorg의 사용 규모를 고려할 때 심각한 취약점입니다. 익스플로잇이 작동하려면 몇 가지 사전 설정이 필요하지만 전문적인 환경에서는 제공되지 않을 수 있습니다.

태그 CentOS OpenBSD Xorg