吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11813|回复: 308
上一主题 下一主题
收起左侧

[PC样本分析] 搜狗输入法云控下发模块,“暗中”篡改浏览器配置

     关闭 [复制链接]
跳转到指定楼层
楼主
火绒安全实验室 发表于 2025-9-20 10:12 回帖奖励
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 火绒安全实验室 于 2025-9-20 23:57 编辑

火绒威胁情报中心近期监测到一款专门锁定浏览器主页的应用正加速蔓延。经溯源,该源头指向搜狗输入法。据悉,搜狗输入法通过 Shiply 终端基础发布通用模块,向云端请求控制配置。
在下发这些云控配置中,会结合用户画像:例如所在地区、时间等诸多维度进行精准推送。由于 Shiply 平台本身具备灰度发布能力,据此推测,攻击者很可能先通过小范围灰度测试验证效果,再进行大规模传播。
其推广模块会首先检测用户设备上的杀毒软件,随后通过篡改配置文件的方式,强制修改 Edge 与 Chrome 两款主流浏览器的主页及默认搜索引擎设置。目前,火绒安全产品可对上述推广模块进行拦截与查杀。





查杀图






流程图








1、样本分析

本文提及的搜狗输入法版本为 15.7.0.2192。





1.1、云控配置获取与推广模块下载

配置拉取源头:搜狗输入法将会借助 SGBizLauncher.exe 程序附加参数 -lappid=configupdate 进行拉取云控配置,该SGBizLauncher.exe 程序会被输入法组件 SogouPY.ime 执行,执行间隔为六个小时一次。此输入法组件为 DLL 文件,将会通过用户切换至搜狗输入法时被加载。





六个小时间隔配置拉取



设置 Shiply SDK 参数: 在SGBizLauncher.exe 程序中,将通过 Shiply SDK 拉取配置。在此之前,需设置 APPID、APPKEY、BundleID、应用版本等参数,测试发现其中 APPID 与 APPKEY 为关键参数,其将会决定拉取的配置。




设置 APPID、APPKEY 等参数







Shiply 发布平台设置云控配置:搜狗输入法会借助 Shiply 发布平台设置云控配置,此发布平台可以通过规定时间、地区、应用版本号等条件来进行精准下发云控配置,且具备灰度发布等放量策略,可先进行小范围测试。对此次事件进行评估,亦是由于灰度发布或精准下发所致,故而未涉及更多用户。




Shiply 平台中测试设置云控下发条件



平台云控配置与本地拉取后数据库对应关系:下图 Shiply 平台所创建的云控配置,其中创建 smart_task_config_1 与 beacon_main_switch_1 配置键和相对应的配置值,在本地获取上述云控配置时,Shiply SDK 会将这些配置存储于指定的数据库文件中。该数据库具体路径为: C:\ProgramData\SogouInput\SGBizConfig\{APPID_SYSTEMID___}.db,此数据库为 SQLite 数据库。




Shiply 平台测试云控配置与本地拉取后数据库对应关系


上图为分析测试场景下的云控配置与本地数据库对应关系图,下图为搜狗输入法真实用户场景下的云控配置对应的数据库图,其中 smart_task_config_1 所对应的 JSON 数据内包含推广模块下载地址。




搜狗输入法真实下发的云控配置对应的数据库图


随后从云控配置(JSON 数据)中提取数据后,将数据存储至注册表 SOFTWARE\SogouInput.store.user\search_suggestion 项中的 smart_task_config 和 smart_task_supports 键。其中,前者为提取的配置,后者为经加密处理的 allowed_p 字段,此字段代表允许的进程,即执行该任务的进程必须与 allowed_p 字段的值相符。


取出数据并将数据存储至注册表




任务云控配置




此时搜狗输入法 IME 组件被加载至 explorer.exe 进程时,将会调用 ImeInquire 函数,随后便开始检查是否开启搜索候选与搜索推荐。若二者之中有一项处于开启状态,便会进入解析云控配置的逻辑流程。从中能够看出,相关按钮是针对搜索候选和推荐的,不应与修改浏览器主页存在关联。




云控任务执行相关开关



搜狗输入法将读取 search_suggestion 注册表中 smart_task_supports 的值,以获取支持的进程名列表,并与当前进程名进行比对。若匹配则会继续运行进程。



匹配指定进程名列表为了防止多次运行,它会创建互斥体 Local\\smart_task_dispatch_{被加密的进程名}



创建互斥体



进入任务前判断阶段:

1. 首先,读取 HKEY_CURRENT_USER\SOFTWARE\SystemTask 项中的 task__{allowed_p} 键。若该键存在,则读取其中的 let_{上次任务执行时间} 和 remain_{剩余任务执行次数},以供后续检测使用。

