Windows
http://stenwang.blogspot.com/2015/11/uac-uac.html
這篇來教一下如何關閉UAC(User Account Control),也就是使用者帳戶控制。簡單白話先說明一下甚麼是UAC,就是當你要以高權限來啟用某些應用軟體或是檔案時,會跳出來詢問你是否確定要執行這個操作的那個很擾人視窗。你可能會很納悶,雖然你已經是用某個較高的權限帳戶登入操作了,為什麼執行這個軟體的時候還會跳出這種UAC詢問視窗?
其實這個功能是Microsoft 在 Windows Vista中所推出的安全技術之一,往後版本的作業系統繼續沿用這項功能。UAC的目的是在於因為由於管理員權限可以達到的事情很多,避免說有一些間諜工具、惡意軟體、後門程式、病毒木馬等等,想要利用管理員權限執行或修改某些程式與設定,偷偷地在背景執行壞壞的事情,這時候當惡意軟體想要用管理員權限執行某些檔案,就會跳出這個UAC視窗來提醒你,並且如果駭客用的時一些腳本執行的話,跳出這個UAC視窗,駭客就沒有辦法用滑鼠去點那個確認的按鈕~
所以還是得先說這個UAC是有達到一定的安全性作用,若要關閉的話.還是先知道一下可能導致的風險比較好。不過就算UAC是開啟的,其實駭客還是有許多手段可以去繞過這個UAC機制(Bypass UAC)。
下圖這個就是UAC使用者帳戶控制示意圖
接著就進入正文提一下關閉UAC的方法,這邊以Win10為例,介紹兩種方法~
不過第一種方法其實不夠徹底,詳細差異可以詳閱下列內容。
在win10的左下角搜尋地方輸入UAC,點選「變更使用者帳戶控制設定」,點進去後可以看到有分為四個等級,拉到最下面就是關閉UAC了。同理,如果你希望安全性高一點,可以往上拉,預設會是在上面數下來第二個。
首先我們要先知道UAC的登錄檔路徑
電腦\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
windows按鍵+R,輸入regedit,將上面那串路徑貼上到登錄編輯程式的路徑中,這個路徑下面有三個我們需要注意的名稱(KEY),分別是ConsentPromptBehaviorAdmin、EnableLUA、PromptOnSecureDesktop,如同下面圖片中紅色框框的地方,三個Key所代表的意義如下:
Key-Value:
ConsentPromptBehaviorAdmin:在管理員核准模式,系統管理員之提升權限提示的行為
EnableLUA:所有系統管理員均以管理員核准模式執行
PromptOnSecureDesktop:提示提升權限時切換到安全桌面
ConsentPromptBehaviorAdmin官網說明(英文)
EnableLUA官網說明(中文)
PromptOnSecureDesktop官網說明(英文)
那剛剛第一種方法提到的利用圖形化介面關閉UAC方法,其實所區分的四個等級,也都有相對應的Key-Value,你更改那邊的時候,這邊機碼的值也是會跟著改變的。所以我們當然也是可以到機碼這邊來去直接更改值,去關閉UAC,相對應的Key-Value如下所示:
UAC高
ConsentPromptBehaviorAdmin:2
EnableLUA:1
PromptOnSecureDesktop:1
UAC中
ConsentPromptBehaviorAdmin:5
EnableLUA:1
PromptOnSecureDesktop:1
UAC低
ConsentPromptBehaviorAdmin:5
EnableLUA:1
PromptOnSecureDesktop:0
UAC關閉
ConsentPromptBehaviorAdmin:0
EnableLUA:1
PromptOnSecureDesktop:0
那我們剛剛所提到的第一種跟第二種方法的主要差別,就在於UAC關閉的選項,這個稍微特別一點,因為如果從GUI去改,可能會看到這個EnableLUA仍然會是1,要徹底完全關閉的話可以手動去改登錄機碼,把EnableLUA的值改成0。
那我們也可以寫一個bat腳本來關閉UAC,以下為腳本的範例,記得執行的時候必須要右鍵以系統管理員身分執行才可,然後執行完需要重新開機才會生效。
範例一
DisableUAC.bat
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "ConsentPromptBehaviorAdmin" /t reg_dword /d 0 /F
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLUA" /t reg_dword /d 0 /F
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "PromptOnSecureDesktop" /t reg_dword /d 0 /F
範例二
GetAdminDisableUAC.bat
::::::::::::::::::::::Get Admin::::::::::::::::::
@echo off
echo Get Administrator Rights
cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nul
if %errorlevel%==0 goto Admin
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs"
echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%\getadmin.vbs"
echo WScript.Quit >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" /f
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
exit
:Admin
echo Successfully Get Administrator Rights
::::::::::::::::::::::Adjust Registry, Disable UAC::::::::::::::::::
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "ConsentPromptBehaviorAdmin" /t reg_dword /d 0 /F
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLUA" /t reg_dword /d 0 /F
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "PromptOnSecureDesktop" /t reg_dword /d 0 /F
pause
前面提到想要用管理員權限執行檔案會跳出UAC,這個說法其實是不夠精確的,不過這篇文章畢竟不是專業課程,我也不是Windows大神,下面列出參考維基百科的UAC觸發條件,供有興趣的人參考。
來源:維基百科-使用者帳戶控制
UAC需要授權的動作包括:
基本上,只要有涉及到存取系統磁碟的根目錄(例如C:\),存取Windows目錄,Windows系統目錄,Program Files目錄,存取Windows安全資訊以及讀寫系統登錄資料庫(Registry)的程式存取動作,都會需要通過UAC的認證。
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing