리눅스 커널에 보안결함
어제 메일링 리스트에 올라온 내용인데..
그대로 퍼다 올려도 문제는 없겠죠..?
안녕하십니까? 오늘과내일의 홍석범입니다.
최근 들어 리눅스 커널에 몇 가지 보안 버그가 있었지만
대부분 특수한 환경에서의 취약성이었습니다.
그러나 최근 공개된 uselib() 함수에서의 보안 취약성을 통해서
내부의 일반 유저가 root 권한을 획득할 수 있는 취약성이 확인되었습니다.
본 취약성에 대한 정보는 아래와 같습니다.
* 취약한 커널버전
2.2.x : 모든 버전
2.4.x : 2.4.28을 포함한 2.4.29-pre3 까지, 2.4.28 이하 모든 버전
2.6.x : 2.6.10을 포함한 2.6.10 이하 모든 버전
* 취약하지 않은 커널 버전
2.4.x : 2.4.29-rc1
--> 2.4.28 설치후 2.4.29-rc1 으로 패치하여야 함
또는 2.4.28 설치후 http://maphia.flowsecurity.org/patch/uselib-2.4.28.patch 패치
2.6.x : 2.6.10-ac8
2.6.10 설치후 2.6.10-ac8 로 패치하여야 함
* 공격방법
Local exploit이며 remote에서의 공격은 불가합니다.
그러나 최근 php injection등을 통해 일반 권한을 쉽게 획득할 수 있으므로
조처를 취하시는 것이 좋습니다.아래는 exploit 를 실행하여 성공했을때의 결과입니다.
$./exploit
[+] SLAB cleanup
child 1 VMAs 65527
child 2 VMAs 65527
child 3 VMAs 65527
...
child 18 VMAs 63322
[+] moved stack bfffb000, task_size=0xc0000000, map_base=0xbf800000
[+] vmalloc area 0xdf800000 - 0xfedbb000
Wait... \
[+] race won maps=49205
expanded VMA (0xbfffc000-0xffffe000)
[!] try to exploit 0xe2d25000
[+] gate modified ( 0xffec903c 0x0804ec00 )
[+] exploited, uid=0
sh-2.05b# id
uid=0(root) gid=0(root)
아래는 2.4.29-rc1으로 패치한 후의 실행 결과입니다.
$./exploit
[-] FAILED: open lib (/dev/shm/_elf_lib not writable?) (Permission denied)
$
일부에서는 /dev/shm을 커널에서 삭제하거나 umount를 하면 된다고 하지만
옵션에서 /tmp 등으로 변경할 수 있기 때문에 의미가 없습니다.
만약 패치가 어려운 경우에는 임시로 다음과 같이 해도 되는 것 같습니다.
(공식적으로 확인된 내용은 아니며 단지 저의 테스트 결과일 뿐입니다.)
# chmod 700 /proc/
즉, /proc 디렉토리를 700 으로 설정하도록 하는 것으로 이 설정을 통해서
일반 유저가 ps나 w 를 실행할 수 없는 것 외에 특별히 문제가 되는 것은 없습니다.
이는 공격코드내에서 /proc/slabinfo 정보를 읽어야 하기 때문입니다.
$ ./exploit
[+] SLAB cleanup
child 1 VMAs 65527
child 2 VMAs 65527
child 3 VMAs 65527
child 4 VMAs 65043
[+] moved stack bfffe000, task_size=0xc0000000, map_base=0xbf800000
[+] vmalloc area 0xe0000000 - 0xfffc1000
Wait... \
[-] FAILED: uselib (Cannot allocate memory)
Killed
$
$ ./exploit
[+] SLAB cleanup
[-] FAILED: get_slab_objs: /proc/slabinfo not readable? (Permission denied)
Killed
$
다른 정보/의견 있으시면 공유 부탁드립니다.
감사합니다.
감사합니다.
번번히 정보만 얻어 가네요...^^ 메일링 리스트는 어디것을 사용하나요?
저도 가입하고프네요..
gentoo 라면 2.6.10-r3 부터 패치되어 있습니다.
gentoo 라면 2.6.10-r3 부터 패치되어 있습니다.
Re: 감사합니다.
sec-info@cert.certcc.or.kr 를 구독하고 있는데..
꽤 오래전에 가입해서 어떻게 가입하는지를 찾아보니 없군요 :(
검색하다 보니 이 게시판의 관련 내용이 나오는군요
http://bbs.kldp.org/viewtopic.php?t=47911#209959
예전에 변경어쩌구 하는 메일이 왔던것 같은데..
바뀐 사이트 가보니 민번에 이것저것 요구하길래 무시해버렸고..
메일은 꾸준히 날아오길래 그냥 구독하고 있습니다. ;;
새로 가입하는 방법은 모르겠네요 :oops:
----
자신을 이길 수 있는자는
무슨짓이든 할수있다..
즉..무서운 넘이란 말이지 ^-_-^
나? 아직 멀었지 ㅠㅠ
Re: 감사합니다.
http://www.certcc.or.kr/ 에서 가입하실 수 있습니다
예전에는 일반적인 메일링 리스트 가입하는 방법으로 가능했는데
작년 언제인가 개편이 되면서 주민등록번호까지 넣고 회원가입을 해야 메일링을 볼 수 있게됐습니다 :evil:
사이트에 가입한 다음에 My Info에서 메일링 지정 가능하구요
가끔 문자메세지로 보안경고가 날아오기도 하는데.. 약간 늦는 감이 있긴 하구요..
가입 정보에 보니 '메일링 리스트 가입'이 있고, 별도로'SEC-
가입 정보에 보니
'메일링 리스트 가입'이 있고, 별도로
'SEC-INFO 가입]이 있던데...
둘 사이의 차이는 무엇인지요?
흐.. 저도 예전에 가입해있었지만.. 메일은 다 지우고 있었네요.
휴지통에서 흔적 발견..
[quote="Anonymous"]가입 정보에 보니 '메일링 리스트
저는 sec-info만 받고있어서 자세한건 모르겠네요..
[quote]./ex[+] SLAB cleanup chi
데비안 우디는 /dev/shm 이 없더군요. 이런 경우는 무시해도 되는 건가요?
사지는 컴파일할때 에러가 나서 ....
+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년
소스에서 /dev/shm 을 /tmp 로 변경하면 되기 때문에 무시할 수
소스에서 /dev/shm 을 /tmp 로 변경하면 되기 때문에 무시할 수 없습니다. 메일링 리스트에 이 얘기가 있는데 잘 안읽어 보셨나 보네요 ^^;
안녕 리눅스의 커널에는 stack protect patch 가 되어 있어
안녕 리눅스의 커널에는 stack protect patch 가 되어 있어서 해당 사항이 없습니다. 참고하세요.
http://annyung.oops.org/?m=white&p=kernel-uselib
[quote="김정균"]소스에서 /dev/shm 을 /tmp 로 변경하면
글을 쓰고 나서 보긴 봤습니다. 그래서 실행을 해봤는데 안됩니다.
실력이 전혀 없어서..... 혹시 여러번 실행해서 운이 좋으면 되는 겁니까?
/dev/shm 디렉토리에 tt.txt nobody 가 있었는데..
불안하네요..
다른것은 /tmp 디렉토리에서 껄쩍대다 크랙 못하고 실패 하고 나간 흔적들은 있는디..
3333 포트도 열려있었고.. 접속하면 nobody 계정 떨어지공..
뭐 이런일이 많았던지라.. 무시했었는데.. /dev/shm 이라 껄쩍 지근하네요.
ㅋㅋ
음.
이것때문에 오늘 우분투 Hoary 업데이트가 요동쳤던 거로군요.
오늘 이것때문에 삽질 깨나 했습니다. -_-;;;
-----------------------------------
Playlist :