為什麼有軟體可以繞過UAC?

剛剛在打Dota,打完一局出來後發現被莫名其妙的安裝上了百度安全。查了下系統日誌,顯示是16:34分啟動的服務。但是沒找到安裝程序的位置。因為我發現被「強姦」時,已經是是16:50了。只是很奇怪,按理說在windows下安裝程序UAC都會提示「訪問硬碟的許可權」消息啊!但是在我dota期間系統沒有任何提示。就退出後發現桌面上多了一串圖標。為什麼有程序能繞過UAC?它是怎麼繞過去的?如何查看windows的安裝記錄?如何查看硬碟的讀寫記錄(比如某某程序(路徑)在xx點請求寫硬碟,某某程序(路徑)在xx點修改註冊表)。如何防止自己被流氓軟體侵犯?

如果覺得本題過於籠統,需要系統設置信息,或者軟體安裝記錄,只要不涉及個人不想公開的,留言後我都會貼出來的。


目前有三個辦法可以繞過UAC,但對Win 7 8 8.1 10的兼容性需要樓主自行測試:

  1. 添加計劃任務,任務屬性中可以設置以最高許可權運行;
  2. 利用白名單機制,把惡意DLL注入到系統文件中,未打補丁的Windows 7測試通過;
  3. 把其他應用程序的Uninstall.exe替換成病毒文件,這樣在卸載內個程序的時候就會自動以管理員許可權執行病毒文件了(User/AppData下的程序除外),這點至今都能利用。

除第一條外,都需要惡意程序先騙你點一次UAC確認,後續就能隨意繞過UAC了。

至於百度的靜默安裝,一定是你安裝其他軟體的時候就已經埋下了百度的種子,而在先前那次安裝行為中確認了UAC提權,於是靜默安裝百度全家桶就不是問題了。

以後從百度下載軟體記得驗證簽名:

你看,我從百度上「高速下載」的Chrome安裝包,看看是誰簽的名?


作為讀著《電腦愛好者》長大的偽大神/真小白來強答一下。

我能說的,大概都是廢話了,我也不是專業的,寫錯的地方輕噴。

寫這些的目的,是提醒剛進入知乎不久的同學們:不要和當年的我一樣,隨隨便便就成了跟風腦殘粉。(雖然現在答主也沒好到哪去……)

1.不管你用的是Win98、XP還是Win10,如果你中了木馬,要錄你的屏幕、拷你的文件、監聽你的鍵盤、控制滑鼠指針/擊鍵……這些統統是小case。

木馬要做到這些,並不需要管理員許可權,只需要騙過受害者點開就夠了。不放行UAC、甚至乾脆用標準用戶,都不會阻止木馬竊取隱私——系統不會製造阻礙,也不會彈出什麼提示

想要直觀體驗的,去折騰一下AutoHotKey吧,比如KeyboardOnScreen.ahk——每一個按鍵都會被監聽到。想想看,如果你點開的不是這麼一個方便的小工具,而是惡意程序呢?

窗口?任務欄通知區域圖標?都可以不要啊。不說別的,AutoHotKey就提供WinHide命令,還有#NoTrayIcon參數。

另一個也許更重要的例子,就是惡意瀏覽器插件,偷錢、偷傳數據、鎖主頁什麼的都已經是現實了……

大家注意了 Chrome 的插件 Useru002DAgent Switcher 是個木馬 - V2EX

Malicious Chrome Extension Hijacks CryptoCurrencies and Wallets

FIREBALL - The Chinese Malware of 250 Million Computers Infected | Check Point Blog

(我孤陋寡聞,只知道這幾個Chrome的例子。至於IE,惡意IE插件好像是老黃曆了?不知道FireFox情況怎麼樣)

技術上也不是沒有辦法對抗,比如SpyShelter,還有各種殺毒軟體/安全軟體,一般都會用一些手段攔截可疑行為,殺軟還會定期掃描系統來揪出已知的惡意軟體

不過,就拿惡意瀏覽器插件來說,殺軟總是有點滯後性的。而且,安全軟體攔截可疑行為,可能也只是給攻擊者製造阻礙,並不能100%杜絕威脅——當然,絕對的安全本來就不存在。

你說SmartScreen?我記得它的工作原理主要是檢查文件數字簽名,外加類似谷歌瀏覽器「安全瀏覽」的篩選器。

首先,聯網的「信譽雲」能有多少靠譜程度呢?用著Google Chrome瀏覽器的心裡大概都有點數吧。

其次,不得不說,數字簽名是個挺重要的東西,沒有它的話,給一個exe掛上馬就是分分鐘的事情,而且很難被發現。而且,Windows的數字簽名比起GPG真是傻瓜多了。

不過,很遺憾,大把大把的exe都沒有數字簽名,所以它們都被當作「來源不明」的玩意兒。

