确定客户端机器上易受攻击的软件

信息安全 开发 已知漏洞 漏洞扫描器
2021-08-12 15:57:43

我感兴趣的是攻击者如何设法识别客户端机器上、大型网络后面或独立在家中的易受攻击的软件版本。我对端口扫描根本不感兴趣,因为客户端机器上的大多数软件都不会主动监听。

我对确定客户端机器上易受攻击软件版本的技术特别感兴趣。例如,给定的机器可能安装了 Adob​​e Reader 和 Flash、Windows Media Player、VLC 和 Java。可能所有这些应用程序都容易受到攻击,或者只有一个。

我想如果攻击者能够确定哪个应用程序易受攻击,这将是有利的,因为发起攻击可能会提醒用户,所以我想知道攻击者如何实现这一点。

我想我想起了一个场景,在该场景中,攻击者使用浏览器漏洞利用能够从本地文件系统读取文件信息,这可以解决问题。

可以使用哪些其他攻击途径直接或间接获取此信息?

上报软件版本的网管软件会不会被恶意使用?如果是这样,一个示例场景是什么?

在许多报告的攻击案例中,所有可能性都使用了特定的漏洞。我认为攻击者没有那么幸运,因为发送一百次垃圾邮件会引起注意并可能会被接收。

我认为有一些方法可以检测各种版本的软件,也许没有检测到。这也适用于通过下载攻击进行的驱动......其中可能有 30 种不同的攻击,但不是页面简单地加载所有并尝试它的运气可以加载适当的攻击。或者,如果媒体播放器和 pdf 阅读器随机打开并在客户端计算机上显示错误,这些网站实际上是否更常见地发送尽可能多的攻击垃圾邮件?

非常感谢您对此的任何见解或来源。

4个回答

人员和应用程序会通过多种方式泄露有关软件版本的信息。

如果您可以看到人们发布或共享的文档,则文档格式通常会显式或隐式标识生成它的软件版本。人们在论坛上发布错误报告和问题,寻求软件方面的帮助。

如果您可以让他们访问您的网站,您将获得有关他们浏览环境的大量信息,这些信息与他们使用的其他软件高度相关。

有报告软件版本信息的程序,用于企业安全管理,或用于人气竞赛等。

而且您通常可以根据他们使用的其他软件的知识,他们何时获得新计算机,他们从事的行业等来猜测。

最后,许多恶意软件旨在攻击多个版本。即使不是这样,尝试利用的成本通常也很低,以至于人们只是进行大规模攻击(如垃圾邮件),只是希望找到易受攻击的客户端。这可能是现实生活中最常见的方法,除了复杂的鱼叉式攻击之外。

在典型情况下(不是针对性攻击),攻击者不需要知道您的软件的版本。普通的、简单的攻击者正在租用或购买了一个漏洞利用工具包,例如 zeus、crimepack、eleanor 或其他。

这些“工具包”通常带有内部零日漏洞。他们通过在某个随机主机上创建一个 Web 服务器、一个 php 页面来工作,该服务器仅提供恶意软件并利用受害者的浏览器或他的 java 或他的 flash 或下载 pdf 并利用他的 pdf 阅读器等。

只需单击链接并浏览到受影响的页面,或下载并运行 pdf/doc/xls 文件,处理应用程序就会被利用,攻击者会将其可执行文件放到主机上(可能是僵尸网络客户端或伪造的防病毒软件)程序或任何东西)。

由漏洞利用工具包(或其他工具,甚至 metasploit)创建的 php 页面只是尝试您选择的工具包中提供的所有或任何漏洞利用。其中之一将起作用,具体取决于您对恶意软件工具包的订阅服务的更新程度。

以上所有方法都不是针对目标攻击的最佳方法,但仍然可以工作。在有针对性的攻击场景中,攻击前将完成信息收集阶段,攻击者将尝试通过使用泄露的信息,从大量来源(如浏览器)中确定主机上运行的软件和版本等信息指纹、电子邮件等

在对资源进行主动扫描之前,我倾向于查看工作板并确定开放的开发人员职位。并非总是如此,但他们通常会列出正在使用的软件套件的特定版本。人力资源人员对此可能一无所知,并且在提出申请时通常会想要“尽可能多的细节”。

此外,如果目标使用第三方提供资源,您通常可以获得更多信息。信不信由你,但我之前已经能够识别超过 30 个应用程序,当时我坐在大厅里,然后开始只使用 ipad 和网络浏览器进行互动。

一旦你走到这一步,你就可以开始分析可能的向量并调查可能的漏洞利用等。如果组织正在寻找聘请 AV 管理员或安全工具人员,你甚至可能很幸运地知道你的目标有什么样的防御目​​标在开始参与之前在你的实验室。

理想情况下,甚至在您出现在现场之前,您就可以拥有一袋您知道的技巧,这些技巧可能会让您悄悄进入并升级到特权级别,这将证明需要更好的安全态势。最坏的情况是,你绊倒了一个你不知道的 IDS,然后锤子落了下来,这表明对于时间有限的人来说,安全性是“足够的”。

我实际上不确定您在谈论哪种攻击。但大多数时候它是特定于漏洞利用的。例如,有许多针对不同浏览器的远程 Internet 浏览器漏洞利用,但 metasploit 可以运行一个简单的网页,它可以识别使用的浏览器客户端(Firefox、Chrome、IE ..)并运行适当的漏洞利用。但是如果你说的是本地 BOF 漏洞利用、DLL 劫持等,攻击者实际上并不知道受害者是否会使用易受攻击的应用程序打开文件,但如果使用流行的软件漏洞利用,仍然有足够的机会被利用。