Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ets5-password-recovery — ETS5 パスワード回復ツールは CVE-2021-36799 の PoC です | Kitploit
ツール/GitHubGitHub/robertguetzkow/ets5-password-recovery
パスワードクラッキング暗号化/復号化ツール脆弱性分析エクスプロイトリバースエンジニアリング暗号化Archived
GitHubrobertguetzkow/ets5-password-recovery

ets5-password-recovery

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

ETS5 パスワード回復ツールは CVE-2021-36799 の PoC です

リポジトリを見る
334184年前未レビュー

ETS5 パスワードリカバリツール

目次

  • はじめに
  • インストール
  • 要件
  • パスワードリカバリの仕組み
  • 設計上の欠陥はどのように発見されたか?
  • リスクを軽減するには?
  • 協調的な脆弱性開示
  • ライセンス
  • 変更履歴

はじめに

ETS5プロジェクトのパスワードを忘れてしまい、KNXインストールの設定にアクセスできなくなりましたか? ETS5パスワードリカバリツールを使用すると、ETS5のプロジェクトストアに保存されたプロジェクトパスワードやその他の秘密情報を取得できます。これは、ETS5に重大な設計上の欠陥があり、プロジェクト情報を暗号化するためにハードコードされたパスワードとソルトを使用しているためです (CVE-2021-36799)。

Command prompt

暗号化の秘密をソースコードに保存することは推奨されません。ソフトウェアのリバースエンジニアリングにより取得される可能性があり、情報を平文で保存するのと大差ない保護しか提供しないためです。これはKNXインストールのセキュリティに対する脅威となる可能性があります。攻撃者がプロジェクトストアのファイルにアクセスできた場合、プロジェクトパスワードを知らなくても復号化できます。そこに含まれる情報により、KNXデバイスを盗聴、なりすまし、再設定することが可能になります。これは特に問題です。なぜならETS5は、エクスポートされたプロジェクトだけでなく、プロジェクト情報の暗号化にプロジェクトパスワードが使用されるという印象をユーザーに与えるからです。そのため、多くのユーザーやシステムインテグレーターがプロジェクトストアの機密性を確保するための追加の対策を講じていない可能性が高いです。ETS5が適切に暗号化を実装し、強力なプロジェクトパスワードが選択されていれば、たとえ攻撃者がコンピューターへのリモートアクセスを取得したとしても、より困難な課題を提供できたでしょう。

以下の機密情報が不適切に暗号化されています:

  • プロジェクトパスワード
  • FDSK
  • バックボーンキー
  • デバイス認証コードと派生キー
  • デバイス管理パスワードと派生キー
  • ユーザー/トンネリングパスワードと派生キー
  • ツールキー

ETS5パスワードリカバリツールは、機密情報を復号化して表示することで問題を実証する概念実証です。これは協調的な脆弱性開示の一環として開発され、KNX協会の許可を得て公開されています。このツールを公開する目的は次のとおりです:

  1. セキュリティ問題を公に文書化し、ユーザーがリスクを軽減するための予防措置を取れるようにする。
  2. KNX協会は現在または将来のETSバージョンでこの問題を修正する予定はありません。設計上の欠陥についての認識を高めることで、彼らの考えが変わるかもしれません。(更新については協調的な脆弱性開示セクションを参照)
  3. 設計上の欠陥を開示することで、KNX協会およびこのドキュメントを読むすべての人がより良いソフトウェアエンジニアリングの実践を採用することを期待します。
  4. ETS5パスワードリカバリツールは、誰かが自分のプロジェクトのパスワードを忘れた場合に実際に役立つ可能性があります。

警告: このツールは、プロジェクト情報を表示する法的権限がある場合にのみ使用してください。セキュリティ対策(効果がないものであっても)を回避して、見ることが許可されていない情報にアクセスすることは、あなたの管轄区域では重罪となる可能性があります。

インストール

実行ファイルはリリースセクションからダウンロードできます。インストールは不要で、任意のディレクトリに配置できます。

あるいは、システム上で信頼できないバイナリを実行したくない場合は、CyberChef WebサイトでプロジェクトのXMLファイルから個々の属性を復号化できます。

要件

このソフトウェアは.NET Framework 4.6以降に依存しています。Windows 10にはデフォルトで適切な.NETバージョンが含まれています。それ以前のWindowsバージョンのユーザーは、ソフトウェアを実行するために最新の.NET Frameworkバージョンをインストールする必要があります。

パスワードリカバリの仕組み

