勒索软件Locky、Tesalcrypt等使用了新的工具躲避检测
勒索软件Locky、Tesalcrypt等使用了新的工具躲避检测
今天我们发现Locky勒索软件家族使用一种新的工具来躲避检测,并且可能已经感染了很多节点。
自从我们通过AutoFocus智能威胁分析服务发现42个Locky勒索软件存在一定的变化,结合全局数据发现勒索软件家族已经被新型的工具进一步加密了。攻击者不断地寻找新的技术绕过安全机制,根据AutoFocus的数据源和威胁情报,这种技术已经被广泛应用了。
在我们的分析中,多个恶意软件样本比较特殊的采用类似混淆API调用的,来源于嵌入的术语词典中,以解决系统的功能同时隐藏自己的真实功能以躲避静态分析工具。

传入API函数奇怪的变量名称
通过关键字来处理API的调用,因此这样可以降低恶意软件的检测率。这也是比较有趣的地方,然而这只是一系列干扰研究员中的第一步。
当我们查看这些新的样本时,这些加载库的导入表很明显都是不同的,并且在执行过程中根本都没有被使用。这些可以阻止任何通过导入表哈希值进行的有意义的检测。此外,这些可执行文件的版本信息表明,每个样本的信息都是多样性的,但是这些很明显的模式可以用于以后的鉴别。
LegalCopyright Copyright \xa9 2017
InternalName Phoneticist
FileVersion 218, 158, 104, 112
CompanyName Cyber Power Systems Inc.
ProductName Nesting Punk
ProductVersion 221, 202, 46, 180
FileDescription Skittles
LegalCopyright Copyright \xa9 2015
InternalName Grated
FileVersion 82, 233, 256, 103
CompanyName SafeNet Inc.
ProductName Geomagnetic Espadrilles
ProductVersion 176, 194, 91, 229
FileDescription Connectivity
在每个恶意软件的样本中我们发现都嵌入了不同的字符串,一些使用了一些未使用。

(用词列表)
仔细分析之后发现,作者使用大量的术语产生一些混淆的无意义的指令来试图让分析工作变得更加困难。下面图片中红色标注的地方是样本开始真正解压并通过PEB结构来定位Kernel32.dll基址。

(PEB开始处)
每次运行时,将一个Dword数据和0x958B9963进行异或之后判断是否为要找的Kernel32.dll。

(上图找到目标DLL之后保存至寄存器中)
现在有了Kernel32.dll的基址了,然后开始枚举函数,在执行过程中,不断的改变栈中的变量,来更深层次的达到误导的效果。

(函数迭代)

(找到目标)
一旦在kernel32.dll中找到VirtualAlloc函数,就开始在栈中安置一些变量来进一步达到隐藏和混淆的效果。在下图中,一旦栈布置好后,直接JMP至VirtualAlloc函数处,产生一个返回地址,这个地址最终存放解密数据。

(跳转至VirtualAlloc分配解密后数据的内存)

(解密数据值分配的空间)
一旦这个过程结束,恶意软件开始执行新解密的数据,并且还会通过迭代继续混淆自身。

(运行时自修正代码)
还是回到刚开始的一些不规则的传入API函数的参数,这个第一线索开始改变。在这个阶段,你可以按照自修改直到下一个横线处。

(代码继续跳转至新的偏移地址,修改随后的指令)

(JMP后的JMP,有一个隐藏很深的指令)
这个最终会导致调用LoadLibraryA伪造的名字从而不会被映射,而这样的话最终会调用错误从而返回NULL,效果就是服务没有响应但是达到混淆的地步。

一旦这些完成,开始分配其他的内存单元,然后开始拷贝并解密真正的恶意软件,和上面的过程相似。

(最后解压的Payload)
当我们提取这个Payload时,可以证实这个就是真正的Locky并且可以被检测到。

