Balasys/dheater

D(HE)ater is a proof of concept implementation of the D(HE)at attack (CVE-2002-20001) through which denial-of-service can be performed by enforcing the Diffie-Hellman key exchange. (read-only clone of the original GitLab project)

Python

221

81 commits

updated Aug 4, 2026

See the code

README

D(HE)ater

PyPI version Python versions License DOI

D(HE)ater is the proof-of-concept implementation of the D(HE)at attack (CVE-2002-20001). It saturates a server's CPU by enforcing Diffie-Hellman ephemeral (DHE) or elliptic-curve Diffie-Hellman ephemeral (ECDHE) key exchange over both TLS and SSH. For further information about the attack visit the project page or read the full technical paper on IEEE Access.

Disclaimer

D(HE)ater is a proof-of-concept denial-of-service tool intended only for defensive security testing, mitigation verification, and research. Run it exclusively against systems you own or for which you have explicit, written authorization. Using it against systems without permission may be illegal and is likely to disrupt the targeted service. The authors provide the code as-is, without warranty, and accept no liability for any misuse or damage.

Usage

D(HE)ater is a command-line tool. The --protocol option and the target uri are mandatory:

# enforce DHE key exchange against a TLS service
dheat --protocol tls example.com:443

# enforce DHE key exchange against an SSH service
dheat --protocol ssh example.com:22

Optional arguments:

OptionDefaultDescription
--key-exchangeDHEkey exchange to enforce: DHE or ECDHE
--timeout5socket timeout in seconds
--thread-num1number of threads to run
--key-sizenonekey size to enforce
# enforce elliptic-curve (ECDHE) key exchange instead of finite-field (DHE)
dheat --protocol tls --key-exchange ECDHE example.com:443

# 16 threads, 10 second timeout
dheat --protocol tls --thread-num 16 --timeout 10 example.com:443

Mitigation

Guidance on detecting and mitigating the D(HE)at attack is maintained on the official project site: dheatattack.com.

Requirements

D(HE)ater requires Python 3.9 or newer and depends on CryptoLyzer to check DHE/ECDHE support and generate the necessary traffic. The dependency is installed automatically with the methods described below.

Installation

Install the latest release from PyPI:

pip install dheater

To install the current development version directly from the source repository:

pip install git+https://gitlab.com/dheatattack/dheater.git

License

The code is available under the terms of Apache License Version 2.0. A non-comprehensive, but straightforward description and also the full license text can be found at Choose an open source license website.

Credits

D(HE)ater uses CryptoLyzer to check DHE/ECDHE support of TLS/SSH services and also to generate the traffic necessary to perform D(HE)at attack.

attack
ddos
ddos-attack
ddos-attack-tool
ddos-attack-tools
ddos-tool
denial-of-service
dhe
diffie-hellman-algorithm
diffie-hellman-groups
diffie-hellman-key
dos-attack
dos-attack-tool
overloading
poc
security
security-tools
ssh
ssl
tls

Contributors

c0r0n3r

78 commits

Dmole

1 commits

domdom82

1 commits

ristomcgehee

1 commits

Balasys/dheater

D(HE)ater is a proof of concept implementation of the D(HE)at attack (CVE-2002-20001) through which denial-of-service can be performed by enforcing the Diffie-Hellman key exchange. (read-only clone of the original GitLab project)

Python

221

81 commits

updated Aug 4, 2026

See the code

README

D(HE)ater

PyPI version Python versions License DOI

D(HE)ater is the proof-of-concept implementation of the D(HE)at attack (CVE-2002-20001). It saturates a server's CPU by enforcing Diffie-Hellman ephemeral (DHE) or elliptic-curve Diffie-Hellman ephemeral (ECDHE) key exchange over both TLS and SSH. For further information about the attack visit the project page or read the full technical paper on IEEE Access.

Disclaimer

D(HE)ater is a proof-of-concept denial-of-service tool intended only for defensive security testing, mitigation verification, and research. Run it exclusively against systems you own or for which you have explicit, written authorization. Using it against systems without permission may be illegal and is likely to disrupt the targeted service. The authors provide the code as-is, without warranty, and accept no liability for any misuse or damage.

Usage

D(HE)ater is a command-line tool. The --protocol option and the target uri are mandatory:

# enforce DHE key exchange against a TLS service
dheat --protocol tls example.com:443

# enforce DHE key exchange against an SSH service
dheat --protocol ssh example.com:22

Optional arguments:

OptionDefaultDescription
--key-exchangeDHEkey exchange to enforce: DHE or ECDHE
--timeout5socket timeout in seconds
--thread-num1number of threads to run
--key-sizenonekey size to enforce
# enforce elliptic-curve (ECDHE) key exchange instead of finite-field (DHE)
dheat --protocol tls --key-exchange ECDHE example.com:443

# 16 threads, 10 second timeout
dheat --protocol tls --thread-num 16 --timeout 10 example.com:443

Mitigation

Guidance on detecting and mitigating the D(HE)at attack is maintained on the official project site: dheatattack.com.

Requirements

D(HE)ater requires Python 3.9 or newer and depends on CryptoLyzer to check DHE/ECDHE support and generate the necessary traffic. The dependency is installed automatically with the methods described below.

Installation

Install the latest release from PyPI:

pip install dheater

To install the current development version directly from the source repository:

pip install git+https://gitlab.com/dheatattack/dheater.git

License

The code is available under the terms of Apache License Version 2.0. A non-comprehensive, but straightforward description and also the full license text can be found at Choose an open source license website.

Credits

D(HE)ater uses CryptoLyzer to check DHE/ECDHE support of TLS/SSH services and also to generate the traffic necessary to perform D(HE)at attack.

attack
ddos
ddos-attack
ddos-attack-tool
ddos-attack-tools
ddos-tool
denial-of-service
dhe
diffie-hellman-algorithm
diffie-hellman-groups
diffie-hellman-key
dos-attack
dos-attack-tool
overloading
poc
security
security-tools
ssh
ssl
tls

Contributors

c0r0n3r

78 commits

Dmole

1 commits

domdom82

1 commits

ristomcgehee

1 commits

Languages

Python

99.2%