悪意のあるアプリケーションからWindowsを守るための防波堤
runas (runas.exe)
runasコマンドは、Windowsに実装されたコマンドラインツールで、他のユーザーの権限でプログラムやコマンドを実行する機能を持っています。
runasコマンドを使用することで、現在ログインしているユーザーとは別のユーザーアカウントでプログラムを実行することができます。
例えば、管理者特権でプログラムを実行したい場合、runasコマンドを使って、管理者アカウントでプログラムを実行することができます。
UAC (User Account Control)
ユーザーアカウント制御(UAC)は、Windowsのセキュリティ機能の一つで、管理者特権で実行される悪意のあるコードを制限することで、マルウェアのリスクを軽減するために設計されています。
UACは、各アプリケーションで管理者アクセストークンを必要とし、エンドユーザーに同意を求める必要があります。ただし、親プロセスと子プロセスの間に存在するリレーションシップでは、子プロセスは親プロセスからユーザーのアクセストークンを継承します。
UACは、Windows Vista以降のWindowsに実装されたセキュリティの基盤となる技術のためデフォルトで有効になっており、アプリケーションのインストールやシステム設定を変更する場合など、Windowsシステムに重要な変更を加える際に、実行を許可するかどうかを事前に確認する機能です。
これにより、マルウェアなどの悪意のあるアプリケーションがWindowsシステムを安易に変更できないようになりました。
Windowsは次の動作をします。
UACが反応した時のWindows
「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」
RUNAS.exe
スタートアップフォルダに登録したプログラムの中に管理者特権を要求するものがある場合、UACダイアログが表示され処理が中断しますが、runas を利用するとはいをクリックする手間を省くことができます。
具体的には、runas のオプションスイッチ /savecred を使います。
コマンドプロンプトはちょっと~...?
という場合は、runasコマンドショートカットを作成することができる ElevatedShortcut を利用する方法があります。
ElevatedShortcut は Winaero Tweakerに統合されましたが、Internet Archive からダウンロードすることができます。
特にこだわりがなければ、WinaeroTweaker を利用しましょう。
UAC の弊害
例えば、
スタートアップフォルダーに登録されたプログラム(またはショートカット)は、Windows OS のロードが終わると自動的に実行されますが、管理者特権を要求するプログラムの順番になるとUACが反応して処理が中断します。
ユーザーは「はい|いいえ」を選択するまで先に進めないので、安全性が確認されているプログラムでも「はい」を選択するまで先に進めないのは煩わしいです。
スタートアップフォルダー
※Windows 10の例スタートアップフォルダーは自動起動させたいプログラムのショートカットを登録するためのWindowsの特殊なフォルダーです。
*ABC: Login account Name
すべてのユーザーに有効
UACをスキップする方法
runasチェック
runas.exeが実行可能か否かを確認することができます。
通常起動したコマンドプロンプトを使用します。
実行するコマンド。
"RUNAS 使用法:" と表示されたら runas コマンドが利用できます。併せてヘルプが表示されるので参考にしてください。
c:\_
| 管理者:コマンド プロンプト | ー □ × |
C:\Windows\System32>runas /? RUNAS 使用法: RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ] /user:<ユーザー名> プログラム RUNAS [ [/noprofile | /profile] [/env] [/savecred] ] /smartcard [/user:<ユーザー名>] プログラム |
以下の場所にrunas.exeが存在することを確認しましょう。
C:\Windows\System32\runas.exe
管理者特権でコマンドプロンプトを起動してもヘルプが表示されない時は、お使いのPCはrunas.exeは使用できません。
レアケースですね...
たぶんシステムがおかしい...かも?
コマンドプロンプトから実行する
コマンドプロンプトで正しく動作したら、入力したコマンド一式をショートカットとして保存する方法がお勧めです。[/savecred] オプションは初回に限りダイアログが表示されます。2回目以降は表示されません。
書式は次の通りです。
<プログラムのパス>はフルパスを指定します。
以下は、通知領域の時計を改造することができるソフトウェア「TClock」を管理者として起動するための設定例です。
c:\_
| 管理者:コマンド プロンプト | ー □ × |
C:\>runas /savecred /user:administrator "c:\tclock\tclock.exe" |
ショートカットを作成する
1. 新規作成ウィザードを起動する
2. 場所を入力する
※参照ボタンは使いません[手順]
- 「項目の場所を入力してください」の下に runas ... コマンドを入力する
- 次へを選択する
3. 名前をつける
[手順]- 「このショートカットの名前を入力してください」の下に任意の文字列を入力する
- 完了をクリックする
入力例:runas TClock
パスワードを要求される?
ショートカットを実行した時に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ダイアログをスキップすることができますが、セキュリティ上好ましくないのでお勧めできません。
Administrator
Administrator はWindowsの特別なアカウントです。
runas.exe を使用する時は、Administrator が使える状態になっている必要があります。
ElevatedShortcut
ElevatedShortcutは、runasショートカットを作成することができるソフトウェアです。
ElevatedShortcutはWindowsチューニングソフトウェア「Winaero」に統合されたので単体の公開は終わってますが、Internet Archiveから入手することができます。
入手方法↓
UACダイアログをパスしてプログラムを実行させる方法|Elevated Shortcut
起動しようとしているプログラムが管理者特権を要求する場合、UACダイアログが表示され起動処理が中断します。 Windows 7に搭載されたこのセキュリティの仕組みにより、ウイルスや...
まとめ
Elevated Shortcut は、UACをバイパスするショートカットを作成するツールです。
このサイトを検索 | Search this site