
Outil DoS multithreadé en Python qui inonde les serveurs Minecraft Java avec des paquets de handshake forgés, la réutilisation de connexions, le remplissage de payload et l'usurpation de version de protocole.
JAVAFLOOD est un outil conçu pour lancer des attaques par déni de service (DoS) sur les serveurs Minecraft Java Edition. Cet outil inonde le serveur avec plusieurs méthodes afin de surcharger les ressources du serveur, entraînant un état de non-réponse.
Tout usage non autorisé, y compris toute tentative de perturber, surcharger ou endommager des serveurs, est strictement interdit et peut être considéré comme illégal au regard des lois applicables. De telles actions peuvent entraîner de graves conséquences tant pour les systèmes ciblés que pour les personnes impliquées.
Veuillez utiliser cet outil de manière responsable et uniquement à des fins légitimes de tests de sécurité et académiques. Le mauvais usage de cet outil est contraire à l'éthique, potentiellement illégal et fortement déconseillé.
Le développeur de cet outil ne l'a créé qu'à des fins éducatives et de recherche dans un environnement contrôlé et décline toute responsabilité quant à tout mauvais usage, dommage ou conséquence juridique résultant d'une utilisation intentionnelle ou non autorisée par des tiers.
Inondation par handshake TCP :
handshakes TCP pour consommer les ressources de sockets du serveur.Réutilisation de connexion :
connexion TCP pour maximiser l'impact.Multithreading :
ThreadPoolExecutor pour exécuter plusieurs threads afin d'envoyer des paquets en parallèle.Synchronisation des threads :
daemon threadsAbus du protocole Minecraft :
Remplissage de charge utile :
Boucles rapides de connexion-déconnexion :
Usurpation de version de protocole :
Vérification de l'état du serveur :
python3 javaflood.py -api < IP/Domain >| Argument | Requis | Description |
|---|---|---|
| -ip | Oui | Définit l'adresse IP du serveur de destination (par exemple, 127.0.0.1). |
| -port | Oui | Spécifie le port cible (doit être un entier entre 1 et 65535). |
| -s | Oui | Configure la taille (en octets) de chaque paquet transmis. |
| -t | Oui | Détermine le nombre de threads d'exécution parallèles. |
| -p | Oui | Définit la version du protocole à utiliser lors de l'exécution. |
| -d | Oui | Contrôle la durée totale d'exécution (en secondes). |
| -api | Optionnel | Appelle la fonction API de mcstatus avec le domaine. |
| -load | Optionnel | Charge une configuration externe depuis un chemin de fichier JSON spécifié. |
| -wait | Optionnel | Retarde l'exécution d'un nombre de secondes spécifié. |
| -art | Optionnel | Active ou désactive la visibilité du logo (1 = afficher, 0 = masquer). |
| -h | Non | Affiche ce message d'aide et quitte. |
Clonez ce dépôt sur votre machine locale :
git clone https://github.com/Audrise/javaflood.git
cd javaflood
Installez les bibliothèques Python nécessaires :
pip3 install -r requirements.txt
Exécutez javaflood en utilisant plusieurs méthodes comme ci-dessous :
python3 javaflood.py -ip 120.0.0.1 -port 25565 -s 100 -t 100 -p 47 -d 60 -wait 10 -art 0
ou vous pouvez utiliser le paramètre -load :
python3 javaflood.py -load config.json
En utilisant le paramètre -load, vous pouvez exécuter directement l'outil avec la configuration définie dans un fichier .json, sans avoir besoin de saisir manuellement tous les paramètres. Cela est particulièrement utile pour accélérer le processus de configuration et exécuter l'outil avec des paramètres préconfigurés.
python3 javaflood.py -load config.json
Cela chargera tous les paramètres depuis config.json et exécutera l'outil.
Assurez-vous que le fichier .json que vous créez est correctement formaté, avec les paramètres attendus par l'outil. Voici un exemple de structure JSON valide pour cet outil :
{
"ip": "127.0.0.1",
"port": 25565,
"packet_size": 0,
"threads": 0,
"protocol": 0,
"duration": 0,
"wait": 60,
"art": 0
}