• 安装“万能解码器”还原真实“解码”(纯以个人兴趣分析)


    0×01前言

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

    14882874809276.png!small

    0×02技术特点

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

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

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

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

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

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

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

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

    0×03程序具体分析

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

    14882874934082.png!small

    1、加载器功能

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

    14882875518465.png!small

    解密shellcode并运行代码。

    14882875577126.png!small

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

    14882875689402.png!small

    2. “PassProtect.sys”功能

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

    14882875835819.png!small

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

    14882875953130.png!small

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

    1488287640634.png!small

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

    3. “2.dat”功能

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

    14882876461554.png!small

    14882876588960.png!small

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

    14882876709821.png!small

    1488287685767.png!small

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

    14882876995116.png!small

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

    14882877147597.png!small

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

    1488287729994.png!small

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

    14882877365604.png!small

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

    14882877489047.png!small

    14882877854908.png!small

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

    14882878041214.png!small

    0×04总结

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

    14882878188646.png!small

  • 相关阅读:
    在Ubuntu上安装Mono
    CSS 外边距(margin)重叠及防止方法
    如何通过 iframe 共享 jQuery $.data?
    给ajax表单提交数据前面加上实体名称
    发布web应用程序是出现unsafe code
    ASP.NET MVC 基于页面的权限管理
    jquery旋转图片
    artTemplate子模板include
    JS调试必备的5个debug技巧_javascript技巧
    jQuery中position()与offset()区别
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/6508752.html
Copyright © 2020-2023  润新知