locky勒索样本分析
前段时间收到locky样本,分析之后遂做一个分析。
样本如下所示,一般locky勒索的先决条件是一个js的脚本,脚本经过了复杂的混淆,主要用于下载该样本文件并运行,。
解密
样本本身进行了保护,通过ida打开之后只有少量几个函数,如下图所示为样本的入口地址,代码进行了重度的混淆加密。
通过od加载样本,进入入口。
跳转至01172903处,在该函数中调用了call aWXdlbCm.011720E8处的函数,注意此处函数的压栈的参数地址为011832DC。
通过模块查询可以看到此处是一个数据段,经验告诉我们此处可能是加密之后的代码区,解密就要开始了。
更进该函数结果如下,函数整体并不复杂。
通过分析后发现,解密函数为011722CC。
该函数调用前,可以发现之前的可疑地址011832DC就是该函数的参数,其对应的反汇编代码如下内存面板所示,可以看出是明显的加密过的产物。
单步步过之后,内存面板中的数据发生了变化,由此推断我们的猜测是正确的。
跟进解密函数可以发现,整个函数很长,但实际做解密操作的地方和只有3处,如下所示,其余大部分代码都用于起混淆的作用。
如下是其中的一个解密片段,参数var_c处为解密的内存地址。
可以看到此时解密出的第一条指令。
之后通过retn跳转到解密函数处。
在该解密的函数中,首先通过getproaddress的方式动态获取了一些函数地址。
之后再次分配了一段内存空间,该段空间用于存储最终的样本解密代码。此处的地址为0016000。
经过解密之后的代码拷贝到00160000中,如下图内存面板所示。
再次通过通过retn返回到解密处执行,此次返回到之前解密处+100偏移的00160100处。
依次顺序单步多次。
最后在该处,解密完成进入eop。
详细分析
进入实际的样本代码,一开始首先获取了系统的时钟。
之后提升权限。
获取操作系统的语言,对老毛子地区不予以感染。
GetSystemDefaultLangID 取得系统默认ID对照表,主要用于判断系统语言
GetSystemDefaultLangID和GetUserDefaultLangID获取的语言,受区域语言设置中的选项影响,所以这两个函数是不能用的,GetUserDefaultUILanguage获取的是系统本身的语言
40000ms
打开配置注册表SoftWare/0Bur3Au0
之后获取系统tmp路径
将自身拷贝到tmp目录下,以svchost.exe命名。
获取域数据以及系统版本。
之后对系统的版本进行判断。
Net
之后进行请求拼接。
最后拼接字段如下。
之后对该字段进行hash。
最后通过HttpSendRequestA函数进行和服务器进行通信,获取rsa的秘钥。
在内存中还发现了其他的一些ip地址。
然后就是常见的勒索软件的行为,创建线程,遍历系统文件,对用户的文件进行加密,弹出勒索窗口。。。。。。。。
locky勒索样本分析的更多相关文章
- ocky勒索软件恶意样本分析1
locky勒索软件恶意样本分析1 1 locky勒索软件构成概述 前些时期爆发的Locky勒索软件病毒这边也拿到了一个样本,简要做如下分析.样本主要包含三个程序: A xx.js文件:Jscript脚 ...
- ocky勒索软件恶意样本分析2
locky勒索软件恶意样本分析2 阿尔法实验室陈峰峰.胡进 前言 随着安全知识的普及,公民安全意识普遍提高了,恶意代码传播已经不局限于exe程序了,Locky敲诈者病毒就是其中之一,Locky敲诈者使 ...
- MS Office CVE-2015-1641 恶意 Exploit 样本分析
MS Office CVE-2015-1641 恶意 Exploit 样本分析 在对最近的一个恶意 MS Office 文档样本进行分析时,我们发现了一些有趣的特性.这个文档利用 CVE-2015-1 ...
- 攻打医院服务器的SamSam勒索木马分析
攻打医院服务器的SamSam勒索木马分析 近日一款名为SamSam的勒索木马在国外爆发.该木马利用医院系统的服务器漏洞实施入侵,再进行加密勒索钱财.由于医院网络信息安全水平普遍薄弱,SamSam成功感 ...
- Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)
一.前言 之前一个Wannacry病毒样本在PC端肆意了很久,就是RSA加密文件,勒索钱财.不给钱就删除.但是现在移动设备如此之多,就有一些不法分子想把这个病毒扩散到移动设备了,这几天一个哥们给了一个 ...
- U-Mail反垃圾邮件网关过滤Locky勒索邮件
近期,不少朋友圈有朋友发布相关的邮件提醒,说有关于Locky病毒勒索邮件的.看来这个病毒影响不小啊!下面就说说怎么来防止Locky勒索病毒的侵扰. 什么是Locky勒索病毒 Locky勒索病毒主要以邮 ...
- Mac下门罗币矿工样本分析
背景 今天遇到一个JSONRPC的告警,怀疑挖矿木马,IOC是132.148.245.101,无其他信息,随即google一波. 查询网络 遇到了,主动下载样本分析,下载地址:http://rjj.q ...
- 使用NB Exploit Kit攻击的APT样本分析——直接看流程图,就是网页挂马,利用java和flash等漏洞来在你主机安装和运行恶意软件
使用NB Exploit Kit攻击的APT样本分析 from:https://cloud.tencent.com/developer/article/1092136 1.起因 近期,安恒工程师在某网 ...
- idapython在样本分析中的使用-字符解密
最近接手的一个样本,样本中使用了大量的xor加密,由于本身样本不全,无法运行(好吧我最稀饭的动态调试没了,样本很有意思,以后有时间做票大的分析),这个时候就只好拜托idapython大法了(当然用id ...
随机推荐
- ClassNotFoundException: org.apache.catalina.loader.DevLoader 自己摸索,丰衣足食
使用tomcat插件时遇到的问题: ClassNotFoundException: org.apache.catalina.loader.DevLoader 解决方案: 参考了许多文章,对我自己的目录 ...
- Input输入框输入银行卡号自动空格
input输入框是表格中用都最多的,像输入手机,密码,银行卡号的,很多对于输入银行卡号是没有处理的,比如这样~~ 看起来是不是一团乱麻,, 眼睛瞬间一片漆黑~ 如果是这样,会不会好很多呢~~ 其实逻 ...
- 海拔高度图*.dem文件的读取—vtkDEMReader
vtkDEMReader reads digital elevation files and creates image data. Digital elevation files are produ ...
- 1.2、Workspace中让Package分层显示
有时候我们新建两个具有两个相同目录的Package(例如:com.st.collection和com.st.map这两个Package)时,在Workspace中是以平铺的方式显示的,如: 当Pack ...
- ubuntu14.04下搭建python+mysql环境
简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...
- 使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接
使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接: 使用requests获取html后,分析html中的标签发现所需要的链接在& ...
- ubuntu系统theano和keras的安装
说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras.步骤如下: 1,安装pip sudo apt-get install ...
- Sicily 1051: 魔板(BFS+排重)
相对1150题来说,这道题的N可能超过10,所以需要进行排重,即相同状态的魔板不要重复压倒队列里,这里我用map储存操作过的状态,也可以用康托编码来储存状态,这样时间缩短为0.03秒.关于康托展开可以 ...
- Qt - QThread(翻译帮助文档)
QThread Class 详细描述 QThread 类提供一个平台无关的方法来管理线程. 一个QThread对象管理一个程序中的控制线程.QThread在run()中开始执行任务.默认地,run() ...
- css中的负边距
css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的. ...