本記事の対象者
・ダンプファイルの解析をする目的で、意図的にブルースクリーンを発生させたい人
・セキュリティ関連の技術者で、どうしたらWindowsでブルースクリーンが発生してしまうのか知りたい人
・Microsoftに恨みがあって、WindowsをBSODにしてやりたい人
他人のコンピューターでBSODを発生させると、刑事・民事上の責任を問われる可能性があります。必ず仮想環境で実行してください。
方法1. 重要なプロセスを〇す
Windowsの続行が困難な程重要なプロセスが強制終了された場合、BSODになります。
具体的には、「wininit.exe」「ntoskrnl.exe」「svchost.exe」などです。
taskkill /IM:svchost.exe /F
通常のWindows環境では「wininit.exe」などをセキュリティ上の理由で強制終了できない場合があるらしいです。
方法2. システム破壊
WindowsディレクトリのSystem32あたりを管理者権限で削除して再起動すると、ブルースクリーンになります。
rem 注意: 管理者権限で実行しないとアクセス拒否されてブルースクリーンになりません
rd /s /q %systemroot%/System32/
ただし、__実行には時間がかかる上に復旧するにはOSを再インストールする他ない__ので、あまりオススメしません。
方法3. 開発者用の方法を使う
以下のレジストリに「CrashOnCtrlScroll」という名前の__32ビットキー__を作り、値を「1」とします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
OSを再起動し、キーボードの右側のCtrlを押しながら「Scroll Lock」を2回押すとブルースクリーンになります。
ただし、右Ctrlの無いキーボードを使っている場合には実行できません。ご注意を。
方法4. 脆弱性(バグ)を利用する
ブラウザから、以下のURLを開くとBSODが発生します。
\\.\globalroot\device\condrv\kernelconnect
以下、 https://security.srad.jp/story/21/01/19/1922232/ から引用
問題のパスは「\.\globalroot\device\condrv\kernelconnect」というもので、先日NTFSの脆弱性を公表して話題になったJonas Lykkegaard氏が昨年10月、BSoDを引き起こす方法としてさらっとツイートしていた。当時は特に注目されなかったが、NTFSの脆弱性公表に伴って発掘されたようだ。このパスはコンソールドライバー(condrv.sys)を示すWin32デバイス名前空間パスだが、Lykkegaard氏はカーネルモード/ユーザーモードのプロセス間通信に使うものだと考えているという。このパスを使用するには属性の付加が必要だが、属性を付加しないでアクセスした場合に適切なエラーチェックが行われず、BSoDが発生するとのこと。
私の手元のEdge環境では、「ファイルが見つかりません」となってしまい、実現できませんでしたが、__2021年の2月ごろまでのビルドのWindowsであれば実現できる__らしい。(根拠無し)
方法5. 外部アプリを使う
「NotMyFault」と呼ばれる、意図的にブルースクリーンを発生させるアプリを利用すればクリック一回でBSODを出せます。
こちらは__エラーの種類や、ブルースクリーンの色を変更できる__(もはやブルースクリーンじゃないんだが)ので便利です。
最後に
BSODを発生させると、メモリーの内容が自動的に「%systemroot%\MEMORY.DMP」に保存されます。
あとは、このファイルを外部のツールなどで解析してください。