成人欧美一区二区三区的电影,日韩一级一欧美一级国产,国产成人国拍亚洲精品,无码人妻精品一区二区三区毛片,伊人久久无码大香线蕉综合

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點晴永久免費OA]搜狗輸入法云控下發(fā)模塊,“暗中”篡改瀏覽器配置

admin
2025年9月26日 10:22 本文熱度 1147

火絨威脅情報中心近期監(jiān)測到一款專門鎖定瀏覽器主頁的應用正加速蔓延。經(jīng)溯源,該源頭指向搜狗輸入法。據(jù)悉,搜狗輸入法通過 Shiply 終端基礎發(fā)布通用模塊,向云端請求控制配置。

在下發(fā)這些云控配置中,會結合用戶畫像:例如所在地區(qū)、時間等諸多維度進行精準推送。由于 Shiply 平臺本身具備灰度發(fā)布能力,據(jù)此推測,攻擊者很可能先通過小范圍灰度測試驗證效果,再進行大規(guī)模傳播。

其推廣模塊會首先檢測用戶設備上的殺毒軟件,隨后通過篡改配置文件的方式,強制修改 Edge 與 Chrome 兩款主流瀏覽器的主頁及默認搜索引擎設置。目前,火絨安全產(chǎn)品可對上述推廣模塊進行攔截與查殺。

內存查殺圖
流程圖

1、樣本分析

本文提及的搜狗輸入法版本為 15.7.0.2192。

1.1、云控配置獲取與推廣模塊下載

配置拉取源頭:搜狗輸入法將會借助 SGBizLauncher.exe 程序附加參數(shù) -lappid=configupdate 進行拉取云控配置,該SGBizLauncher.exe 程序會被輸入法組件 SogouPY.ime 執(zhí)行,執(zhí)行間隔為六個小時一次。此輸入法組件為 DLL 文件,將會通過用戶切換至搜狗輸入法時被加載。

六個小時間隔配置拉取

設置 Shiply SDK 參數(shù): 在SGBizLauncher.exe 程序中,將通過 Shiply SDK 拉取配置。在此之前,需設置 APPID、APPKEY、BundleID、應用版本等參數(shù),測試后發(fā)現(xiàn)其中 APPID 與 APPKEY 為關鍵參數(shù),其將會決定拉取的配置。

設置 APPID、APPKEY 等參數(shù)


Shiply 發(fā)布平臺設置云控配置:搜狗輸入法會借助 Shiply 發(fā)布平臺設置云控配置,此發(fā)布平臺可以通過規(guī)定時間、地區(qū)、應用版本號等條件來進行精準下發(fā)云控配置,且具備灰度發(fā)布等放量策略,可先進行小范圍測試。對此次事件進行評估,亦是由于灰度發(fā)布或精準下發(fā)所致,故而未涉及更多用戶。

Shiply 平臺中測試設置云控下發(fā)條件


平臺云控配置與本地拉取后數(shù)據(jù)庫對應關系:下圖為 Shiply 平臺所創(chuàng)建的云控配置,其中創(chuàng)建 smart_task_config_1 與 beacon_main_switch_1 配置鍵和相對應的配置值,在本地獲取上述云控配置時,Shiply SDK 會將這些配置存儲于指定的數(shù)據(jù)庫文件中。該數(shù)據(jù)庫具體路徑為: C:\ProgramData\SogouInput\SGBizConfig\{APPID_SYSTEMID___}.db,此數(shù)據(jù)庫為 SQLite 數(shù)據(jù)庫。

Shiply 平臺測試云控配置與本地拉取后數(shù)據(jù)庫對應關系


上圖為分析測試場景下的云控配置與本地數(shù)據(jù)庫對應關系圖,下圖為搜狗輸入法真實用戶場景下的云控配置對應的數(shù)據(jù)庫圖,其中 smart_task_config_1 所對應的 JSON 數(shù)據(jù)內包含推廣模塊下載地址。

搜狗輸入法真實下發(fā)的云控配置對應的數(shù)據(jù)庫圖


