
Outil de pulvérisation de mots de passe asynchrone en C# pour environnements Windows
SharpHose est un outil de pulvérisation de mots de passe en C# conçu pour être rapide, sûr et utilisable via l'execute-assembly de Cobalt Strike. Il offre un moyen flexible d'interagir avec Active Directory en utilisant des contextes joints et non joints au domaine, tout en pouvant cibler des domaines et contrôleurs de domaine spécifiques. SharpHose prend en compte la politique de mots de passe du domaine, y compris les politiques de mots de passe affinées, afin d'éviter les verrouillages de comptes. Les politiques de mots de passe affinées sont énumérées pour les utilisateurs et groupes auxquels la politique s'applique. Si la politique s'applique également aux groupes, les utilisateurs du groupe sont capturés. Tous les utilisateurs de domaine activés sont ensuite classés selon leurs politiques de mots de passe, par ordre de priorité, et marqués comme sûrs ou non sûrs. Les utilisateurs restants sont filtrés par rapport à une liste d'exclusion facultative fournie par l'utilisateur.
En plus de la pulvérisation, les opérateurs d'équipe rouge peuvent afficher toutes les politiques de mots de passe d'un domaine, tous les utilisateurs affectés par la politique, ou simplement les utilisateurs de domaine activés. La sortie peut être envoyée directement dans la console ou dans un dossier de sortie fourni par l'utilisateur.
Suivez-moi sur Twitter pour d'autres versions d'outils bientôt ! @ustayready
Les buses sont des méthodes intégrées de pulvérisation. Bien qu'il ne prenne actuellement en charge qu'une seule buse (LDAP), il est conçu de manière à être facilement extensible.
Buse de pulvérisation Active Directory utilisant le protocole LDAP
Pulvérisation asynchrone pour des résultats plus rapides, mais pas trop rapides
Pulvérisation avec et sans jonction de domaine
Intégration étroite avec les politiques de mots de passe du domaine et les politiques de mots de passe affinées
Prévention intelligente du verrouillage (lockoutThreshold n-1 pour être prudent)
Pulvérisation optionnelle vers des domaines et contrôleurs de domaine spécifiques
Afficher les politiques de mots de passe et les utilisateurs concernés
MSOL
OWA/EWS
Lync
Construit avec Visual Studio 2019 Community Edition
.NET Framework 4.5
Utilisateurs de Cobalt Strike
Assurez-vous d'utiliser l'option --auto pour éviter les invites interactives dans SharpHose. Préparez également vos arguments localement afin de pouvoir lire la description avant l'exécution. Si vous ne passez aucun argument via execute-assembly, SharpHose lève une exception "Missing Argument Exception" et Cobalt Strike ne renverra aucun résultat. Vous saurez que cela se produit lorsque vous voyez [-] Invoke_3 on EntryPoint failed. Cela sera corrigé ultérieurement.
Pulvérisation avec jonction de domaine sans interaction SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --auto
Pulvérisation avec jonction de domaine avec exclusions SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --exclude c:\temp\exclusion_list.txt
Pulvérisation sans jonction de domaine SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --domain lab.local --username demo --password DemoThePlanet --output c:\temp\
Affichage des politiques avec jonction de domaine Active Directory stocke les durées sous forme de grands entiers négatifs qui doivent s'écouler après que le dernier lockoutThreshold a été dépassé. Dans les versions futures, ceux-ci seront formatés de manière plus claire. SharpHose.exe --action GET_POLICIES --output c:\temp\
Affichage des utilisateurs de la politique avec jonction de domaine SharpHose.exe --action GET_POLICY_USERS --policy lab --output c:\temp\
Affichage de tous les utilisateurs avec jonction de domaine SharpHose.exe --action GET_ENABLED_USERS --output c:\temp\
Pulvérisation avec jonction de domaine via Cobalt Strike execute-assembly /path/to/SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --auto