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
dawgmon — dawg the hallway monitor - surveiller les changements du système d'exploitation et analyser la surface d'attaque introduite lors de l'installation de logiciels | Kitploit
Outils/GitHubGitHub/anvilsecure/dawgmon
Outils DéfensifsAnalyse des VulnérabilitésAudit de ConfigurationRéponse aux Incidents
GitHubanvilsecure/dawgmon

dawgmon

dawg the hallway monitor - surveiller les changements du système d'exploitation et analyser la surface d'attaque introduite lors de l'installation de logiciels

Voir le dépôt
55855il y a 6 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 →
Site web
Partager

dawgmon - Dawg le Surveillant de Couloir

RÉSUMÉ

Le nom de cet outil est basé sur un épisode (saison 10, épisode 10) de South Park dans lequel Cartman est Dawg le Surveillant de Couloir patrouillant dans les couloirs de son école. C'est un outil qui permet de surveiller les changements survenus sur un système Linux depuis la dernière exécution de l'outil.

Une façon de l'utiliser est d'employer quelque chose comme le cronjob exemple inclus pour exécuter dawgmon à intervalles réguliers et envoyer les résultats par e-mail à l'administrateur système. Cela peut aider à identifier les machines sur lesquelles des actions malveillantes se produisent et à surveiller qui installe quoi et où. Veuillez noter que toute backdoor sérieuse au niveau du noyau pourra facilement se cacher de cet outil, et donc il ne constitue qu'un outil supplémentaire dans la boîte à outils, mais il ne faut pas compter sur lui pour une surveillance de sécurité complète des machines Linux. C'est juste une option supplémentaire dans la boîte à outils.

L'autre façon dont il est utile est de générer une base de référence avant d'installer un logiciel. Ensuite, après avoir installé ce logiciel, on exécute à nouveau l'outil et il est facile de voir quels changements ont été apportés au système. Un exemple après avoir établi une base de référence puis installé virtualbox sur une machine pourrait donner quelque chose comme ceci :

# ./dawgmon -gfA
1 changement détecté (0 avertissements)            
+ propriété systemd NNames modifiée de 259 à 261
# apt install virtualbox-5.1
[...]
# ./dawgmon -gfA
33 changements détectés (0 avertissements)          
+ taille du fichier /etc/group modifiée de 937 à 954
+ fichier /etc/group modifié le 2017-09-14 19:29:51.804811 +0200
+ taille du fichier /etc/group- modifiée de 934 à 937
+ fichier /etc/group- modifié le 2017-09-14 19:29:14.000000 +0200
+ fichier /etc/gshadow modifié le 2017-09-14 19:29:51.812811 +0200
+ taille du fichier /etc/gshadow- modifiée de 777 à 794
+ taille du fichier /etc/mailcap modifiée de 40777 à 41063
+ fichier /etc/mailcap modifié le 2017-09-14 19:29:51.632812 +0200
+ fichier /etc/systemd/system/multi-user.target.wants/vboxautostart-service.service créé (owner=root, group=root, perm=lrwxrwxrwx, size=49)
+ fichier /etc/systemd/system/multi-user.target.wants/vboxballoonctrl-service.service créé (owner=root, group=root, perm=lrwxrwxrwx, size=51)
+ fichier /etc/systemd/system/multi-user.target.wants/vboxdrv.service créé (owner=root, group=root, perm=lrwxrwxrwx, size=35)
+ fichier /etc/systemd/system/multi-user.target.wants/vboxweb-service.service créé (owner=root, group=root, perm=lrwxrwxrwx, size=43)
+ fichier /etc/udev/rules.d/60-vboxdrv.rules créé (owner=root, group=root, perm=-rw-r--r--, size=747)
+ groupe vboxusers ajouté
+ package virtualbox-5.1 est à installer
+ binaire suid /usr/lib/virtualbox/VBoxHeadless créé (owner=root, group=root, perm=-r-s--x--x, size=158304)
+ binaire suid /usr/lib/virtualbox/VBoxNetAdpCtl créé (owner=root, group=root, perm=-r-s--x--x, size=23144)
+ binaire suid /usr/lib/virtualbox/VBoxNetDHCP créé (owner=root, group=root, perm=-r-s--x--x, size=158304)
+ binaire suid /usr/lib/virtualbox/VBoxNetNAT créé (owner=root, group=root, perm=-r-s--x--x, size=158304)
+ binaire suid /usr/lib/virtualbox/VBoxSDL créé (owner=root, group=root, perm=-r-s--x--x, size=158296)
+ binaire suid /usr/lib/virtualbox/VBoxVolInfo créé (owner=root, group=root, perm=-r-s--x--x, size=10472)
+ binaire suid /usr/lib/virtualbox/VirtualBox créé (owner=root, group=root, perm=-r-s--x--x, size=158304)
+ i-nœud pour socket UNIX d'écoute /run/systemd/private modifié de 3428734 à 3452848
+ propriété systemd NInstalledJobs modifiée de 8392199 à 3238035463
+ propriété systemd NNames modifiée de 261 à 263
+ fichier d'unité systemd vboxautostart-service.service ajouté
+ fichier d'unité systemd vboxballoonctrl-service.service ajouté
+ fichier d'unité systemd vboxdrv.service ajouté
+ fichier d'unité systemd vboxweb-service.service ajouté
+ unité systemd 'vboxautostart-service.service' ajoutée
+ unité systemd 'vboxballoonctrl-service.service' ajoutée
+ unité systemd 'vboxdrv.service' ajoutée
+ unité systemd 'vboxweb-service.service' ajoutée

