Python是最强语言?看看俄罗斯Turla黑客开发的Python恶意软件
off999 2024-11-02 12:34 25 浏览 0 评论
大家好,我是零日情报局。
本文首发于公众号 零日情报局,微信ID:lingriqingbaoju
只要开发快,溯源就没法找到我。——Turla
Turla,一个圈内人尽皆知的俄罗斯背景APT间谍组织。这次这只毒蛇开发了一种新型恶意软件,盯上亚美尼亚开启了持续性攻击,领事馆网站、能源部无一幸免。
值得说道的,这次攻击中,Turla在惯用的Adobe Flash更新诱饵中,一次性增加了两个从未被记录的恶意组件NetFlash和PyFlash,甚至还第一次出现了使用Python语言的情况。
你没看错,一次性增加了两个从未被记录的新恶意组件,还启用了Turla几乎未涉及的编程语言。对此,零日不得不猜测,Turla工具库可能又要扩大了。
为新恶意组件铺路的Turla水坑攻击
甭管安装执行什么恶意软件,入侵都是第一步,所以在聊新增恶意组件前,都得知道Turla是怎么入侵的。
首先,Turla在目标网站暗中植入恶意代码JavaScript。拿mnp.nkr [.] am来说,Turla就在常见的JavaScript库 jquery-migrate.min.js 末尾,附加了一段混淆代码。
有了这串不起眼的代码,就能在skategirlchina [.] com / wp-includes /data_from_db_top.php 加载外部JavaScript。
一旦有人访问受感染网站,skategirlchina.com就会释放恶意JavaScript,并在访问者浏览器上添加指纹。
就像这样
接下来上演的就是大家都熟悉的,指纹识别和恶意软件交付危险行为。有意思的是,Turla会筛选用户价值,分别处理。
比如说,你是第一次执行脚本的低价值目标,就会在浏览器上添加一个由服务器提供的随机MD5值evercookie。
这样这个值在后续的每一次执行脚本中都不同,进而长期持续的跟踪用户,甚至你直接删除浏览器cookie,也无法停止evercookie的运行。
而当你是潜在的高价值目标时,Turla的服务器则会给你展示一个创建iframe的JavaScript代码,开始对你下套。
你看到的界面,就会变成这种诱导更新的画面。
这时回过头梳理Turla的整个攻击过程,会发现从最初访问受感染网站到恶意负载的传递,是这样一个过程:
也是完成了上述流程,Turla才真正开始执行恶意软件,也就是零日开篇提到新增的两种恶意软件。
新增恶势力:NetFlash和PyFlash
如果分阶段的话,前面说的其实是Turla攻击的入侵阶段,后面的则是Turla部署的新恶意软件了。
恶意组件1:NetFlash(.NET下载器)
这个新发现的有效载荷NetFlash是一个. NET应用程序。
它在%TEMP%\adobe.exe中删除了一个Adobe Flash v32安装程序,并在%TEMP%\winhost.exe中删除了一个. NET下载程序。
从ESET捕获的恶意样本来看,2019年8月底和2019年9月初被编译后,NetFlash才被上传到水坑攻击的C&C服务器。
NetFlash会从硬编码URL下载其第二阶段恶意软件,并使用Windows计划任务保持新后门的持久性,以便于后续攻击。
通过NetFlash,可下载名为PyFlash的第二阶段恶意软件。
恶意组件2:PyFlash
第二个新发现的恶意软件,其实是一个py2exe可执行文件。
所谓的py2exe,指的是一个Python扩展,主要功能是将Python脚本转换为独立的Windows可执行文件。
PyFlash通过HTTP与硬编码的C&C服务器通信,在脚本的开头指定了C&C URL以及用于加密所有网络通信的其他参数(例如AES密钥和IV)。
通过脚本的指定,直接让这个脚本能够把相关计算机信息反馈给C&C服务器。
值得一提的是,C&C服务器还能以JSON格式发送后门命令,进行特定操作。 在目前新发现的PyFlash中,能进行的命令主要有这几种:
总的来说,Turla虽然一直以自主开发著称,但这还是零日第一次看到Turla开发人员在后门程序中使用Python语言。
政府国防注意
Turla组织最早可追溯到90年代"月光迷宫"(Moonlight Maze),在其异常活跃的近十年,也始终以政府、外交和军事组织的为目标,尤其是北约国家。
对于这样一个APT里异常活跃的麻烦制造机,攻击武器一般的恶意软件开始更新,无疑就意味着威胁的扩大,毕竟即使只有一种网络武器,也能不受限制的攻击所有目标。
再联想到Turla的俄罗斯背景,以及此次新增恶意软件攻击的目标亚美尼亚,考虑到双方微妙的地缘关系,这背后的地缘政治博弈,可能又暗藏着一出大戏。
零日反思
跳出技术维度,防不胜防的APT,很难用好坏去评判。就像Turla,对攻击目标来说,无疑是安全的破坏者,而对Turla背后的政治利益集团来说,Turla则更像一把好用的武器。对Turla或者APT有想法的,咱评论区见。
零日情报局作品
微信公众号:lingriqingbaoju
如需转载,请后台留言
欢迎分享朋友圈
参考资料:
ESET《Tracking Turla:新的后门通过亚美尼亚水坑提供》
相关推荐
- 一文搞清 Python 中方法和函数之间的区别
-
在我们使用Python的过程中,经常涉及到方法和函数,那他们有什么不同吗?在本文中,让我们通过示例了解Python中方法和函数之间的区别。Python函数Python函数是一系列以特定顺序...
- Python 数据分析 + 可视化实战:5 分钟出图表,老板看了直点赞
-
还在用Excel做数据分析?效率太低了!同样一份销售数据,同事用Python半小时出报告,图表炫酷还能自动更新;你用Excel捣鼓大半天,稍微改点数据就得重新做图。今天教你用Python...
- Python每日一库之Pendulum(python penup)
-
关于日期处理,Python提供了许多库,例如标准库datetime、第三方库dateutil、Arrow等。在这篇文章中,我想介绍我个人最喜欢的库pendulum,它使用非常方便,它可以满足...
- Python计算两个日期相差天数 M + ACT/360模式,银行计算利息用
-
一般银行在计算计息的时候,都会用到M+ACT/360模式,也就是满1个月按30天计算,不足一个月按实际天数计算。一年算360天。例如:计算20151018到20190817相差的天数,201...
- Python 之 MySql 每日一练 32——查询每门课程的平均成绩
-
一、表名和字段–1.学生表student(s_id,s_name,s_birth,s_sex)–学生编号,学生姓名,出生年月,学生性别–2.课程表course(c_id,c_name,t...
- 用Python制作数据报告:如何自动生成PDF格式的报告?
-
最近在琢磨数据分析工作的自动化,手动做报告真是太费劲啦!试过用Python整了个自动生成PDF报告的小工具,效果还不错。今天就聊聊怎么用Python把数据处理、可视化和PDF生成一条龙搞定。repor...
- Github 1.2k star,一个好用的 Python 库-pyexcel!
-
大家好,今天为大家分享一个好用的Python库-pyexcel。Github地址:https://github.com/pyexcel/pyexcelpyexcel是一个功能强大的Python...
- 使用python写一个简单的到期事件钉钉提醒功能
-
前言:学习python第3天需求:简单的事件提醒功能版本:python3.9、mysql5.71、现在mysql建一个表event_remindCREATETABLE`event_remind`...
- python定时任务最强框架APScheduler详细教程
-
APScheduler定时任务上次测试女神听了我的建议,已经做好了要给项目添加定时任务的决定了。但是之前提供的四种方式中,她不知道具体选择哪一个。为了和女神更近一步,我把我入行近10年收藏的干货免费拿...
- 解放双手,一键运行!Python每日自动生成数据日报
-
对于一个企业来说,高层看意义,中层看结论,基层看落地,数据日报、周报、月报可以监控销售个人在实际执行过程中的销售动态,而数据季度报、年报可以反映一个销售策略是否与实际的业务场景切合。可见数据日报在我们...
- Python模块datetime、calendar、logging、argparse、re用法
-
datetime模块:提供日期和时间相关的功能。importdatetime#获取当前日期和时间current_time=datetime.datetime.now()#格式化日期...
- python入门到脱坑正则表达式—re.search()函数
-
re.search()是Python正则表达式模块re中的核心函数之一,用于在字符串中搜索匹配指定模式的第一个位置。与re.match()不同,它不限制匹配必须从字符串开头开始。基本语法...
- python3从零学习-5.2.1、日历相关模块calendar
-
源代码:Lib/calendar.py这个模块让你可以输出像Unixcal那样的日历,它还提供了其它与日历相关的实用函数。默认情况下,这些日历把星期一当作一周的第一天,星期天为一周的最后一...
- DAY6-step7 Python 示例说明CALENDAR
-
Python中的Calendar模块具有Calendar类,该类允许基于日期,月份和年份来计算各种任务。最重要的是,Python中的TextCalendar和HTMLCalendar类允许您编辑日历...
- Python 数据分析——Pandas 时间序列
-
Pandas提供了表示时间点、时间段和时间间隔等三种与时间有关的类型,以及元素为这些类型的索引对象,并提供了许多时间序列相关的函数。一、时间点、时间段、时间间隔Timestamp对象从Python标准...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 一文搞清 Python 中方法和函数之间的区别
- Python 数据分析 + 可视化实战:5 分钟出图表,老板看了直点赞
- Python每日一库之Pendulum(python penup)
- Python计算两个日期相差天数 M + ACT/360模式,银行计算利息用
- Python 之 MySql 每日一练 32——查询每门课程的平均成绩
- 用Python制作数据报告:如何自动生成PDF格式的报告?
- Github 1.2k star,一个好用的 Python 库-pyexcel!
- 使用python写一个简单的到期事件钉钉提醒功能
- python定时任务最强框架APScheduler详细教程
- 解放双手,一键运行!Python每日自动生成数据日报
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python字典遍历 (54)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)