Passer au contenu principal

Audit de sécurité Active Directory sans licence enterprise

DSPanel couvre la gestion AD courante et la détection d'attaques dans un outil desktop open source, sans serveur, sans abonnement, depuis n'importe quel OS.

Romain Grosos

Lundi matin, 8h47. Un ticket arrive : compte verrouillé, l'utilisateur ne peut plus se connecter. Avec RSAT, on ouvre Active Directory Users and Computers, on cherche le compte, on navigue dans les propriétés, on déverrouille, on ferme. Puis un collègue demande pourquoi ce compte se verrouille tous les lundis à la même heure. Là, RSAT ne répond plus : pas d'audit, pas d'historique exploitable depuis l'outil, pas de détection de pattern. On bascule sur l'Observateur d'événements, on filtre sur l'EventID 4740, on cherche la source. Trois consoles ouvertes, dix minutes perdues.

Le scénario est banal. Il illustre le périmètre réel de RSAT : excellent pour l'opération ponctuelle, silencieux dès qu'il s'agit de comprendre ce qui se passe dans le domaine.

DSPanel couvre les deux. C'est un outil desktop open source (Apache 2.0), écrit en Rust et Tauri v2, qui unifie la gestion AD courante et l'audit de sécurité du domaine dans une interface unique, sans serveur intermédiaire, sans abonnement, depuis Windows, macOS ou Linux.

Audit de sécurité et détection d'attaques

C'est le différenciateur principal, et c'est là que DSPanel s'éloigne de tous les outils gratuits du marché.

Risk score du domaine : environ 70 vérifications agrégées en 9 facteurs de risque restituent un score global avec les points d'exposition identifiés. 9 frameworks de conformité sont couverts (GDPR, ANSSI, NIS2, CIS v8...) avec des scripts PowerShell de remédiation associés à chaque finding.

Audit des comptes privilégiés : 12 vérifications ciblées sur les Domain Admins, Enterprise Admins, comptes de service exposés et délégations Kerberos non contraintes.

Détection d'attaques AD : 14 types d'attaques sont détectés (Pass-the-Hash, Kerberoasting, DCSync, Golden Ticket, AS-REP Roasting...) via lecture des journaux d'événements Windows avec wevtutil. Depuis la v1.0.1, la détection fonctionne depuis n'importe quelle machine par accès authentifié à distance (/r: /u: /p: /a:Negotiate), sans PSRemoting requis.

Chemins d'escalade de privilèges : modélisation des chemins d'élévation possibles dans le domaine via l'algorithme de Dijkstra sur 8 types de relations AD (memberOf, AdminSDHolder, GenericAll, WriteDACL...).

Aucun outil desktop gratuit n'implémente cette couche. Semperis et Netwrix couvrent ce terrain avec plus de profondeur, en monitoring continu, mais s'adressent à des équipes sécurité avec budget dédié. DSPanel fait de la détection ponctuelle, sans infrastructure, gratuitement.

Gestion quotidienne

DSPanel implémente les opérations courantes du helpdesk et de l'administrateur :

  • Lookup utilisateur et ordinateur : recherche, attributs détaillés, healthcheck badges, groupes, éditeur d'attributs avancé
  • Comparaison d'objets : vue côte à côte avec delta visuel des groupes (partagés, présents uniquement dans A ou B)
  • Gestion des groupes : vues arborescente et plate, drag-and-drop pour les membres, badges scope/category
  • Hygiène des groupes : détection des groupes vides, à membre unique, inactifs (stale), sans description, circulaires, profondément imbriqués et dupliqués
  • Réinitialisation de mot de passe avec génération aléatoire et option "must change at next logon"
  • Unlock de comptes avec vérification préalable du statut de verrouillage
  • Corbeille AD : navigation et restauration des objets supprimés avec filtrage par type et sélecteur d'OU
  • Déplacement d'objets entre OU avec prévisualisation dry-run

L'interface s'adapte automatiquement aux permissions AD de l'utilisateur connecté, détectées au démarrage via SID et probe LDAP. Un compte helpdesk ne voit que les fonctions autorisées par ses ACL ; un Domain Admin dispose de l'ensemble du périmètre.

Onboarding et offboarding

Les wizards guidés s'appuient sur des presets JSON stockés sur un partage réseau configurable. Chaque preset décrit un modèle de création (OU cible, groupes initiaux, attributs par défaut) ou de désactivation (retrait des groupes, reset du mot de passe, déplacement d'OU). L'intégrité des fichiers preset est vérifiée par SHA-256 au chargement, ce qui interdit les modifications silencieuses sur le partage réseau.

Un snapshot complet des attributs est capturé avant chaque opération d'écriture (wildcard ["*"] sur le DN cible), avec rollback disponible depuis l'UI.

Santé de l'infrastructure DC

Un module dédié interroge les contrôleurs de domaine sans dépendance PowerShell :

  • 7 health checks par DC (connectivité, réplication, services critiques)
  • Statut de réplication inter-DC
  • Validation DNS et Kerberos via hickory-resolver
  • Monitoring des workstations via WMI
  • Vue de la topologie AD

Architecture

Le support hybride repose sur deux providers distincts : LdapDirectoryProvider pour l'AD on-premises (crate ldap3) et GraphDirectoryProvider pour Entra ID et Exchange Online (Microsoft Graph). L'authentification par défaut est Kerberos (GSSAPI), avec fallback simple bind.

Audit log et snapshots sont stockés localement dans SQLite (rusqlite). Aucune donnée ne quitte la machine : zero telemetry, aucun composant serveur.

La base de code applique #![deny(clippy::unwrap_used)] au niveau crate, enforced en CI. 3654 tests au total (2089 frontend, 1520 Rust, 45 intégration AD), couverture 82%/87%.

Télécharger et tester

Les binaires sont disponibles sur la page Releases GitHub pour Windows, macOS et Linux. Aucun prérequis côté serveur.

Première connexion depuis une machine jointe au domaine :

  1. Lancer DSPanel — l'authentification Kerberos est automatique (credentials Windows courants)
  2. L'interface s'ajuste aux permissions AD détectées
  3. Pour un accès depuis une machine non jointe : renseigner le hostname du DC et les credentials dans les paramètres de connexion

Pour un environnement de test, BadBlood génère un domaine AD peuplé de données réalistes en quelques minutes.

Positionnement

RSAT reste la référence pour les opérations Windows natives depuis une machine jointe. AD Explorer (Sysinternals) est utile pour l'exploration mais en lecture seule. Adaxes et ManageEngine ADManager+ couvrent des besoins comparables sur la gestion courante, mais s'articulent autour d'un serveur web avec workflows d'approbation, sans couche de détection.

DSPanel ne cherche pas à remplacer ces outils dans un contexte enterprise avec architecture IAM en place. Il comble un angle mort précis : les équipes qui ont besoin de plus que RSAT pour leur support et leur posture sécurité AD quotidienne, sans budget outil dédié.

Le projet est disponible sur GitHub, sous licence Apache 2.0, en version 1.0.1.

Sources

GitHub - Rwx-G/DSPanel: Active Directory support and administration tool for Windows - adaptive UI from read-only lookups to full domain admin.
Active Directory support and administration tool for Windows - adaptive UI from read-only lookups to full domain admin. - Rwx-G/DSPanel
ldap3 - Rust
A pure-Rust LDAP client library using the Tokio stack.
GitHub - estokes/cross-krb5
Contribute to estokes/cross-krb5 development by creating an account on GitHub.
Best practices for securing Active Directory
Learn more about best practices for securing Active Directory.
Guides ANSSI | MesServicesCyber