Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Cooper — Un outil Python pour ingérer du HTML et produire du code source HTML adapté aux campagnes de phishing. | Kitploit
Outils/GitHubGitHub/chrismaddalena/cooper
Outils de PhishingCollecte d'InformationsHameçonnageSécurité WebIngénierie Sociale
GitHubchrismaddalena/cooper

Cooper

Un outil Python pour ingérer du HTML et produire du code source HTML adapté aux campagnes de phishing.

Voir le dépôt
6019il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Cooper, nom, un fabricant ou réparateur de fûts et tonneaux

(C'est une blague de "poisson dans un tonneau". J'aime les jeux de mots !)

Un outil Python pour ingérer du HTML et produire une source HTML adaptée aux campagnes de phishing.

Cooper simplifie le processus de clonage d'un site web ou d'un email cible pour une utilisation dans une campagne de phishing. Trouvez simplement une URL ou téléchargez le contenu brut d'un email que vous souhaitez utiliser et passez-le à Cooper. Cooper clonera le contenu puis le préparera automatiquement pour votre campagne. Les scripts, images et CSS peuvent être modifiés pour utiliser des liens directs au lieu de liens relatifs, les liens sont changés pour pointer vers votre serveur de phishing, et les formulaires sont mis à jour pour vous envoyer les données – le tout en quelques secondes. Cooper est multiplateforme et devrait fonctionner avec macOS, Linux et Windows.

Fini l'édition manuelle des liens et des formulaires après avoir utilisé wget pour récupérer un site. Vous pouvez vous concentrer sur les détails.

Utilisation de base

Cooper propose plusieurs modules avec des objectifs différents :

  • page - Ce sera certainement le module le plus utilisé. Il sert à cloner une page web cible. Le résultat est un fichier HTML et une capture d'écran de la page web originale pour vérifier les résultats.
  • email - Comme page, mais prend un fichier contenant le contenu brut de l'email. Ouvrez simplement l'email dans votre client, utilisez l'option "afficher l'original" de votre client et enregistrez le contenu. Le résultat est un fichier HTML.
  • encode - Un outil pratique qui automatise l'encodage Base64 pour toutes les images que vous souhaitez intégrer manuellement dans une page d'atterrissage. Donnez-lui un fichier image et il produira le texte complet nécessaire pour définir l'attribut src. Le résultat est un bloc de texte (probablement énorme) comme ``. C'est pourquoi rediriger la sortie vers un fichier est souvent une bonne idée pour un copier-coller plus facile.

Utilisation de page

Page est le module principal de Cooper. Le seul argument requis est -t pour spécifier une URL cible. Vous pouvez ensuite ajouter --selenium pour utiliser éventuellement Selenium au lieu de Requests. En gros, si le résultat semble erroné ou incomplet (peut-être juste un fond et du style, par exemple), essayez d'utiliser --selenium.

Certains sites web nécessitent JavaScript pour générer le contenu HTML. Si le résultat semble erroné ou incomplet, essayez d'utiliser --selenium.

De plus, vous pouvez ajouter -u avec une URL à utiliser comme URL de base pour les images, les scripts et les feuilles de style. Cooper remplacera les liens relatifs (par exemple /wp-content/images/foo.bar) par l'URL complète pour vous.

