SC1

スクラップだ!(SCrap 1st)
メインは SC2

ユーザーアカウント制御 UAC をバイパスする方法

2022-07-13 | HowTo

PC
UAC: User Account Control | ユーザーアカウント制御
悪意のあるアプリケーションからWindowsを守るための防波堤

UACはWindows Vista以降のWindows OSに実装されたセキュリティの基盤となる技術です。

これにより、マルウェアなどの悪意のあるアプリケーションがWindowsシステムを安易に変更できないようになりました。

Windowsは次の動作をします。

[既定の動作]
  1. 管理者権限のあるユーザーアカウントでWindowsにログインしても、アプリはユーザーモードで動作する(標準ユーザー権限)
  2. アプリが管理者権限を要求した時は、UACダイアログを表示してユーザーへ通知する(ユーザーアカウント制御)
  3. はいを選択した時のみ、アプリは管理者権限で動作することができる

UACダイアログ
「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」

uac


RUNAS.exe

cmd_300x.gif Windowsに実装されている [runas.exe(runasコマンド)] は、UACダイアログをスキップするオプションがあります。

スタートアップフォルダに登録したプログラムの中に管理者権限を要求するものがある場合、UACダイアログが表示され処理が中断しますが、runas を利用するとはいをクリックする手間を省くことができます。

コマンドプロンプトはちょっと~...?
という場合は、runasコマンドショートカットを作成することができるElevatedShortcutがあります。

UAC の弊害

cmd_300x.gif 例えば、

スタートアップフォルダーに登録されたプログラム(ショートカット)は、Windows OS のロードが終わると自動的に実行されますが、管理者権限を要求するプログラムの順番になるとUACが反応して処理が中断します。

ユーザーは「はい|いいえ」を選択するまで先に進めません。

[Windows起動処理]
  1. PC電源ON
  2. Windowsシステムファイルがロードされる
  3. レジストリ、タスクスケジューラー、スタートアップフォルダーに登録されたプログラムがロードされる(スタートアップ処理)
  4. 管理者権限を要求するプログラムがあるとUACが反応して処理が中断する
  5. [はい|いいえ] を選択する ← ボトルネック
  6. スタートアップ処理終了
  7. Windows起動処理終了

安全性が確認されているプログラムでも「はい」を選択するまで先に進めないので煩わしいです。

スタートアップフォルダー

※Windows 10の例

自動起動させるプログラムのショートカットが配置されています。

Startup Folder
xxx: Login account Name
C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

すべてのユーザーに有効
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

UACをスキップする方法