Palo Alto已经证实了这种应用在Locky中的技术,但是我们同样在TeslaCrypt 和 Andromeda 恶意软件中检测到,时间追溯到2016.3.14。需要重点提及的是这种技术可以被动态分析检测出来,这种和WildFire的静态分析结合的技术可以保护Palo Alto网络用户免于威胁。
勒索软件Locky、Tesalcrypt等使用了新的工具躲避检测的更多相关文章
- 【翻译】旧技术成就新勒索软件,Petya添加蠕虫特性
原文链接:https://blogs.technet.microsoft.com/mmpc/2017/06/27/new-ransomware-old-techniques-petya-adds-wo ...
- 不修改加密文件名的勒索软件TeslaCrypt 4.0
不修改加密文件名的勒索软件TeslaCrypt 4.0 安天安全研究与应急处理中心(Antiy CERT)近期发现勒索软件TeslaCrypt的最新变种TeslaCrypt 4.0,它具有多种特性,例 ...
- 发送垃圾邮件的僵尸网络——药物(多)、赌博、股票债券等广告+钓鱼邮件、恶意下载链接、勒索软件+推广加密货币、垃圾股票、色情网站(带宏的office文件、pdf等附件)
卡巴斯基实验室<2017年Q2垃圾邮件与网络钓鱼分析报告> 米雪儿 2017-09-07 from:http://www.freebuf.com/articles/network/1465 ...
- ocky勒索软件恶意样本分析1
locky勒索软件恶意样本分析1 1 locky勒索软件构成概述 前些时期爆发的Locky勒索软件病毒这边也拿到了一个样本,简要做如下分析.样本主要包含三个程序: A xx.js文件:Jscript脚 ...
- ocky勒索软件恶意样本分析2
locky勒索软件恶意样本分析2 阿尔法实验室陈峰峰.胡进 前言 随着安全知识的普及,公民安全意识普遍提高了,恶意代码传播已经不局限于exe程序了,Locky敲诈者病毒就是其中之一,Locky敲诈者使 ...
- android86 监听SD卡状态,勒索软件,监听应用的安装、卸载、更新,无序广播有序广播
* 添加权限 <uses-permission android:name="android.permission.RECEIVE_SMS"/> * 4.0以后广播接收者 ...
- Android勒索软件研究报告
Android勒索软件研究报告 Author:360移动安全团队 0x00 摘要 手机勒索软件是一种通过锁住用户移动设备,使用户无法正常使用设备,并以此胁迫用户支付解锁费用的恶意软件.其表现为手机触摸 ...
- 360安全中心:WannaCry勒索软件威胁形势分析
猫宁!!! 参考链接:http://zt.360.cn/1101061855.php?dtid=1101062360&did=210646167 这不是全文,而是重点摘要部分. 2017年5月 ...
- 网络安全意识有多重要?SamSam勒索软件敲诈了近600万美元
近年来,对于网络犯罪分子来说,勒索软件已成为数百万美元的黑市业务,SamSam就是一个很好的例子. 中国信息安全新研究显示,自2015年12月以来,SamSam勒索软件从受害者手中敲诈了近600万美元 ...
随机推荐
- 猎豹CEO傅盛:95%的人碌碌无为,只是不懂这一点!
我一直在思索,怎么才能让一家公司更快地成长?一个人怎么才能从一群人的竞争当中脱颖而出? 1. 人的四种认知状态 最近我看了一幅图,我在其上加了一个数字注脚. 这是一个人认知的四种状态——“不知道自 ...
- Linux内核分析第三周总结
构造一个简单的Linux系统MenuOS 操作系统的"两把宝剑":中断上下文的切换(保存现场和恢复现场).进程上下文的切换 Linux内核源代码简介 --------------- ...
- C++:钻石继承与虚继承
QUESTION:什么是钻石继承? ANSWER:假设我们已经有了两个类Father1和Father2,他们都是类GrandFather的子类.现在又有一个新类Son,这个新类通过多继承机制对类Fat ...
- PAT 甲级 1068 Find More Coins
https://pintia.cn/problem-sets/994805342720868352/problems/994805402305150976 Eva loves to collect c ...
- Linux命令(二十) 显示系统内存状态 free
一.命令简介 free 命令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存.共享内存区段,以及系统核心使用的缓冲区等. 二.参数说明 -b 以Byte为单位显示内存使用情况 -K 以KB为单位 ...
- Windows 创建计划任务 实现自动同步文件.
0 感觉自己还是缺乏让计算机去工作的思维, 缺少编程和算法的想法与实践做法. 0x1 打开计划任务 方法: 运行-> 输入 control -> 大图标->管理工具 打开任务计划程序 ...
- JDK & Eclipse & SVN
JDK & Eclipse & SVN Mac 开机密码 commit SVN for MacOS Java SE 11.0.2(LTS) https://www.oracle.com ...
- Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 3. 循环
在前面的教程中,咪博士留了一道练习题给大家—-画正方形,相信聪明的你应该已经画出来了. 下面是咪博士实现的代码. 是不是跟你的代码很像呢? import turtle turtle.forward(2 ...
- 【BZOJ3139】[HNOI2013]比赛(搜索)
[BZOJ3139][HNOI2013]比赛(搜索) 题面 BZOJ 洛谷 题解 双倍经验
- 【转】如何应用Query语句进行规则的语法设置?
在Altium Designer中, 设计规则通常用来定义用户的设计需求. 这些规则涵盖了设计的方方面面, 从布线宽度, 对象的安全间距,内电层的连接风格, 过孔风格等等. 设计规则不仅能在PCB设计 ...