Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
Hale — Botnet de commande et contrôle — moniteur | Kitploit
Outils/GitHubGitHub/pjlantz/hale
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsSécurité RéseauAnalyse de MalwareCommandement et ContrôleRenseignement sur les MenacesRéponse aux Incidents
GitHubpjlantz/hale

Hale

Botnet de commande et contrôle — moniteur

Voir le dépôt
2026057il y a 4 ansVé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

À propos

Hale est un moniteur/espion de commande et contrôle de botnet avec une conception modulaire permettant de développer facilement de nouveaux modules qui surveillent de nouveaux protocoles utilisés par les serveurs C&C. Hale est livré avec des moniteurs IRC et HTTP développés avec Twisted pour gérer la scalabilité d'un grand nombre de connexions. Ces modules ont une grammaire de protocole et des paramètres de bot configurables, mais peuvent également être modifiés selon vos besoins. Tous les logs et fichiers capturés sont enregistrés dans une base de données, et dans le cas de l'IRC, les numéros IP suivis également.

Pour masquer l'emplacement de l'opérateur, les connexions peuvent être effectuées via des mandataires SOCKSv5, et cela est configurable via l'interface web où tous les logs sont également disponibles pour consultation, accompagnés de graphiques statistiques et de chronologies. L'interface a été développée avec Django et l'API Google Visualization. Quelques fonctionnalités supplémentaires dans l'interface web incluent le support d'une API RESTful avec support OAuth et un moteur de recherche.

L'idée principale de Hale est d'aider la chasse aux botnets et la recherche en créant un réseau de capteurs (moniteurs Hale). Pour améliorer cette idée, un bot XMPP est disponible pour se connecter à un serveur XMPP centralisé où deux salles de groupe différentes sont actuellement utilisées : une pour la coordination entre les capteurs et une pour le partage des logs et fichiers. La salle de coordination utilise des hachages de botnet constitués à partir des clés uniques dans les paramètres du botnet. De cette façon, deux botnets n'ont pas besoin d'être surveillés simultanément s'ils ont le même hachage (identité), ce qui améliore l'utilisation. Pour aider les tiers à utiliser ce réseau, un bot peut rejoindre la salle de coordination et demander à un capteur de commencer à suivre un botnet s'il n'est pas suivi, en lui envoyant les configurations nécessaires. De plus, dans la salle de partage, les bots tiers peuvent obtenir les logs et fichiers capturés par les capteurs en temps réel. Pour faciliter l'historique des logs, l'API web peut être utilisée et prend en charge les requêtes GET.

Installation

Hale a les dépendances suivantes :

Python == 2.6
Django == 1.2.1
Twisted == 10.1.0
GeoIP-Python == 1.2.4 (et lib C GeoIP)
Whoosh == 0.3.18
django-haystack == 1.0.1-final
django-piston == 0.2.3rc1
pefile == 1.2.10-63
sleekxmpp == 0.9Rrc1
wsgiref == 0.1.2
zope.interface == 3.6.1
oauth2 == 1.2.0
httplib2 == 0.6.0

De plus, le moniteur nécessite un pilote de base de données backend correspondant à la base de données utilisée par Django. Lorsque ces bibliothèques sont installées, téléchargez la source à partir d'ici et extrayez-la n'importe où.

Configuration

  1. Commencez par créer une base de données qui sera utilisée par Hale. Le moteur de base de données peut être celui de votre choix. Si vous utilisez une base de données existante, passez cette étape.

  2. L'étape suivante consiste à installer les pilotes Python de backend correspondant à ceux utilisés par le moteur du serveur.

  3. Modifiez settings.py dans hale/src/webdb/ et éditez les configurations suivantes : ENGINE, NAME, USER, PASSWORD, HOST et PORT où le paramètre ENGINE est par exemple django.db.backends.mysql si votre moteur de serveur est MySQL. Le paramètre NAME est le nom de votre base de données utilisé lors de sa création.

  4. Si vous ne souhaitez pas lancer votre propre interface web, passez cette étape et allez à l'étape 8). Dans settings.py, modifiez PATH_TO_APP pour pointer vers le chemin complet de l'application Django, par exemple : '/home/..../Hale/src/webdb'. Dans le répertoire webdb, exécutez la commande suivante : python manage.py syncdb. Si vous obtenez des erreurs, il est très probable que les paramètres de base de données dans settings.py soient incorrects. Pendant la synchronisation, définissez le superutilisateur qui sera utilisé pour l'administration des utilisateurs.

  5. Pour activer la recherche dans l'interface web, exécutez python manage.py rebuild_index pour que le moteur de recherche crée l'index une première fois. Cela créera un répertoire nommé whoosh.index/. Pour permettre au serveur web d'écrire ici, exécutez chmod o+w whoosh.index/. Ensuite, exécutez python manage.py update_index à la place et placez-le en tâche cron pour mettre à jour les index à intervalle régulier de votre choix.

  6. Exécutez python manage.py runserver et allez sur http://127.0.0.1:8000 pour vérifier que la configuration est correcte.

  7. La commande runserver déploie un serveur de développement qui n'est pas recommandé pour une utilisation en production pour des raisons de performances. Déployez plutôt l'interface web en installant mod_wsgi pour Apache. Si vous utilisez Ubuntu, exécutez apt-get install libapache2-mod-wsgi. Dans /etc/apache2/sites-available/default, ajoutez ce qui suit :

    Alias /media /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
    <Location /media>
      Order allow,deny
      Allow from all
    </Location>


    WSGIDaemonProcess username processes=2 maximum-requests=500 threads=10
    WSGIProcessGroup group

    WSGIScriptAlias / /home/..../webdb/django.wsgi

et modifiez le nom d'utilisateur et le groupe sous lesquels le démon WSGI doit s'exécuter. WSGIScriptAlias doit être défini sur le chemin complet du fichier django.wsgi situé dans le répertoire webdb. L'alias spécifié ci-dessus est nécessaire pour que la page d'administration soit rendue correctement. Pour pouvoir télécharger des modules via l'interface web, exécutez chmod o+w webdb/modules.

  1. Téléchargez les modules qui seront utilisés depuis hale/src/modules/ ou écrivez les vôtres (voir la section Développement). Téléchargez le module souhaité dans l'interface d'administration et modifiez par exemple le nom du module en irc et le nom du fichier en ircModule.py. Spécifiez les règles de configuration pour le module dans la section correspondante située dans hale/conf/modules.conf et mettez-les dans la zone de texte. Ajoutez également les sections uniqueKeys pour le module téléchargé.

  2. Avant d'exécuter le moniteur, modifiez hale.conf dans hale/src/conf/ si vous souhaitez utiliser un serveur XMPP. Pour activer le bot XMPP, définissez le paramètre use sur True et modifiez soit les informations de connexion d'un compte et d'un serveur existant, soit démarrez votre propre serveur XMPP. Une étape importante lors du démarrage d'un serveur XMPP est d'augmenter la taille maximale des stanzas de la valeur par défaut à environ 10 Mo. Sinon, la publication de malwares ne sera pas possible. Les paramètres de canal dans hale.conf sont utilisés pour la salle de groupe de partage utilisée par le bot, et le paramètre coord est utilisé pour la salle de groupe où toute la coordination entre les capteurs a lieu.

  3. Modifiez hale.conf et configurez les paramètres client et serveur.

Utilisation

Télécharger l’outil