Fournissez toujours des URL valides avec le protocole correct pour -t et -u (c'est-à-dire http://www.example.com).

Une liste complète des paramètres est ci-dessous :

  • -t, --target TEXT
    • [OBLIGATOIRE] L'URL de la page web cible.
  • -o, --output TEXT
    • [Optionnel] Spécifie le nom du fichier pour le fichier HTML de sortie. La valeur par défaut est index.html. Il est recommandé d'inclure l'extension .html.
  • -u, --url TEXT
    • [Optionnel] Spécifie l'URL racine pour les images dans l'email ou la page web cible.
  • -m, --embed
    • [Optionnel] Encode les images en Base64 et les intègre dans la sortie.
  • --selenium
    • [Optionnel] Utilise Selenium pour récupérer la source HTML de la page web.
  • -s, --serverport TEXT
    • [Optionnel] Fournit un port à utiliser pour un serveur HTTP afin de servir les fichiers de sortie.
  • -c, --config FILE
    • [Optionnel] Fournit un fichier de configuration alternatif pour Cooper. Utile si vous utilisez différentes plateformes/serveurs de phishing.

Utilisation de email

Le module email est pratique lorsque vous souhaitez utiliser un email que vous possédez comme base pour un nouveau phish. Gérer l'encodage et les messages MIME multiparties peut être pénible à faire manuellement, alors laissez Cooper le faire pour vous. Ce module analysera le contenu du message, supprimera les parties inutiles comme les pièces jointes, et vous obtiendrez une version entièrement décodée du corps de l'email principal, les parties texte brut ou texte/html qui vous intéressent.

Une liste complète des paramètres est ci-dessous :

  • -f, --file PATH
    • [OBLIGATOIRE] Le fichier contenant le contenu brut de l'email à analyser.
  • -o, --output TEXT
    • [Optionnel] Spécifie le nom du fichier pour le fichier HTML de sortie. La valeur par défaut est index.html. Il est recommandé d'inclure l'extension .html.
  • -s, --serverport TEXT
    • [Optionnel] Fournit un port à utiliser pour un serveur HTTP afin de servir les fichiers de sortie.
    • -c, --config FILE
      • [Optionnel] Fournit un fichier de configuration alternatif pour Cooper. Utile si vous utilisez différentes plateformes/serveurs de phishing.

Utilisation de encode

Comme mentionné précédemment, ce module est ponctuel. L'argument requis, et unique, est -i pour fournir le fichier image à encoder. Il est pratique si vous construisez votre propre page d'atterrissage ou modifiez une page et avez besoin d'ajouter une image. Si vous décidez de l'intégrer, essayez ce module. Il encodera en Base64 le fichier fourni et produira le texte nécessaire pour intégrer l'image.

  • -i, --image TEXT
    • [OBLIGATOIRE] Le fichier cible à encoder en Base64.

Configuration

Prérequis Python

Cooper nécessite plusieurs bibliothèques pour le scraping de sites web et l'analyse du HTML. Utilisez pip ou pipenv pour tout installer. Il y a un fichier requirements.txt pour pip et un Pipfile pour les environnements virtuels pipenv. Si vous utilisez pip, assurez-vous d'utiliser la version appropriée sur votre système pour Python 3.9 (par exemple, pip3 ou pip3.9).

Pour être sûr d'utiliser la bonne version, appelez pip avec votre version de Python :

python3 -m pip install -r requirements.txt

Un environnement virtuel est encore plus simple à utiliser :

  1. Exécutez cette commande : pipenv install
  2. Entrez dans l'environnement avec : pipenv shell

Prérequis Selenium

L'utilisation de Selenium pour un navigateur sans tête nécessite que Google Chrome soit installé et de télécharger un fichier Chromewebdriver correspondant depuis : https://chromedriver.chromium.org/downloads

Téléchargez et extrayez le webdriver à la racine de ce projet. Vous pouvez le placer ailleurs, mais assurez-vous de mettre à jour la configuration (voir la section suivante).

Configurer la configuration

Ensuite, vous devez configurer votre fichier de configuration. Le fichier cooper.config fourni avec ce dépôt est préconfiguré pour une utilisation avec GoPhish (les URL sont définies pour être changées en {{.URL}}). La configuration par défaut suppose également que vous placerez un webdriver Chrome à la racine du répertoire.

Le fichier de configuration ressemble à ceci :

root@kitploit:~
[Replacement URLs]
landing_page_url_replacement: {{.URL}}
landing_page_form_action: {{.URL}}
email_replacement_url: {{.URL}}

[Browser]
driver_path: ./chromedriver
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.87 Safari/537.36

Apportez les modifications nécessaires. Vous pouvez créer plusieurs fichiers de configuration pour différentes plateformes de phishing que vous utilisez, des serveurs d'attaque supplémentaires ou des user-agents alternatifs. Différents fichiers de configuration peuvent être utilisés en incluant les arguments -c ou --config avec votre fichier alternatif. Sinon, le fichier cooper.config sera utilisé par défaut.

La section [Replacement URLs] contient toutes les URL que Cooper utilisera lors du remplacement des liens et des actions de formulaire.

landing_page_url_replacement est l'URL utilisée pour la page d'atterrissage. Vous voudrez peut-être la définir sur l'IP du serveur de phishing afin que les visiteurs soient redirigés vers la page d'atterrissage ou envoyés ailleurs.

landing_page_form_action est l'URL vers laquelle vous souhaitez que les données du formulaire soient envoyées lors de la soumission.

email_replacement_url est l'URL utilisée pour les emails et doit être définie sur le domaine ou l'adresse IP de votre serveur de phishing.

Si l'une de ces URL est définie sur rien, Cooper ne remplacera pas ces URL. Cela est plus pratique pour landing_page_url_replacement où vous pouvez souhaiter que la page d'atterrissage continue de pointer vers de vrais liens. Cependant, attention, la page web cible peut utiliser des liens relatifs comme /home.php au lieu de liens directs, ce qui signifierait que votre page d'atterrissage sera pleine de liens brisés.

La section [Browser] est uniquement pour les paramètres liés à la navigation web. Utilisez cette section pour pointer Selenium et Cooper vers votre webdriver de navigateur si vous choisissez d'utiliser un fichier ou un emplacement de pilote différent. Le user-agent utilisé pour la navigation web est également défini ici. Cooper a un user-agent par défaut que vous pouvez remplacer avec le fichier de configuration.

Infos diverses

  • Les images peuvent être encodées en Base64 avant d'être intégrées dans un modèle. Cela permet aux modèles de ne pas dépendre de la disponibilité du site web ou du maintien des images à leur emplacement. La taille ajoutée pour un site web est (fort probablement) négligeable, mais l'utilisation de cette option pour un email pourrait poser problème. Certains clients de messagerie ne prennent pas en charge les images Base64, comme Outlook(!). Gardez à l'esprit le client de messagerie de la cible.

  • L'option de serveur HTTP est là pour vous permettre de consulter facilement la sortie de Cooper en accédant à 127.0.0.1:PORT. Vous pourriez simplement ouvrir le fichier HTML, mais ce n'est pas aussi net.

Problèmes connus

  • Si le site web est hébergé sur un service comme SquareSpace, Cooper ne pourra pas réparer les images. Les balises img ressemblent à : <img src="https://raw.githubusercontent.com/chrismaddalena/cooper/HEAD/static1.squarespace.com/static/52ebedcae4b0ad4aad060b4a/t/533b687ae4b01d79d0ae12a3/1437187699809/?format=1500w"\>

Derniers mots

Remerciements particuliers à Ninjasl0th et Hagbard pour son aide sur ce projet !

Télécharger l’outil