2020年4月29日水曜日

BIOS パスワードを,ぶっ壊す!

タイトルもやってる内容も 3周くらい周回遅れ.

某所であてがわれている PC は BIOS パスワードを入れないと起動しない.セキュリティ的には無意味なばかりか,自動的な Windows Update も阻害されてまさに百害あって一利無し.Windows9x 時代のセキュリティを未だに引きずってるとか情報セキュリティ部門はどこも無能ばかり.ということで,BIOS パスワードを,ぶっ壊す!
BIOS パスワードを解除するのは簡単だけどルール違反なので,それを技術的にどうにかしようというのがこの記事の趣旨.

Cobito Card というキー自動入力デバイスがあって,これがやりたいことそのものなんだけど,¥2,300 はやりたいことに対して高すぎ.ここで Arduino 使えばできるんじゃね? と思いつき,いろいろ調べてみると Atmega32U4 が載っているやつなら Human Interface Device (HID) になれるらしいので,AliExpress で¥330 で互換ボード get.

BIOS パスワードを,ぶっ壊す!

でサクッと,電源入ったらパスワード文字列を入力するプログラム書いてみた.

ここ見ながら作業開始から実際に動かすまでわずか 30分.Arduino 超お手軽.
ちなみにプログラム書き込みモードにするためにはリセットスイッチをダブルクリックすれば,6秒くらいだけ書き込みモードになるらしい.自分ははんだ付けがめんどくさかったのでピンセットでショートさせて対応したが,これで良ければはんだ付けすら不要.

で,やってみたら電源 OFF 状態からの BIOS パスワードは自動でやってくれたけど,再起動からの BIOS パスワードは入力されない.再起動時は Arduino の電源は入りっぱなしだから,当たり前っちゃ当たり前.これでは一番の目的である Windows Update 時の再起動時には効果がない.

BIOS パスワードを,ぶっ壊す!

なので作戦変更.この Arduino ボードは HID デバイスとして動作させたときも USB シリアルが生きているので,
(1) Arduino の電源が入ったら,無限に bios パスワードを入力する
(2) タスクスケジューラで Windows 起動時に (1) を止めるシリアルコマンドを Arduino に入力する
(3) グループポリシーで,Windows 終了時に (1) を再開するシリアルコマンドを Arduino に入力する
のようにやってみた.

シリアルに "ssss" が入力されたらパスワード入力停止,"gggg" が入力されたら再開する.

シリアルに入力するためには,以下のような powershell で入力できる.引数に ssss か gggg を指定する.これをタスクスケジューラ / グループポリシーに登録する.

これによって再起動でも無事 BIOS パスワードが自動入力されるようになった.もちろん Windows 起動後は入力はストップするので,ログイン画面で永遠 BIOS パスワードを入力するようなこともない.

最後にもう一度,BIOS パスワードを,

0 件のコメント:

コメントを投稿