documentlist [PLAN]
  1. runasコマンドのショートカットを作成する。 ← この記事
  2. ElevatedShortcut(Winaero Tweaker) を利用する。(関連記事
  3. ユーザーアカウント制御の設定を「通知しない」に変更する。

この記事はPLAN-Aの手順を記述しています。

PLAN-Bは関連記事をお読みください。
PLAN-Cはセキュリティが甘くなるのでお勧めできませんが、あとがきに設定画面を掲載しました。

runasチェック

runas.exeが実行可能か否かを確認することができます。
通常起動したコマンドプロンプトを使用します。

実行するコマンド。

>runas /?

"RUNAS 使用法:" と表示されたら runas コマンドが利用できます。併せてヘルプが表示されるので参考にしてください。
c:\_
管理者:コマンド プロンプトー □ × 
C:\Windows\System32>runas /?
RUNAS 使用法:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
 /user:<ユーザー名> プログラム

RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
 /smartcard [/user:<ユーザー名>] プログラム

ヘルプが表示されない?
ヘルプが表示されない時は、runas.exeを利用することはできません。

以下の場所にrunas.exeが存在することを確認しましょう。

runas.exe の場所
C:\Windows\System32\runas.exe

管理者権限でコマンドプロンプトを起動してもヘルプが表示されない時は、お使いのPCはrunas.exeは使用できません。

レアケースですね...
たぶんシステムがおかしい...かも?

コマンドプロンプトから実行する

cmd_300x.gif コマンドプロンプトで正しく動作したら、入力したコマンド一式をショートカットとして保存する方法がお勧めです。

[/savecred] オプションは初回に限りダイアログが表示されます。2回目以降は表示されません。

書式は次の通りです。

>runas /savecred /user:administrator "<プログラムのパス>"

<プログラムのパス>はフルパスを指定します。

以下は、通知領域の時計を改造することができるソフトウェア「TClock」を管理者として起動するための設定例です。
c:\_
管理者:コマンド プロンプトー □ × 
C:\>runas /savecred /user:administrator "c:\tclock\tclock.exe"

ショートカットを作成する

shortcut.png 前項の手順を踏んでいると、このステップはコピペするだけです。

1. 新規作成ウィザードを起動する

エクスプローラー > ホーム > 新しいアイテム > ショートカット

shortcut

2. 場所を入力する

※参照ボタンは使いません

[手順]
  1. 「項目の場所を入力してください」の下に runas ... コマンドを入力する
  2. 次へを選択する

runas /savecred /user:administrator "<UACを回避させたいプログラムのパス>

runas-NewShortcut

3. 名前をつける

[手順]
  1. 「このショートカットの名前を入力してください」の下に任意の文字列を入力する
  2. 完了をクリックする

入力例:runas TClock

runas-giveitname

パスワードを要求される?

ショートカットを実行した時にadministratorのパスワードを要求された時は、adminstratorのパスワードを入力してください。

2回目からは [/savecred] オプションが機能するのでパスワードは要求されません。

runas パラメーター

出典:Runas - Microsoft
パラメーター説明
/profileユーザーのプロファイルを読み込みます。既定値です。このパラメーターは/netonlyパラメーターと併用できません。
/no profileユーザー プロファイルを読み込まないように指定します。これはアプリケーションをより迅速にロードすることができますが、アプリケーションによっては誤動作を引き起こします。
/envユーザーのローカル環境ではなく、現在のネットワーク環境を使用することを指定します。
/netonly指定したユーザー情報がリモート アクセスのみであることを示します。このパラメーターは、/profileパラメーターと併用できません。
/savecredこのユーザーが資格情報を以前保存したかどうかを示します。Windows Vista Home または Windows Vista Starter エディションでは、このパラメーターは利用可能ではないため、無視されます。このパラメーターは/smartcardパラメーターと併用できません。
/smartcard資格情報が、スマート カードから供給されるかどうかを示します。このパラメーターは/savecredパラメーターと併用できません。
/showtrustlevels/trustlevelへの引数として使用できる、信頼レベルが表示されます。
/trustlevelアプリケーションを実行する、承認のレベルを指定します。/showtrustlevelsを使用し、利用できる信頼レベルを参照してください。
/user:<UserAccountName> "<ProgramName> <PathToProgramFile>"プログラムを実行するユーザーアカウントの名前、プログラム名、およびプログラムファイルへのパスを指定します。 ユーザーアカウント名の形式は、<ユーザー>@<ドメイン>または<ドメイン>\<ユーザーアカウント名>である必要があります。
/?コマンド プロンプトでヘルプを表示します。

参考:UACをOFFにする

ユーザーアカウント制御を「通知しない」に設定すると、UACダイアログをスキップすることができますが、セキュリティ上好ましくないのでお勧めできません。

[スナップショット]

uac_settings

Administrator

Administrator はWindowsの特別なアカウントです。

runas.exe を使用する時は、Administrator が使える状態になっている必要があります。

<script>ksl('Administrator','3','spotListclass');</script>

ElevatedShortcut

ElevatedShortcutは、runasショートカットを作成することができるソフトウェアです。

ElevatedShortcutはWindowsチューニングソフトウェア「Winaero」に統合されたので単体の公開は終わってますが、Internet Archiveから入手することができます。

入手方法↓

UACダイアログをパスしてプログラムを実行させる方法|Elevated Shortcut

起動しようとしているプログラムが管理者権限を要求する場合、UACダイアログが表示され起動処理が中断します。 Windows 7に搭載されたこのセキュリティの仕組みにより、ウイルスや...

まとめ

PC [UACをスキップする方法]
  • runas.exe ショートカットを作成すると、UACをスキップすることができる。
  • コマンド:
    > runas /savecred /user:administrator c:\program_pass
  • runas.exe の引数に Administrator を使用するため、Administratorがアクティブ化されている必要がある。
  • ElevatedShortcut(フリーソフト)を利用する方法もある。
 External link


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。