Ubuntu 9.04의 취약점 시연


15

IT 보안 수업을 위해 학생들에게 권한 상승을 보여주고 싶습니다. 그렇게하기 위해, 나는 2009 년 8 월부터 exploit/linux/localMetasploit Framework 의 목록을 살펴 보았습니다 exploit/linux/local/sock_sendpage.

나는 32 비트 우분투 서버 9.04 (와 VM을 설정 http://old-releases.ubuntu.com/releases/9.04/ubuntu-9.04-server-amd64.iso 2009 년 4 월에서) uname -r저를 제공합니다 2.6.28-11-generic. 익스플로잇의 설명에 따르면

2001 년 5 월 이후의 모든 Linux 2.4 / 2.6 버전은 영향을받는 것으로 생각됩니다. 2.4.4 이하 2.4.37.4; 2.6.0 이하 2.6.30.4

그래서 내가 설정 한 Ubuntu 서버가 데모에 적합해야합니다. 그러나 나는 그것을 작동시키지 못했습니다.

서버에 (일반) 사용자를 추가했으며 SSH 액세스가 작동합니다. Metasploit Framework 내에서을 사용하여 SSH 세션을 만들 수 있습니다 auxiliary/scanner/ssh/ssh_login. 그러나 익스플로잇을 실행하면

[*] Writing exploit executable to /tmp/mlcpzP6t (4069 bytes)

[*] Exploit completed, but no session was created.

DEBUG_EXPLOITtrue로 설정하더라도 더 이상 정보를 얻지 못합니다 . /tmpMetasploit SSH 세션에서 writabe입니다.

$ sessions -c "touch /tmp/test.txt"
[*] Running 'touch /tmp/test.txt' on shell session 1 ([redacted])

$ sessions -c "ls -l /tmp"
[*] Running 'ls -l /tmp' on shell session 1 ([redacted])

total 0

-rw-r--r-- 1 [redacted] [redacted] 0 2016-03-28 09:44 test.txt

또한 WriteableDir서버에서 사용자의 홈 디렉토리로 설정 을 시도했지만 변경하지 않았습니다. 내가 여기서 무엇을 놓치고 있습니까? 이 버전의 Ubuntu 서버 (고의적으로 업데이트되지 않았습니다!)는 취약하지 않습니까?


최소한 VM의 로그를 확인해야합니다.
Klaatu von Schlacker

@ KlaatuvonSchlacker : 정확히 무엇을 찾고 있습니까? 방금 VM의 로그에 새 항목이 추가되지 않았기 때문에 익스플로잇을 다시 실행했습니다.
Andreas Unterweger

답변:


16

9.04 릴리스 2010 년 10 월 23 일까지 지원 되었습니다. 발견 한 취약점은 2009 년 8 월 에 보고되었습니다 . 릴리스가 아직 최신 상태이고 지원되었으므로 ISO가 패치되었고 다운로드 한 버전이 최신 버전 인 것이 합리적입니다. 더 이상 취약하지 않습니다.

또한, 당신은 그것이 취약하지 않다는 것을 아주 잘 보여주었습니다. 결국, 익스플로잇을 시도했지만 실패한 것처럼 보입니다.

왜 새로운 익스플로잇을 시도하지 않습니까? 같은 뭔가 CVE-2013년에서 2094년까지 한다 또한 우분투에 영향을 예를 들어.


CVE-2013-2094에 대한 Metasploit 모듈이없는 것 같습니다. Metasploit 모듈이 작동 할 수있는 다른 익스플로잇이 있습니까? / 리눅스 / 지역 /의 pkexec을 악용 2011 년부터 유망 듯하지만 같은 결과로 제공 / 리눅스 / 지역 /의 sock_sendpage을 악용 .
Andreas Unterweger

@AndreasUnterweger 아, 죄송합니다, 모듈이 없다는 것을 몰랐습니다. 방금 "privilege escalation"을 검색하여 임의로 발견했습니다. (가)에 관해서는 pkexec악용, 당신의 버전을 확인해야 libpolkit-backend-1? 링크 한 페이지에 취약점에의 이전 버전이 필요하다고 명시되어 0.94-1ubuntu1.1있습니다.
terdon

에 따르면 dpkg -s libpolkit2설치된 버전은 0.9-2ubuntu1입니다.
Andreas Unterweger

이 경우 @AndreasUnterweger, 나는 모른다. 죄송합니다. 작동하는 것으로 알려진 특정 권한 에스컬레이션 익스플로잇 및 분배 조합을 요청 하여 Information Security 에 대한 질문을 게시하는 것이 좋습니다 .
terdon

@AndreasUnterweger와 ThorbjørnRavnAndersen는이 토론 을 채팅에 참여하십시오 . 나는 이미 당신의 이전 의견을 옮겼습니다.
terdon

1

이것은 귀하의 특정 질문에 대한 답변이 아니며, 학생들에게 더 많은 비공개 선택권을 제공합니다 ...

'nix에서 priv esc로 이어질 수있는 다음 두 가지 관리자 누락 구성을 고려할 수도 있습니다. ....

  1. 루트 / 루트 그룹 ( find / -uid 0 -perm -4000 -type f 2>/dev/nullfind / -uid 0 -perm -2000 -type f 2>/dev/null)이 소유 한 suid 및 guid 바이너리 는 권한이 낮은 사용자가이를 변경할 수 있도록 세계 쓰기 가능 여부를 확인합니다. 그들이 존재하는 폴더는 낮은 개인 사용자가 쓸 수 있습니다-라이브러리 경로 삽입이 가능합니다. 그들이 사용하는 라이브러리에 대한 어떤 - 변경 될 수 것과 같습니다 어떤의 값을 확인 DT_RPATH하고 DT_RUNPATH다음 명령 중 하나를 사용하여 바이너리 내에서 ELF 헤더를 :

    • objdump -x ...
    • readelf -a ...
    • scanelf (PaX에서)
    • elfdump (일요일부터)
    • readelf -a binary | grep PATH
  2. sudoers 결함

    • NOPASSWD -사용자가 화면 잠금을 잊어 버린 경우 로컬 공격자가이 액세스 권한을 사용하여 운영 체제 내에서 권한을 에스컬레이션 할 수 있습니다.

    • Sudoers에 누락 된 실행 파일-파일에 일부 실행 /etc/sudoers파일이 없습니다. 실행 파일이 생성되면 sudo를 통해 root로 실행하여 권한 에스컬레이션이 가능합니다.

    • 고아 Sudoers 항목- /etc/sudoers파일에 파일에 구성된 해당 계정이없는 고아 항목이 여러 개있을 수 있습니다 /etc/passwd. 사용자가 분리 된 이름 중 하나를 사용하여 작성된 경우 권한을 전체 루트 액세스로 에스컬레이션 할 수있는 방법을 사용자에게 제공합니다.

    • 일부 프로그램은 sudo와 유사 하거나 vi사용 :e하거나 액세스 Ctrl o 하는 :w데 사용 해서는 안됩니다 /etc/shadow.

    • sudoers 파일에 사용 된 잘못된 명령 / 잘못된 명령-종종 httpdsudoers에서 볼 수 있으므로 sudo 액세스 권한을 가진 낮은 개인 사용자로 시도하여 해당 명령 만 실행하십시오 ( sudo -l또는 sudo -ll사용자가 할 수있는 일을 보여 sudo /usr/bin/httpd -t /etc/shadow주십시오). 오류를 살펴보십시오.

    • sudoers에 언급 된 명령 및 파일의 perms는 약합니다-root가 소유 한 suid 및 guid 비트 바이너리에 대한 이전 단락을 참조하십시오


btw 메타 스플 로이트 모듈이 정확하지 않은 경우 메타 스플로 잇 모듈에 대한 Spender의 원래 코드를 사용해 볼 수도 있습니다. grsecurity.net/~spender/exploits
Richard Braganza

이러한 항목을 나열 해 주셔서 감사합니다. 그러나 두 그룹의 항목 모두 학생들의 배경 정보와 배경이 너무 많이 필요하다고 생각합니다.이 시점에서 Linux를 거의 알지 못합니다. 나는 그들에게 특권 에스컬레이션이 진짜이며 그들이 책임질 시스템을 항상 패치해야한다는 것을 보여주고 싶다. 아이러니하게도, 지금까지 위에서 설명한 것과 같이 실제 권한 상승을 설명하지 못했습니다. 편집 : Spender의 코드를 살펴볼 것이지만 불행히도 현재 시간이 부족합니다. 링크 주셔서 대단히 감사합니다.
안드레아스 Unterweger
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.