2. 检查当前时间段是否在 allowed_t(允许执行任务时间段)内,根据云控配置(0-28800;43200-50400;75600-86400)所示,时间段分别为21:00-次日8:00、12:00-14:00,估测是规避工作时间,避免被技术人员复现该现象。

3. 借助 GetLastInputInfo 函数检测用户无操作时间是否超过 no_active_s(无操作时间)的情况。

4. 时间为随机数并除以 100 来获取余数,来判断该余数是否> probalility(概率)。

5. 检测剩余执行任务次数是否>0。

6. 检测当前时间与上次任务执行时间的间隔是否> during_s(任务执行间隔)。

7. 最后将任务信息保存至注册表,并开始执行任务。




任务前判断阶段



任务信息保存至注册表:首先会将云端配置中的七个关键参数以下划线的方式连接:task_body_md5、version、durings_s、cycle_c_s、count、probalility、no_active_s,对它们进行MD5 哈希计算,得出 MD5 值。随后再将 allowed_pMD5 值、let_{当前时间}、during_{durings}、remain_{剩余任务执行次数}(该值每次任务执行时都减 1)通过分号连接,并将该字符串写入至注册表 HKEY_CURRENT_USER\SOFTWARE\SystemTask 项 task__{allowed_p} 键中。




任务信息保存至注册表





下载推广模块:任务开始后首先解密 task_body64 字段值(该解密算法采用的是 AES 算法并搭配非标准密钥流),获取到下载链接https://ime.gtimg.com/pc/brspgchange20250811x64_a.dat 并开始下载,下载完毕后,运用 MD5 算法计算所得 MD5 值,并与 task_body_md5 进行比对,以确认二者是否一致。



下载并计算 MD5





解密推广模块:下载到的 brspgchange20250811x64_a.dat 文件经过加密处理,其解密需运用云控配置中的 key(98c0b113a40fe1790d9e116d75dcfcff) 与字符串 "secret" 异或出新的 key,随后以该新的 key 为密钥, AES 算法 CBC 模式进行解密。







异或出新的密钥再采用 AES 算法解密



试图下载新的推广模块:因下载链接有一定的规律,尝试将日期改成 9 月 10 日(即brspgchange20250910),发现可以下载并且密钥与上次云控配置中的密钥一致,推测此推广模式将会长期持续,新的推广模块将会在下文《推广模块分析》中介绍。加载推广模块并调用入口点和 cgbp 导出函数:随后,将解密后的推广模块以手动加载的方式载入内存。在完成检查 PE 头、进行 Section 映射、开展重定位处理、修复导入表以及修改 Section 权限等操作之后,会调用模块入口点以进行初始化。之后,通过遍历导出函数的方式获取 cgbp 导出函数地址,并调用该函数,由此进入推广模块的主要逻辑。




手动加载并调用入口点



遍历导出函数并执行
cgbp 函数



1.2、推广模块分析

检测并规避杀毒软件:借助函数OpenMutexW 与 Process32NextW 检测本计算机中是否存在360或火绒的互斥体、进程名,若不存在则继续推广。


检测互斥体与进程名




检测相应浏览器是否存在:以 Chrome 浏览器为例,将依次检测多个路径下的主程序 chrome.exe 是否存在,检测配置文件 Secure Preferences 和 Preferences 是否存在注册表中是否有 Google Chrome 等方式。检测相应进程是否存在: Chrome 浏览器为例,检测 chrome.exe 进程是否存在,仅当该进程不存在时才会进行修改操作。这是由于在 chrome.exe 处于开启状态时对配置文件进行修改,修改内容不会被保存。原因在于,关闭 chrome.exe 进程时,系统会将配置数据重新写入配置文件,进而导致配置被重置。 修改默认搜索引擎:通过写入 Preferences 与 Secure Preferences 配置文件的方式将 template_url_data 中 url 设置为 https://baidu.wenxin9.com/?word={searchTerms}&type=0002&ie={inputEncoding}。之后用户再次搜索内容时先跳转到 https://baidu.wenxin9.com/?word=搜索内容&type=0002&ie=UTF-8,最终跳转至 www.baidu.com/s?tn=75144485_10_dg这类带有来源标识的链接并从中获利。





检测与修改配置



修改的内容




修改后表现



