勒索软件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万美元 ...
随机推荐
- FTP地址
访问不了FTP的同学可以试试用IPv6 地址2001:da8:203:ed5:CEB2:55FF:FE8B:ED1来访问,用户名密码不变.
- 『编程题全队』Alpha 阶段冲刺博客Day6
1.每日站立式会议 1.会议照片 2.昨天已完成的工作统计 孙志威: 1.添加JSON处理模块 2.添加了团队看板中的添加团队任务功能 3.添加了团队看板中的添加按钮 孙慧君: 1.个人任务框UI的设 ...
- [转载] Activiti Tenant Id 字段释疑
TENANT_ID_ : 这个字段表示租户ID.可以应对多租户的设计. 转载自: http://www.cnblogs.com/yg_zhang/p/4201288.html http://www. ...
- sysbench的安装与简单使用
1. 下载sysbench的文件 https://codeload.github.com/akopytov/sysbench/zip/1.0.15 2. 放进linux机器以及进行解压缩 unzip ...
- Android 四大组件和Intent
一.Android有四大组件(component):Activity.Service.BroadcastReceiver.ContentProvider. 1.Activity 通过startActi ...
- vue.js 添加 fastclick的支持 处理移动端click事件300毫秒延迟
fastclick:处理移动端click事件300毫秒延迟. 1,先执行安装fastclick的命令 npm install fastclick 2,在main.js中引入,并绑定到body. imp ...
- Jenkins之手动安装
Download and run Jenkins Download Jenkins. Open up a terminal in the download directory. Run java -j ...
- sqlserver 比较两个表的列
一.问题 给了两个各有四五十个列的表,找出他们相同的列和不同的列 二.查询两个表的列,存在临时表 --#a ,#b都是临时表,当前连接断开后自动删除--RANK() OVER (ORDER BY sy ...
- HUAS 2018暑假第一周比赛-题解
小朋友们有问题评论区 :) B. 子串计算 难度系数 : ☆ Main idea : 模拟 暴力 按照题目的要求一步一步来就行了 之所以可行的原因是从左往右扫,如果扫到一个子串,把它删除掉之后,假设当 ...
- MySQL的IFNULL解决判空问题
问题:mybatis返回的null类型数据消失,导致前端展示出错 思路:如果查询出的结果是空值,应当转换成空字符串.当然在前端也能进行判断,但要求后台实现这个功能. 解决方案: 使用如下方法查询: S ...