
Strumento proof-of-concept di denial-of-service che impone lo scambio di chiavi effimere Diffie-Hellman su TLS e SSH per saturare la CPU del server, implementando CVE-2002-20001 per test di sicurezza autorizzati.
D(HE)ater è l'implementazione proof-of-concept dell'attacco D(HE)at (CVE-2002-20001). Satura la CPU di un server imponendo lo scambio di chiavi Diffie-Hellman effimero (DHE) o Diffie-Hellman su curva ellittica effimero (ECDHE) sia su TLS che su SSH. Per ulteriori informazioni sull'attacco, visita la pagina del progetto o leggi il documento tecnico completo su IEEE Access.
D(HE)ater è uno strumento proof-of-concept di denial-of-service destinato esclusivamente a test di sicurezza difensivi, verifica delle mitigazioni e ricerca. Eseguilo solo contro sistemi di tua proprietà o per i quali disponi di un'autorizzazione esplicita e scritta. Usarlo contro sistemi senza permesso può essere illegale e rischia di interrompere il servizio preso di mira. Gli autori forniscono il codice così com'è, senza garanzie, e non si assumono alcuna responsabilità per usi impropri o danni.
D(HE)ater è uno strumento a riga di comando. L'opzione --protocol e l'uri del target sono obbligatorie:
# impone lo scambio di chiavi DHE contro un servizio TLS
dheat --protocol tls example.com:443
# impone lo scambio di chiavi DHE contro un servizio SSH
dheat --protocol ssh example.com:22
Argomenti opzionali:
| Opzione | Predefinito | Descrizione |
|---|---|---|
--key-exchange | DHE | scambio di chiavi da imporre: DHE o ECDHE |
--timeout | 5 | timeout del socket in secondi |
--thread-num | 1 | numero di thread da eseguire |
--key-size | nessuno | dimensione della chiave da imporre |
# impone lo scambio di chiavi su curva ellittica (ECDHE) invece che su campo finito (DHE)
dheat --protocol tls --key-exchange ECDHE example.com:443
# 16 thread, timeout di 10 secondi
dheat --protocol tls --thread-num 16 --timeout 10 example.com:443
Le linee guida per rilevare e mitigare l'attacco D(HE)at sono mantenute sul sito ufficiale del progetto: dheatattack.com.
D(HE)ater richiede Python 3.9 o successivo e dipende da CryptoLyzer per verificare il supporto DHE/ECDHE e generare il traffico necessario. La dipendenza viene installata automaticamente con i metodi descritti di seguito.
Installa l'ultima versione da PyPI:
pip install dheater
Per installare la versione di sviluppo corrente direttamente dal repository sorgente:
pip install git+https://gitlab.com/dheatattack/dheater.git
Il codice è disponibile secondo i termini della Apache License Versione 2.0. Una descrizione non esaustiva ma chiara, oltre al testo completo della licenza, è disponibile sul sito Choose an open source license.
D(HE)ater utilizza CryptoLyzer per verificare il supporto DHE/ECDHE dei servizi TLS/SSH e anche per generare il traffico necessario a eseguire l'attacco D(HE)at.