ログイン画面で任意のプログラムを実行する

正直今更するような話ではないですし、前にもこんなのを書きましたが、今更ながらWindows7の起動時に権限昇格が出来る件が流れていたので、その辺についてサラーっと…


ログイン前に任意のプログラムを実行する - kkrnt


Windows 7の起動時に管理者権限を強制的に取得する裏技 - GIGAZINE

管理者権限を得るとかそういうのは関係なく、ログイン画面上で任意のプログラムを起動する方法は幾つか存在します

例えば、固定キー機能というものがあります
これはWindows7に限らず、XPから8.1の今まで存在するものです

これはSystem32フォルダのsethc.exeや

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe

などをゴニョればイジれます

ユーザアカウントにログインしていない状態で固定キー機能を動作させると、NT AUTHORITY\SYSTEMで起動します
なのでnet user等でアカウントのパスワードを変更する等が可能になります



他にも、AppInit_DLLsというものがあります
Windows 7 および Windows Server 2008 R2 における AppInit_DLLs


AppInit_DLLsを利用することでログイン画面が起動した段階でcmd.exeを起動するなどが可能になります


ここまでの話は基本的にレジストリ等をイジれないといけないので、一般ユーザから管理者権限になれるとかそういう話には全く関係ありません


では管理者権限を得る方法はないのか?という話になりますが、Windows7では例の記事のような方法がありますし、Windows8や8.1は別の方法でそれが可能になります


① まずWindows8や8.1の起動ディスクを用意します
② それをPC上で起動します
③ 起動すると言語の設定などが出てくると思うので、そこでShift+F10を押します
④ するとcmd(?)が起動します
⑤ sethc.exeをcmd.exeなどで上書きし、再起動を掛けます
⑥ ログイン画面の左下のやつで固定キーをOnにします
⑦ Shiftを5回押すと先ほど上書きしたものが起動します


これらを対処する方法としてはBIOSやHDDにパスワードを掛けるだとか、物理的に他人に触らせないようにするなどがあるでしょう


Windowsはユーザアカウントにパスワードを設定してるから安心というわけではありません

気をつけて管理しましょう