macs和super_mac 配置项的修改原因与逻辑:mac值是为验证时所用,一旦配置的mac 值与写入的 mac值不一致,则会重置配置文件。1. 计算 Unicode 编码的安全标识符(SID)的 SHA1 哈希值,取名为 SID_SHA12. 利用 GetSystemDirectoryW 函数,获取系统路径并传递参数于 GetVolumeInformationW 函数中,获取卷序列号(VolumeSerialNumber),取名为 VOL_ID。3. 计算 SID_SHA1 + VOLID 的 CRC8校验码,以 {SID_SHA1}{VOL_ID}{CRC8} 的形式组合成 19字节的机器码,取名为 MACHINE_ID。4. 以 {MACHINE_ID}{字段路径}{字段值} 的形式组合并计算其 HMAC-SHA256 哈希值,使用的密钥为 e748f336d85ea5f9dcdf25d8f347a65b4cdf667600f02df6724a2af18a212d26b788a25086910cf3a90313696871f3dc05823730c91df8ba5c4fd9c884b505a8,该密钥为固定值。5. 最终计算出来的哈希值就是 macs 中的多个字段或 super_mac 字段的值。



哈希值计算动态调试截图和源码


新版推广模块功能区别:旧版本推广模块仅具备修改默认搜索引擎这一功能。通过静态分析可知,虽存在修改主页的代码,但并未调用。与之不同的是,新版本推广模块会调用修改主页的函数。此时,若打开 Chrome 浏览器,将会跳转至 page.wenxin9.com,随后再跳转至导航页。在导航页内点击百度链接,链接均带有来源标识参数。






新版推广模块多出来的功能




跳转至导航页页面





1.3、其他推广

搜狗输入法还有其他很多推广手段,这里只提及较打扰使用体验的桌面右下角弹窗。



弹窗推广

弹窗初期:搜狗输入法的弹窗是系统弹窗,该弹窗是通过搜狗输入法组件 biz_helper.exe 程序传递参数type=systoast 启动以试图弹窗。弹窗初期可以通过点击弹窗中的“…”选择《关闭搜狗输入法的所有通知》或《转到通知设置》进入系统通知设置中关闭搜狗输入法弹窗通知,从而关闭弹窗。弹窗设置变灰或消失:但用户反馈该方法只能满足初期的诉求,一段时间后发现弹窗中“…”后两个按钮都变成灰色,导致进入系统通知设置,也无法关闭搜狗输入法相关选项。



隐藏通知设置中搜狗输入法项




隐藏原理:通过设置搜狗输入法注册表HKEY_CLASSES_ROOT\AppUserModelId\Sogou.Ime.SysToast.Biz 项中 ShowInSettings 键值为 0 的方式,达成按钮呈灰色不可点击且在通知设置中不显示的效果。


网上用户吐槽时的拍照与截图
弹窗开关:至此可以统计出避免弹窗的方法总共有以下三种。1. 全局通知开关:Windows系统自带设置中全局通知开关,将开关数据存储于注册表HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications 项 ToastEnabled 键值中。2. 局部搜狗输入法通知开关:系统自带设置中局部通知开关,将开关数据存储于注册表HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sogou.Ime.SysToast.Biz 项 Enabled 键值中。3. 搜狗输入法自带开关:搜狗输入法设置中《桌面右下角推荐》选项,该选项数据将会存储于注册表 HKEY_CURRENT_USER\SOFTWARE\SogouInput.store.user 项 systoast_enable 键值中。



三种开关相关注册表键值



云控配置忽略开关:然而发现搜狗输入法会根据云控下发的配置(systoast_general_config_1)忽略全局通知开关(ignore_sglb_switch)、局部搜狗通知开关(ignore_sys_switch)、搜狗输入法设置开关(ignore_ime_switch)等,并无视用户所配置的开关,其中实测发现若关闭系统中开关,则无法弹出窗口。另外,分析时获取到的云控配置中并未包含 ignore_ime_switch 字段,意味着当前云控配置下搜狗输入法提供的弹窗开关是有效的。




云控配置忽略开关


建议:在使用过程中,若需关闭弹窗,可采用以下方法。这些方法大多源自网络上受弹窗困扰的用户。不过由于不同时期、不同用户画像等云控配置存在差异或其他因素,可能导致关闭弹窗的操作无法正常生效。1. 可关闭全局系统通知开关。若不想全局关闭,可通过将注册表值 ShowInSettings 修改为 1,以显示搜狗输入法通知选项,随后进行关闭操作。2. 若上述方法无效,可关闭设置中的《桌面右下角推荐》。若无法看到《桌面右下角推荐》,需先点击搜狗输入法的“帮助反馈”,找到“广告与搜索候选”,进入后查看关闭方法。之后,再次打开搜狗设置,点击“高级”,将页面拉至最下方,此时“桌面右下角推荐”的关闭选项才会出现。(此方案源自 B 站某用户评论)



