Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
hlf-time-oracle — Chaincode para blockchain Hyperledger Fabric fornece hora precisa para outros chaincodes. Assim resolvendo o problema de segurança associado à manipulação do tempo de transação (CVE-2024-45244). | Kitploit
Ferramentas/GitHubGitHub/shanker-sec/hlf-time-oracle
Ferramentas DefensivasAnálise de VulnerabilidadesSegurança de RedeCriptografia
GitHubshanker-sec/hlf-time-oracle

hlf-time-oracle

Chaincode para blockchain Hyperledger Fabric fornece hora precisa para outros chaincodes. Assim resolvendo o problema de segurança associado à manipulação do tempo de transação (CVE-2024-45244).

Ver Repositório
31há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

hlf-time-oracle

hlf-time-oracle é um chaincode para blockchain Hyperledger Fabric que fornece tempo preciso para outros chaincodes. hlf-time-oracle baseia-se nos pacotes ntp e nts. Assim, resolve o problema de segurança associado à possível manipulação do tempo de transação pelo cliente blockchain (CVE-2024-45244). O chaincode fornece as funções GetTimeNtp() e GetTimeNts(). Chamar essas funções cria uma chamada para os servidores NTP (Network Time Protocol) e NTS (Network Time Security). O tempo recebido de qualquer um desses servidores pode ser usado para verificar a correção do tempo de transação definido no lado do cliente. Desenvolvedores de chaincodes para blockchain podem usar hlf-time-oracle em vez de escrever código independente para interagir com servidores NTP e NTS. hlf-time-oracle não salva nenhum dado no blockchain durante sua operação. hlf-time-oracle para Hyperledger Fabric versão 2.4.x está na pasta hlf_2.4. hlf-time-oracle para Hyperledger Fabric versão 2.5.x está na pasta hlf_2.5.

Lista de servidores públicos

Resolvendo o problema de centralização

As características do protocolo NTS

Resistência ao ataque man-in-the-middle

Licença

Lista de servidores públicos

Servidores NTP públicos

Servidores NTS públicos

Resolvendo o problema de centralização

Se você não quer depender de um único servidor de tempo, pode usar múltiplos oráculos de tempo.


Oráculos

As características do protocolo NTS

NTS é uma melhoria do NTP (veja RFC 8915). Existem 2 conexões: TCP para TLS e UDP para NTP. A porta para conexão NTP é determinada pelo servidor NTS. Pode ser diferente da padrão 123/UDP. Lembre-se disso ao configurar o firewall.

Para o estabelecimento correto da conexão TLS, é necessário que o cliente (ou seja, o sistema no qual hlf-time-oracle está sendo executado) tenha um horário do sistema relativamente correto (dentro do período de validade do certificado do servidor NTS). Caso contrário, a conexão não será estabelecida.

Resistência ao ataque man-in-the-middle

Recomenda-se usar GetTimeNts() em vez de GetTimeNtp(). Diferentemente do NTP, o uso do NTS é resistente ao ataque man-in-the-middle. Em caso de falsificação não autorizada dos dados abertos, o seguinte erro é registrado: authentication failed on client. Em caso de tentativa de falsificação do certificado do servidor NTS, o seguinte erro é registrado: key exchange failure: tls: failed to verify certificate: x509: certificate signed by unknown authority.

Experimento


Modelo

hlf-time-oracle está sendo executado no docker (rede docker 172.18.0.0/24). No host docker (Host_1), netsed (porta 4000/UDP) e mitmproxy (porta 8080/TCP) estão em execução. O tráfego para eles a partir de hlf-time-oracle passará pelo iptables. O segundo host (Host_2) acessa as funções GetTimeNtp() e GetTimeNts() do Oracle (através de chamada peer chaincode query). Chamar essas funções faz com que o Oracle chame o servidor NTP e o servidor NTS, respectivamente.

NTP

Uma regra iptables para redirecionar o tráfego para o netsed:

root@kitploit:~
iptables -t nat -A PREROUTING -s 172.18.0.0/24 -d 213.234.203.30/32 -p udp -m udp --dport 123 -m udp -j REDIRECT --to-ports 4000

Execute o netsed com a regra.


Criação de uma regra no netsed para substituir %ea%33 por %eF%33


Resultado de um ataque bem-sucedido.

NTS

netsed

Uma regra iptables para redirecionar o tráfego para o netsed (servidor NTS ntp1.glypnod.com tem endereço IP 104.131.155.175):

root@kitploit:~
iptables -t nat -A PREROUTING -s 172.18.0.0/24 -d 104.131.155.175/32 -p udp -m udp --dport 8123 -m udp -j REDIRECT --to-ports 4000

Execute o netsed com a regra.


Criação de uma regra no netsed para substituir %ea%33 por %eF%33


Resultado de um ataque mal-sucedido.

Vamos ver os logs do docker:


logs do docker

mitmproxy

Uma regra iptables para redirecionar o tráfego para o mitmproxy (servidor NTS ntp1.glypnod.com tem endereço IP 104.131.155.175):

root@kitploit:~
iptables -t nat -A PREROUTING -p tcp -s 172.18.0.0/24 --dport 4460 -m tcp -d 104.131.155.175 -j REDIRECT --to 8080

Vamos ver os logs do mitmproxy:


logs do mitmproxy

Vamos ver os logs do docker:


logs do docker

Licença

MIT

Baixar ferramenta