隨后從云控配置(JSON 數(shù)據(jù))中提取數(shù)據(jù)后,將數(shù)據(jù)存儲至注冊表 SOFTWARE\SogouInput.store.user\search_suggestion 項中的 smart_task_config 和 smart_task_supports 鍵。其中,前者為提取的配置,后者為經(jīng)加密處理的 allowed_p 字段,此字段代表允許的進程,即執(zhí)行該任務的進程必須與 allowed_p 字段的值相符。

取出數(shù)據(jù)并將數(shù)據(jù)存儲至注冊表


任務云控配置


此時搜狗輸入法 IME 組件被加載至 explorer.exe 進程時,將會調用 ImeInquire 函數(shù),隨后便開始檢查是否開啟搜索候選與搜索推薦。若二者之中有一項處于開啟狀態(tài),便會進入解析云控配置的邏輯流程。從中能夠看出,相關按鈕是針對搜索候選和推薦的,不應與修改瀏覽器主頁存在關聯(lián)。

云控任務執(zhí)行相關開關


搜狗輸入法將讀取 search_suggestion 注冊表中 smart_task_supports 的值,以獲取支持的進程名列表,并與當前進程名進行比對。若匹配則會繼續(xù)運行進程。

匹配指定進程名列表


為了防止多次運行,它會創(chuàng)建互斥體 Local\\smart_task_dispatch_{被加密的進程名}。

創(chuàng)建互斥體


進入任務前判斷階段:

1. 首先,讀取 HKEY_CURRENT_USER\SOFTWARE\SystemTask 項中的 task__{allowed_p} 鍵。若該鍵存在,則讀取其中的 let_{上次任務執(zhí)行時間} 和 remain_{剩余任務執(zhí)行次數(shù)},以供后續(xù)檢測使用。

2. 檢查當前時間段是否在 allowed_t(允許執(zhí)行任務時間段)內,根據(jù)云控配置(0-28800;43200-50400;75600-86400)所示,時間段分別為21:00-次日8:00、12:00-14:00,估測是規(guī)避工作時間,避免被技術人員復現(xiàn)該現(xiàn)象。

3. 借助 GetLastInputInfo 函數(shù)檢測用戶無操作時間是否超過 no_active_s(無操作時間)的情況。

4. 時間為隨機數(shù)并除以 100 來獲取余數(shù),來判斷該余數(shù)是否> probalility(概率)。

5. 檢測剩余執(zhí)行任務次數(shù)是否>0。

6. 檢測當前時間與上次任務執(zhí)行時間的間隔是否> during_s(任務執(zhí)行間隔)。

7. 最后將任務信息保存至注冊表,并開始執(zhí)行任務。

任務前判斷階段


任務信息保存至注冊表:首先會將云端配置中的七個關鍵參數(shù)以下劃線的方式連接:task_body_md5、version、durings_s、cycle_c_s、count、probalility、no_active_s,對它們進行MD5 哈希計算,得出 MD5 值。隨后再將 allowed_p、MD5 值、let_{當前時間}、during_{durings}、remain_{剩余任務執(zhí)行次數(shù)}(該值每次任務執(zhí)行時都減 1)通過分號連接,并將該字符串寫入至注冊表 HKEY_CURRENT_USER\SOFTWARE\SystemTask 項 task__{allowed_p} 鍵中。

任務信息保存至注冊表


下載推廣模塊:任務開始后首先解密 task_body64 字段值(該解密算法采用的是 AES 算法并搭配非標準密鑰流),獲取到下載鏈接 ime.gtimg.com/pc/brspgc 并開始下載,下載完畢后,運用 MD5 算法計算所得 MD5 值,并與 task_body_md5 進行比對,以確認二者是否一致。

下載并計算 MD5 值


解密推廣模塊:下載到的 brspgchange20250811x64_a.dat 文件經(jīng)過加密處理,其解密需運用云控配置中的 key(98c0b113a40fe1790d9e116d75dcfcff) 與字符串 "secret" 異或出新的 key,隨后以該新的 key 為密鑰,采用 AES 算法 CBC 模式進行解密。

異或出新的密鑰再采用 AES 算法解密


試圖下載新的推廣模塊:因下載鏈接有一定的規(guī)律,嘗試將日期改成 9 月 10 日(即brspgchange20250910),發(fā)現(xiàn)可以下載并且密鑰與上次云控配置中的密鑰一致,推測此推廣模式將會長期持續(xù),新的推廣模塊將會在下文《推廣模塊分析》中介紹。