2、附录HASH:




点评

好像这个输入法前两年就被某大厂收购了。某大厂还有安全产品呢!  发表于 2025-9-21 15:29

免费评分

参与人数 139吾爱币 +139 热心值 +126 收起 理由
三北豆酥糖 + 1 + 1 谢谢@Thanks!
宇晨 + 1 我只能说常年用的就是搜狗!天天弹窗! 直接卸载了换系统自带输入法了
ceguu149 + 1 + 1 谢谢@Thanks!
Pumpkin888666 + 1 + 1 热心回复!
FXG + 1 + 1 谢谢@Thanks!
zmdquanxun + 1 + 1 我很赞同!
jim2g + 1 我很赞同!
zckiszj + 1 + 1 热心回复!
zsxm6865 + 1 我很赞同!
xtssh87127 + 1 + 1 我很赞同!
Kandao + 1 + 1 火绒加油!
xiaodonggua2013 + 1 + 1 谢谢@Thanks!
wait_for_you + 1 我很赞同!
x1a0q1 + 1 + 1 谢谢@Thanks!
LiLing123 + 1 + 1 我很赞同!
mersky + 1 + 1 谢谢@Thanks!
杨雨 + 1 + 1 谢谢@Thanks!
YIXIN00 + 1 + 1 谢谢@Thanks!
shiqi911 + 1 谢谢@Thanks!
哈喽宝宝 + 1 + 1 我很赞同!
夏驰 + 1 + 1 谢谢@Thanks!
qingne0130 + 1 + 1 热心回复!
kyjzbiao + 1 大厂都这样了,可想而知中国的网名多悲哀
Colorcc + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xiakor + 1 + 1 热心回复!
tvrcfdfe + 1 + 1 我很赞同!
shihdhr + 1 + 1 谢谢@Thanks!
rex_the_failure + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
cnfhapp + 1 + 1 我很赞同!
fuming2023 + 1 + 1 谢谢@Thanks!
xingjing + 1 + 1 我很赞同!
zmolli775 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
qq3bot + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wwwwtw + 2 + 1 我很赞同!
Tr07 + 1 + 1 我很赞同!
风若晨曦 + 1 + 1 谢谢@Thanks!
degas8888 + 1 + 1 热心回复!
爱破解310233347 + 1 + 1 谢谢@Thanks!
yjh-2272 + 1 + 1 谢谢@Thanks!
hsgdj220 + 1 + 1 为了推小弟,要把大哥杀掉
tzxinqing + 2 + 1 搜狗被腾讯收购之后一直在作恶
wm96131421 + 1 + 1 我很赞同!
试试去爱你 + 1 + 1 大厂放毒,防不胜防。好在我有火绒!
Murinedj + 2 + 1 虽然认证过程我只看懂一半,还是很有理有据的。果然我的电脑不能没有火绒
照片依旧 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wijdp + 1 + 1 我很赞同!
wangyongdesign + 1 + 1 谢谢@Thanks!
theStyx + 1 + 1 谢谢@Thanks!
右手写放弃 + 1 + 1 谢谢@Thanks!
HK229 + 1 + 1 用心讨论,共获提升!
zhipeng521 + 1 我很赞同!
mini123 + 1 + 1 我很赞同!
守护神艾丽莎 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
petnnar185 + 1 谢谢@Thanks!
Dow + 1 + 1 用心讨论,共获提升!
Zhangjg + 1 + 1 我很赞同!
TWYX + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
alexsanda + 1 + 1 谢谢@Thanks!
WilsonHoo + 1 + 1 厉害厉害
联盟少侠 + 2 + 1 谢谢@Thanks!
dnldnl + 1 + 1 火绒牛逼!!!
Duke0910 + 1 + 1 谢谢@Thanks!
asq56747277 + 1 + 1 我很赞同!
barry里昂 + 1 + 1 我很赞同!
shudaoxian + 1 + 1 我很赞同!
hello95271 + 1 + 1 我很赞同!
helloyfang + 1 + 1 流氓软件
yunwei925 + 1 + 1 热心回复!
18637598251 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
imjustalonghxr + 1 + 1 我很赞同!
刀锋浪子 + 1 + 1 我很赞同!
宇智波灬劫 + 1 + 1 我很赞同!
不二 + 3 + 1 我很赞同!
HYLCWR + 1 + 1 用心讨论,共获提升!
DUANAYU + 2 + 1 楼主厉害,之前百度右下角弹窗按钮灰色关不掉,没想到现在看到了
xiebing_721 + 1 + 1 热心回复!
hbwr123 + 1 + 1 热心回复!
wenbo998 + 1 + 1 谢谢@Thanks!
YouCG + 1 + 1 谢谢@Thanks!
吹得天花乱坠 + 1 + 1 我很赞同!
xljh888 + 1 + 1 谢谢@Thanks!
enjoylifenow + 1 + 1 我很赞同!
loulansd + 1 + 1 我很赞同!
破解小鲜肉 + 1 + 1 我很赞同!
kofiking + 1 用心讨论,共获提升!
366221265 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
www52pojiee + 1 鼓励转贴优秀软件安全工具和文档!
buzaizb + 1 + 1 热心回复!
好风 + 1 + 1 我很赞同!
ssq + 1 + 1 谢谢@Thanks!
熊猫 + 1 官版搜狗现在真心无法使用,各种流氓
丿超超 + 2 + 1 已经卸载了,各种捆绑+广告
longwuling + 1 谢谢@Thanks!
635144044 + 1 + 1 用心讨论,共获提升!
winkwink + 1 + 1 谢谢@Thanks!
daysun + 1 谢谢@Thanks!
nb08611033 + 1 + 1 谢谢 @Thanks!
vicomtry + 1 + 1 谢谢@Thanks!
chshxp + 1 + 1 我很赞同!
SjZj + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
推荐
shudaoxian 发表于 2025-9-20 12:07
提示: 作者被禁止或删除 内容自动屏蔽
推荐
冰蚌 发表于 2025-9-20 10:28
推荐
goblack 发表于 2025-9-21 18:47
Undertaker3 发表于 2025-9-20 19:13
没记错的话,搜狗输入法好像是腾讯的

