2026年6月28日 星期日

幽靈連線:持續性的 proxy.pac 請求

透過 wireshark 觀察,電腦持續發對遠端Host-A電腦出 proxy.pac 請求。

關閉全部proxy設定後,電腦仍持續對 Host-A:443 發出 https://host/proxy.pac 的連線。

使用 netstat -no  找到發送連線的資訊,及所對定的PID。

使用 wmic process get Caption, ProcessID, ParentProcessID 找到該PID所對應的 Parent PID (PPID)及程序名稱,發現是連線是來自 msedgewebview2.exe,其最上層程序是 widgets.exe。

搜尋網頁後發現widgets.exe應該是Windows小工具,透過設定關閉Windows小工具,發現程序依然存在。

利用程序探索器v17.12 (Process Explorer)觀察msedgewebview2.exe和widgets.exe的關聯性,也透過工作管理員開啟顯示PID來觀察msedgewebview2.exe,確認widgets.exe應該是Windows小工具。

再去搜尋網頁,發現要完全關閉widgets.exe必須利用編輯群組原則來設定(gpedit.msc):
電腦設定兒 > 系統管理範本 > Windows元件 > 小工具 > 允許小工具 
設定為已停用,如此才能避免程序依然存在,只是畫面上不會顯示。

關閉後,發現對外連線數已經減少,但依然還是存在。

再次使用netstat, wmic, procexp, tasklsit,發現請求是來自系統開機初期就已經執行的 svchost.exe,其執行內容為 svchost.exe -k LocalServiceHttp -p,再去查詢發現這是 WinHTTP Web Proxy Auto-Discovery Service,且這個服務是無法透過管理服務來關閉:
電腦管理 > 服務 > WinHTTP Web Proxy Auto-Discovery Service 

最後思考,一定是有甚麼資訊記載讓這麼底層的服務會去參照,想到利用regedit來搜尋,搜尋連線出去的網址,意外發現,竟然使用者的登錄資訊,竟然有過去Internet Explorer殘留的資訊,但這個資訊已經沒辦法利用現在的設定工具來呈現或變更:HKEY_USERS\USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
"AutoDetect"=1
"AutoConfigURL"="URL"
"ProxyEnable"=1
"ProxyServer"="Proxy:Port"
"ProxyOverride"="List"

其中 AutoConfigURL 就是過去曾經設定過的資訊,移除之後,在重新開機,幽靈連線就此消失,解謎任務完成。