几年前,敲诈者木马还是一个默默无闻的木马种类。然而,由于其极强的破坏力和直接且丰厚的财富回报,敲诈者木马这几年已经一跃成为曝光率最高的木马类型——甚至超越了盗号木马、远控木马、网购木马这传统三强。与此同时,各种敲诈者木马也在不断推陈出新,变着花样地出现在分析人员的视野中。

私信小编007即可自动获取大量Python视频教程,还有各类PDF!

去年,360安全团队就发现了一款使用PHP语言编写的敲诈者木马(具体内容参考《用世界上最好的编程语言写成的敲诈者木马》)。最近,一款使用Python语言编写的敲诈者木马又被发现。面对花样百出的攻击,360的安全分析人员不禁感叹——竟然还有这种操作?

永远的“我的化学浪漫”

7月27日,360的反勒索申诉平台接到了两例反馈,两案例均为26日中毒,而且文件扩展名均被修改为“MyChemicalRomance4EVER”。两位受害人本可逃过一劫,可惜却都是中毒之后才想起安装360安全卫士来加强系统安全防护的。

上述扩展名中的“My Chemical Romance”这个名称,其实是源自一支美国新泽西州的同名朋克乐队。该乐队成立于2002年,十一年后的2013年宣告解散。朋克这种充满了叛逆与不羁的音乐风格向来深受年轻人的喜爱,所以该木马的作者想来应该也是一个充满着叛逆性格的年轻人吧?

病毒名字起的很“朋克”,但传播方式却颇为老套,无非就是伪装成一些对广大网民比较有吸引力的软件对外发布,诱导大家下载并执行。

比如我们拿来分析的这个样本,就自称是一款叫做“VortexVPN”的VPN软件。除此之外,还有类似于“PornDownload”、“ChaosSet”、“PanDownloader”、“BitSearch”等等,基本都是广大网友都懂得的各种工具软件。

通过进一步追溯,发现该木马传播早期,可能是来自于一个名为ZeroNet的匿名网络,该网络是一个去中心化的加密网络,显然作者是对隐藏自身信息也是做了比较周密的安排。

木马分析惊现Python语言

言归正传,我们来看下木马本身。和常见勒索木马一样,会加密中毒电脑中的所有常见文档文件,并留下敲诈信息

而很是与众不同的是,在分析的时候,我们发现这款木马竟然是用Python语言编写了木马脚本,然后再打包成一个exe的可执行程序的。

于是我们尝试使用现有工具对该exe进行反编译,结果喜人——工具成功的对木马程序进行了反编译,其中除了一些Python环境所依赖的库文件之外,核心部分就是一个名为“wub_crypted”的pyc文件。

之后,我们将pyc脚本恢复为py脚本文件,发现脚本本身的内容也是加密过的。再经过两次的Base64解码和一次AES解密,最终我们拿到了木马核心功能脚本的内容。

脚本代码分析

有了明文脚本,功能就显而易见了。

首先,木马会判断自身进程名是否为systern.exe。如果不是,则将自身复制为C:UsersPublicsystern.exe 并执行。

之后,木马释放s.bat批处理脚本,关闭各种数据库和web 服务及进程。

接下来,就是遍历所有系统中所有文件并加密且留下勒索信息了。当然,为了避开敏感的系统文件,代码有意避开了“C:Documents and Settings”和“C:Windows”两个目录。

最终木马会调用系统的wevtutil命令,对系统日志中的“系统”、“安全”和“应用程序”三部分日志内容进行清理,并删除自身,以求不留痕迹。

该木马的亮点是,在加密的文件类型列表中,除了大量的文档类型外,还包括有比特币钱包文件和一些较重要的数据库文件。

而另一个更大的亮点则是——该木马不同于以往的敲诈者木马使用不对称加密算法,而是采用了AES对称加密算法,并且用于加/解密的密钥则是硬编码在脚本中的:“MyChemicalRomance4EVER_tkfy_lMCR”。

用Python脚本写了个敲诈者木马,再打包成 exe程序,再费尽周章用匿名网络发不出去,最终因为使用对称加密算法被分分钟破解……惊不惊喜?意不意外?

老生常谈的一些话

1.不要从不明来源下载程序。

2.安装杀毒软件并开启监控。

3.不要相信所谓外挂、XX工具、XX 下载器一类的程序宣称的杀软误报论。

这些真的已经算是老生常谈了。不过大家放心,这类木马虽然有些新意,但本质上还是老套的敲诈者木马,360 对此类木马可实现无压力拦截。

