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
sub.Monitor — Outil auto-hébergé de surveillance passive continue des sous-domaines. | Kitploit
Outils/GitHubGitHub/e1abrador/sub.monitor
ReconnaissanceCollecte d'InformationsÉnumération de Sous-domaines
GitHube1abrador/sub.monitor

sub.Monitor

Outil auto-hébergé de surveillance passive continue des sous-domaines.

Voir le dépôt
1722013il y a 2 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

sub.Monitor


   Outil de surveillance de sous-domaines rapide et convivial pour une gestion continue de la surface d'attaque.

image

Pourquoi ?

Pourquoi opter pour sub.Monitor ? Ce programme offre une installation facile grâce à l'utilisation de SQLite pour stocker tous les domaines identifiés (supprimant la nécessité d'une gestion préalable de la base de données). De plus, il est hautement personnalisable, les utilisateurs n'ayant besoin d'ajouter que quelques lignes de code au script en utilisant leurs outils choisis. Contrairement à d'autres solutions existantes reposant sur des bases de données telles que MySQL ou MongoDB, l'initialisation du script peut devenir une tâche fastidieuse.

Fonctionnalités

  • Rapide
  • Facile à utiliser
  • Facile à installer
  • Facile à personnaliser
  • Sauvegarde continue des sous-domaines dans la base de données locale (avec possibilité de tous les vider)
  • Notifications Telegram/slack/discord

Menu d'aide

Indicateurs sub.Monitor :

options:
  --add ADD             Domaine à analyser
  --out-scope OUT_SCOPE
                        Fichier avec les domaines hors périmètre
  --file FILE           Fichier avec les sous-domaines connus
  -D DOMAIN, --domain DOMAIN
                        Domaine à analyser
  -H HOURS, --hours HOURS
                        Heures entre les analyses
  --dump                Vider tous les sous-domaines pour un domaine spécifique
  --list                Lister tous les domaines racine dans la base de données
  -df DF                Fichier avec les domaines à analyser
  --inscope             Vider uniquement les domaines dans le périmètre
  --notinscope          Vider uniquement les domaines hors périmètre
  --dumpall             Vider tous les sous-domaines avec leurs détails
  --info                Afficher la date de découverte des sous-domaines
  -help, -?             Afficher ce message d'aide et quitter

Configurations préalables nécessaires

Vous devez écrire les chemins des fichiers de configuration (api) dans le fichier config.ini.

  • Subfinder fichier de configuration api.
  • Amass fichier de configuration api.
  • Fichier de configuration de l'api Notify.
  • Vous devrez spécifier les chemins du binaire et de la configuration dans le fichier sub.monitor-config.ini.
  • Enfin, exécutez pip3 install -r requirements.txt

Vous pouvez facilement implémenter vos propres outils dans le script, modifiez simplement les lignes de code :

def run_tool(tool, domain, output_file):
    print(f'[{datetime.datetime.now()}] - Running {tool} on {domain}')
    if tool == 'assetfinder':
        assetfinder_binary = config.get('Binary paths', 'assetfinder')
        cmd = f'echo {domain} | {assetfinder_binary} -subs-only | grep -E "{domain}$" |grep -v "*" | grep -v "@"'
    elif tool == 'subfinder':
        subfinder_binary = config.get('Binary paths', 'subfinder')
        subfinder_api = config.get('Api', 'subfinder_api')
        cmd = f'{subfinder_binary} -d {domain} -silent -pc {subfinder_api} -all'
    elif tool == 'amass':
        amass_binary = config.get('Binary paths', 'amass')
        amass_api = config.get('Api', 'amass_api')
        cmd = f'{amass_binary} enum -passive -norecursive -noalts -d {domain} -config {amass_api}'
    elif tool == 'my-custom-tool':
        my-custom-tool-binary = config.get('Binary paths', 'my-custom-tool-binary-or-script')
        cmd = f'{my-custom-tool-binary} -d {domain}'

Il est important de noter que si vous ajoutez un outil personnalisé, la dernière sortie doit être les résultats du domaine afin que sub.Monitor les enregistre dans la base de données. Par exemple, la manière de l'utiliser serait :

cmd = f'bash customtool.sh {domain}''
...
cat customtool.sh
mycustomtool -d $1 > /tmp/$1.txt &>/dev/null; cat /tmp/$1.txt | unfurl domains | anew; rm -r /tmp/$1.txt

Ajoutez également le nom de votre outil ici :

                for tool in ['subfinder', 'amass', 'assetfinder', 'my-custom-tool-name']:
                    run_tool(tool, domain, output_file)

Enfin, bien sûr, vous devez ajouter l'outil dans le fichier sub.monitor-config.ini pour que le script python puisse obtenir le binaire à partir de ce fichier de configuration.

La seule chose nécessaire est qu'une fois la commande terminée, elle doit afficher en sortie tous les domaines découverts afin que l'outil puisse les enregistrer dans le fichier de logs et dans la base de données.

Plan de travail

Tout d'abord, sub.Monitor a besoin d'une liste de domaines déjà scannés :

➜  cat ibm_sorted_subdomains.txt
test1.ibm.com
test2.ibm.com
test3.ibm.com
subtest.testX.ibm.com
...

Maintenant, le fichier contenant les sous-domaines peut être passé à sub.Monitor avec la commande suivante :

python3 monitor.py --add ibm.com --file ibm_sorted_subdomains.txt
          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

[2023-06-06 18:16:26.002521] - 538 sous-domaines ont été ajoutés à la base de données locale.

Il est également possible d'ajouter un indicateur hors périmètre. Par exemple, disons qu'un programme de Bug Bounty a la politique suivante :

*.ibm.com - dans le périmètre
super-admin.ibm.com - hors périmètre
*.super-admin.ibm.com - hors périmètre

Il est possible de créer un fichier avec ces éléments :

cat outscope.txt
super-admin.ibm.com
*.super-admin.ibm.com

Maintenant, vous pouvez ajouter manuellement tous vos domaines découverts à la base de données (en filtrant ceux qui sont dans le périmètre) :

python3 monitor.py --add ibm.com --file ibm_sorted_subdomains.txt --out-scope outscope.txt
          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

[2023-06-06 18:16:26.002521] - 538 sous-domaines ont été ajoutés à la base de données locale.

Cela ajoutera tous vos sous-domaines à la base de données, mais marquera ceux qui sont hors périmètre avec le drapeau [Hors périmètre] (nous verrons comment filtrer les domaines dans le périmètre depuis la base de données dans la section de vidage des domaines).

Pour confirmer que le domaine a été ajouté à la base de données, exécutez :

python3 monitor.py --list
          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

ibm.com [9 sous-domaines ajoutés manuellement] [2 sous-domaines découverts] [11 uniques totaux dans la base de données]

Télécharger l’outil