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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
crypto-lab-merkle-proofs — Demostración de árbol Merkle basada en navegador — construir un árbol, generar pruebas de inclusión, recalcular el hash raíz por hash, y reproducir los ataques de segunda preimagen RFC 6962 y CVE-2012-2459. SHA-256 real. Sin backend. | Kitploit
Herramientas/GitHubGitHub/systemslibrarian/crypto-lab-merkle-proofs
Análisis de HashCriptografíaAprendizaje y EducaciónRecursos CuradosRutas de Aprendizaje y CursosLabs y Práctica
GitHubsystemslibrarian/crypto-lab-merkle-proofs

crypto-lab-merkle-proofs

Demostración de árbol Merkle basada en navegador — construir un árbol, generar pruebas de inclusión, recalcular el hash raíz por hash, y reproducir los ataques de segunda preimagen RFC 6962 y CVE-2012-2459. SHA-256 real. Sin backend.

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
Ver RepositorioSitio web
60hace 1 díaAún no revisado

crypto-lab-merkle-proofs

Qué es

Esta es una demo interactiva de árboles de Merkle y pruebas de inclusión de Merkle, construida sobre SHA-256 mediante la API WebCrypto del navegador. Un árbol de Merkle hashea un conjunto de bloques de datos en un único hash raíz que compromete a todos ellos a la vez; una prueba de inclusión es la breve lista de hashes hermanos que permite a cualquiera volver a derivar esa raíz a partir de una sola hoja. El modelo de seguridad es puramente basado en hash: se apoya en la resistencia a colisiones y a segundas preimágenes de SHA-256, sin claves ni firmas involucradas. El hashing sigue la separación de dominios de RFC 6962 (leaf = SHA-256(0x00 ∥ data), node = SHA-256(0x01 ∥ left ∥ right)), que es lo que hace que la defensa contra segundas preimágenes en la demo sea real y no decorativa. Es una herramienta didáctica, no una biblioteca de producción.

Dónde se ubica junto a crypto-lab-merkle-vault

Dos laboratorios de este catálogo cubren árboles de Merkle, y no son intercambiables. Este trata sobre la semántica de las pruebas: de dónde debe provenir la raíz confiable, los bytes exactos que se hashean en cada paso, la verificación basada en índices de RFC 9162, las pruebas de consistencia con los ataques de historial que detectan, las construcciones de segunda preimagen y CVE-2012-2459 rotas en la página, y una entrada real de Certificate Transparency fijada y verificada contra el log Argon de Google. crypto-lab-merkle-vault trata sobre la estructura: el árbol dibujado con conectores de padre a hijo, una única prueba recorrida nivel a nivel con los nodos correspondientes iluminándose a medida que el hash en curso asciende, y las raíces recalculada y comprometida afirmadas iguales byte a byte en la cima. Empieza allí para qué es un árbol de Merkle y cómo funciona un ascenso; ven aquí para qué te permite y qué no te permite creer una prueba.

Cuándo usarlo

  • Para demostrar que un elemento pertenece a un conjunto comprometido grande, de forma barata. Una prueba es ⌈log₂ n⌉ hashes, así que se puede demostrar que una sola transacción está en un bloque de millones sin enviar el bloque.
  • Para detectar manipulaciones contra una raíz confiable. Si ya tienes la raíz, puedes verificar cualquier hoja+prueba y rechazar todo lo que no se recalcule hasta ella.
  • Para dar integridad a clientes ligeros sin el estado completo. Las carteras SPV y los clientes sin estado verifican la pertenencia contra la raíz de una cabecera en lugar de descargarlo todo.
  • Para hacer que un log sea verificablemente de solo anexado. Certificate Transparency usa exactamente esta construcción de RFC 6962.
  • NO uses una prueba de Merkle para demostrar no-pertenencia u orden a menos que el árbol sea específicamente un árbol de Merkle ordenado/disperso — una prueba de inclusión simple no dice nada sobre lo que está ausente, y un árbol construido sin separación de dominios está abierto a la falsificación por segunda preimagen.

Demo en vivo

systemslibrarian.github.io/crypto-lab-merkle-proofs

