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
malcom — Malcom - Analyseur de communications de malwares | Kitploit
Outils/GitHubGitHub/tomchop/malcom
Criminalistique RéseauAnalyse de MalwareRenseignement sur les Menaces
GitHubtomchop/malcom

malcom

Malcom - Analyseur de communications de malwares

Voir le dépôt
1.2k21624il y a 8 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

Malcom - Analyseur de communications de malwares

Malcom est un outil conçu pour analyser les communications réseau d'un système à l'aide de représentations graphiques du trafic réseau, et les recouper avec des sources de malwares connues. Cela s'avère utile lors de l'analyse de la manière dont certaines espèces de malwares tentent de communiquer avec l'extérieur.

  • Qu'est-ce que Malcom ?
  • Guide rapide
  • Installation
  • Options de configuration
  • Instance Docker
  • Note rapide sur l'interception TLS
  • Environnement
  • Flux
  • Spécifications techniques
  • Feuille de route
  • Avertissement
  • Licence

Qu'est-ce que Malcom ?

Malcom peut vous aider à :

  • détecter les serveurs de commande et de contrôle (C&C)
  • comprendre les réseaux pair-à-pair
  • observer les infrastructures DNS fast-flux
  • déterminer rapidement si un artefact réseau est « connu comme malveillant »

Le but de Malcom est de rendre l'analyse des malwares et la collecte de renseignements plus rapides en fournissant une version lisible par l'humain du trafic réseau provenant d'un hôte ou d'un réseau donné. Convertissez les informations de trafic réseau en renseignements exploitables plus rapidement.

Consultez le wiki pour un démarrage rapide avec de belles captures d'écran et un tutoriel sur comment ajouter vos propres flux.

Si vous avez besoin d'aide ou souhaitez contribuer, n'hésitez pas à rejoindre la liste de diffusion ou à essayer de trouver quelqu'un sur IRC (#malcom sur freenode.net, c'est assez calme mais il y a toujours quelqu'un). Vous pouvez aussi me contacter sur Twitter @tomchop_

Voici un exemple de graphe pour l'hôte tomchop.me nodes-tomchop.png

Vue de l'ensemble de données (filtrée pour n'afficher que les IP) dataset-view.png

Guide rapide

  • Installer
  • S'assurer que mongodb et redis-server sont en cours d'exécution
  • Élever vos privilèges à root (oui, je sais, voir l'avertissement)
  • Lancer le serveur web avec la configuration par défaut : ./malcom.py -c malcom.conf (ou voir les options avec ./malcom.py --help) ** Pour un exemple de fichier de configuration, vous pouvez copier malcom.conf.example vers malcom.conf ** Le port par défaut est 8080 ** Sinon, exécutez les flux depuis celery. Voir la section flux pour plus de détails sur la procédure.

Installation

Malcom est écrit en Python. Si vous disposez des bibliothèques nécessaires, vous devriez pouvoir l'exécuter sur n'importe quelle plateforme. Je recommande vivement l'utilisation d'environnements virtuels Python (virtualenv) afin de ne pas perturber les bibliothèques système.

Ce qui suit a été testé sur Ubuntu Server 14.04 LTS :

  • Installer git, python et les bibliothèques libevent, mongodb, redis, ainsi que d'autres dépendances

      $ sudo apt-get install build-essential git python-dev libevent-dev mongodb libxml2-dev libxslt-dev zlib1g-dev redis-server libffi-dev libssl-dev python-virtualenv
    
  • Cloner le dépôt Git :

      $ git clone https://github.com/tomchop/malcom.git malcom
    
  • Créer votre virtualenv et l'activer :

      $ cd malcom
      $ virtualenv env-malcom
      $ source env-malcom/bin/activate
    
  • Obtenir et installer scapy :

      $ cd .. 
      $ wget http://www.secdev.org/projects/scapy/files/scapy-latest.tar.gz
      $ tar xvzf scapy-latest.tar.gz
      $ cd scapy-2.1.0
      $ python setup.py install
    
  • Depuis votre virtualenv, installer les paquets Python nécessaires à partir du fichier requirements.txt :

      $ cd ../malcom
      $ pip install -r requirements.txt
    
  • Pour que la géolocalisation IP fonctionne, vous devez télécharger la base de données Maxmind et extraire le fichier dans le répertoire malcom/Malcom/auxiliary/geoIP. Vous pouvez obtenir la base de données gratuite (donc plus ou moins précise) de Maxmind depuis le lien suivant : http://dev.maxmind.com/geoip/geoip2/geolite2/ :

      $ cd Malcom/auxiliary/geoIP
      $ wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
      $ gunzip -d GeoLite2-City.mmdb.gz
      $ mv GeoLite2-City.mmdb GeoIP2-City.mmdb
    
  • Lancer le serveur web depuis le répertoire malcom avec ./malcom.py. Consultez ./malcom.py --help pour l'interface d'écoute et les ports.

    • Pour commencer, vous pouvez copier le fichier malcom.conf.example vers malcom.conf et exécuter ./malcom.py -c malcom.conf

Options de configuration

Base de données

Par défaut, Malcom tentera de se connecter à une instance MongoDB locale et créera sa propre base de données nommée malcom. Si cela vous convient, vous pouvez sauter les étapes suivantes. Sinon, vous devez modifier la section database de votre fichier malcom.conf.

Définir un autre nom pour votre base de données Malcom

Par défaut, Malcom utilise une base de données nommée malcom. Vous pouvez modifier ce comportement en éditant le fichier malcom.conf et en définissant la directive name dans la section database comme vous le souhaitez.

    [database]
    ...
    name = my_malcom_database
    ...
Base(s) de données distante(s)

Par défaut, Malcom tentera de se connecter à localhost, mais votre base de données peut se trouver sur un autre serveur. Pour modifier cela, définissez simplement la directive hosts. Vous pouvez utiliser des noms d'hôtes ou des adresses IPv4/v6 (n'oubliez pas d'encadrer vos adresses IPv6 entre [ et ], par exemple [::1]).

Si vous souhaitez utiliser une base de données autonome sur l'hôte my.mongo.server, définissez :

    [database]
    ...
    hosts = my.mongo.server
    ...

Vous pouvez également spécifier le port sur lequel mongod écoute en l'indiquant après le nom/adresse de votre serveur, séparé par : :

    [database]
    ...
    hosts = localhost:27008
    ...

Et si vous utilisez un ReplicaSet regroupant my.mongo1.server et my.mongo2.server, définissez :

    [database]
    ...
    hosts = my.mongo1.server,my.mongo2.server
    ...
Utiliser l'authentification

Vous avez peut-être configuré vos instances mongod pour imposer des connexions authentifiées. Dans ce cas, vous devez définir le nom d'utilisateur que le pilote devra utiliser pour se connecter à votre instance mongod. Pour cela, ajoutez simplement une directive username dans la section database du fichier malcom.conf. Vous devrez peut-être également définir le mot de passe avec la directive password. Si l'utilisateur n'a pas de mot de passe, ignorez (commentez) la directive password.

    [database]
    ...
    username = my_user
    password = change_me
    ...

Si l'utilisateur n'est pas lié à la base de données malcom mais à une autre (par exemple la base admin pour un utilisateur administrateur), vous devrez définir la directive authentication_database avec le nom de cette autre base.

    [database]
    ...
    authentication_database = some_other_database
    ...
Cas d'un jeu de réplicas
Télécharger l’outil