locky勒索病毒分析报告

 

病毒概述

样本为脚本文件,从服务器上下载真正的病毒文件并遍历全盘,对特定格式文件进行加密操作,释放勒索信息。

真正的勒索样本与Locky勒索病毒为同源样本,勒索信息及相关手法十分相似。

病毒通信

病毒相关的域名和IP:

域名 绑定IP 地理位置 解析量 注册时间 类型
hrlpk.com/dd0qtr3g 203.124.43.226:80 巴基斯坦
totalsportnetwork.com/7k33omiu 192.186.209.5 美国
77.222.54.202 俄罗斯 CC服务器

病毒特点:

  1. 脚本文件代码通过字符串拼接方式实现
  2. 从服务器端下载真正的病毒文件,并带参数运行
  3. 通过微软加密函数库对文件进行加密,公钥从服务器端下载

病毒执行细节

profile-460..wsf文件

脚本语言编写,主体函数是通过字符串拼接起来的

在最后通过字符串连接 和函数调用 将c解密 并通过eval(c)的方式运行

在c运行时 通过字符串解密 调用open函数 循环从两个链接中下载文件

解密出来的两个链接为:

GET http://hrlpk.com/dd0qtr3g

GET http://totalsportnetwork.com/7k33omiu

将文件以XQwWWyHlWw作为文件名,下载到C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp目录(临时文件)下

在下面两个函数中,将下载下来的XQwWWyHlWw读入流中

在下面两个函数中对流中数据进行解密

该函数中具体解密算法如下

遍历每个字节,如果小于128(0x80),则数据不变,如果大于0x80,则去数组中寻找对应的数据替换

然后继续用下面函数进行解密


该函数与上个函数基本相同,对流中每个字节进行遍历,如果小于128(0x80),则数据不变,如果大于0x80,则去数组中寻找对应的数据替换

在该函数中,将流中解密后的信息保存为XQwWWyHlWw.exe

通过SaveTo函数将加密后的文件保存为C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\XQwWWyHlWw.exe

通过调用run函数 以321参数运行XQwWWyHlWw.exe文件

XQwWWyHlWw.exe

该文件有壳

外壳代码

在0x402278-0x402254 解压0x41B001之后的代码

通过这里跳到0x41B001

0x41B0EB处解压0x9D0000后面的代码

跳到新申请的空间0x9D00F1

用RtlDecompressBuffer函数将代码解密 到0xAC0000处

解密的代码是完整的PE文件

修改0x400000之后的内存属性

通过rep movs将代码从0xAC0000写到0x400000之后的空间

在0x9D0D25中跳回到0x4055DF

0x4055DF为OEP ,dump内存 壳脱掉

代码复制

将从0x400000开始的代码复制到0x8B0000

跳转到0x8B0000为基址的空间

判断系统语言

判断系统语言,如果是俄语,直接删除自身并退出,不执行加密操作

从服务器端下载信息

与77.222.54.202建立连接 并从服务器端读数据

一共读了三次数据

第一次解密之后是RSA公钥

在函数0x401D27解密出RSA公钥

第二次解密之后是图片文件的勒索信息

第三次解密是html文件的勒索信息

文件加密

利用微软的加密库加密

生成加密用的Hash口令

导入RSA加密用的公钥(刚才从服务器下载下来的)

遍历网络盘

加密操作在新线程中完成

对硬盘进行遍历

判断如果是文件夹继续递归遍历

加密的文件类型

008CA54C n.6.4…….m.4.a.

008CA58C ……m.4.u…….m.3.u…….m.i.d…….w.m.a…….f.l.v…..

008CA5CC ..3.g.2…….m.k.v…….3.g.p…….m.p.4…….m.o.v…….a.

008CA60C v.i…….a.s.f…….m.p.e.g…..v.o.b…….m.p.g…….w.m.v.

008CA64C ……f.l.a…….s.w.f…….w.a.v…….m.p.3…….q.c.o.w.2.

