Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
paranoid_crypto — La librería de Paranoid contiene implementaciones de comprobaciones de debilidades conocidas en artefactos criptográficos. | Kitploit
Herramientas/GitHubGitHub/google/paranoid_crypto
Análisis EstáticoEscáneres de VulnerabilidadesAnálisis de VulnerabilidadesCriptografíaPapers e Investigación
GitHubgoogle/paranoid_crypto

paranoid_crypto

La librería de Paranoid contiene implementaciones de comprobaciones de debilidades conocidas en artefactos criptográficos.

Ver Repositorio
80349hace 1 añoRevisado por Kitploit

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

Proyecto Paranoid

Descripción general

El proyecto Paranoid comprueba debilidades conocidas en artefactos criptográficos, como claves públicas, firmas digitales y números pseudoaleatorios en general. Esta biblioteca contiene implementaciones y optimizaciones de trabajos existentes en la literatura. Dichos trabajos demostraron que la generación de estos artefactos era defectuosa en algunos casos. Los siguientes son algunos ejemplos de publicaciones en las que se basa la biblioteca.

  • Arjen K. Lenstra, James P. Hughes, Maxime Augier, Joppe W. Bos, Thorsten Kleinjung, and Christophe Wachter. (2012). Ron was wrong, Whit is right;

  • Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman. (2012). Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices;

  • Daniel J. Bernstein, Yun-An Chang, Chen-Mou Cheng, Li-Ping Chou, Nadia Heninger, Tanja Lange, and Nicko van Someren. (2013). Factoring RSA keys from certified smart cards: Coppersmith in the wild;

  • Joachim Breitner and Nadia Heninger. (2019). Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies;

Objetivo

El objetivo es aumentar la confianza en los casos de uso de criptografía dentro y fuera de Google.

Cuando se trabaja con cifrado asimétrico, los artefactos criptográficos suelen ser:

  1. Generados por una de nuestras propias herramientas (por ejemplo, en Google usamos boringssl o tink); o,
  2. Generados por herramientas de terceros a las que tenemos acceso (por lo que estas herramientas pueden, por ejemplo, comprobarse en busca de vulnerabilidades con wycheproof); o,
  3. Generados por herramientas de terceros y/o cajas negras de hardware o software a las que no tenemos acceso.

Con Paranoid se puede probar cualquier artefacto criptográfico, pero su motivación principal es detectar el uso de cajas negras de hardware o software de terceros débiles. Por lo tanto, Paranoid puede usarse incluso si no podemos inspeccionar el código fuente (situación 3. enumerada anteriormente).

El proyecto pretende detectar vulnerabilidades conocidas y desconocidas. Por ejemplo, intenta identificar vulnerabilidades causadas por errores de programación o por el uso de generadores de números aleatorios propietarios débiles. Detectar nuevas vulnerabilidades es, por supuesto, mucho más difícil que detectar las conocidas. Tales detecciones pueden requerir grandes conjuntos de artefactos o encontrar los débiles solo con una probabilidad baja.

Por lo tanto, nos interesa mucho recibir comentarios y conocer la biblioteca criptográfica que generó los artefactos criptográficos débiles (consulte la convocatoria de contribuciones ). El proyecto está en constante evolución. Después de conocer las implementaciones débiles, el plan es analizarlas y añadir detecciones dirigidas a ellas.

Primeros pasos

La documentación de las comprobaciones actualmente implementadas se encuentra en docs. La documentación se completará con más contenido con el tiempo.

Para aprender a usar las comprobaciones, puedes consultar la carpeta examples o las pruebas unitarias (archivos *test.py). Los ejemplos demuestran cómo probar diferentes artefactos criptográficos.

Instalación

Clona el repositorio:

$ git clone https://github.com/google/paranoid_crypto.git && cd paranoid_crypto

NOTA: Los comandos siguientes se han probado en la versión estable de Debian (bookworm). Asegúrate de usar python3.11 o una versión posterior.

