hacktricks/todo/hardware-hacking
2024-04-04 08:55:56 +00:00
..
i2c.md Translated ['forensics/basic-forensic-methodology/memory-dump-analysis/R 2024-02-09 02:33:52 +00:00
jtag.md Translated ['forensics/basic-forensic-methodology/memory-dump-analysis/R 2024-02-09 02:33:52 +00:00
radio.md Translated ['forensics/basic-forensic-methodology/memory-dump-analysis/R 2024-02-09 02:33:52 +00:00
README.md Translated ['forensics/basic-forensic-methodology/memory-dump-analysis/R 2024-02-09 02:33:52 +00:00
spi.md Translated ['todo/hardware-hacking/spi.md'] to jp 2024-03-11 14:47:05 +00:00
uart.md Translated ['todo/hardware-hacking/uart.md'] to jp 2024-04-04 08:55:56 +00:00

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法

JTAG

JTAGはバウンダリスキャンを実行することを可能にします。バウンダリスキャンは、各ピンの埋め込みバウンダリスキャンセルとレジスタを含む特定の回路を分析します。

JTAG標準は、次のようなバウンダリスキャンを実行するための特定のコマンドを定義しています:

  • BYPASSは、他のチップを経由せずに特定のチップをテストできます。
  • SAMPLE/PRELOADは、デバイスが通常の動作モードにあるときに入出力データのサンプルを取ります。
  • EXTESTは、ピンの状態を設定および読み取ります。

他のコマンドもサポートできます:

  • デバイスを識別するためのIDCODE
  • デバイスの内部テストのためのINTEST

JTAGulatorのようなツールを使用すると、これらの命令に遭遇することがあります。

テストアクセスポート

バウンダリスキャンには、コンポーネントに組み込まれたJTAGテストサポート機能にアクセスを提供する汎用ポートである**4本のワイヤーテストアクセスポートTAP**のテストが含まれます。TAPは次の5つの信号を使用します

  • テストクロック入力(TCKTCKは、TAPコントローラが単一のアクションを取る頻度を定義するクロックです(つまり、ステートマシン内の次の状態に移動します)。
  • テストモード選択(TMS)入力 TMSは有限状態マシンを制御します。クロックのビートごとに、デバイスのJTAG TAPコントローラはTMSピンの電圧をチェックします。電圧がある閾値以下の場合、信号は低いと見なされ、0と解釈されます。一方、電圧がある閾値を超えると、信号は高いと見なされ、1と解釈されます。
  • テストデータ入力(TDITDIは、スキャンセルを介してチップにデータを送信するピンです。各ベンダーは、このピンを介した通信プロトコルを定義する責任があります。なぜなら、JTAGはこれを定義していないからです。
  • テストデータ出力(TDOTDOは、チップからデータを送信するピンです。
  • テストリセット(TRST)入力 オプションのTRSTは、有限状態マシンを既知の正常な状態にリセットします。代替として、TMSが5つの連続したクロックサイクルで1に保持されている場合、リセットを呼び出し、TRSTピンと同じように動作します。そのため、TRSTはオプションです。

場合によっては、これらのピンがPCBにマークされていることがあります。他の場合は、見つける必要があるかもしれません。

JTAGピンの識別

JTAGポートを検出する最速で最も高価な方法は、この目的のために作成されたデバイスであるJTAGulatorを使用することですUARTピン配置も検出できます)。

24チャンネルをボードのピンに接続できます。その後、IDCODEおよびBYPASSバウンダリスキャンコマンドを送信するすべての可能な組み合わせのBF攻撃を実行します。応答を受信した場合、各JTAG信号に対応するチャンネルが表示されます。

JTAGピン配置を特定するより安価でかなり遅い方法は、Arduino互換マイクロコントローラにロードされたJTAGenumを使用することです。

JTAGenumを使用すると、まず、列挙のために使用するプローブデバイスのピンを定義する必要があります。デバイスのピン配置図を参照し、これらのピンをターゲットデバイスのテストポイントに接続する必要があります。

JTAGピンを特定する3番目の方法は、PCBを検査してピン配置の1つを見つけることです。場合によっては、PCBがTag-Connectインターフェースを提供していることがあり、これはボードにJTAGコネクタがあることを明確に示しています。そのインターフェースの外観はhttps://www.tag-connect.com/info/で確認できます。さらに、PCB上のチップセットのデータシートを検査すると、JTAGインターフェースを指すピン配置図が明らかになる場合があります。

SDW

SWDはARM固有のデバッグ用プロトコルです。

SWDインターフェースには2本のピンが必要です:双方向のSWDIO信号JTAGのTDIおよびTDOピンに相当)とクロックであるSWCLKJTAGのTCKに相当。多くのデバイスは、SWDまたはJTAGプローブをターゲットに接続できる**Serial WireまたはJTAGデバッグポートSWJ-DP**をサポートしています。