Ce qui précède aide à effectuer une revue de sécurité approfondie de virtualbox. Les binaires suid installés sont des points d'entrée évidents et les services en cours d'exécution sont intéressants.

Un autre exemple d'exécution qui détecte correctement l'ouverture et la fermeture de ports TCP :

# ./dawgmon -gfA
0 changements détectés (0 avertissements)           
# nc -l -p 4455 &
[1] 12489
# ./dawgmon -gfA
1 changement détecté (0 avertissements)            
+ port 4455 tcp ouvert
# fg
nc -l -p 4455
^C
# ./dawgmon -gfA
1 changement détecté (0 avertissements)            
+ port 4455 tcp fermé
# 

L'outil n'est pas destiné à une précision totale. Il est généralement fortement déconseillé de se fier à la sortie d'utilitaires GNU coreutils tels que ls pour l'entrée de l'outil. En d'autres termes, on ne devrait que rarement construire des outils pour analyser et se fier à ce type de sortie car elle peut changer à tout moment. En réalité, la sortie de ces outils est relativement stable car de nombreuses personnes et outils automatiques s'y fient déjà pour toutes sortes de fins.

Cependant, le compromis pour dawgmon est le suivant : nous devrions implémenter beaucoup de logique pour faire nous-mêmes la surveillance du système de fichiers, construire des binaires complexes incluant des bibliothèques pour analyser et surveiller les périphériques de bloc, les interfaces réseau et bien d'autres choses encore. Cela rendrait également l'outil beaucoup plus complexe et moins maintenable. Sur les projets actuels, on peut ajouter une nouvelle commande incluant la détection de changement en très peu de temps, car l'outil principal dawgmon gère déjà la mise en cache, l'exécution de la commande et la fourniture de la sortie précédente et actuelle lors de l'exécution d'une comparaison vers une implémentation de commande. Cela signifie que sur des projets contraints en temps, on peut très rapidement ajouter une nouvelle commande et exécuter des analyses incluant ces nouvelles commandes.

Une commande peut être ajoutée simplement en héritant de la classe Command. Cette classe est définie dans commands/__init__.py. Ce fichier contient également la liste maîtresse des commandes (et l'ordre dans lequel elles sont exécutées lors d'une analyse complète). Ensuite, les propriétés comme name, shell, command et desc devront être définies et deux méthodes parse() et compare() devront être implémentées. Suffisamment de commandes sont incluses pour avoir une bonne idée de la façon d'implémenter et d'en ajouter de nouvelles.

UTILISATION

Pour de meilleurs résultats, exécutez l'outil en tant que root. Pour l'aide, tapez -h/--help et pour les informations de version, tapez -v/--version.

Une action principale doit toujours être spécifiée. Ces actions sont :

  • -A : analyser le système
  • -C : comparer des entrées du cache
  • -E : lister les commandes disponibles
  • -L : lister les entrées du cache
# exécute une analyse
dawgmon -A

# exécute une analyse mais uniquement avec quelques commandes
dawgmon -A -e list_suids -e list_tcpudp_ports

# affiche la liste des commandes disponibles
dawgmon -E

# affiche les entrées du cache disponibles pour comparaison
dawgmon -L

# compare l'ancienne entrée de cache 3 avec la nouvelle entrée de cache 5
dawgmon -C 3 5

Options supplémentaires pour aider à l'analyse :

Télécharger l’outil