安全公司Imperva Cloud WAF 保护了全球超过10万个网站,并且每天观察到大约10亿次攻击。他们每天都会检测到成千上万种黑客工具,并采取各种措施来阻止恶意请求。在本文中,研究人员将分享有关研究人员在2019年观察到的最危险工具和攻击的信息。
研究人员使用先进的智能客户端分类机制对各种Web客户端进行分类,为了确定黑客最常用的工具,研究人员查看了2019年期间发现的所有攻击,并将它们归类为安全事件。通过对数据进行聚类,研究人员能够减少大型攻击造成的偏差,而不是专注于对多个站点的不同攻击。
值得注意的是,随着Google Go语言的兴起,流行的编码语言Python仍然是大多数黑客的首选武器。
接下来研究人员可以看到WinHttp库,主要由运行在Windows上的.net和CPP使用,然后是Shell工具,如cURL、wget等,其余的顶级工具更多。
编程语言和浏览器,研究人员将提供更多关于顶级工具的有趣统计数据,如攻击类型和来源国家分布。研究人员还将介绍了一些顶级工具,最后给出一些建议,告诉你如何保护你的网站不受这些工具的影响。
统计数据分析
研究人员决定查看一些GitHub的统计数据,以了解哪些语言使用得最多。根据GitHut 2.0, Python和Go位列2019年五大语言之列。
为此,研究人员决定重点关注GitHub中的网络安全项目,假设大多数攻击工具都标有此类标签。 GitHub并未对每个存储库进行分类,但是GitHub中的安全主题包含超过8500个与安全相关的存储库,这是一个相当大的示例。
看看这些库中使用的前五种语言,研究人员可以看到Python排在第一位,遥遥领先,然后是Java、JavaScrIPt、PHP,最后是Go。看到主要的web语言(如PHP和JavaScrIPt)或使用广泛的语言(如Python和Java)在列表中名列前茅,这并不奇怪。但是Go在2019年成为了榜首,更有趣的是,它取代了基于shell的代码。
将GitHub的统计数据与Stack Overflow趋势进行比较时,研究人员得到了类似的情况。很难解释为什么关于Go的漏洞没有来自Go存储库的拉取请求那么多。一个令人惊讶的统计数据是Python的使用量迅速而急剧的上升,平均每年增长13%,在十年内几乎翻了两番。
Cloud WAF统计信息
为了了解这些工具在研究人员保护的网站上攻击的传播情况,研究人员创建了一个图表,显示2019年每种工具攻击的网站百分比。研究人员观察到的工具在事件数量和被攻击站点的百分比方面都处于领先地位。大多数站点每个月都会受到Python的攻击,而30%-50%的站点会受到其他工具的攻击。
为此,研究人员决定观察两种最流行、变种最多的攻击——XSS和SQLi,以及通过Go和Python使用这些攻击的尝试。
值得注意的是,到2019年底,Go在两种攻击中都赶上了Python。虽然现在判断这一趋势是否会持续还为时过早,但很容易看出,到2019年底Go已经变得更加流行。
研究人员想检查一下观察到的每种主要攻击类型的工具分布情况:
如你所见,Python在RCE/RFI、文件上传和数据泄漏方面是最强的工具,而Go在常规自动攻击中更强大。
让我们根据来源IP查看工具使用情况的国家/地区分布图:
中国使用Python的方式比其他任何国家都多,而印度选择Go作为其首选工具。很难说为什么,但是鉴于这些国家/地区的网络活动知名度很高,因此新加入这个市场的黑客可能选择了现代工具进行他们的邪恶活动。
根据IP来判断攻击数量
令人惊讶的是,使用该工具进行攻击的IP数量与该工具引发的安全事件数量之间并没有很强的相关性。这可以部分地由这些工具所涉及的攻击类型来解释。复杂的,自动的攻击往往可以协调进行,即大规模大规模攻击。
通过观察事件与IP之间的比率,可以进一步验证该假设。请求率低的工具(可以很容易地用于浏览器模拟)具有非常低的事件IP比率。相比之下,能够轻易生成大规模攻击的工具(如Go和Python)的IP发生率要高得多。
让我们来看看位和字节:
最受欢迎的Python库是请求,Urllib和异步IO
异步IO库的使用自去年以来已经增长,但它仍然排在最后。然而,由于它在用Python编写异步程序时所具有的强大功能,研究人员希望在将来看到更多的增长。
研究人员决定检查一些通常被黑客工具利用的CVE:
首先,大约有700万个HTTP请求是(CVE-2017-9841),这是PHPUnit中的一个远程命令执行漏洞,PHPUnit是一个广泛使用的PHP测试框架。深入了解其历史时,似乎CVE已于2017年6月发布,而修复程序已于2016年11月11日提交。
在2019年9月4日,Drupal发布了关于Mailchimp中一个漏洞的公共服务公告(PSA-2019-09-04),该漏洞使用PHPUnit作为第三方库。此外,2020年1月7日,PrestaShop(用PHP编写的电子商务解决方案)发布了一个安全公告,内容涉及名为XsamXadoo Bot的恶意软件正在利用的PHPUnit漏洞。这些公告使CVE复活,在Twitter上引发了炒作,在该处发布了许多与该漏洞有关的帖子。此外,漏洞数据库(如VulnDB)也更新了与此CVE相关的记录并添加了新链接-例如,2017年在博客中写回的POC,只能通过回溯设备获得。当研究人员检查数据时,尝试找到Go-lang攻击工具使用的流行CVE,研究人员发现,最流行的一个CVE实际上是一组CVE(CVE-2016- 5385,CVE-2016-5386,CVE-2016-5387,CVE-2016-5388,CVE-2016-1000109和CVE-2016-1000110)。所有这些CVE与HTTP_PROXY环境变量中的漏洞(称为“ httpoxy”)有关。
在CGI或类似CGI的上下文中运行的Web服务器可以将客户端请求代理标头值分配给内部HTTP_PROXY环境变量,可以利用此漏洞对内部子请求进行中间人(MITM)攻击或指导服务器启动与任意主机的连接。
让研究人员转到cURL,这是最常见的攻击shell工具。有一个有趣的CVE,在Apache Struts (CVE-2016-3087)中执行远程代码,大约有100K个HTTP请求。Apache Struts是一个免费的、开放源码的模型-视图-控制器(MVC)框架,用于创建优雅的、现代的Java web应用程序。当使用REST插件时,可以执行远程代码!操作符在启用动态方法调用时使用。
缓解措施
如果你有一个客户机分类机制,它可以像查看用户代理那样简单,那么这些见解将允许你轻松地抵御许多常见的攻击。要理性对待这些工具,如果你不期望你的应用程序或部分应用程序被这些工具访问,那么就阻止来自它们的请求。在其他情况下,你可能知道只有特定的IP应该使用这些工具,例如执行运行状况监视的IP,你可能希望单独限制对这些IP的访问。
本文翻译自:https://www.imperva.com/blog/python-and-go-top-the-chart-of-2019s-most-popular-hacking-tools/如若转载,请注明原文地址: