Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
HLF_TxTime_spoofing — PoC que cubre el problema de la manipulación del tiempo de transacción (CVE-2024-45244) en la blockchain de Hyperledger Fabric. | Kitploit
Herramientas/GitHubGitHub/shanker-sec/hlf_txtime_spoofing
Análisis de VulnerabilidadesExplotaciónCriptografíaAprendizaje y Educación
GitHubshanker-sec/hlf_txtime_spoofing

HLF_TxTime_spoofing

PoC que cubre el problema de la manipulación del tiempo de transacción (CVE-2024-45244) en la blockchain de Hyperledger Fabric.

Ver Repositorio
Sitio web
216hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

HLF_TxTime_spoofing

HLF_TxTime_spoofing: una PoC que cubre el problema de la manipulación de la hora de las transacciones (usando GetTxTimestamp() o GetHistoryForKey()) en la blockchain Hyperledger Fabric. Probado en v2.5.5 y v3.0.0-beta.

El proyecto consta de varias partes:

  1. time_insecure: variante del chaincode vulnerable que usa GetTxTimestamp() para calcular el interés de un depósito.
  2. time_secure_ntp: un chaincode que obtiene la hora de un servidor NTP (Network Time Protocol) para protegerse contra la suplantación de la hora por parte de un atacante al calcular el interés de un depósito.
  3. time_secure_nts: un chaincode que obtiene la hora de un servidor NTS (Network Time Security) para protegerse contra la suplantación de la hora por parte de un atacante al calcular el interés de un depósito.
  4. time_secure_localtime: chaincode que usa la hora del sistema operativo donde se ejecuta el contrato inteligente para protegerse contra la suplantación de la hora por parte de un atacante al calcular el interés de un depósito. En todos los casos (es decir, chaincodes), el depósito equivale al 20 % anual.

Funciones adicionales para comprender el funcionamiento de la lógica de negocio: CalcDividents(): devuelve el dividendo acumulado para un número determinado de días y el importe del depósito inicial. subtractTimestamp(): devuelve la diferencia entre la hora actual y la hora del depósito inicial.

time_insecure: flujo de trabajo

Llame a Stake_insecure() para añadir un depósito con el importe inicial. Llame a CheckDividents_insecure() para asegurarse de que el importe del depósito no ha cambiado. Cambie la hora local en el cliente y vuelva a llamar a CheckDividents_insecure().

Ataque financiero: adelantar la hora un año le permitió obtener un interés anual del 20 %.


Ataque financiero exitoso

De la misma manera, comprobamos que la hora de la transacción puede manipularse en GetHistoryForKey().

time_secure_ntp: flujo de trabajo

En esta variante del chaincode, comprobamos la hora de la transacción contra la hora recibida del servidor NTP (Network Time Protocol) (usando el paquete de cliente ntp). Cada chaincode tiene su propia dirección de servidor NTP (es decir, diferentes paquetes de chaincode) para su distribución. En caso de desviación horaria, se mostrará un error: "wrong time". Tenga en cuenta que los datos de tráfico NTP pueden ser suplantados (los datos se transmiten en texto plano).


Ataque financiero fallido

time_secure_nts: flujo de trabajo

En esta variante del chaincode, comprobamos la hora de la transacción contra la hora recibida del servidor NTS (Network Time Security) (usando el paquete de cliente nts). Cada chaincode tiene su propia dirección de servidor NTS (es decir, diferentes paquetes de chaincode) para su distribución. En caso de desviación horaria, se mostrará un error: "wrong time".


Ataque financiero fallido

time_secure_localtime: flujo de trabajo

En esta variante del chaincode, comprobamos la hora de la transacción contra la hora local (es decir, la hora en el nodo peer). En caso de desviación horaria, se mostrará un error: "wrong time". Tenga en cuenta que se requiere una sincronización horaria correcta en todos los nodos peer.


Ataque financiero fallido

Oráculo de tiempo

hlf-time-oracle es un chaincode para blockchain Hyperledger Fabric que proporciona la hora exacta a otros chaincodes. hlf-time-oracle se basa en el paquete ntp y en el paquete nts. De este modo, resuelve el problema de seguridad asociado a la posible manipulación de la hora de las transacciones por parte del cliente de la blockchain. El chaincode proporciona las funciones GetTimeNtp() y GetTimeNts(). La llamada a estas funciones crea una llamada a los servidores NTP (Network Time Protocol) y NTS (Network Time Security). La hora recibida de cualquiera de estos servidores puede utilizarse para verificar la corrección de la hora de la transacción definida en el lado del cliente. Los desarrolladores de chaincodes para blockchain pueden usar hlf-time-oracle en lugar de escribir código de forma independiente para interactuar con los servidores NTP y NTS. hlf-time-oracle no guarda ningún dato en la blockchain durante su funcionamiento.

Descargar herramienta