加載推廣模塊并調用入口點和 cgbp 導出函數(shù):隨后,將解密后的推廣模塊以手動加載的方式載入內存。在完成檢查 PE 頭、進行 Section 映射、開展重定位處理、修復導入表以及修改 Section 權限等操作之后,會調用模塊入口點以進行初始化。之后,通過遍歷導出函數(shù)的方式獲取 cgbp 導出函數(shù)地址,并調用該函數(shù),由此進入推廣模塊的主要邏輯。

手動加載并調用入口點
遍歷導出函數(shù)并執(zhí)行 cgbp 函數(shù)


1.2、推廣模塊分析

檢測并規(guī)避殺毒軟件:借助函數(shù)OpenMutexW 與 Process32NextW 檢測本計算機中是否存在360或火絨的互斥體、進程名,若不存在則繼續(xù)推廣。

檢測互斥體與進程名


檢測相應瀏覽器是否存在:以 Chrome 瀏覽器為例,將依次檢測多個路徑下的主程序 chrome.exe 是否存在,檢測配置文件 Secure Preferences 和 Preferences 是否存在,注冊表中是否有 Google Chrome 等方式。

檢測相應進程是否存在:以 Chrome 瀏覽器為例,檢測 chrome.exe 進程是否存在,僅當該進程不存在時才會進行修改操作。這是由于在 chrome.exe 處于開啟狀態(tài)時對配置文件進行修改,修改內容不會被保存。原因在于,關閉 chrome.exe 進程時,系統(tǒng)會將配置數(shù)據(jù)重新寫入配置文件,進而導致配置被重置。

修改默認搜索引擎:通過寫入 Preferences 與 Secure Preferences 配置文件的方式將 template_url_data 中 url 設置為 baidu.wenxin9.com/?{searchTerms}&type=0002&ie={inputEncoding}。之后用戶再次搜索內容時先跳轉到 baidu.wenxin9.com/?搜索內容&type=0002&ie=UTF-8,最終跳轉至 www.baidu.com/s?tn=75144485_10_dg這類帶有來源標識的鏈接并從中獲利。

檢測與修改配置


修改的內容


修改后表現(xiàn)

macs和super_mac 配置項的修改原因與邏輯:mac值是為驗證時所用,一旦配置的mac 值與寫入的 mac值不一致,則會重置配置文件。

1. 計算 Unicode 編碼的安全標識符(SID)的 SHA1 哈希值,取名為 SID_SHA1。

2. 利用 GetSystemDirectoryW 函數(shù),獲取系統(tǒng)路徑并傳遞參數(shù)于 GetVolumeInformationW 函數(shù)中,獲取卷序列號(VolumeSerialNumber),取名為 VOL_ID。

3. 計算 SID_SHA1 + VOLID 的 CRC8校驗碼,以 {SID_SHA1}{VOL_ID}{CRC8} 的形式組合成 19字節(jié)的機器碼,取名為 MACHINE_ID。

4. 以 {MACHINE_ID}{字段路徑}{字段值} 的形式組合并計算其 HMAC-SHA256 哈希值,使用的密鑰為 e748f336d85ea5f9dcdf25d8f347a65b4cdf667600f02df6724a2af18a212d26b788a25086910cf3a90313696871f3dc05823730c91df8ba5c4fd9c884b505a8,該密鑰為固定值。

5. 最終計算出來的哈希值就是 macs 中的多個字段或 super_mac 字段的值。

哈希值計算動態(tài)調試截圖和源碼


新版推廣模塊功能區(qū)別:舊版本推廣模塊僅具備修改默認搜索引擎這一功能。通過靜態(tài)分析可知,雖存在修改主頁的代碼,但并未調用。與之不同的是,新版本推廣模塊會調用修改主頁的函數(shù)。此時,若打開 Chrome 瀏覽器,將會跳轉至 page.wenxin9.com,隨后再跳轉至導航頁。在導航頁內點擊百度鏈接,鏈接均帶有來源標識參數(shù)。

新版推廣模塊多出來的功能
跳轉至導航頁頁面

1.3、其他推廣

搜狗輸入法還有其他很多推廣手段,這里只提及較打擾使用體驗的桌面右下角彈窗。

彈窗推廣