就算有了數字簽名,多數吃瓜群眾還是懶得瞄一眼,誰知道Tencent、騰訊、百度有啥關係……

「Windows已保護你的電腦?這是什麼鬼?真煩人,怎麼關掉它?」

拋開用戶認知程度問題,我們也不能指望數字簽名成為萬靈藥

1.DLL劫持「白加黑」、網路劫持之類的情況沒考慮進去,表面上是安全的文件,實際上可能已經被劫持「黑化」

我也不太懂,就不多說了。

2.數字簽名背後是PKI,這套系統也是人類在管理、運作的,然而,人類不可能永遠鐵面無私、點水不漏,總有人徇私枉法/鑽體制漏洞,對於MD5等過時的加密技術,甚至可能被力量強大的組織機構直接暴力破解

Solidot | 合法證書籤名的惡意程序日益普遍

數字簽名攻擊報告:正在摧毀軟體身份「信用體系」的安全危機 - FreeBuf.COM | 關注黑客與極客

Crypto breakthrough shows Flame was designed by world-class scientists

也許多數案例都不如Flame病毒直接碰撞微軟數字證書那麼讓人吃驚。但是,安全領域已經觀察到這個趨勢。

從另一個角度說,系統如何才能知道一個程序是廣受歡迎的同步雲盤/遠程協助/屏幕錄像軟體,還是隱蔽而邪惡的木馬呢?

當然沒辦法知道,只能由你自己把關。

無論怎樣,安全方面,最脆弱的環節還是人。

2.有一堆繞過UAC彈窗靜默提權的方法。

2009年微軟技術雜誌的文章:

Inside Windows 7 User Account Control

此文章被這篇答案引用、翻譯,啃英文吃力,直接看這個吧:

haohaolee:Windows 7 中的用戶帳戶控制(UAC)真的有必要嗎?

沒錯,老的惡意程序沒考慮UAC,會掛掉,然而現在都什麼時代了……

而且,微軟早就說了,UAC繞過不是安全漏洞。(UAC is not a security boundary)

從非管理員到管理員才算提權漏洞。

繞過方法集錦,以及簡要說明:

hfiref0x/UACME

最近加入了方法34、35,揭示出UAC拉到最高的「總是通知」也是可以被靜默繞過的

隨便搜到的原理分析(只涉及UACME收集的一部分方法):

UAC攻擊剖析 | MottoIN

所以,對於「UAC為什麼能繞過」這個問題本身,大概的解釋是:

因為系統給UAC開了一些自動提權後門

3.關於自啟

(1)安裝計劃任務和服務本來就是正常的軟體行為

而且,通過正常途徑添加計劃任務、註冊服務並不能繞過UAC,也就是至少在註冊服務、添加計劃任務時要彈一次UAC窗口。

正常的軟體可以利用它們來做自動更新、避免UAC彈窗這些改善體驗的事情,惡意軟體自然也可以利用它們來實現長久駐留系統的目的。

還有不少bloatware垃圾軟體/捆綁軟體),搞個服務/自啟是標配,我堅決抵制

(2)自啟方法遠不止計劃任務和服務

Autoruns是個好工具,它列出的自啟項應該是很全了,

然而Autoruns也不是無懈可擊,我專門提過一個問題:有什麼可以逃過Autoruns的自啟方法?

比如,可以用DLL劫持這種猥瑣的辦法來實現自啟:

淺談hook007的自啟動手法 " 360安全衛士技術博客

(3)註冊自啟可以不需要管理員許可權

比如:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun

這樣只能給當前用戶註冊自啟,不能影響其他用戶,不過Windows很多時候就是當「單用戶」系統用的……

(4)自啟也不止開機自啟這一種,比如,滑鼠指針懸停在文件上方時,會出現文件內容提示,這當然也是一個類似插件的東西完成的。

所以,這裡的想像空間應該還是蠻大的……

4.關於字體渲染漏洞和Flash漏洞

首先,漏洞是誰挖出來的?

HackingTeam是義大利的一家公司,可以說他們開發的是「合法的木馬」,出售給政府,用來監視恐怖分子或你懂的人士。

然而,這家大神薈萃的公司也被黑了,沒錯,「黑吃黑」:

人手一份核武器 - Hacking Team 泄露(開源)資料導覽手冊

Windows內核字體渲染漏洞+Flash漏洞,受害者只要點開網頁就一發入魂,現在這種「核武」人手一份。

事後的相關文章,告訴大家UAC關閉後,微軟的Office也會放棄沙箱,導致安全性下降

The Risks of Disabling the Windows UAC

Office界面上方,那句看上去有點煩人的「來自Internet的文件可能包含病毒」,就是沙箱(受保護的視圖)正在起效的標誌。

