勒索软件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万美元 ...
随机推荐
- Python爬虫爬中文却显示Unicode,怎样显示中文--问题解答
首先爬取古诗网站时,显示 原因是因为输出为列表[] 如果写一个循环,输出其中每个元素就为中文了...
- yum 安装mongodb mysql
// 云环境下更新包 (center os)yum update (多更有益) 修改yum包管理配置:vi /etc/yum.repos.d/mongodb-org-3.4.repo // 会自动新建 ...
- ElasticSearch 2 (27) - 信息聚合系列之故事开始
ElasticSearch 2 (27) - 信息聚合系列之故事开始 摘要 到目前为止,本书都在着重介绍搜索.对于搜索,我们有查询条件以及与查找到与条件匹配的集合.这个过程就和如大海捞针一样. 对于聚 ...
- ELK Stack (1) —— ELK + Redis安装
ELK Stack (1) -- ELK + Redis安装 摘要 安装Elasticsearch.Logstash.Kibana与Redis以实现一个日志收集平台 版本 elasticsearch版 ...
- css样式之垂直居中
1.div的水平居中 margin:0 auto 2.table-cell实现垂直居中 样式:.box{ width: 200px; height: 200px; background: red; } ...
- Redis常见面题
介绍:Redis 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的 API的非关系型数据库. 传统数据 ...
- Python3《机器学习实战》学习笔记(一):k-近邻算法(史诗级干货长文)
https://blog.csdn.net/c406495762/article/details/75172850
- 【bzoj3881】[Coci2015]Divljak AC自动机+树链的并+DFS序+树状数组
题目描述 Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的. 接下来会发生q个操作,操作有两种形式: “1 P”,Bob往自己的集合里添加了一个字符串P. ...
- ANSI C 常见宏的使用
1. __VA_ARGS__: ... 表示可变参数列表,__VA_ARGS__在预处理中会被可变参数列表替代 2. __FILE__:正在编译文件的文件路径 3. __LINE__:正在编译文件的 ...
- MT【112】单变量化
评:降维,单变量是我们不懈的追求