病毒概述
样本为脚本文件,从服务器上下载真正的病毒文件并遍历全盘,对特定格式文件进行加密操作,释放勒索信息。
真正的勒索样本与Locky勒索病毒为同源样本,勒索信息及相关手法十分相似。
病毒通信
病毒相关的域名和IP:
域名 | 绑定IP | 地理位置 | 解析量 | 注册时间 | 类型 |
hrlpk.com/dd0qtr3g | 203.124.43.226:80 | 巴基斯坦 | |||
totalsportnetwork.com/7k33omiu | 192.186.209.5 | 美国 | |||
77.222.54.202 | 俄罗斯 | CC服务器 |
病毒特点:
- 脚本文件代码通过字符串拼接方式实现
- 从服务器端下载真正的病毒文件,并带参数运行
- 通过微软加密函数库对文件进行加密,公钥从服务器端下载
病毒执行细节
profile-460..wsf文件
脚本语言编写,主体函数是通过字符串拼接起来的
在最后通过字符串连接 和函数调用 将c解密 并通过eval(c)的方式运行
在c运行时 通过字符串解密 调用open函数 循环从两个链接中下载文件
解密出来的两个链接为:
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文件