【技术分享】安装“万能解码器”还原真实“解码”

阅读量157577

|

发布时间 : 2017-03-03 11:02:20

http://p5.qhimg.com/t010a91021934469005.png

作者:吃荤的驴子

预估稿费:300RMB(不服你也来投稿啊!)

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

0x01 前言

最近新出一部很火的电视剧,每天晚上更新两集,看完之后总觉得不过瘾,就去网上找后面的视频,还真被笔者找到。毫不犹豫点击播放,发现提示需要安装某某解码器。对于这类提示一点都不新鲜,尝试下载并运行解码器后,往往并没有达到预期效果,还会再次提醒下载,并没有网站上描述的那么管用。笔者很好奇既然没用,那运行的软件具体功能是什么。笔者便下载了一个“解码器”,果真不出所料,没有任何解码的功能,但是一个流氓推广软件。表面上看不出问题,只在后台搞鬼,笔者便花了点心思详细看了下该软件的实现,发现该软件作者在免杀和隐藏上下足了功夫。虽然功能老套但是思路不错,下面就请跟随笔者一起来看看这个所谓的“万能解码器”,还原真实“解码”。

0x02 技术特点

下载之后,没有图标,运行没有任何界面,并且多次运行效果相同。最后通过详细分析,总结该程序有如下特点:

1. 程序对重要字符串进行了加密处理,且有多个加密算法。

2. 释放的功能模块文件在本地经过RC算法加密,非正常的PE文件。

3. 无主进程运行,核心模块为内核驱动,找不到可疑进程。

4. 敏感操作放置在shellcode中,并进行加密,防止被第一时间杀掉。

5. 使用了内核技术,内核HOOK,设备HOOK。

6. 双驱动相互保护隐藏,并且通用32位和64位系统平台。

从对抗手法来看,该程序开发者无论在静态还是动态对抗上面都花了大量功夫,以达到免杀和隐藏行为的效果。

0x03程序具体分析

下图是该程序的签名信息,从表面上看没有任何问题。

http://p1.qhimg.com/t011e2c56c239c6ebfa.png

1、加载器功能

该程序实际上是一个加载器,第一次运行后,后期都不再依靠该加载器运行。加载器通用于32位 和64位多个操作系统平台,根据不同系统平台释放不同文件。数据解密之后释放到系统目录下(PassProtect.sys和2.dat)。

http://p0.qhimg.com/t01e747af6ee704919c.png

解密shellcode并运行代码。

http://p8.qhimg.com/t0142a16c6ce5c22630.png

Shellcode中加载“PassProtect.sys”驱动文件,驱动加载状态为自动启动(开机自动加载)。

http://p9.qhimg.com/t014da1bafe94297403.png

2. “PassProtect.sys”功能

首先清理“ntfs”和“fastfat”内核的所有设备,阻止自身被外部访问,执行完操作后会对其还原。

http://p7.qhimg.com/t01fe39e78b76a84608.png

对“2.dat”文件解密,使用RC算法,解密和加密是同一个函数,解密后回写到文件。

http://p5.qhimg.com/t017fc247c00b659ff3.png

通过内核函数ZwSetSystemInfomation加载“2.dat”驱动。

http://p4.qhimg.com/t01c6ae5deae5db8cf4.png

驱动加载之后再次通过RC加密回写数据“2.dat”,并还原“ntfs”和“fastfat”的设备栈,隐藏第二个驱动代码。

3. “2.dat”功能

通过设置线程创建回调,并主动触发回调来找到“ExCallBackBlockRoutineProc”函数地址。

http://p9.qhimg.com/t0148fca4367282bcfe.png

http://p0.qhimg.com/t0137147cd55fe47855.png

挂钩“ExCallBackBlockRoutineProc”函数,通过过滤系统模块和自身模块,把其余所有模块的回调函数修改入口直接返回,达到反进程创建监视的作用。

https://p4.ssl.qhimg.com/t018f645ad31d07861a.png

http://p1.qhimg.com/t01f0d529029c41fb7c.png

设置模块加载回调和进程创建回调。

http://p2.qhimg.com/t0196b215782e9a9629.png

通过检查加载的模块是否是”kernel32.dll”判断创建进程,并且修改浏览器进程的命令行参数。

http://p0.qhimg.com/t01b85e5c7ec5a728c6.png

检查父进程为“explorer.exe”(用户打开运行),并且添加事件修改命令行参数。

http://p4.qhimg.com/t0160fdfff2c0fdbca9.png

修改进程命令行参数,改变浏览器主页。

http://p9.qhimg.com/t0153c48ca42b5713dc.png

创建系统线程,挂钩NTfs的create回调。

http://p9.qhimg.com/t014af449ad125256fa.png

http://p0.qhimg.com/t0164c2138a5d07cd0c.png

在Create回调中,保护第一个驱动文件“PassProtect.sys”不被任何程序访问。

http://p7.qhimg.com/t0174ad6d0ef14d68e9.png

 

0x04 总结

从上面分析看出,程序开发者通过各种技术手段,费劲心思,最终达到锁主页的目的。随着目前各大杀软对流氓推广软件的封杀,常规的推广手法已不在适用,升级后的对抗已经不在简单的修改注册表。更为猥琐和流氓的推广方式纷纷出现,各显神通,一不留神便被乘虚而入。当用户放行这个程序,流氓推广已经势不可挡,直捣黄龙。假如作者狠一点,后果将是不可不堪设想。所以笔者在这里提醒各位读者,对这类所谓解码器最好从正规网站下载。由于程序经过免杀处理,能够查杀的杀毒软件并不多(见下图VT扫描结果)。如果系统中曾经运行过该类解码器或播放器,可以安装下列可查杀的杀毒软件进行查杀。最后祝愿各位免受“流氓”困扰,金龙索玉柱,百毒不沾身。

http://p9.qhimg.com/t01da0ddab853e29c46.png

本文由吃荤的驴子原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/85603

安全客 - 有思想的安全新媒体

分享到:微信
+10赞
收藏
吃荤的驴子
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66