diff --git a/src/hardware-physical-access/physical-attacks.md b/src/hardware-physical-access/physical-attacks.md index cf2b88280..fac7e9cb7 100644 --- a/src/hardware-physical-access/physical-attacks.md +++ b/src/hardware-physical-access/physical-attacks.md @@ -6,51 +6,111 @@ **BIOSのリセット**は、いくつかの方法で実行できます。ほとんどのマザーボードには**バッテリー**が含まれており、これを約**30分**取り外すことで、パスワードを含むBIOS設定がリセットされます。あるいは、**マザーボード上のジャンパー**を調整して、特定のピンを接続することでこれらの設定をリセットすることもできます。 -ハードウェアの調整が不可能または実用的でない場合、**ソフトウェアツール**が解決策を提供します。**Kali Linux**のようなディストリビューションを使用して**Live CD/USB**からシステムを実行することで、BIOSパスワードの回復を支援する**_killCmos_**や**_CmosPWD_**のようなツールにアクセスできます。 +ハードウェアの調整が不可能または実用的でない場合、**ソフトウェアツール**が解決策を提供します。**Kali Linux**のようなディストリビューションを使用して**Live CD/USB**からシステムを起動することで、BIOSパスワードの回復を支援する**_killCmos_**や**_CmosPWD_**などのツールにアクセスできます。 -BIOSパスワードが不明な場合、誤って**3回**入力すると、通常はエラーコードが表示されます。このコードは、[https://bios-pw.org](https://bios-pw.org)のようなウェブサイトで使用して、使用可能なパスワードを取得する可能性があります。 +BIOSパスワードが不明な場合、通常、3回間違って入力するとエラーコードが表示されます。このコードは、[https://bios-pw.org](https://bios-pw.org)のようなウェブサイトで使用して、使用可能なパスワードを取得するために利用できます。 ### UEFIセキュリティ -従来のBIOSの代わりに**UEFI**を使用する現代のシステムでは、ツール**chipsec**を利用してUEFI設定を分析および変更し、**Secure Boot**を無効にすることができます。これは次のコマンドで実行できます: +従来のBIOSの代わりに**UEFI**を使用している現代のシステムでは、ツール**chipsec**を利用してUEFI設定を分析および変更し、**Secure Boot**を無効にすることができます。これは、次のコマンドで実行できます: +```bash +python chipsec_main.py -module exploits.secure.boot.pk +``` +--- -`python chipsec_main.py -module exploits.secure.boot.pk` +## RAM分析とコールドブート攻撃 -### RAM分析とコールドブート攻撃 +RAMは電源が切れた後、通常**1〜2分**の間データを保持します。この持続性は、液体窒素などの冷却物質を適用することで**10分**に延長できます。この延長された期間中に、**dd.exe**や**volatility**などのツールを使用して**メモリダンプ**を作成し、分析することができます。 -RAMは電源が切れた後、通常**1〜2分**間データを保持します。この持続性は、液体窒素のような冷却物質を適用することで**10分**に延長できます。この延長された期間中に、**dd.exe**や**volatility**のようなツールを使用して**メモリダンプ**を作成し、分析することができます。 +--- -### ダイレクトメモリアクセス(DMA)攻撃 +## ダイレクトメモリアクセス(DMA)攻撃 -**INCEPTION**は、**DMA**を通じて**物理メモリ操作**を行うために設計されたツールで、**FireWire**や**Thunderbolt**のようなインターフェースと互換性があります。これは、任意のパスワードを受け入れるようにメモリをパッチすることでログイン手続きをバイパスすることを可能にします。ただし、**Windows 10**システムには効果がありません。 +**INCEPTION**は、**物理メモリ操作**のために設計されたツールで、**FireWire**や**Thunderbolt**などのインターフェースと互換性があります。これは、メモリをパッチして任意のパスワードを受け入れることでログイン手続きをバイパスすることを可能にします。ただし、**Windows 10**システムには効果がありません。 -### システムアクセスのためのLive CD/USB +--- -**_sethc.exe_**や**_Utilman.exe_**のようなシステムバイナリを**_cmd.exe_**のコピーで変更することで、システム権限を持つコマンドプロンプトを提供できます。**chntpw**のようなツールを使用して、Windowsインストールの**SAM**ファイルを編集し、パスワードを変更することができます。 +## システムアクセスのためのライブCD/USB -**Kon-Boot**は、WindowsカーネルまたはUEFIを一時的に変更することで、パスワードを知らなくてもWindowsシステムにログインできるツールです。詳細は[https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/)で確認できます。 +**_sethc.exe_**や**_Utilman.exe_**を**_cmd.exe_**のコピーに変更することで、システム権限を持つコマンドプロンプトを提供できます。**chntpw**などのツールを使用して、Windowsインストールの**SAM**ファイルを編集し、パスワードを変更することができます。 -### Windowsセキュリティ機能の取り扱い +**Kon-Boot**は、WindowsカーネルまたはUEFIを一時的に変更することで、パスワードを知らなくてもWindowsシステムにログインすることを容易にするツールです。詳細は[https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/)で確認できます。 -#### ブートおよびリカバリーショートカット +--- + +## Windowsセキュリティ機能の取り扱い + +### ブートおよびリカバリーショートカット - **Supr**: BIOS設定にアクセス。 - **F8**: リカバリーモードに入る。 - Windowsバナーの後に**Shift**を押すことで、自動ログインをバイパスできます。 -#### BAD USBデバイス +### BAD USBデバイス **Rubber Ducky**や**Teensyduino**のようなデバイスは、ターゲットコンピュータに接続されたときに事前定義されたペイロードを実行できる**bad USB**デバイスを作成するためのプラットフォームとして機能します。 -#### ボリュームシャドウコピー +### ボリュームシャドウコピー -管理者権限を使用すると、PowerShellを通じて**SAM**ファイルを含む機密ファイルのコピーを作成できます。 +管理者権限を持つことで、PowerShellを通じて**SAM**ファイルを含む機密ファイルのコピーを作成できます。 -### BitLocker暗号化のバイパス +--- -BitLocker暗号化は、**MEMORY.DMP**ファイル内に**リカバリーパスワード**が見つかればバイパスできる可能性があります。これには、**Elcomsoft Forensic Disk Decryptor**や**Passware Kit Forensic**のようなツールを利用できます。 +## BitLocker暗号化のバイパス -### リカバリーキー追加のためのソーシャルエンジニアリング +BitLocker暗号化は、**メモリダンプファイル**(**MEMORY.DMP**)内に**リカバリーパスワード**が見つかればバイパスできる可能性があります。これには、**Elcomsoft Forensic Disk Decryptor**や**Passware Kit Forensic**などのツールを利用できます。 + +--- + +## リカバリーキー追加のためのソーシャルエンジニアリング + +新しいBitLockerリカバリーキーは、ユーザーに新しいリカバリーキーをゼロで構成するコマンドを実行させることで追加できます。これにより、復号プロセスが簡素化されます。 + +--- + +## シャーシ侵入/メンテナンススイッチを利用してBIOSを工場出荷時設定にリセットする + +多くの現代のノートパソコンや小型デスクトップには、埋め込みコントローラー(EC)とBIOS/UEFIファームウェアによって監視される**シャーシ侵入スイッチ**が含まれています。このスイッチの主な目的は、デバイスが開かれたときに警告を発することですが、ベンダーは時折、特定のパターンでスイッチが切り替えられたときにトリガーされる**文書化されていないリカバリーショートカット**を実装します。 + +### 攻撃の仕組み + +1. スイッチはECの**GPIO割り込み**に接続されています。 +2. EC上で動作するファームウェアは、**押された回数とタイミング**を追跡します。 +3. ハードコーディングされたパターンが認識されると、ECは*メインボードリセット*ルーチンを呼び出し、**システムNVRAM/CMOSの内容を消去**します。 +4. 次回のブート時に、BIOSはデフォルト値を読み込みます – **スーパーバイザーパスワード、セキュアブートキー、およびすべてのカスタム設定がクリアされます**。 + +> セキュアブートが無効になり、ファームウェアパスワードが消去されると、攻撃者は単に任意の外部OSイメージをブートし、内部ドライブへの制限のないアクセスを取得できます。 + +### 実際の例 – Framework 13ノートパソコン + +Framework 13(第11/12/13世代)のリカバリーショートカットは: +```text +Press intrusion switch → hold 2 s +Release → wait 2 s +(repeat the press/release cycle 10× while the machine is powered) +``` +10回目のサイクルの後、ECはBIOSに次回の再起動時にNVRAMを消去するよう指示するフラグを設定します。この手順全体は約40秒かかり、**ドライバー以外は何も必要ありません**。 + +### 一般的な悪用手順 + +1. ターゲットの電源を入れるか、サスペンドから復帰させてECを動作させます。 +2. 下部カバーを取り外して侵入/メンテナンススイッチを露出させます。 +3. ベンダー固有のトグルパターンを再現します(ドキュメント、フォーラムを参照するか、ECファームウェアをリバースエンジニアリングします)。 +4. 再組み立てて再起動します - ファームウェアの保護は無効化されるはずです。 +5. ライブUSB(例:Kali Linux)をブートし、通常のポストエクスプロイト(資格情報のダンプ、データの抽出、悪意のあるEFIバイナリの埋め込みなど)を実行します。 + +### 検出と緩和 + +* OS管理コンソールでシャーシ侵入イベントをログに記録し、予期しないBIOSリセットと相関させます。 +* 開封を検出するために、ネジ/カバーに**改ざん防止シール**を使用します。 +* デバイスを**物理的に制御されたエリア**に保管します;物理的アクセスは完全な侵害を意味すると仮定します。 +* 利用可能な場合、ベンダーの「メンテナンススイッチリセット」機能を無効にするか、NVRAMリセットのために追加の暗号化認証を要求します。 + +--- + +## 参考文献 + +- [Pentest Partners – “Framework 13. Press here to pwn”](https://www.pentestpartners.com/security-blog/framework-13-press-here-to-pwn/) +- [FrameWiki – Mainboard Reset Guide](https://framewiki.net/guides/mainboard-reset) -新しいBitLockerリカバリーキーは、ユーザーに新しいリカバリーキーをゼロで構成するコマンドを実行させることで追加でき、これにより復号化プロセスが簡素化されます。 {{#include ../banners/hacktricks-training.md}}