Ubuntu 9.04의 취약점 시연 내가 설정

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 서버 (고의적으로 업데이트되지 않았습니다!)는 취약하지 않습니까?



답변

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

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

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


답변

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

‘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 비트 바이너리에 대한 이전 단락을 참조하십시오


답변