Firmware Integrity
ファームウェアの整合性
カスタムファームウェアやコンパイルされたバイナリをアップロードして整合性や署名検証の欠陥を悪用することができます。バックドアバインドシェルのコンパイルには次の手順が続けられます:
ファームウェアはfirmware-mod-kit(FMK)を使用して抽出できます。
ターゲットのファームウェアアーキテクチャとエンディアンを特定する必要があります。
Buildrootや他の環境に適した方法を使用して、クロスコンパイラを構築できます。
クロスコンパイラを使用してバックドアを構築できます。
バックドアを抽出されたファームウェアの/usr/binディレクトリにコピーできます。
適切なQEMUバイナリを抽出されたファームウェアのrootfsにコピーできます。
chrootとQEMUを使用してバックドアをエミュレートできます。
バックドアにはnetcatを介してアクセスできます。
QEMUバイナリは抽出されたファームウェアのrootfsから削除する必要があります。
FMKを使用して修正されたファームウェアを再パッケージできます。
バックドア付きファームウェアは、ファームウェア解析ツールキット(FAT)を使用してエミュレートし、netcatを使用してターゲットのバックドアIPとポートに接続することでテストできます。
既にダイナミック解析、ブートローダー操作、またはハードウェアセキュリティテストを通じてルートシェルを取得している場合、インプラントやリバースシェルなどの事前にコンパイルされた悪意のあるバイナリを実行できます。Metasploitフレームワークや'msfvenom'などの自動ペイロード/インプラントツールを使用する場合は、次の手順を使用できます:
ターゲットのファームウェアアーキテクチャとエンディアンを特定する必要があります。
Msfvenomを使用して、ターゲットペイロード、攻撃者のホストIP、リスニングポート番号、ファイルタイプ、アーキテクチャ、プラットフォーム、および出力ファイルを指定できます。
ペイロードを侵害されたデバイスに転送し、実行権限があることを確認できます。
Metasploitを準備して、msfconsoleを起動し、設定をペイロードに応じて構成できます。
侵害されたデバイスでmeterpreterリバースシェルを実行できます。
開かれるmeterpreterセッションを監視できます。
ポストエクスプロイテーション活動を実行できます。
可能であれば、起動スクリプト内の脆弱性を悪用して、再起動時にデバイスに持続的なアクセス権を取得することができます。これらの脆弱性は、起動スクリプトが、SDカードやルートファイルシステム以外のデータを保存するために使用されるフラッシュボリュームなどの信頼できないマウントされた場所にあるコードを参照、シンボリックリンク、または依存している場合に発生します。
参考文献
詳細については、https://scriptingxss.gitbook.io/firmware-security-testing-methodology/を参照してください。
Last updated