Añade o elimina bloques de datos para construir un árbol en vivo, elige cualquier hoja para generar su prueba de inclusión y luego verifícala — recalculando la raíz a partir únicamente de la hoja y sus hashes hermanos. Puedes avanzar paso a paso o animar el recálculo un hash a la vez (observando cómo el hash en curso asciende por el árbol), expandir “show bytes” en cualquier paso para ver la preimagen exacta de SHA-256 (0x00 ∥ data para hojas, 0x01 ∥ L ∥ R para nodos), manipular la hoja o invertir un bit en cualquier paso de la prueba y ver cómo la verificación cambia a REJECTED, y ajustar un control deslizante para ver que las pruebas se mantienen logarítmicas hasta 2³⁰ hojas (además de construir árboles reales de 256–4.096 hojas). Una demostración del modelo de confianza escenifica directamente el error conceptual clásico: un probador que proporciona hoja, prueba y raíz produce una terna que verifica — y no demuestra nada. Dos demostraciones de seguridad te permiten activar y desactivar la separación de dominios de RFC 6962 para hacer que la falsificación de segunda preimagen tenga éxito y luego falle, y comparar la duplicación de nodos impares de Bitcoin con la promoción de RFC 6962 para reproducir la colisión de raíz de CVE-2012-2459. Las pruebas de consistencia (solo anexado) tienen su propia visualización — el árbol antiguo sombreado dentro del nuevo, con las raíces de subárbol de la prueba marcadas — además de tres ataques de manipulación del historial (reescribir, eliminar, reordenar) que la prueba detecta. Por último, la página verifica una entrada real de Certificate Transparency: un certificado Let's Encrypt fijado en el índice 1.234.567.890 del log Argon2026h1 de Google (2.800 millones de certificados), demostrado como incluido con 32 hashes usando la verificación basada en índices de RFC 9162 — la misma ruta de código que el resto del laboratorio. Los objetivos de aprendizaje, las consignas de predecir y luego revelar, los cuestionarios de autoevaluación, las descripciones emergentes del glosario, una tabla de resumen y las lecturas adicionales favorecen el aprendizaje activo; “Copy link to this tree” enlaza directamente cualquier estado del árbol para diapositivas o tareas.

Cómo ejecutar localmente

git clone https://github.com/systemslibrarian/crypto-lab-merkle-proofs
cd crypto-lab-merkle-proofs
npm install
npm run dev

No hay variables de entorno. Ejecuta la suite de pruebas (vectores RFC 6962, ida y vuelta de pruebas, rechazo de manipulación, el ataque/defensa de segunda preimagen, pruebas de consistencia, fuzzing contra una implementación de referencia independiente y la prueba CT real fijada) con npm test.

npm run test:a11y ejecuta la puerta del navegador (Playwright). e2e/claims.spec.ts maneja la página real y vuelve a derivar cada veredicto a partir de lo que la página imprimió — INCLUDED solo cuando la raíz recalculada mostrada es igual a la raíz de confianza mostrada, ROOTS COLLIDE solo cuando las dos raíces impresas son iguales, el titular de eficiencia a partir de su propia aritmética — y recorre cada ruta de manipulación (hoja, bit de prueba, reescritura/eliminación/reordenación del log, el volteo de bit del certificado CT) para afirmar que alcanza el rechazo, nombra la causa y se recupera. e2e/a11y.spec.ts es el escaneo axe-core WCAG A/AA. Ambos se ejecutan en CI antes de cada despliegue en Pages.

Enseñar con esto

Consulta TEACHING.md para una guía del instructor: un flujo de lección de 50 minutos, preguntas de debate, los conceptos erróneos que cada sección está diseñada para romper y extensiones para tareas.

Parte de la suite Crypto-Lab

Una de más de 170 demos interactivas en el navegador en systemslibrarian.github.io/crypto-lab — abarcando desde Atbash (600 a. C.) hasta NIST FIPS 203/204/205 (2024).


"Así que, ya sea que comáis o bebáis, o hagáis cualquier otra cosa, hacedlo todo para la gloria de Dios." — 1 Corintios 10:31

Descargar herramienta