D(HE)ater
D(HE)ater is an attacking tool based on CPU heating in that it forces the ephemeral variant of Diffie-Hellman key exchange (DHE) in given cryptography protocols (e.g. TLS, SSH). It is performed without calculating a cryptographically correct ephemeral key on the client side, but with a significant amount of calculation on the server side. Based on this, D(HE)ater can initiate a denial-of-service (DoS) attack.
Quick start
D(HE)ater can be installed directly via pip from PyPi
pip install dheater
dheat --protocol tls www.example.com
dheat --protocol ssh www.example.com
or can be used via Docker from Docker Hub
docker pull balasys/dheater
docker run --rm balasys/dheater --protocol tls www.example.com
docker run --rm balasys/dheater --protocol ssh www.example.com
You can increase a load by string extra threads.
dheat --thread-num 4 --protocol tls www.example.com
docker run --rm balasys/dheater --thread-num 4 --protocol tls www.example.com
docker run --rm balasys/dheater --thread-num 4 --protocol ssh www.example.com
Mitigation
Fail2Ban
TLS
Apache
There is no necessary filters.
apache-ssl.confinfail2bandirectory should be copiedfilter.ddirectory under the fail2ban configuration directory- the followings should be added to
jail.localfile in fail2ban configuration directory
[apache-ssl]
port = https
logpath = %(apache_error_log)s
maxretry = 1
Postfix
There is a necessary filters, but it is applied only in ddos mode. The followings should be added to jail.local.
[postfix]
mode = ddos
Dovecot
There is a necessary filters, but it is applied only in ddos mode. The followings should be added to jail.local.
[dovecot]
mode = aggressive
or a specific filter can be used without changing the mode of the dovecot filter.
dovecot-ssl.confinfail2bandirectory should be copiedfilter.ddirectory under the fail2ban configuration directory- the followings should be added to
jail.localfile in fail2ban configuration directory
[dovecot-ssl]
port = pop3,pop3s,imap,imaps,submission,465,sieve
logpath = %(dovecot_log)s
backend = %(dovecot_backend)s
maxretry = 1
SSH
OpenSSH
There is a necessary filters, but it is applied only in ddos mode. The followings should be added to jail.local.
[sshd]
mode = ddos
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.
Metadata
Release files for DHEater 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| DHEater-0.2.0.tar.gz | 10.7 kB | Without provenance | Details for DHEater-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| DHEater-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for DHEater-0.2.0-py3-none-any.whl |
Total release size: 21.2 kB
Release files / DHEater-0.2.0.tar.gz
| Download URL | DHEater-0.2.0.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e13ca067626124ee38e5503d419809700bdebe66733b4e7205b00d7416f8fb00
|
|
BLAKE2b-256 checksum How to use checksums |
2a80dcca5c853c2e166366d500d8b672daa83bc800dfb5b0d767a2130161f4b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.4.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.7
|
Release files / DHEater-0.2.0-py3-none-any.whl
| Download URL | DHEater-0.2.0-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d21056a5655bb6fc542d03e49c9e388c21a50b93b685372b0090e5f429acbb1f
|
|
BLAKE2b-256 checksum How to use checksums |
36afaefc325011a6e0323da89282e0f7bd997f753e2924c1135715097da134f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.4.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.7
|
Security for DHEater 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.