我试图理解为什么攻击者想要等待使用零日漏洞。
我读到攻击者不想浪费零日,因为首先要获得它们通常非常昂贵,但我不清楚这里的“浪费”是什么意思。零日漏洞可以被社区(例如安全研究人员)发现,这将使其无用。从这个意义上说,零日已经被攻击者的不作为而浪费了。过早使用零日漏洞是否存在风险?似乎攻击者希望尽量减少发现零日漏洞的机会,从而尽快使用它。
问题:哪些因素会导致攻击者等待使用零日漏洞?
我试图理解为什么攻击者想要等待使用零日漏洞。
我读到攻击者不想浪费零日,因为首先要获得它们通常非常昂贵,但我不清楚这里的“浪费”是什么意思。零日漏洞可以被社区(例如安全研究人员)发现,这将使其无用。从这个意义上说,零日已经被攻击者的不作为而浪费了。过早使用零日漏洞是否存在风险?似乎攻击者希望尽量减少发现零日漏洞的机会,从而尽快使用它。
问题:哪些因素会导致攻击者等待使用零日漏洞?
比起坐在上面,你更有可能通过使用它来烧掉一个 0day。
在 0day 上坐得太久以至于它被其他人发现并修补,以及过早和不必要地使用它,烧掉它之间有一个很好的平衡。平衡往往倾向于等待更长的时间,因为一个好的 0day 将足够模糊,不会很快被发现。在这种情况下,最大的风险实际上不是发现,而是当易受攻击的代码由于完全不相关的原因被重写或删除时过时,并且 0day 漏洞利用不再有效。
然而,大多数时候,攻击者根本不需要使用它。如果我有一个有价值的 Linux 本地权限提升漏洞利用,那么当一点额外的侦察告诉我可以使用旧漏洞利用来对付未正确修补的特权守护进程时,我为什么还要使用它呢?最好把它放在未雨绸缪的基金里。
0days 可能会长期保留还有其他一些原因:
有些人只是为了它而囤积0days。这太常见了。
也许你从某人那里借了 0day,在这种情况下,烧掉它会惹恼他们。
有时,在等待合适的客户时,0day 经纪人会坐在他们身上。
0day 本身可能没有用,需要与其他漏洞链接才能工作。
BH US 提出了一些有趣的研究,分析了 0days 的寿命。
第 0 天取决于发现有效利用的另一个漏洞。例如,如果您一开始没有执行代码,则不能使用权限提升。这也可以以另一种方式工作,您希望在您当前拥有的天之后再链 0 天。
攻击者没有值得使用的目标。我还要指出,攻击者可能不会立即利用所有内容,因为如果发现 0 日,您将来将无法使用它。当您找到 0 day 时,您想要入侵的内容可能甚至不存在。
利用 0 day 可能是非法的。人们仍然可以通过将它卖给出价最高的人来赚钱(这包括谈判你从错误赏金计划中获得的钱)
因为老方法是最好的。当您可以使用甜美的 SMBv1 攻击或 SQLi 来获得相同的结果时,为什么要浪费昂贵的 0 天?使用 0-day 可能会导致从取证响应中发现,从而降低价值并消除它将有效打击的目标数量。
从攻击者的角度来看,零日漏洞利用是一种宝贵的资源,因为它不为公众所知。这给攻击者在实际部署时的惊喜元素,因为目标将无法主动防御它。
每次使用零日漏洞时,它都有可能被目标发现并由软件供应商修补漏洞。一旦漏洞被关闭,利用的有用性就会大大降低,并且仅限于没有更新软件的目标。这被称为“烧毁”漏洞利用。
因为当今大多数攻击者的目标是直接或间接地获取金钱(例如通过从目标窃取个人信息并使用它进行身份欺诈),所以零日漏洞利用具有经济价值。如果该漏洞被烧毁并失效,则该漏洞利用将失去其价值。从本质上讲,零日漏洞是一种有价值的消耗性武器,应该保存起来用于对付无法通过众所周知的漏洞利用的高价值目标。
这意味着,例如,针对运行具有已知漏洞的特定软件的旧版本的系统的攻击者将希望使用现有的、公开可用的漏洞利用,而不是使用零日漏洞利用并冒险烧毁它。当您可以使用更便宜的解决方案完成工作时,为什么还要浪费宝贵的资源呢?