Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
emudhra — Programmi di esempio in Go, Java, Node, Perl, Python, Ruby, Rust e curl che verificano se un trust store TLS rifiuta le connessioni a siti noti come malevoli della CA eMudhra. | Kitploit
Strumenti/GitHubGitHub/jschauma/emudhra
Strumenti DifensiviAnalisi delle VulnerabilitàAudit di ConfigurazioneSicurezza di ReteCrittografiaSicurezza della Supply ChainApprendimento e Formazione
GitHubjschauma/emudhra

emudhra

Programmi di esempio in Go, Java, Node, Perl, Python, Ruby, Rust e curl che verificano se un trust store TLS rifiuta le connessioni a siti noti come malevoli della CA eMudhra.

Vedi Repository
3114 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Controlli del bundle eMudhra

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

Certo, i tuoi browser fanno la cosa giusta, ma TLS avviene in qualche altro posto oltre che nel browser. Quindi devi controllare tutti i posti in cui un bundle potrebbe nascondersi. Che seccatura!

Non ho una soluzione per te, mi dispiace. Ma se vuoi solo verificare se un linguaggio specifico fa la cosa giusta fin da subito, ecco alcuni semplici programmi di esempio. Ognuno di essi restituirà silenziosamente nulla (perché questa è la via Unix) se tutto va bene e segnalerà un errore se riesce a connettersi ai siti noti come malevoli.

Lo strumento utilizzerà qualunque sia il valore predefinito per il framework/linguaggio dato, ma puoi anche specificare un bundle alternativo con cui confrontarsi. Se sa come fare, mostrerà quale bundle / percorso ha utilizzato.

Esempi

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
$

Valuta l'aggiunta degli intermedi al tuo blocked.certs come discusso qui.

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: su macOS, puoi chiedere a curl(1) di usare il backend nativo, che poi rifiuta la connessione in tutti i casi:

$ 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`
$

Da qualche parte nelle sue dipendenze, Rust esegue un'effettiva verifica della blocklist sugli intermedi compromessi, quindi anche con un bundle che si fida della root di eMudhra, non riesce a connettersi.

Scarica lo strumento