Botnet de Test en Python pour l'Éducation đŸđŸ€–

Ce projet Ă©ducatif est conçu pour simuler un rĂ©seau de bots (botnet) et montrer comment ils fonctionnent, comment ils peuvent ĂȘtre contrĂŽlĂ©s, et comment les dĂ©tecter et les combattre. L'objectif est de comprendre les mĂ©canismes de ces rĂ©seaux tout en favorisant la prĂ©vention et la sĂ©curitĂ©.

Fonctionnalités du Projet :

Pré-requis :

Structure du Botnet :

Script Python du Botnet de Test :


# Command and Control Server (C&C)
import socket
import threading

# Fonction qui gĂšre la communication avec un bot
def handle_bot(client_socket, addr):
    print(f"Connexion avec le bot {addr} établie.")
    while True:
        try:
            command = input(f"Commande pour {addr} (type 'quit' pour fermer) : ")
            if command.lower() == "quit":
                client_socket.send(b"exit")
                print(f"Connexion fermée avec {addr}.")
                client_socket.close()
                break
            client_socket.send(command.encode())
            response = client_socket.recv(1024).decode()
            print(f"Réponse de {addr} : {response}")
        except Exception as e:
            print(f"Erreur avec {addr} : {e}")
            break

# Lancement du serveur C&C
def command_and_control_server():
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind(("0.0.0.0", 9999))
    server.listen(5)
    print("C&C en attente de connexions de bots...")

    while True:
        client_socket, addr = server.accept()
        bot_handler = threading.Thread(target=handle_bot, args=(client_socket, addr))
        bot_handler.start()

if __name__ == "__main__":
    command_and_control_server()

# Bot Client
import socket

def bot_client():
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    try:
        client.connect(("127.0.0.1", 9999))
        print("Connecté au serveur C&C.")
        while True:
            command = client.recv(1024).decode()
            if command == "exit":
                print("ArrĂȘt du bot.")
                break
            output = f"Commande reçue : {command}"
            print(output)  # Pour montrer l'exécution
            client.send(output.encode())
    except Exception as e:
        print(f"Erreur : {e}")
    finally:
        client.close()

if __name__ == "__main__":
    bot_client()

Instructions d'Utilisation :

🚀 Lancer le Serveur Command & Control (C&C) :

Exécutez le script avec l'option 1 :

python botnet.py

đŸ€– Lancer un Bot :

Exécutez le script avec l'option 2 pour simuler un bot :

python botnet.py

📋 Commandes Disponibles :

Prévention et Sécurité :

⚠ Attention Éthique :

Ce projet est à des fins éducatives. Toute utilisation malveillante est strictement interdite.

🔐 Comment se protĂ©ger d'un Botnet :