世界上最流行的编程语言恰恰也是大多数黑客的首选武器

简介:

Python很快将是世界上最流行的编程语言。这算得上是豪言壮语,但如果你看一下Python的简单性、灵活性以及相对容易上手的优点,不难看出为什么《经济学人》杂志最近将Python誉为是即将在全球使用量最多的语言。当然,我们的威胁研究小组想看看Python在不法分子当中有多受欢迎。

当然,最好的研究地方是Github。粗略估计,实现攻击工具/漏洞概念证明(PoC)的GitHub代码仓库中20%以上是用Python编写的。在GitHub中几乎所有与安全有关的主题中,大多数代码仓库都是用Python编写的,包括w3af和Sqlmap之类的工具,甚至臭名昭著的AutoSploit工具。

我们Imperva使用先进的智能客户分类机制来区别和分类各种Web客户软件。我们查看了自己的数据,尤其是安全事件,结果我们识别的大多数(25%以上)客户软件(不包括漏洞扫描器)都基于Python。

与其他客户软件不同,我们在Python方面看到了许多不同的攻击途径和使用已知漏洞。与开发人员一样,黑客也在享用Python的优点,因而Python成为一种流行的黑客工具。

1979a5cad1bbaa2564e60c99cbfc12a0605eabff

图1:按客户软件分类的安全事件,不包括漏洞扫描器。25%以上的客户软件是不法分子使用的基于Python的工具,因而Python成为实施漏洞攻击的最常见途径。

对针对我们保护的网站发动的攻击中使用Python的情况分析后发现,结果并不令人惊讶:大部分网站(多达77%)被基于Python的工具攻击过;在超过三分之一的情况下,大多数日常攻击是基于Python的工具实施的。这表明,基于Python的工具用于广度扫描和深度扫描。

9cd0e432bc4ad87674b73feed0cdfb6d2de92035

图2:遭到基于Python攻击的网站的每日百分比。

Python模块

用于Web攻击的两个最流行的Python模块是Urllib和Python Requests。下图显示了攻击分布状况。新模块Async IO的使用刚开始多起来,如果你考虑到该库在第7层DDoS方面扮演的角色,也就不难理解了,尤其是在使用“Spray N'Pray”手法时:

67c348e3c157aa3221982566d407286a674370ee

图3

Python和已知漏洞

Python这种编程语言的优点让它成为实现已知漏洞的一种流行工具。我们收集了一款基于Python的工具最近利用的十大漏洞方面的信息。

近2个月中两次最猖獗的攻击使用了CVE-2017-9841和CVE-2015-8562,前者是 PHPUnit框架中基于PHP的远程执行代码(RCE)漏洞,后者是针对Joomla!框架的RCE。考虑到RCE对不法分子来说很重要,最常见的攻击可能利用RCE漏洞也就不足为奇了。

另一个不属于十大漏洞的例子是CVE-2018-1000207,它在2018年8月的最后一周内有好几天每天都导致数百次攻击。更深入地分析后发现,这起攻击是针对多个受到保护的客户发动的。

CVE方面的变化

5a591a20b0eb56df10cf13782135f52e0db70785

图4

可以从我们的数据中看出,攻击者利用CVE的数量在过去几年有所增加:

b3cea096fc497874fee34411fc0f204b20d4a698

图5

此外,Python用于攻击特定的应用程序和框架,根据我们的数据,你可以在下面找到十大框架:

da7ac406044bf5dc8fc060ea510de4cd518dbd8b

图6

我们查看了Python攻击的所有框架后,最惹眼的攻击是针对Struts、WordPress、Joomla和Drupal的那些攻击,这并不奇怪,因为目前这些是市面上一些最流行的框架。

攻击途径

我们看到攻击中使用的最流行的HTTP参数值(占使用的所有不同参数值的30%左右)属于通过Joomla!中的PHP Unserialize漏洞,使用JDatabaseDriverMysqli对象企图植入后门的攻击。植入后门的有效载荷托管在ICG-AuthExploiterBot上。

我们还看到一个经常出现的有效载荷,结果证明是企图感染系统的特洛伊木马Coinbitminer,更多细节详见附录。请注意,附录仅仅是一个例子。由于Python被黑客广泛使用,因此许多不同的攻击途径需要考虑。Python只需要一点编程技能,这使得编写脚本、利用漏洞易如反掌。

