Générateur de Scripts de Phishing pour Formation 🎣

Ce projet permet de générer des pages de phishing factices dans un but éducatif, afin de sensibiliser les utilisateurs à reconnaître les tentatives de phishing et à apprendre à s'en protéger.

Qu'est-ce que le Phishing ?

Le phishing est une technique utilisée par les cybercriminels pour tromper les utilisateurs afin qu'ils divulguent des informations sensibles, comme des identifiants de connexion ou des détails financiers.

Fonctionnement du Générateur de Phishing :

Ce script Python permet de générer rapidement des pages HTML de phishing personnalisées. Voici comment il est structuré :

1. Configuration du dossier et des modèles


import os

# Dossier de destination pour les pages générées
output_dir = "phishing_pages"

# Modèles HTML pour les pages de phishing (factices)
templates = {
    "email": '''
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Connexion Email</title>
    </head>
    <body>
        <h2>Veuillez vous connecter à votre compte email</h2>
        <form action="/submit" method="post">
            <label for="email">Adresse Email :</label>
            <input type="email" id="email" name="email" required><br><br>
            <label for="password">Mot de Passe :</label>
            <input type="password" id="password" name="password" required><br><br>
            <button type="submit">Se Connecter</button>
        </form>
    </body>
    </html>
    ''',
    
    "bank": '''
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Connexion Banque</title>
    </head>
    <body>
        <h2>Connexion à votre compte bancaire</h2>
        <form action="/submit" method="post">
            <label for="bank_id">Identifiant Client :</label>
            <input type="text" id="bank_id" name="bank_id" required><br><br>
            <label for="password">Mot de Passe :</label>
            <input type="password" id="password" name="password" required><br><br>
            <button type="submit">Accéder à mon compte</button>
        </form>
    </body>
    </html>
    '''
}
        

2. Fonction de génération des pages de phishing


def create_phishing_page(page_type):
    if page_type not in templates:
        print("Type de page non reconnu. Choisissez 'email' ou 'bank'.")
        return

    # Créer le dossier de sortie si inexistant
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    # Écrire le modèle sélectionné dans un fichier HTML
    with open(os.path.join(output_dir, f"{page_type}_phishing.html"), 'w') as file:
        file.write(templates[page_type])
        print(f"Page de phishing '{page_type}' générée dans {output_dir}")
        

3. Exécution principale du script


if __name__ == "__main__":
    print("Générateur de Pages Phishing pour Formation")
    page_type = input("Choisissez le type de page à générer (email/bank) : ").lower()
    create_phishing_page(page_type)
        

Comment Utiliser le Générateur :

  1. Exécutez le script Python et choisissez le type de page à générer (email ou banque).
  2. Les pages générées seront enregistrées dans le répertoire phishing_pages.
  3. Vous pouvez les ouvrir avec un navigateur pour montrer à vos élèves ou collègues comment fonctionnent les attaques de phishing.

Exemple de Commande :

python generateur_phishing.py

Prévention et Sécurité :

Ce projet est conçu uniquement à des fins éducatives et ne doit pas être utilisé pour commettre des attaques réelles. Les pages générées sont factices et ne collectent aucune donnée réelle.