买的。。。。本来就很恶心,十几年前被开始收购前就已经很恶心了,右下角弹窗很多。。。。腾讯买了之后反而QQ拼音死了。。。彻底收购的时间大概就是QQ拼音停更的时间。。。。QQ拼音不是蛮干净的么?

当然最后几个版本的时候不知道哪个版本引入了BUG,词库备份出问题就会本地硬盘占用体积爆炸。。。删除备份出的词库文件就行了。。。。腾讯买这些公司好像都不怎么直接大改,基础服务方面就像dnspod,游戏比如科雷。。。不会买来大改改名重构往代码里写穷13VIP然后关门跑路

不过QQ拼音也没什么必要去用了。。如果需要联网新词的,吃枣药丸。。。如果只需要那么一些相对固定的词库加上个人词库,算是能凑活继续用。。。。

在意隐私就别用云词库。不在意可以再出卖一点隐私用语音输入的讯飞这类的也不是不行。。。。对于手机,输入法只是一个入口,顶多再关注剪切板。。。而Windows/MAC的电脑文件权限不能说没有吧,只能说千疮百孔,当前用户的文件一览无余之外,厂商用点心全盘文件皆可访问。。再提一句,国内某大厂的程序,考虑了虚拟机环境,深度利用了某漏洞虚拟机逃逸,获取了母机信息,而且对ESX、KVM、hyper-v三种本质的虚拟化技术都有相关的处理逻辑实现击穿,虚拟机真的不是万能的
推荐
gggwl2023 发表于 2025-9-20 10:36
支持, 苦搜狗流氓软件久已
推荐
shhh520 发表于 2025-9-20 12:20
只用精简版,看来正式版还是太流氓了,在此感谢民间大神。
推荐
wjqok 发表于 2025-9-20 12:18
没发现,我都用“处理”版本,输入法我只能用搜狗。
推荐
Fightcoco 发表于 2025-9-20 10:36
早已卸载流氓软件,用的谷歌V2.7
推荐
slkj 发表于 2025-9-20 11:06
用搜狗去联网版  可以吗? 或者直接卸载搜狗。
推荐
semiuel 发表于 2025-9-20 10:48
综上所述,搜狗已经一条道走到黑了。
推荐
yhtg 发表于 2025-9-20 12:48
好多年不用了,现在全平台使用rime+雾凇,再配合syncthing同步个人词库
7#
bubu5617 发表于 2025-9-20 10:23
本帖最后由 bubu5617 于 2025-9-20 10:24 编辑

看来还是不能“裸奔”,把火绒安上
8#
magiclyan 发表于 2025-9-20 10:34
冰蚌 发表于 2025-9-20 10:28
支持,看看搜狗会不会来公关

公关?没有证据的火绒不会发
最多又甩锅或者发版取消
9#
最新的 发表于 2025-9-20 10:51
这样的行为,国产软件~
10#
逝去的流梦 发表于 2025-9-20 10:59
我现在全部换成微信输入法了,就是词库和词组还是太傻了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-2-10 17:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表