Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
HLF_TxTime_spoofing — PoC, der das Problem der Manipulation der Transaktionszeit (CVE-2024-45244) in der Hyperledger Fabric Blockchain abdeckt. | Kitploit
Tools/GitHubGitHub/shanker-sec/hlf_txtime_spoofing
SchwachstellenanalyseExploitationKryptographieLernen & Bildung
GitHubshanker-sec/hlf_txtime_spoofing

HLF_TxTime_spoofing

PoC, der das Problem der Manipulation der Transaktionszeit (CVE-2024-45244) in der Hyperledger Fabric Blockchain abdeckt.

Repository anzeigen
214vor 2 JahrenNoch nicht geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

HLF_TxTime_spoofing

HLF_TxTime_spoofing – ein PoC, der das Problem der Manipulation der Transaktionszeit (mittels GetTxTimestamp() oder GetHistoryForKey()) in der Hyperledger-Fabric-Blockchain behandelt. Getestet mit v2.5.5 und v3.0.0-beta.

Das Projekt besteht aus mehreren Teilen:

  1. time_insecure – verwundbare Chaincode-Variante, die GetTxTimestamp() zur Berechnung der Zinsen einer Einlage verwendet.
  2. time_secure_ntp – ein Chaincode, der die Zeit über einen NTP-Server (Network Time Protocol) bezieht, um sich gegen Zeitmanipulation durch einen Angreifer bei der Zinsberechnung zu schützen.
  3. time_secure_nts – ein Chaincode, der die Zeit über einen NTS-Server (Network Time Security) bezieht, um sich gegen Zeitmanipulation durch einen Angreifer bei der Zinsberechnung zu schützen.
  4. time_secure_localtime – ein Chaincode, der die Zeit des Betriebssystems nutzt, auf dem der Smart Contract ausgeführt wird, um sich gegen Zeitmanipulation durch einen Angreifer bei der Zinsberechnung zu schützen. In allen Fällen (d. h. bei allen Chaincodes) beträgt die Verzinsung 20 % pro Jahr.

Zusätzliche Funktionen zum Verständnis der Geschäftslogik: CalcDividents() – gibt die für eine bestimmte Anzahl von Tagen angesammelte Dividende und den ursprünglichen Einlagebetrag zurück. subtractTimestamp() – gibt die Differenz zwischen der aktuellen Zeit und dem Zeitpunkt der Ersteinlage zurück.

time_insecure – Arbeitsablauf

Rufen Sie Stake_insecure() auf, um eine Einlage mit dem ursprünglichen Betrag hinzuzufügen. Rufen Sie CheckDividents_insecure() auf, um sicherzustellen, dass sich der Einlagebetrag nicht geändert hat. Ändern Sie die lokale Zeit auf dem Client und rufen Sie erneut CheckDividents_insecure() auf.

Finanzieller Angriff: Das Vorstellen der Zeit um ein Jahr ermöglichte es, 20 % Jahreszinsen zu erhalten.

Erfolgreicher finanzieller Angriff


Auf gleiche Weise stellen wir fest, dass die Transaktionszeit in GetHistoryForKey() manipuliert werden kann.

time_secure_ntp – Arbeitsablauf

In dieser Chaincode-Variante überprüfen wir die Transaktionszeit mit der Zeit, die vom NTP-Server (Network Time Protocol) bezogen wurde (unter Verwendung des NTP-Client-Pakets). Jeder Chaincode hat seine eigene NTP-Server-Adresse (d. h. unterschiedliche Chaincode-Pakete) zur Verteilung. Bei Zeitabweichung wird ein Fehler angezeigt: "wrong time". Hinweis: NTP-Verkehrsdaten können gefälscht werden (Daten werden im Klartext übertragen).


Nicht erfolgreicher finanzieller Angriff

time_secure_nts – Arbeitsablauf

In dieser Chaincode-Variante überprüfen wir die Transaktionszeit mit der Zeit, die vom NTS-Server (Network Time Security) bezogen wurde (unter Verwendung des NTS-Client-Pakets). Jeder Chaincode hat seine eigene NTS-Server-Adresse (d. h. unterschiedliche Chaincode-Pakete) zur Verteilung. Bei Zeitabweichung wird ein Fehler angezeigt: "wrong time".


Nicht erfolgreicher finanzieller Angriff

time_secure_localtime – Arbeitsablauf

In dieser Chaincode-Variante überprüfen wir die Transaktionszeit mit der lokalen Zeit (d. h. der Zeit auf dem Peer-Knoten). Bei Zeitabweichung wird ein Fehler angezeigt: "wrong time". Hinweis: Auf allen Peer-Knoten muss eine korrekte Systemzeit vorhanden sein.


Nicht erfolgreicher finanzieller Angriff

Time Oracle

hlf-time-oracle ist ein Chaincode für die Hyperledger-Fabric-Blockchain, der anderen Chaincodes eine genaue Zeit zur Verfügung stellt. hlf-time-oracle basiert auf dem NTP-Paket und dem NTS-Paket. Dadurch wird das Sicherheitsproblem gelöst, das mit der möglichen Manipulation der Transaktionszeit durch den Blockchain-Client verbunden ist. Der Chaincode stellt die Funktionen GetTimeNtp() und GetTimeNts() bereit. Der Aufruf dieser Funktionen erzeugt einen Aufruf der NTP- (Network Time Protocol) und NTS- (Network Time Security) Server. Die von einem dieser Server empfangene Zeit kann verwendet werden, um die Korrektheit der Client-seitig definierten Transaktionszeit zu überprüfen. Entwickler von Chaincodes für Blockchains können hlf-time-oracle anstelle des eigenständigen Schreibens von Code zur Interaktion mit NTP- und NTS-Servern verwenden. hlf-time-oracle speichert während seines Betriebs keine Daten in der Blockchain.

Tool herunterladen