近日,火绒安全收到用户反馈,称在安装部分主流软件安装包时,被静默安装了金山毒霸软件,对此火绒安全工程师高度重视,通过分析3DM等下载站“安全下载”通道的软件安装包时,发现金山毒霸通过3DM等多家下载站的软件安装包,部署了一套隐蔽的推广安装框架,使在用户未被充分告知的情况下,静默完成金山毒霸及相关全家桶组件的全流程安装。
该框架会先执行金山毒霸相关安装流程,包括写入金山毒霸相关注册表、注册核心服务、注册右键菜单组件、执行日志组件以及预加载软件管家等动作。同时,安装器会根据命令行中的g_cli_rs / -rs等渠道参数,继续通过软件管家推广安装对应的软件。
该框架最危险之处还在于:在安装过程中会调用一个带有金山合法签名的内核驱动,该驱动可在内核态直接执行文件复制,从而完全绕过安全软件的自保护机制,实现向系统高权限目录的静默写入,甚至能够直接向安全软件的安装目录写入任意文件,使其自保护机制完全失效。
早在2019年,火绒就曾指出,kinst.dll属于金山系通用软件推广模块,可根据云端推广配置推广安装指定软件,运行InstallEx导出函数后即可静默安装金山毒霸。(详见参考内容1)
而火绒此前也曾披露过类似推广模式:工具类安装包会通过捆绑方式传播,运行后拉取配置并执行包括静默推广安装金山毒霸、WPS、CAD看图王等软件在内的行为。(详见参考内容2)
由于该行为已完全绕过常规软件捆绑的底线,本质上具备恶意软件特征,可能会为恶意攻击者打开系统入口,对用户的系统控制权和数据隐私造成根本性威胁。目前,火绒安全产品已实现对该行为的拦截与查杀。查杀图3DM下载图下载到的安装包执行安装包会连接到:3baK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4V1x3o6l9I4i4K6u0W2N6%4N6%4i4K6u0W2k6s2g2T1j5g2)9J5k6h3&6W2N6q4)9J5c8X3c8#2j5X3q4Q4x3V1k6A6L8Y4y4@1j5h3I4D9i4K6u0r3M7r3q4U0K9$3q4Y4k6i4y4Q4x3V1k6W2N6X3g2J5i4K6u0r3K9$3q4$3M7$3g2@1N6i4m8F1L8$3W2F1M7%4c8S2L8r3I4Q4y4h3k6K6k6h3#2Q4y4h3j5J5x3o6t1#2x3e0p5I4x3q4)9J5k6h3c8S2N6q4!0q4y4q4!0n7z5q4)9^5b7W2!0q4z5q4!0n7c8q4!0n7c8r3E0V1j5W2)9#2k6Y4y4W2L8i4u0B7k6$3A6Q4x3X3g2V1L8r3I4Q4c8e0y4Q4z5o6m8Q4z5o6u0Q4c8e0N6Q4b7V1u0Q4z5p5k6Q4c8e0k6Q4b7e0y4Q4z5o6m8Q4c8e0k6Q4b7U0g2Q4z5p5u0Q4c8e0S2Q4b7f1k6Q4b7e0g2Q4c8e0k6Q4z5e0k6Q4z5o6N6Q4c8e0c8Q4b7V1u0Q4b7U0k6Q4c8e0g2Q4b7U0W2Q4b7U0k6Q4c8e0W2Q4z5f1c8Q4z5f1g2Q4c8e0g2Q4z5p5c8Q4z5e0g2Q4c8e0N6Q4z5p5u0Q4b7f1y4Q4c8e0S2Q4b7V1k6Q4z5e0m8Q4c8e0S2Q4b7e0q4Q4z5p5y4Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0k6Q4z5e0W2Q4b7f1g2Q4c8e0W2Q4z5o6m8Q4z5f1q4p5e0p5I4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0S2Q4z5o6m8Q4z5p5y4Q4c8e0k6Q4z5e0S2Q4b7f1k6Q4c8e0g2Q4z5o6N6Q4b7V1q4Q4c8e0N6Q4z5p5g2Q4b7U0m8Q4c8e0g2Q4z5f1y4Q4b7e0S2Q4c8e0W2Q4z5o6N6Q4z5e0q4Q4c8e0g2Q4b7U0q4Q4b7U0q4Q4c8e0k6Q4b7f1k6Q4z5e0u0Q4c8e0W2Q4z5f1y4Q4b7U0S2Q4x3V1j5`. kantivirus / KIS推广安装链中的packet DLL/ 安装执行组件。结合样本行为、公开情报和本地安装包配置来看,kdb_semrjgj.dll通常由不同下载站外壳、伪装安装器或推广安装器释放到临时目录,并通过命令行参数或安装配置进入后续金山安装流程。流程图
一、下载站“安全下载”安装包行为:1.下载金山捆绑组件通过3DM等下载站点击“安全下载”后,下载到的安装包运行时会连接到以下地址:http://cd001.ba9N6%4N6%4i4K6u0W2k6s2g2T1j5g2)9J5k6h3&6W2N6q4)9J5c8X3c8#2j5X3q4Q4x3V1k6A6L8Y4y4@1j5h3I4D9i4K6u0r3M7r3q4U0K9$3q4Y4i4K6u0T1i4K6u0W2i4K6u0W2i4K6u0W2i4K6u0T1L8r3I4Q4y4h3k6K6k6h3#2Q4y4h3j5J5x3o6t1#2x3e0p5I4x3q4)9J5k6h3c8S2N6l9`.`.随后下载 kdb_semrjgj.dll
2.下载到的kdb_semrjgj.dll通过下载得到文件是UPX加壳的金山毒霸签名白文件。
3.加载金山捆绑下载组件加载Kdb_semrjgj.dll调用对应导出函数InstallEx参数为-tid1:10 -tid2:206 -rs:60003603 -tod1:20 -tod2:402046 -bdvid:auqARj其中 g_cli_rs / -rs 推广来源、资源包或渠道配置标识。不同外壳安装器携带不同参数后,可驱动同一套金山安装框架下载、释放或安装不同组件,形成“一个安装框架+多种推广入口+不同渠道参数”的捆绑安装模式。
执行完成后删除kdb_semrjgj.dll下载组件。
二、捆绑下载组件kdb_semrjgj.dll分析:1. kdb_semrjgj.dll 内部解包逻辑自身文件完整映射到内存后面在内存读取overlay。
从当前文件读取对应的数据:通过 PE->TimeDateStamp做为偏移得到overlay包结构:
定位到包:
包结构:struct ZzdPacketTable {
char magic[4]; // "zzd."
uint16_t count; // 包数量 = 2
struct ZzdEntry {
uint32_t size; // payload 大小
uint32_t crc32; // CRC32 校验值
uint8_t payload[]; // 7z 压缩数据
} entries[];
读取代码:从PE头的TimeDateStamp字段取出一个自定义偏移,用它定位EXE Overlay中的zzd. 数据包头;找到后把偏移推进到z
...(已截断)
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-291392.htm
[原创]毒霸静默安装升级:内核驱动绕过安全防护
440 浏览
0 回复
暂无回复,快来抢沙发吧!