Instala las dependencias:

$ sudo apt update && sudo apt install python3 python3-full python3-pip python3-pybind11 python3-fpylll python3-gmpy2 protobuf-compiler

Crea y activa un entorno virtual:

$ python3 -m venv --system-site-packages ~/paranoid-venv

$ source ~/paranoid-venv/bin/activate

NOTA: Si sabes lo que estás haciendo, puedes pasar directamente al siguiente paso y usar la opción --break-system-packages de pip.

Instala el paquete de Python paranoid_crypto:

$ python3 -m pip install .

Para comprobar si la instalación se realizó correctamente, puedes ejecutar las pruebas unitarias. Por ejemplo:

root@kitploit:~
$ cd paranoid_crypto && python3 -m unittest discover -b -p "*test.py"
.................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 305 tests in 314.660s

OK

Docker

Alternativamente, si quieres ejecutarlo en un contenedor, puedes usar nuestro Dockerfile como se muestra a continuación.

NOTA: Asegúrate de tener docker instalado.

Después de clonar el repositorio, crea la imagen de docker:

$ docker build -t paranoid-img .

Crea e inicia el contenedor:

root@kitploit:~
$ docker run --name paranoid-container -it paranoid-img
paranoid-user@6191368b26b8:~$

Para comprobar si la instalación se realizó correctamente, puedes ejecutar las pruebas unitarias. Por ejemplo:

root@kitploit:~
paranoid-user@6191368b26b8:~$ cd paranoid_crypto && python3 -m unittest discover -b -p "*test.py"
.................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 305 tests in 307.555s

OK

Resultados preliminares

Al igual que en otros trabajos publicados, hemos estado analizando los artefactos criptográficos de Certificate Transparency (CT), que registra los certificados de sitios web emitidos desde 2013 con el objetivo de hacerlos transparentes y verificables. Su base de datos contiene más de 7 mil millones de certificados a septiembre de 2022. Para las comprobaciones de Paranoid de claves públicas EC y firmas ECDSA, hasta ahora no hemos encontrado ningún artefacto débil en CT. Para las comprobaciones de claves públicas RSA con severidades alta o crítica, tenemos los siguientes resultados:

Algunos de estos certificados ya estaban caducados o revocados. En el caso de los que aún estaban activos (la mayoría de los de CheckGCD), los notificamos inmediatamente a las autoridades de certificación para que fueran revocados.

ACERCA DE

Esta biblioteca es desarrollada y mantenida por miembros del equipo de seguridad de Google, pero no es un producto de Google con soporte oficial. Si quieres contribuir, lee CONTRIBUTING y envíanos pull requests. También puedes reportar errores o solicitar nuevas funciones.

Si usas Paranoid en tu investigación, puedes citarlo con el siguiente BibTeX:

root@kitploit:~
@software{Barbosa_Bleichenbacher_Paranoid_Crypto_2022,
  author = {Barbosa, Pedro and Bleichenbacher, Daniel},
  license = {Apache-2.0},
  month = {8},
  title = {{Paranoid Crypto}},
  url = {https://github.com/google/paranoid_crypto},
  year = {2022}
}
Descargar herramienta
TestNamePotentially Related CVEsSeverityNumber of Weak Artifacts
CheckOpensslDenylistCVE-2008-0166SEVERITY_CRITICAL3989
CheckROCACVE-2017-15361SEVERITY_HIGH2875
CheckGCD-SEVERITY_CRITICAL1860
CheckFermatCVE-2022-26320SEVERITY_CRITICAL36
CheckContinuedFractions-SEVERITY_CRITICAL16
CheckBitPatterns-SEVERITY_CRITICAL6
CheckPermutedBitPatterns-SEVERITY_CRITICAL6
CheckKeypairDenylistCVE-2021-41117SEVERITY_CRITICAL4
CheckPollardpm1-SEVERITY_CRITICAL1