彈窗初期:搜狗輸入法的彈窗是系統(tǒng)彈窗,該彈窗是通過搜狗輸入法組件 biz_helper.exe 程序傳遞參數(shù)type=systoast 啟動以試圖彈窗。彈窗初期可以通過點擊彈窗中的“…”選擇《關閉搜狗輸入法的所有通知》或《轉到通知設置》進入系統(tǒng)通知設置中關閉搜狗輸入法彈窗通知,從而關閉彈窗。

彈窗設置變灰或消失:但用戶反饋該方法只能滿足初期的訴求,一段時間后發(fā)現(xiàn)彈窗中“…”后兩個按鈕都變成灰色,導致進入系統(tǒng)通知設置,也無法關閉搜狗輸入法相關選項。

隱藏通知設置中搜狗輸入法項


隱藏原理:通過設置搜狗輸入法注冊表 HKEY_CLASSES_ROOT\AppUserModelId\Sogou.Ime.SysToast.Biz 項中 ShowInSettings 鍵值為 0 的方式,達成按鈕呈灰色不可點擊且在通知設置中不顯示的效果。

設置隱藏


搜狗輸入法設置中取消勾選:用戶發(fā)現(xiàn)通過搜狗輸入法設置中取消勾選《桌面右下角推薦》選項,想以此操作來消滅彈窗。然而一部分用戶又發(fā)現(xiàn)該《桌面右下角推薦》選項也消失了,但在分析過程中并未成功復現(xiàn),估測該行為可能是通過云控下發(fā)時針對部分目標用戶精準投放所導致。

網(wǎng)上用戶吐槽時的拍照與截圖


彈窗開關:至此可以統(tǒng)計出避免彈窗的方法總共有以下三種。

href="">1. 全局通知開關:Windows系統(tǒng)自帶設置中全局通知開關,將開關數(shù)據(jù)存儲于注冊表 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications 項 ToastEnabled 鍵值中。

href="">2. 局部搜狗輸入法通知開關:系統(tǒng)自帶設置中局部通知開關,將開關數(shù)據(jù)存儲于注冊表 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sogou.Ime.SysToast.Biz 項 Enabled 鍵值中。

href="">3. 搜狗輸入法自帶開關:搜狗輸入法設置中《桌面右下角推薦》選項,該選項數(shù)據(jù)將會存儲于注冊表 HKEY_CURRENT_USER\SOFTWARE\SogouInput.store.user 項 systoast_enable 鍵值中。

三種開關相關注冊表鍵值


云控配置忽略開關:然而發(fā)現(xiàn)搜狗輸入法會根據(jù)云控下發(fā)的配置(systoast_general_config_1)忽略全局通知開關(ignore_sglb_switch)、局部搜狗通知開關(ignore_sys_switch)、搜狗輸入法設置開關(ignore_ime_switch)等,并無視用戶所配置的開關,其中實測發(fā)現(xiàn)若關閉系統(tǒng)中開關,則無法彈出窗口。

另外,分析時獲取到的云控配置中并未包含 ignore_ime_switch 字段,意味著當前云控配置下搜狗輸入法提供的彈窗開關是有效的。

云控配置忽略開關


建議:在使用過程中,若需關閉彈窗,可采用以下方法。這些方法大多源自網(wǎng)絡上受彈窗困擾的用戶。不過由于不同時期、不同用戶畫像等云控配置存在差異或其他因素,可能導致關閉彈窗的操作無法正常生效。

1. 可關閉全局系統(tǒng)通知開關。若不想全局關閉,可通過將注冊表值 ShowInSettings 修改為 1,以顯示搜狗輸入法通知選項,隨后進行關閉操作。

2. 若上述方法無效,可關閉設置中的《桌面右下角推薦》。若無法看到《桌面右下角推薦》,需先點擊搜狗輸入法的“幫助反饋”,找到“廣告與搜索候選”,進入后查看關閉方法。之后,再次打開搜狗設置,點擊“高級”,將頁面拉至最下方,此時“桌面右下角推薦”的關閉選項才會出現(xiàn)。(此方案源自 B 站某用戶評論)

2、附錄

HASH:

?


閱讀原文:https://zhuanlan.zhihu.com/p/1952446290664359825


該文章在 2025/9/26 14:17:37 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved