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
Outils/GitHubGitHub/douglas-042/douglas-042-hq
Outils DéfensifsGestion des Indicateurs de Compromission (IOC)Analyse des VulnérabilitésAnalyse ForensiqueRenseignement sur les MenacesDétection d'IntrusionRéponse aux IncidentsAnalyse de Journaux
GitHubdouglas-042/douglas-042-hq

douglas-042-HQ

Console centrale pour les collecteurs Douglas-042 HEADQUARTERS. Balaye une flotte, corrèle les résultats entre les hôtes et gère les flux IOC et la livraison SIEM depuis un seul endroit.

14il y a 25 joursPas encore vérifié
Voir le dépôt

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

Douglas-042 HEADQUARTERS

Chasse aux menaces et réponse aux incidents basées sur des agents, pour les parcs qui ne disposent pas d'un EDR.

Balayez un parc d'hôtes Windows et Linux à la recherche de signes de compromission, décidez ce qui compte réellement, et agissez — depuis une seule console, avec une seule commande par hôte.

Python FastAPI Agents Rules License

Console Douglas-042 — posture du parc en un coup d'œil

Ce qu'il fait

Une chasse n'est pas un scan. Douglas collecte les artefacts qu'un analyste collecterait à la main — processus, services, tâches planifiées, autoruns, connexions, comptes, pilotes, journaux d'événements, cron, systemd, historique du shell, racines web — et exécute 201 détections intégrées sur ceux-ci, plus vos propres règles Sigma, YARA et personnalisées.

Ensuite, il fait la partie que la plupart des outils vous laissent : il indique quels résultats nécessitent encore une décision, laquelle des soixante adresses externes examiner en premier, et vous permet d'agir sans ouvrir une session RDP.

root@kitploit:~
   déployer une commande  ──▶  chasser  ──▶  les résultats apparaissent en direct
                                            │
                     ┌──────────────────────┼──────────────────────┐
                     ▼                      ▼                      ▼
              correspondance flux IOC   score de réputation    actions de réponse
              "c'est un C2 connu"       "92/100, 340 signalements"  isoler · tuer · collecter

Pourquoi il existe

Les parcs qui ont le plus besoin de chasse sont souvent ceux qui n'ont pas d'EDR : quelques dizaines de serveurs, pas de budget pour un agent, et un incident qui a commencé il y a trois jours. Le choix se fait généralement entre une plateforme commerciale que personne n'a validée et un dossier de scripts PowerShell que quelqu'un exécute à la main.

Douglas se situe entre les deux. Rien n'est installé sur l'hôte que vous investigatez — le collecteur s'exécute une fois et se termine — et chaque résultat atterrit dans une console unique que vous pouvez transmettre à la personne qui reprendra l'incident.


Triage : ce qui nécessite encore une décision

Les résultats sont faciles à produire et coûteux à lire. Cet écran existe pour garder la file suffisamment courte pour que quelqu'un la lise encore au troisième passage.

Triage — travail ouvert par sévérité, et les règles les plus bruyantes

Trois issues, et la différence entre elles compte six mois plus tard :

DécisionCe qu'elle fait
ConfirméRéel. Reste dans le score de risque, l'hôte reste rouge.
Faux positifRetiré du score pour cet hôte uniquement.
SuppressionUne règle permanente qui masque le même résultat à chaque futur scan.

Rien n'est jamais supprimé. Retirez une suppression et tout ce qu'elle masquait réapparaît. Règles les plus bruyantes se trouve en bas parce que les ajuster vide la file plus rapidement que de la parcourir résultat par résultat.


Des détections que vous pouvez lire, ajuster et désactiver

Les 201 détections sont regroupées en 15 catégories — activables une par une ou par famille entière. Cliquez sur n'importe quelle règle pour lire ce qu'elle vérifie, comment elle se déclenche légitimement, et quoi faire ensuite.

Détections intégrées, regroupées en catégories

La distinction que l'écran précise, car se tromper est courant :

Désactiver une règle n'est pas la même chose que la supprimer. Désactivée signifie que le collecteur n'exécute jamais la vérification — rien n'est produit et il n'y a rien à examiner. Une suppression enregistre le résultat et le marque comme une décision prise par quelqu'un, avec une raison associée.

Utilisez désactivé pour une famille de bruit que vous avez acceptée. Utilisez suppression pour un motif spécifique sur un hôte spécifique.

Un tiret sous Déclenché est généralement la réponse saine : DGL-014 ne se déclenche que lorsqu'un journal semble effacé. La liste représente ce que l'outil vérifie, pas ce qui ne va pas.


Écrivez vos propres règles, sous forme de texte

Le formulaire est plus rapide pour votre première règle et plus lent pour votre vingtième. Les règles peuvent donc aussi être écrites sous forme de texte — vérifiées au fur et à mesure de la saisie, contre 11 tables d'artefacts et 13 opérateurs.

Écriture d'une règle sous forme de texte, avec validation en direct

La zone en dessous remplit deux fonctions. Quand la règle est erronée, elle nomme la ligne, pas la règle :

root@kitploit:~
line 7: Condition 1: 'is_maybe' is not an operator.

Quand elle est correcte, elle indique ce que la règle va réellement correspondre — car une règle qui se valide puis correspond à autre chose que ce que son auteur voulait dire est l'échec qu'il vaut la peine d'attraper :

Valide — ACME-001 Lit Services et correspond lorsque Signed est faux et que PathName ne contient pas 'Program Files' et que PathName ne contient pas 'System32'

Import et export en JSON, YAML ou CSV. L'aller-retour est garanti — notre propre export passe notre propre validateur dans les trois formats.


Les flux d'indicateurs et la réputation répondent à des questions différentes

QuestionQuandRésultat
Flux IOCY a-t-il quelque chose de cette liste de C2 sur mes hôtes ?Pendant la chasseDGL-IOC — une correspondance confirmée, pas un score
EnrichissementCet hôte a communiqué avec 60 adresses — lesquelles examiner en premier ?Après la chasse92/100, 340 signalements, C2 Cobalt Strike connu

Quinze sources de flux sont fournies prêtes à l'emploi — Feodo, ThreatFox, URLhaus, TweetFeed, USOM, SSL Blacklist, Emerging Threats, OpenPhish, MISP — plus un flux personnalisé qui lit toute URL renvoyant des données en forme d'indicateur.

Quatre fournisseurs de réputation : AbuseIPDB, VirusTotal, ThreatFox (offres gratuites) et GreyNoise (payant, désactivé par défaut). Les verdicts ne sont jamais fusionnés en un seul chiffre — AbuseIPDB compte les plaintes, VirusTotal compte les moteurs, ThreatFox connaît l'infrastructure, et une moyenne de ceux-ci est un chiffre qu'aucun d'entre eux ne défendrait. Le badge affiche le pire verdict avec le fournisseur qui l'a donné.

Les offres gratuites sont protégées : résultats mis en cache 12 heures, 40 adresses par exécution, et un compteur quotidien qui s'arrête avant le fournisseur. Les adresses privées ne sont jamais envoyées.


Réponse, depuis la console

Onze actions en trois groupes — observer, agir, contenir. Les cinq en lecture seule sont marquées différemment des six qui modifient l'hôte, et chaque action mutante exige une raison écrite.

L'isolation maintient la console joignable à dessein : un hôte coupé de son propre agent ne peut pas être libéré à distance, et quelqu'un devrait s'y rendre physiquement. Les cibles qui casseraient la machine plutôt que de contenir l'intrusion — lsass.exe, systemd, pid 1, Administrator, /bin/bash — sont refusées, pas signalées par un avertissement, car le moment où cela est utilisé est le moment où personne ne lit les avertissements.

La sortie revient sous forme de cartes structurées plutôt que d'un vidage de terminal, et les lignes sont actionnables : une liste de processus a un bouton Tuer par ligne, une adresse a Réputation.


Sigma et YARA, sur les deux plateformes

WindowsLinux
SigmaEvent Log + Sysmonauditd execve + auth/cron/syslog
YARAcontenu de fichiercontenu de fichier

Les règles Sigma Linux dont la source de journal ne peut pas être lue sont rejetées à l'import avec une raison, plutôt que chargées et laissées à ne jamais se déclencher — un résultat vide d'une règle qui n'a pas pu s'exécuter ressemble exactement à un hôte propre.

L'agent Linux vérifie si auditd est installé, en cours d'exécution, et a des règles chargées, puis indique ce qui manque et ce que cela coûte :

root@kitploit:~
   Detection capabilities on this host
     auditd    : NOT RUNNING
                 Nothing records what executes on this host, so execution
                 rules cannot fire and a clean result only means the sweep
                 could not look. Install it:
                   apt install auditd && systemctl enable --now auditd

Envoyez-le là où les gens regardent déjà

Onze destinations en trois groupes :

  • SIEM — Wazuh/JSON, Splunk HEC, Microsoft Sentinel, Elasticsearch, QRadar LEEF, CEF, NDJSON
  • Notifier — Slack, Microsoft Teams, PagerDuty
  • Cas — TheHive

Les destinations de chat et de pagination affichent une phrase plutôt qu'un enregistrement, et limitent le nombre de résultats dans un seul message : un canal dans lequel on colle une centaine de lignes est un canal que les gens mettent en sourdine.


Démarrage rapide

root@kitploit:~
git clone https://github.com/YOURNAME/douglas-042.git
cd douglas-042
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000

Ou avec Docker :

root@kitploit:~
docker compose up -d

Ouvrez http://your-server:8000

Connexion par défaut

Nom d'utilisateur : admin Mot de passe : douglas

La console force un changement de mot de passe à la première connexion — un mot de passe par défaut intégré à un paquet ne doit pas survivre sans être remarqué. Définissez DOUGLAS_CONSOLE_PASSWORD dans .env avant le premier démarrage si vous préférez choisir le vôtre.

.env n'est lu que tant que la base de données est vide. Après le premier démarrage, réinitialisez avec python3 -m app.manage passwd admin.

Au démarrage, vous obtenez le jeton d'enrôlement pour l'étape suivante :

root@kitploit:~
Created the initial admin account: admin
The default password is still in use. Change it at first sign-in.
Enrollment token ready: dgl-enroll-xBAk8...
Douglas-042 console 1.0 ready

Ajouter un hôte

Déployer → choisir la plateforme → copier une commande.

Windows — PowerShell en mode administrateur :

root@kitploit:~
iex (irm 'http://console:8000/api/v1/reports/deploy/script?token=YOUR_TOKEN')

Linux — en root :

root@kitploit:~
curl -sSL 'http://console:8000/api/v1/reports/deploy/script?token=YOUR_TOKEN&platform=linux' | sudo bash

Six étapes s'affichent en flux dans le terminal : téléchargement, enrôlement, récupération du collecteur, installation du service, confirmation qu'il est actif, premier point de contact. Si l'enrôlement échoue, rien n'est installé, et il le dit.


Première heure

#ÉcranFaites ceciVous obtenez
1Flux IOCAjoutez Feodo Tracker, appuyez sur ActualiserDétection C2 — aucune règle à écrire
2Threat intelCollez une clé AbuseIPDB gratuite, appuyez sur TesterOrdre de triage sur le graphe
3ParcSélectionnez un hôte, lancez une chasseRésultats, en direct
4Journaux et événementsCherchez les erreurs de moduleSi le balayage a réellement pu regarder
5TriageTraitez la file, ajustez les règles les plus bruyantesUne liste que quelqu'un lit encore
6Mes règlesChargez les 6 exemples, ouvrez-en unComment écrire les vôtres
7IntégrationsWebhook Slack, seuil à HIGHVous en êtes informé sans surveiller

Architecture

root@kitploit:~
┌──────────────────────────────────────────────────────────┐
│  Console — FastAPI + SQLite, un processus, pas de file    │
│  triage · findings · graph · rules · response · reports   │
└───────────────▲──────────────────────────────────────────┘
                │ les agents interrogent : heartbeat 20s, actions 5s
┌───────────────┴──────────────────────────────────────────┐
│  Agent  (PowerShell / shell)                              │
│    └── Collecteur — s'exécute, rapporte, se termine       │
│          201 règles intégrées + Sigma + YARA + vos règles │
└──────────────────────────────────────────────────────────┘
  • Rien n'est installé sur l'hôte investigué. Le collecteur s'exécute et se termine ; l'agent est une tâche planifiée ou une unité systemd qui récupère le travail.
  • La console ne se connecte jamais vers l'intérieur. Les agents interrogent, donc un hôte derrière un NAT ou un pare-feu unidirectionnel fonctionne quand même.
  • SQLite, un seul fichier. Pas de broker, pas de cluster, pas de base de données externe. Les migrations de schéma s'exécutent au démarrage et ne font qu'ajouter.
Écrans de la console

Tableau de bord · Cas · Parc · Chasses · Réponse · Résultats · Triage · Fréquence · Graphe · Matrice MITRE · Chronologie · Diff · Règles intégrées · Mes règles · Sigma · YARA · Flux IOC · Threat intel · Intégrations · Planifications · Utilisateurs · Déployer · Journaux et événements

Catégories de détection

Intégrité de la collecte · Autoruns et démarrage · Processus et réseau · Services et tâches · Mécanismes de persistance · Posture de sécurité · Pilotes et noyau · Preuves d'exécution · Authentification et comptes · Accès à distance · Sysmon, Kerberos et AD · Fichiers, webshells et exfiltration · Activité utilisateur et confiance · Rootkit et mémoire · Correspondances d'indicateurs

Ce que le collecteur lit

Les deux : comptes et groupes locaux · processus en cours avec signatures et hachages · connexions TCP et points de terminaison externes · services · fichiers récemment écrits · code en mémoire · racines web et motifs de webshell

Windows : journaux d'événements · tâches planifiées · autoruns · persistance du registre · abonnements WMI · pilotes · partages SMB · Prefetch · magasins de certificats

Linux : cron · unités systemd · fichiers de démarrage du shell · LD_PRELOAD · binaires setuid · authorized_keys et configuration sshd · historique du shell · journaux d'authentification · taint du noyau · WordPress

Prérequis

Console : Python 3.11+, six dépendances (FastAPI, uvicorn, SQLAlchemy, pydantic, python-multipart, PyYAML). Fonctionne sur une VM de 1 Go.

Hôtes Windows : PowerShell 5.1+, administrateur. Rien d'autre.

Hôtes Linux : bash et curl. python3 active la progression en direct et les règles sur le contenu des fichiers ; auditd active les détections d'exécution. La console vous indique lesquels manquent sur quel hôte.


Notes de sécurité

  • Changement de mot de passe forcé à la première connexion ; les comptes se verrouillent après des échecs répétés.
  • Les clés de session sont générées au premier démarrage avec des permissions 0600 — une clé fixe livrée dans un paquet serait partagée par tous ceux qui l'ont téléchargé.
  • Les actions de réponse sont soumises à des rôles, auditées, et refusent les cibles qui casseraient l'hôte.
  • Les adresses privées ne sont jamais envoyées aux fournisseurs de réputation.
  • Les exports de règles neutralisent l'injection de formules dans les tableurs.

📄 Rapport technique (PDF) — 14 pages couvrant l'architecture, chaque écran de la console, les 37 modules du collecteur, le modèle de détection, les actions de réponse et le modèle de sécurité.

Licence

Sous licence MIT. Voir LICENSE.


Conçu pour les parcs qui ont le plus besoin de chasse et peuvent le moins se le permettre.
Télécharger l’outil