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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
HLF_TxTime_spoofing — Hyperledger Fabric ブロックチェーンにおけるトランザクション時間操作の問題(CVE-2024-45244)を扱うPoC。 | Kitploit
ツール/GitHubGitHub/shanker-sec/hlf_txtime_spoofing
脆弱性分析エクスプロイト暗号化学習と教育
GitHubshanker-sec/hlf_txtime_spoofing

HLF_TxTime_spoofing

Hyperledger Fabric ブロックチェーンにおけるトランザクション時間操作の問題(CVE-2024-45244)を扱うPoC。

リポジトリを見るウェブサイト
2142年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

HLF_TxTime_spoofing

HLF_TxTime_spoofing - Hyperledger Fabric ブロックチェーンにおけるトランザクション時刻の改ざん(GetTxTimestamp() や GetHistoryForKey() の利用)問題を扱う PoC です。v2.5.5 および v3.0.0-beta でテスト済みです。

このプロジェクトは、以下の複数のパーツで構成されています:

  1. time_insecure - GetTxTimestamp() を使用して預金の利息を計算する、脆弱性のあるチェーンコード変種
  2. time_secure_ntp - NTP(Network Time Protocol)サーバーから時刻を取得して、預金の利息計算時に攻撃者による時刻偽装を防ぐチェーンコード
  3. time_secure_nts - NTS(Network Time Security)サーバーから時刻を取得して、預金の利息計算時に攻撃者による時刻偽装を防ぐチェーンコード
  4. time_secure_localtime - スマートコントラクトが実行される OS の時刻を使用して、預金の利息計算時に攻撃者による時刻偽装を防ぐチェーンコード すべての場合(すなわちチェーンコード)において、預金は年 20% です。

ビジネスロジックの動作を理解するための追加関数: CalcDividents() - 指定された日数と初期預金額に対して発生した配当を返します subtractTimestamp() - 現在時刻と初期預金時の時刻との差を返します

time_insecure ワークフロー

Stake_insecure() を呼び出して、初期預金額で預金を追加します。CheckDividents_insecure() を呼び出して、預金額が変更されていないことを確認します。クライアントのローカル時刻を変更し、再度 CheckDividents_insecure() を呼び出します。

金融攻撃: 時刻を 1 年進めることで、年 20% の利息を得ることができました。


金融攻撃の成功

同様に、GetHistoryForKey() でもトランザクション時刻が操作可能であることを確認します。

time_secure_ntp ワークフロー

このチェーンコードの変種では、NTP(Network Time Protocol)サーバーから受信した時刻とトランザクション時刻を照合します(ntp クライアントパッケージを使用)。各チェーンコードは配布用に独自の NTP サーバーアドレスを持ちます(すなわち異なるチェーンコードパッケージ)。時刻にずれがある場合は、「wrong time」というエラーが表示されます。NTP トラフィックのデータは偽装される可能性があることに注意してください(データは平文で送信されます)。

金融攻撃の失敗


time_secure_nts ワークフロー

このチェーンコードの変種では、NTS(Network Time Security)サーバーから受信した時刻とトランザクション時刻を照合します(nts クライアントパッケージを使用)。各チェーンコードは配布用に独自の NTS サーバーアドレスを持ちます(すなわち異なるチェーンコードパッケージ)。時刻にずれがある場合は、「wrong time」というエラーが表示されます。


金融攻撃の失敗

time_secure_localtime ワークフロー

このチェーンコードの変種では、トランザクション時刻をローカルタイム(すなわちピアノード内の時刻)と照合します。時刻にずれがある場合は、「wrong time」というエラーが表示されます。すべてのピアノードで正しい時刻が設定されている必要があることに注意してください。


金融攻撃の失敗

Time Oracle

hlf-time-oracle は、Hyperledger Fabric ブロックチェーン用のチェーンコードであり、他のチェーンコードに正確な時刻を提供します。hlf-time-oracle は ntp パッケージ と nts パッケージ に基づいています。これにより、ブロックチェーンクライアントによるトランザクション時刻の操作に関連するセキュリティ問題を解決します。このチェーンコードは GetTimeNtp() および GetTimeNts() 関数を提供します。これらの関数を呼び出すと、NTP(Network Time Protocol)および NTS(Network Time Security)サーバーへの呼び出しが作成されます。これらのいずれかのサーバーから受信した時刻は、クライアント側で定義されたトランザクション時刻の正確性を検証するために使用できます。ブロックチェーン用チェーンコードの開発者は、NTP および NTS サーバーとやり取りするコードを個別に記述する代わりに、hlf-time-oracle を使用できます。hlf-time-oracle は動作中にブロックチェーンへデータを一切保存しません。

ツールをダウンロード