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

简介:

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

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

相关文章
|
10天前
|
安全 算法 物联网
开发了世界上最流行的软件,开源太可怕了
开发了世界上最流行的软件,开源太可怕了
|
2月前
|
监控 数据处理 C#
利用 F# 语言,为公司监控软件带来函数式编程优势
在科技飞速发展的今天,软件质量和效率对公司运营至关重要。F# 作为一种强大的函数式编程语言,以其简洁高效的语法和易于理解、维护的特点,成为开发监控软件的理想选择。它支持高阶函数,提高了代码复用性,适用于各种监控场景。此外,F# 还能与其他编程语言良好互操作,提升开发效率。这些特性使其在监控软件开发中展现出显著优势。
27 6
|
3月前
|
XML 开发框架 .NET
.NET框架:软件开发领域的瑞士军刀,如何让初学者变身代码艺术家——从基础架构到独特优势,一篇不可错过的深度解读。
【8月更文挑战第28天】.NET框架是由微软推出的统一开发平台,支持多种编程语言,简化应用程序的开发与部署。其核心组件包括公共语言运行库(CLR)和类库(FCL)。CLR负责内存管理、线程管理和异常处理等任务,确保代码稳定运行;FCL则提供了丰富的类和接口,涵盖网络、数据访问、安全性等多个领域,提高开发效率。此外,.NET框架还支持跨语言互操作,允许开发者使用C#、VB.NET等语言编写代码并无缝集成。这一框架凭借其强大的功能和广泛的社区支持,已成为软件开发领域的重要工具,适合初学者深入学习以奠定职业生涯基础。
102 1
|
4月前
|
人工智能 PyTorch TensorFlow
编程语言与工具:为AI开发选择合适的武器
【7月更文第16天】在当今人工智能(AI)迅速发展的时代,选择恰当的编程语言和框架就如同为征服未知领域的探险者配备精良装备。本文将聚焦于AI开发中的三大基石:Python语言、TensorFlow框架,以及PyTorch框架,为你的AI之旅提供有力的导航。
148 7
|
6月前
|
前端开发 网络安全
【XSS平台】使用,网络安全开发必学
【XSS平台】使用,网络安全开发必学
|
JavaScript 前端开发 Java
|
安全 开发者
为什么恶意软件开发者转向开放源代码
骗子们通过软件窃取银行信息 为了让他们的恶意软件对骗子来说更有价值,恶意软件开发者正在努力转向开源模式。 除了窃取金融和个人资料,恶意软开发者希望通过免费提供程序代码,扩大既有木马程序的使用范围。
962 0
13种最为荒谬的编程语言
导读:文章根据topdesignmag.com上一篇《Top 13 Most Absurd Programming Languages》,整理编译而来。这是一个娱乐贴,不要去问这些编程语言到底有没有什么实用价值,可以让我们感叹一下神奇和开发者独特的思维,这就是实用价值。
1127 0
|
JavaScript 编译器 API
国人创造中文编程语言的优势
对比创造英文编程语言, 国人在创造中文编程语言时具备的优势, 以及开源的中文编程语言项目. Compared to creating English programming language, some advantages the Chinese have when creating Chinese programming languages.
1157 0