挖掘漏洞對技術要求很高,而且需要運氣,能穩定利用漏洞更是對技術有極高的要求。比如Exploit-DB上就有不少公開的漏洞利用程序,但是大多都只能DoS,也就是讓目標崩潰,而不是執行代碼(然後就可以植入木馬了)。

要不是HackingTeam被黑掉,各路牛鬼蛇神也沒有機會接觸此等0day神器

從另一個角度來說,本來手握0day的人可能投鼠忌器,不會把漏洞用於流氓推廣等「臟活累活」。既然現在已經「人手一份核武」,漏洞也被微軟知悉、修補,那自然是「不用白不用」,來不及打補丁的「肉雞」就成為了「收割對象」。

對於我們用戶,自然要升級軟體、打好補丁

5.關於流氓全家桶

先胡亂貼幾個鏈接吧:

Solidot | 報告稱中國去年三成左右廣告流量是虛假的

互聯網廣告作弊十八般武藝(上)

迅雷製造並傳播病毒一事是否屬實,會有什麼影響?

我不是業內人士,對這塊缺乏詳細了解,不過,通過木馬控制殭屍網路來「刷量」似乎早已蔚然成風。

再扯開點,「點擊欺詐」的淵源似乎是非常早的……比如ZeroAccess:

賊心不死,ZeroAccess殭屍網路又被重啟-『茶餘飯後』-看雪安全論壇

下面這篇對ZeroAccess的分析是2011年寫的:

一步一步逆向分析黑色樣本:ZeroAccess/ Max++/ Smiscer Crimeware rootkit

ZeroAccess就使用了內核Rootkit技術來劫持內核、保護自己不被檢測、清除

最近流行過的「暗雲」木馬新變種也是這樣,只不過暗雲的「本體」是MBR Bootkit而不是內核驅動文件:

暗雲Ⅲ木馬傳播感染分析 - FreeBuf.COM | 關注黑客與極客

這個木馬的用途很多,包括DDoS攻擊刷流量流氓推廣

PS:這個病毒還會導致64位Win10頻繁出現藍屏(我也寫過答案知乎用戶:電腦升級win8後經常藍屏,提示"CRITICAL_STRUCTURE_CORRUPTION"?)。不過,我覺得木馬作者有機會進行改進來消除藍屏——沒有藍屏的話,受害者中招就幾乎沒知覺了。

再結合上面的「人手一份核武」事件來看,也許有某些「腦筋活絡」的「網路推廣從業者」會想到利用泄露出來的漏洞利用工具來進行流氓推廣、甚至傳播木馬,這樣他們就可以賺到更多推廣傭金,不過,關於開發全家桶的騰訊、百度等大廠,我還不願意相信他們自己會做出這種沒底線的事情。(不過我畢竟是naive,知道的很少……)

這和UAC有關係嗎?

從騰訊的那篇分析來看,「暗雲」木馬下載器(是下載站常見的那種「高速下載器」篡改而來)似乎沒有刻意繞過UAC,然而,程序文件是帶著有效數字簽名的,UAC將會是藍框

你看,壓根不用費事兒去繞過UAC,就已經能斬獲百萬小白的電腦了——受害者直接點了「是」,把管理員許可權交出去了。

相比而言,不少正常的軟體倒是要求管理員特權,UAC點「否」也不給運行。很多軟體還沒有數字簽名,UAC彈窗是黃色的。

為啥我不點?因為我以前也被坑過,知道這裡有坑。大言不慚地說,現在讓我免於被坑的,是經驗,而不是UAC。(嗯,也許我也早就被種馬了而不自知呢……)

嗯,看上去高手也有被坑的,我很欣慰:

和樓主一樣的問題 不幸中招。分析來源是來自於zol的下載器。

今天又在skycn中招,靜默安裝一個叫做天空極速下載器的東西,現在還沒來得及做危害分析,國內的下載站真是沒法信任了,大家也多多小心。

cbs.sys木馬,希望SkyGz等高手分析一下,癥狀是主頁hao123劫持 (amoBBS 阿莫電子論壇)

PS:扯這個也許有點跑題,因為大家原本是信任下載站的,但這些下載站卻利用我們的信任來作惡——這才是問題的根源。

雖然UAC不能幫你進行細化的許可權控制,但我們也可以看到,拿到管理員許可權的惡意軟體更加隱蔽、難以清除。

6.Wana Decrypt0r 2.0和UAC

Wana Decrypt0r 2.0,又名想哭、WannaCry、ONION、魔窟等等。

永恆之藍(EternalBlue)是病毒用來執行攻擊的漏洞利用工具的名字,據稱來自NSA,由黑客組織The Shadow Brokers泄露。

PS:有點好奇,為啥英文搜索ONION和WannaCry就沒搜到相關的文章呢?ONION和WannaCry是什麼關係?

