Ubuntu 9.04上的漏洞演示

Ubuntu 9.04上的漏洞演示

对于 IT 安全课程,我想向学生演示权限升级。为此,我浏览了exploit/linux/localMetasploit 框架中的列表,发现(除其他外)exploit/linux/local/sock_sendpage从 2009 年 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.

即使设置DEBUG_EXPLOIT为 true,我也没有得到任何进一步的信息。/tmp是可写的,也是在 Metasploit 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 服务器(我故意不更新!)不容易受到攻击吗?

答案1

9.04 版本受到支持截至 2010 年 10 月 23 日。您发现的漏洞是报道于2009 年 8 月。这似乎是合理的,因为该版本仍然是最新的并且当时受支持,ISO 已修补并且您下载的是不再容易受到攻击的版本。

此外,您似乎已经很好地证明了它并不脆弱。毕竟,您尝试了该漏洞利用,但看起来失败了。

为什么不尝试新的漏洞利用呢?就像是CVE-2013-2094哪个应该也影响Ubuntu, 例如。

答案2

这不会回答您的具体查询,而是为您提供更多的 priv esc 选择来向您的学生展示......

您可能还想考虑以下两个管理员错误配置,它们可能会导致 'nix 上的 priv esc(还有许多其他方法可以错误配置 'nix 盒子,从而允许 priv esc,所以请考虑这是一种刺激) ....

  1. find / -uid 0 -perm -4000 -type f 2>/dev/nullroot/root 组(和)拥有的 suid 和 GUID 二进制文件find / -uid 0 -perm -2000 -type f 2>/dev/null,并查看它们是否是全局可写的,以允许低权限用户更改它们;它们所在的文件夹可由低权限用户写入 - 用于可能的库路径注入。他们使用的库怎么样 - 是否可以更改:使用以下命令之一检查二进制文件中的任何DT_RPATH和ELF 标头的值:DT_RUNPATH

    • 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。如果使用其中一个孤立名称创建用户,它将为用户提供一种将权限升级到完全 root 访问权限的方法。

    • 有些程序不应该像 sudo 那样vi,使用:eCtrl o 并使用:w来访问/etc/shadow

    • sudoers 文件中使用了错误的想法/错误的命令 - 我经常httpd在 sudoers 中看到 - 因此尝试以具有 sudo 访问权限的低权限用户运行该命令(sudo -lsudo -ll将显示用户可以执行的操作):sudo /usr/bin/httpd -t /etc/shadow并查看错误。

    • sudoers 中提到的命令和文件的文件权限很弱 - 请参阅我之前关于 root 拥有的 suid 和 guid 位二进制文​​件的段落

相关内容