我们的建议

除非你能够区分基于Python的工具的请求和任何其他工具的请求,否则我们的建议仍然一样:确保开发软件时牢记安全性,给系统打上最新的补丁,尽量避免被认为不安全的任何做法。

附录:攻击示例

这是我们观察到的一个值得关注的、经常出现的有效载荷(最后有个小的差异):

c1b33406b1a99ac326d7996d5ab195db1c5cd580

图7

在base64解码之后,我们得到了二进制有效载荷:

644114896f969feca8f68926800748d68d06b51b

图8

在上述有效负载中,提到了反序列化漏洞工具所用的GitHub代码仓库和jpg文件中的wget命令下载,这强烈表明存在着恶意活动。从http://45.227.252.250/jre.jpg下载文件后,我们可以看到它实际上是含有以下内容的脚本:

6fbcedbaf3e6bae915f34ea03edc4596bfc20186

图9

脚本中的最后两行试图获得http://45.227.252.250/static/font.jpg%7Csh,这被赛门铁克端点保护系统确认为是特洛伊木马Coinbitminer。

1a160097add7614beae8978bfaca90bd315c84f1

图10


原文发布时间为:2018-10-9

本文来自云栖社区合作伙伴“大数据地盘”,了解相关信息可以关注“大数据地盘”。

相关文章
|
3月前
|
Java Linux C#
一些著名的软件都用什么语言编写?
一些著名的软件都用什么语言编写?
|
搜索推荐 数据安全/隐私保护
让你眼前一亮的不是流行软件,而是这五款小众软件
让你眼前一亮的软件,不一定是市面上最流行的。今天,我将推荐给你五款非常小众,但是十分好用的软件。它们功能强大,使用起来也非常方便,而且经过我个人的测试,确保质量有保障。如果你用完后觉得不好用,可以找我哦。
158 0
让你眼前一亮的不是流行软件,而是这五款小众软件
|
存储 Unix 程序员
挑战 50 年霸主 C 语言:新语言 Hare,“异端”中的保守派
Hare 原意为野兔,它的开发者希望这种编程语言能够如野兔般拥有顽强的生命力。
325 0
挑战 50 年霸主 C 语言:新语言 Hare,“异端”中的保守派
|
JavaScript 前端开发 Java
|
安全 开发者
为什么恶意软件开发者转向开放源代码
骗子们通过软件窃取银行信息 为了让他们的恶意软件对骗子来说更有价值,恶意软件开发者正在努力转向开源模式。 除了窃取金融和个人资料,恶意软开发者希望通过免费提供程序代码,扩大既有木马程序的使用范围。
940 0
|
安全 数据安全/隐私保护
互联网之父:安全验证问题最为突出
6月12日消息,据国外媒体报道,“互联网之父”温顿·瑟夫(Vinton Cerf)周三表示,当前的互联网不够完整,缺乏许多功能,尤其是安全方面。    瑟夫与罗伯特·卡恩(Robert Kahn)1973年开发出TCP/IP协议,1983年开始运作,直到1989年才开始商用。
806 0
13种最为荒谬的编程语言
导读:文章根据topdesignmag.com上一篇《Top 13 Most Absurd Programming Languages》,整理编译而来。这是一个娱乐贴,不要去问这些编程语言到底有没有什么实用价值,可以让我们感叹一下神奇和开发者独特的思维,这就是实用价值。
1093 0
|
JavaScript 编译器 API
国人创造中文编程语言的优势
对比创造英文编程语言, 国人在创造中文编程语言时具备的优势, 以及开源的中文编程语言项目. Compared to creating English programming language, some advantages the Chinese have when creating Chinese programming languages.
1060 0
|
存储 安全 iOS开发
业界 | Dropbox力荐!我们如何应对Python桌面应用程序的崩溃
揭秘Crashpad系统如何帮助Dropbox这样复杂的桌面程序捕获并报告崩溃,且兼容Python的多种语言。
1589 0
|
存储 安全 算法
安卓应用安全指南 5.6.3 密码学 高级话题
5.6.3 密码学 高级话题 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 5.6.3.1 选择加密方法 在上面的示例代码中,我们展示了三种加密方法的实现示例,每种加密方法用于加密解密以及数据伪造的检测。
1490 0