病毒利用的是內核漏洞(微軟安全公告編號MS17-010),它想要什麼許可權就有什麼許可權,完全無視UAC

在技術細節上,病毒利用EternalBlue只是撬開了445埠,然後注入的是內核後門DoublePulsar(是一段二進位的shellcode,只有幾KB),接著利用這個後門通過插APC的方法注入用戶態進程lsass.exe,啟動mssecsvc.exe,執行加密勒索和下一輪傳播。可以看到病毒進程是以SYSTEM賬戶運行的

(WannaCry Ransomware Campaign: Threat Details and Risk Management ? Products and Services Central,如果自己用虛擬機重現也可以看到)

至於卡巴斯基的分析文章有提到UAC窗口彈出:

WannaCry ransomware used in widespread attacks all over the world

這應該是因為卡巴斯基的分析人員直接雙擊了病毒。病毒在通過445埠傳染時完全無視UAC。

PS:勒索病毒現在已經崛起了

勒索軟體銷量在 2017 年猛增了 2502%

如果你懶得打補丁、開著管理員賬戶又關掉了UAC,那就只能指望殺軟能擋一下了:

解碼新型勒索病毒Spora ,通過IE、Flash漏洞等方式傳播

中招後會發生什麼,今年5.12,大家都知道了。

如果勒索病毒彈了UAC,點「否」也許可以對它進行一些阻礙,但即使病毒沒有管理員許可權,它照樣可以把你的文件都加密成「綁票」

我們都知道備份是最好的辦法(之一),然而人性總是懶惰的……

本來我也沒啥乾貨,現在強行總結一下吧……

首先,不開管理員賬戶上網的建議原則上沒錯

但是,即使惡意軟體沒拿到管理員許可權,它照樣可以作惡;只是,如果惡意軟體拿到了管理員許可權,我們可能就更難發現、清除它們。

其次,UWP應用(Metro風格應用/Modern應用)確實好處多多,它提供了沙箱,更是可以隔離每個應用、用細化的許可權約束應用的行為,而且有微軟官方應用商店這個統一的分發渠道,杜絕亂下載中毒,還可以統一更新,卸載也可以變得乾淨。

然而,現實是什麼樣子,作為用過幾年電腦的人,我們心裡都點數吧。

扯開點說,無論是Android還是iOS,安全方面都已經好很多了,手機系統上,已經實現和UWP應用類似的安全性了:每個應用都被沙箱限制,系統提供許可權控制——然而這樣就高枕無憂了?

iOS我不熟悉,但我知道有企業證書濫用、XcodeGhost這幾個梗。Android下好像也有對應的Unity3DGhost事件,至於許可權,似乎被吐槽很久了,但現在也在改善了。

再回頭說說電腦的情況:

一堆傳統應用沒有轉向UWP,國產軟體流氓化,各種內核驅動外掛/反外掛仍然在相互鬥爭……

再打開FreeBuf之類安全媒體,只能說上面這些都是小case:小馬激活與「蘇拉克」木馬事件,暗雲/異鬼等Bootkit木馬通過「高速下載器」等途徑大肆傳播,Xshell後門事件,還有運營商劫持LOL掛馬事件、天翼客戶端傳播木馬導致Win10藍屏事件……

PS:Mac用戶也別僥倖,TransMission掛馬事件,MacHook/WireLurker事件……

……好像堆砌了太多風馬牛不相及事情,有嚇唬小白之嫌?要吐槽的話我也認了。

最後,各位不要恐慌,地球並沒有那麼危險,請做好備份,及時打補丁,安裝靠譜殺軟,奇怪的鏈接不要點,更不要隨便下載-&>雙擊運行,對待某些「資源」要提高警惕……好了好了,我知道這些都是老生常談,況且我自己也沒完全做到……


你直接把百度的證書鎖掉就好了…

方法如下:http://www.zhihu.com/question/27287065/answer/36192135


儘管繞過有很多方法,不過下邊這方法能克大多數繞過方法。

一般給小白裝機完,幾乎所有的必備軟體和常用軟體,還有工具軟體都集齊了,我就會召喚這個神龍。具體操作參考下邊鏈接:

https://www.zhihu.com/question/34573215/answer/60101709

手機黨看這個問題吧: http://www.zhihu.com/question/34573215?utm_source=com.android.mmsutm_medium=social


推薦閱讀:

第一次使用 Linux 的純小白應該了解哪些東西?
MIUI有哪些細節讓你覺得驚喜?
禁用虛擬內存,操作系統還能實現虛擬存儲器這種機制嗎?
單生產者和單消費者共同操作同一個環形緩衝區需要加鎖嗎?
如何利用磁碟順序讀寫快於內存隨機讀寫這一現象?

TAG:MicrosoftWindows | 操作系統 | UAC |