Ubuntu 9.04의 취약점 시연

Ubuntu 9.04의 취약점 시연

IT 보안 과정의 경우 학생들에게 권한 상승을 보여주고 싶습니다. 이를 위해 나는 exploit/linux/localMetasploit 프레임워크의 목록을 살펴보고 무엇보다도 다음을 발견했습니다.exploit/linux/local/sock_sendpage2009년 8월부터 시작.

32비트 Ubuntu Server 9.04(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 프레임워크 내에서는 auxiliary/scanner/ssh/ssh_login.

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

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

true로 설정하더라도 DEBUG_EXPLOIT추가 정보를 얻을 수 없습니다. /tmpMetasploit SSH 세션 내에서도 쓰기 가능합니다.

$ 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 Server(의도적으로 업데이트하지 않습니다!)가 공격에 취약하지 않습니까?

답변1

버전 9.04지원됨2010년 10월 23일 현재. 발견한 취약점은 다음과 같습니다.보고된2009년 8월. 버전이 당시에 여전히 최신이고 지원되고 ISO가 패치되었으며 더 이상 취약하지 않은 버전을 다운로드하고 있기 때문에 이는 합리적으로 보입니다.

그리고, 깨지지 않는다는 걸 잘 보여주신 것 같습니다. 결국, 당신은 익스플로잇을 시도했지만 실패한 것 같습니다.

새로운 공격을 시도해 보는 것은 어떨까요? 그것은 마치CVE-2013-2094어느 것이우분투에도 영향을 미칩니다, 예를 들어.

답변2

이것은 귀하의 특정 질문에 대답하지 않고 오히려 학생들에게 보여줄 수 있는 더 많은 priv esc 옵션을 제공합니다...

'nix에서 priv esc를 유발할 수 있는 다음 두 가지 관리자 구성 오류를 고려할 수도 있습니다(priv esc를 허용하는 'nix 상자를 잘못 구성하는 다른 방법이 많이 있으므로 이를 짜증나게 생각하십시오).

  1. find / -uid 0 -perm -4000 -type f 2>/dev/null루트/루트 그룹(및)이 소유한 suid 및 GUID 바이너리를 사용하여 find / -uid 0 -perm -2000 -type f 2>/dev/null권한이 낮은 사용자가 해당 폴더를 변경할 수 있도록 허용하는지 확인합니다. 권한이 낮은 사용자가 쓸 수 있는 라이브러리의 경우 경로 삽입 . 그들이 사용하는 라이브러리는 어떻습니까? 변경할 수 있는 경우: DT_RPATH다음 명령 중 하나를 사용하여 바이너리의 any 및 ELF 헤더 값을 확인하십시오.DT_RUNPATH

    • objdump -x...
    • readelf -a...
    • scanelf(PaX에서)
    • elfdump(더 선을 통해)
    • readelf -a binary | grep PATH
  2. sudoers결함

    • NOPASSWD- 사용자가 화면 잠금을 잊어버린 경우 로컬 공격자는 이 액세스 권한을 사용하여 운영 체제에서 자신의 권한을 상승시킬 수 있습니다.

    • Sudoers에 실행 파일 누락 - /etc/sudoers파일의 일부 실행 파일이 존재하지 않습니다. 실행 파일이 생성되면 sudo를 통해 루트로 실행할 수 있으며, 이를 통해 권한 상승이 허용됩니다.

    • 고아 Sudoers 항목 - /etc/sudoers파일에 해당 계정이 구성되지 않은 고아 항목이 파일에 많이 포함될 수 있습니다 /etc/passwd. 고아 이름 중 하나를 사용하여 사용자가 생성되면 사용자에게 전체 루트 액세스 권한으로 권한을 상승시킬 수 있는 방법이 제공됩니다.

    • 일부 프로그램은 sudo 와 같이 또는 을 vi사용하여 액세스하면 안 됩니다 .:eCtrl o:w/etc/shadow

    • sudoers 파일에 잘못된 아이디어/잘못된 명령이 사용되었습니다. httpdsudoers에서 이런 현상이 자주 발생합니다. 따라서 sudo 액세스 권한이 있는 낮은 권한의 사용자로 명령을 실행해 보십시오( sudo -l또는 sudo -ll사용자가 수행할 수 있는 작업이 표시됩니다). sudo /usr/bin/httpd -t /etc/shadow그러면 오류가 표시됩니다.

    • sudoers에 언급된 명령 및 파일에 대한 파일 권한이 약합니다. 루트가 소유한 suid 및 guid 비트 바이너리에 대한 이전 단락을 참조하세요.

관련 정보