我在一台服务器上做了一些测试,看看它是否容易受到0天的本地攻击(该漏洞是为了使用Linux内核中的一个bug获得根权限)。除了运行该漏洞之外,还没有关于如何知道您是否易受攻击的真正信息。我这样做了,最后从数据中心那里得到了一大堆麻烦。在这种情况下,检查您的易受伤害性的最好方法是什么?人们是否可以假设,在他们被利用漏洞攻击之前,已经发布了一个修补程序(即使是在一个较硬的服务器上)?
发布于 2013-05-16 17:17:22
我会考虑两种可能的方法--我注意到,您正在尝试验证一个漏洞,以便利用内核中的一个bug进行权限升级。为了这个实验,我会忽略用户空间软件,尽管这可能是个坏主意。
方法1假设您可能需要访问所讨论的服务器上的数据,我将安装一个VM,其中包含所讨论的Linux发行版和内核的确切版本,并试用您的漏洞。VM将有效地将服务器从真正的主机上沙箱化,如果您成功地破坏了VM,则不会造成任何伤害。
方法2假设不存在数据依赖--我将在商店中的任何其他Linux盒上安装一个具有相同发行版和内核的VM,并试用您的漏洞。
如果这是一台重要的机器,而且您的组织有值得攻击的资产,我不会在您受到攻击之前,对可用的修补程序和应用程序做出任何假设。
OTOH -如果机器不是关键任务,并且服务器场安全对策的一般状态良好(定期修补机器,适当维护防火墙)--我会减少您的关注,并花时间在实验室中。
发布于 2013-05-17 08:04:54
找出漏洞利用的好处。这是您的Linux内核(版本)吗?那么,所有具有该版本号的系统都可以生效。
假设您有漏洞,您应该知道它攻击的是什么。如果出于某种原因,您不知道漏洞的作用是什么,就不要在生产服务器上测试它。如果漏洞是一个脚本,那么您就可以峰值并查看它所做的事情。如果该漏洞被编译成机器代码,您将不得不尝试并反向工程它来理解它所做的事情,或者雇用能够。
除非开发人员是唯一拥有该漏洞的人,否则您不能假设在有人获得该漏洞之前会有一个修复程序。开发人员只有知道了才能修复这些问题。如果软件发布给公众、出售给他们或被他们发现,他们可以在软件中了解新的漏洞。
https://security.stackexchange.com/questions/36047
复制相似问题