木马分析出现python语言,360的安全人员不禁感叹还有这种操作?的更多相关文章

  1. 预测分析建模 Python与R语言实现

    预测分析建模 Python与R语言实现 目录 前言 第1章 分析与数据科学1第2章 广告与促销10第3章 偏好与选择24第4章 购物篮分析31第5章 经济数据分析42第6章 运营管理56第7章 文本分 ...

  2. 【学习笔记】PYTHON语言程序设计(北理工 嵩天)

    1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则     摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...

  3. Python语言初学总结

    课程名称:程序设计方法学 实验1:程序设计语言工具 时间:2015年10月21日星期三,第3.4节 地点:理工楼1#208 一.实验目的 1.深入理解程序设计语言及其几种常见的编程范型: 2.激发学生 ...

  4. Python语言在企业级应用上的十大谬误

    英文原文:https://www.paypal-engineering.com/2014/12/10/10-myths-of-enterprise-python/ 翻译原文:http://www.os ...

  5. 动态语言的灵活性是把双刃剑 -- 以Python语言为例

    本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter)的检查问题.这两个问题,本质都是因为动态语言(动态类型语言)的特 ...

  6. 机器学习之支持向量机(四):支持向量机的Python语言实现

    注:关于支持向量机系列文章是借鉴大神的神作,加以自己的理解写成的:若对原作者有损请告知,我会及时处理.转载请标明来源. 序: 我在支持向量机系列中主要讲支持向量机的公式推导,第一部分讲到推出拉格朗日对 ...

  7. mooc-python语言语法week3-6

    week3 1.类型的概念:程序编程不允许有歧义的数据类型存在,所以对数据进行了划分,python语言类型分为,数字类型.字符串类型.元组类型.列表类型.文件类型.字典类型. i:数字类型: pyth ...

  8. SM3杂凑算法Python语言实现——第三部分

    SM3杂凑算法实现--第三部分 一.SM3 密码概述        我们首先把需要用到的算法呈现出来,最后我们再考虑如何集合为一个库的方法,这一部分我们就开始编写一个新的算法:国家商用密码标准SM3密 ...

  9. 全国计算机等级考试二级Python语言程序设计考试大纲

    全国计算机等级考试二级Python语言程序设计考试大纲(2018年版) 基本要求 掌握Python语言的基本语法规则. 掌握不少于2个基本的Python标准库. 掌握不少于2个Python第三方库,掌 ...

随机推荐

  1. poj 2289 Jamie's Contact Groups【二分+最大流】【二分图多重匹配问题】

    题目链接:http://poj.org/problem?id=2289 Jamie's Contact Groups Time Limit: 7000MS   Memory Limit: 65536K ...

  2. Java虚拟机16:Java内存模型

    什么是Java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致 ...

  3. Week4:Neural Networks难点记录

    为什么θ的维度是Sj+1*(Sj+1)? 课堂PPT没有两层单元个数不同的状态,故举一个例子就知道了 and sj+1=4, so sj+1×(sj+1)=4×3. 编程作业: Multi-class ...

  4. 如何在C#程序中模拟域帐户进行登录操作 (转载)

    .NET Core .NET Core也支持用PInvoke来调用操作系统底层的Win32函数 首先要在项目中下载Nuget包:System.Security.Principal.Windows 代码 ...

  5. C#只能lock 引用类型的值 (转载)

    Lock:        C#只能lock 引用类型的值,如果lock一个int, bool,编译器会报错.    当一个互斥锁已被占用时,在同一线程中执行的代码仍可以获取和释放该锁.但是,在其他线程 ...

  6. 内部元素一一相应的集合的算法优化,从list到hashmap

    说是算法优化,基本上是在吹牛,仅仅只是算是记录下,我写代码时候的思路.毕竟还是小菜鸟. 我要开一个party,与会者都是情侣,可是情侣并非一起过来的,而是有先有后,可是每位与会者来的时候都拿着一束鲜花 ...

  7. UML类图6种主要关系区别和联系

    UML类图关系图示,因为长得都很类似,所以大家总会混淆,本文主要目的就是分析一下6种主要的关系,找到联系与区别,便于记忆. 6种主要的关系如图1所示.继承与实现.组合与聚合.关联与依赖可分别划分为一组 ...

  8. Python虚拟环境包导出

    一.导出包文件 1.进入虚拟环境 2.进入项目目录下创建放置包文件的文件夹(whls) mkdir whls 3.进入whls文件夹,执行导出命令 (导入包时有网络) cd whls pip free ...

  9. JavaWeb基础—MVC与三层架构

    一.MVC的概念 MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ...

  10. 四分历python实现

    根据一个新加坡人的c代码改写成python代码 ''' 四分历''' # zq = 0 month = 0 def main(): global month year = 1 rb_year = 0 ...