008CA68C ……v.d.i…….v.m.d.k…..v.m.x…….w.a.l.l.e.t…..u.p.k.

008CA6CC ……s.a.v…….r.e.4…….l.t.x…….l.i.t.e.s.q.l…….l.

008CA70C i.t.e.m.o.d…….l.b.f…….i.w.i…….f.o.r.g.e…….d.a.s.

008CA74C ……d.3.d.b.s.p…..b.s.a…….b.i.k…….a.s.s.e.t…….a.

008CA78C p.k…….g.p.g…….a.e.s…….A.R.C…….P.A.Q…….t.a.r.

008CA7CC ..b.z.2…….t.b.k…….b.a.k…….t.a.r…….t.g.z…….g.

008CA80C z…..7.z…..r.a.r…….z.i.p…….d.j.v…….d.j.v.u…..s.

008CA84C v.g…….b.m.p…….p.n.g…….g.i.f…….r.a.w…….c.g.m.

008CA88C ……j.p.e.g…..j.p.g…….t.i.f…….t.i.f.f…..N.E.F…..

008CA8CC ..p.s.d…….c.m.d…….b.a.t…….s.h…..c.l.a.s.s…….j.

008CA90C a.r…….j.a.v.a…..r.b…..a.s.p…….c.s…..b.r.d…….s.

008CA94C c.h…….d.c.h…….d.i.p…….p.l…..v.b.s…….v.b…..j.

008CA98C s…..h…….a.s.m…….p.a.s…….c.p.p…….c…….p.h.p.

008CA9CC ……l.d.f…….m.d.f…….i.b.d…….M.Y.I…….M.Y.D…..

008CAA0C ..f.r.m…….o.d.b…….d.b.f…….d.b…..m.d.b…….s.q.l.

008CAA4C ……S.Q.L.I.T.E.D.B…..S.Q.L.I.T.E.3…….0.1.1…….0.1.0.

008CAA8C ……0.0.9…….0.0.8…….0.0.7…….0.0.6…….0.0.5…..

008CAACC ..0.0.4…….0.0.3…….0.0.2…….0.0.1…….p.s.t…….o.

008CAB0C n.e.t.o.c.2…….a.s.c…….l.a.y.6…..l.a.y…….m.s.1.1. .

008CAB4C (.S.e.c.u.r.i.t.y. .c.o.p.y.)…..m.s.1.1…..s.l.d.m…..s.l.d.

008CAB8C x…..p.p.s.m…..p.p.s.x…..p.p.a.m…..d.o.c.b…..m.m.l…..

008CABCC ..s.x.m…….o.t.g…….o.d.g…….u.o.p…….p.o.t.x…..p.

008CAC0C o.t.m…..p.p.t.x…..p.p.t.m…..s.t.d…….s.x.d…….p.o.t.

008CAC4C ……p.p.s…….s.t.i…….s.x.i…….o.t.p…….o.d.p…..

008CAC8C ..w.b.2…….1.2.3…….w.k.s…….w.k.1…….x.l.t.x…..x.

008CACCC l.t.m…..x.l.s.x…..x.l.s.m…..x.l.s.b…..s.l.k…….x.l.w.

008CAD0C ……x.l.t…….x.l.m…….x.l.c…….d.i.f…….s.t.c…..

008CAD4C ..s.x.c…….o.t.s…….o.d.s…….h.w.p…….6.0.2…….d.

008CAD8C o.t.m…..d.o.t.x…..d.o.c.m…..d.o.c.x…..D.O.T…….3.d.m.

008CADCC ……m.a.x…….3.d.s…….x.m.l…….t.x.t.

打开文件

对文件进行改名

用加密函数对文件进行加密

加密时的key

自身删除

设置自身开机自动运行

复制到临时目录下

用cmd命令删除自身

释放勒索信息

通过WriteFile将从服务器下载下来的信息写到文件中(.html和.bmp)

通过注册表更改桌面壁纸

运行.html和.bmp文件

流程图

发表评论

电子邮件地址不会被公开。 必填项已用*标注