ユーザーインターフェースが示唆するのとは反対に、ETS5はC:\ProgramData\KNX\ETS5\ProjectStoreにあるローカルに保存されたプロジェクトファイルをプロジェクトパスワードで暗号化しません。代わりに、ハードコードされたパスワードETS5PasswordとソルトIvan Medvedevを使用して、プロジェクトのXMLファイル内の特定の属性を難読化します。ハードコードされた暗号化の秘密はベストプラクティスに反しており、CWE-798およびCWE-321で説明されています。

難読化解除のプロセスは次のとおりです:

  1. 難読化された属性はBase64エンコードされており、デコードする必要があります(RFC 4648参照)。
  2. Ivan Medvedevのバイト表現をASCIIまたはUTF-8エンコードされた文字列として取得します。
  3. .NET FrameworkのPasswordDeriveBytesによって実装されたキー導出関数を使用します。これはPBKDF1に基づいていますが、キー導出アルゴリズムにカウンターを追加しています。ETS5では、ハッシュ関数としてSHA-1、イテレーション数100、パスワードとしてETS5Password、ソルトとしてIvan Medvedevのバイト表現を使用します。キー導出出力の最初の32バイトをキーとして使用し、続く16バイトをIVとして使用します。
  4. 手順3のキーとIVを使用して、AES-256 CBCモードでデコードされた属性を復号化します。
  5. PKCS#7パディングを削除すると、結果が属性の元の値になります。

難読化解除の実装はDeobfuscator.csファイルにあります。パスワードとソルトは一定であるため、キーとIVを事前計算してキー導出をスキップすることも可能です。このソフトウェアの実装では、難読化解除の全手順を示すことを目的としているため、それは行われていません。ただし、キーとIVが必要な場合は、以下にリストされています。

HexBase64
Key22BD16CDBB96B0E18E977BB3FEFADD8886E7E38A2F8A6FD9D2F2F5663AC20371Ir0WzbuWsOGOl3uz/vrdiIbn44ovim/Z0vL1ZjrCA3E=
IV8E977BB3FEFADD88E6AE6CBEAE3E7CAFjpd7s/763Yjmrmy+rj58rw==

エクスポートされたプロジェクトファイル(.knxproj)はこの設計上の欠陥の影響を受けないため、このツールを使用してそれらのプロジェクトパスワードを復元することはできません。.knxprojファイルはZIPファイルであり、その中に機密情報を含む別のZIPファイルが含まれています。後者はDeflate圧縮、ZipCrypto / PKWARE暗号化、および暗号化キーの導出にプロジェクトパスワードを使用しています。

設計上の欠陥はどのように発見されたか?

私の論文"Security Analysis of the KNXnet/IP Secure Protocol"の準備中に、ETS5がプロジェクト情報をどのように保存するかを調査しました。ETSはKNX IP Secureデバイスが相互認証、マルチキャスト通信の機密性、およびデバイス設定のセキュリティを確保するために使用する暗号化キーとパスワードを生成および保存するため、情報を秘密に保つことが重要です。攻撃者がETSによって保存されたプロジェクト情報にアクセスできた場合、KNXインストールのセキュリティが完全に侵害されます。

このため、ETS5のプロジェクトストアが検査され、データが機密性を確保する方法で保存されているかどうかが確認されました。C:\ProgramData\KNX\ETS5\ProjectStore内のプロジェクトファイルはすべてのユーザーアカウントで読み取り可能であり、管理者権限は必要ありません。データが適切に暗号化されていない疑いを引き起こす以下の指標が見つかりました:

  1. XML設定ファイルは全体として暗号化されていません。デバイス認証コード、デバイス管理パスワード、FDSK、ツールキーなどの機密属性のみが、平文の値を含まないように変更されています。
  2. プロジェクトパスワードの属性がXMLファイルの1つに保存されています。適切な実装では暗号化はプロジェクトパスワードからキーを導出するため、保存は厳密には必要ありませんでした。しかし、仮説的には、他の属性を復号化する前に入力されたパスワードが正しいかどうかを確認するために使用された可能性があります。
  3. 異なるプロジェクトパスワードを持つ2つのプロジェクトで、同一のデバイスがいくつかのデバイス固有の属性(FDSKなど)に対して同じ値を持っていました。

最後の点は、属性値を変更するアルゴリズムにプロジェクトパスワードが使用されていないことを明確に示していました。以下に例を示します。2つのプロジェクトP-02FBとP-0117のデバイス認証コードが同一の値に設定されていました。異なるプロジェクトパスワードが使用されているにもかかわらず、難読化された出力も同じです。ETS5でプロジェクトを開く際にプロジェクトパスワード以外の入力を促すものがないため、キーはどこかに保存されているか、キーを必要としない単純な難読化アルゴリズムである必要がありました。この解決策は機密性を確保するのに理想的ではなく、KNXインストールを危険にさらす可能性が高いと思われました。

ツールをダウンロード