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
emudhra — Programas de ejemplo en Go, Java, Node, Perl, Python, Ruby, Rust y curl que comprueban si un almacén de confianza TLS rechaza conexiones a sitios conocidos como maliciosos de la CA eMudhra. | Kitploit
Herramientas/GitHubGitHub/jschauma/emudhra
Herramientas DefensivasAnálisis de VulnerabilidadesAuditoría de ConfiguraciónSeguridad de RedesCriptografíaSeguridad de Cadena de SuministroAprendizaje y Educación
GitHubjschauma/emudhra

emudhra

Programas de ejemplo en Go, Java, Node, Perl, Python, Ruby, Rust y curl que comprueban si un almacén de confianza TLS rechaza conexiones a sitios conocidos como maliciosos de la CA eMudhra.

Ver Repositorio
311hace 4 díasAú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

Comprobaciones del paquete eMudhra

https://emudhra.we-have-a-problem.com/

Claro, tus navegadores hacen lo correcto, pero TLS ocurre en bastantes más lugares que solo en el navegador. Así que necesitas comprobar todos los lugares donde un paquete podría esconderse. ¡Qué fastidio!

No tengo una solución para ti, lo siento. Pero si solo quieres comprobar si un lenguaje concreto hace lo correcto de fábrica, aquí tienes algunos programas de ejemplo sencillos. Cada uno devolverá silenciosamente nada (porque esa es la forma Unix) si todo está en orden y reportará un error si puede conectarse a los sitios maliciosos conocidos.

La herramienta usará lo que sea el valor predeterminado para el framework/lenguaje dado, pero también puedes especificar un paquete alternativo contra el que comprobar. Si sabe cómo, mostrará qué paquete / ruta usó.

Ejemplos

Go

$ go run emudhra.go
$ go run emudhra.go /tmp/cert.pem.bad 
BAD: successful connection to https://dv-g3b-aaa-emudhra.we-have-a-problem.com/
BAD: successful connection to https://dv-g3b-emudhra.we-have-a-problem.com/
exit status 2
$

Java

$ java emudhra.java 
Using CA file: /opt/homebrew/Cellar/openjdk/23.0.2/libexec/openjdk.jdk/Contents/Home/lib/security/cacerts
BAD: successful connection to https://dv-g3b-aaa-emudhra.we-have-a-problem.com/
BAD: successful connection to https://dv-g3b-emudhra.we-have-a-problem.com/
$ java emudhra.java  /etc/ssl/cert.pem
Using CA file: /etc/ssl/cert.pem
$

Considera añadir los intermedios a tu blocked.certs como se explica aquí.

Node

$ node emudhra.js
$ node emudhra.js /tmp/cert.pem.bad 
BAD: successful connection to https://dv-g3b-aaa-emudhra.we-have-a-problem.com/
BAD: successful connection to https://dv-g3b-emudhra.we-have-a-problem.com/
$

Perl

$ perl emudhra.pl 
Using SSL_ca_file: /private/etc/ssl/cert.pem
$ perl emudhra.pl /tmp/cert.pem.bad 
Using SSL_ca_file: /tmp/cert.pem.bad
BAD: successful connection to https://dv-g3b-aaa-emudhra.we-have-a-problem.com/
BAD: successful connection to https://dv-g3b-emudhra.we-have-a-problem.com/
$

Python

$ python3 emudhra.py
Using CA file: /opt/homebrew/etc/openssl@4/cert.pem
$ python3 emudhra.py /tmp/cert.pem.bad 
Using CA file: /tmp/cert.pem.bad
BAD: successful connection to https://dv-g3b-aaa-emudhra.we-have-a-problem.com/
BAD: successful connection to https://dv-g3b-emudhra.we-have-a-problem.com/
$

Ruby

$ ruby emudhra.rb 
Using CA file: /usr/lib/ssl/cert.pem
$ ruby emudhra.rb /tmp/cert.pem.bad 
Using CA file: /tmp/cert.pem.bad
BAD: successful connection to https://dv-g3b-aaa-emudhra.we-have-a-problem.com/
BAD: successful connection to https://dv-g3b-emudhra.we-have-a-problem.com/
$

Curl

$ sh emudhra.sh 
Used CA file: /etc/ssl/certs/ca-certificates.crt
$ sh emudhra.sh
/tmp/cert.pem.bad 
Used CA file: /tmp/cert.pem.bad
BAD: successful connection to https://dv-g3b-aaa-emudhra.we-have-a-problem.com/
BAD: successful connection to https://dv-g3b-emudhra.we-have-a-problem.com/
$

Nota: en macOS, puedes pedirle a curl(1) que use el backend nativo, que entonces rechaza la conexión en todos los casos:

$ CURL_SSL_BACKEND=secure-transport sh emudhra.sh /tmp/cert.pem.bad 
Used CA file: 
$ 

Rust

$ cd rs
$ cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.35s
     Running `target/debug/rs`
$ cargo run -- /tmp/cert.pem.bad 
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s
     Running `target/debug/rs /tmp/cert.pem.bad`
$

En algún lugar de sus dependencias, Rust hace una comprobación real de listas de bloqueo sobre los intermedios comprometidos, así que incluso con un paquete que confía en la raíz de eMudhra, falla al conectar.

Descargar herramienta