
ADRecon est un outil qui collecte des informations sur l'Active Directory et génère un rapport pouvant fournir une vue d'ensemble de l'état actuel de l'environnement AD cible.
ADRecon est un outil qui extrait et combine divers artefacts (comme indiqué ci-dessous) d'un environnement AD. Les informations peuvent être présentées dans un rapport Microsoft Excel spécialement formaté qui comprend des vues récapitulatives avec des métriques pour faciliter l'analyse et fournir une image holistique de l'état actuel de l'environnement AD cible.
L'outil est utile à diverses catégories de professionnels de la sécurité tels que les auditeurs, les experts en DFIR, les étudiants, les administrateurs, etc. Il peut également être un outil de post-exploitation inestimable pour un testeur d'intrusion.
Il peut être exécuté depuis n'importe quel poste de travail connecté à l'environnement, y compris les hôtes qui ne sont pas membres du domaine. De plus, l'outil peut être exécuté dans le contexte d'un compte non privilégié (c'est-à-dire un utilisateur de domaine standard). La stratégie de mot de passe granulométrique (Fine Grained Password Policy), LAPS et BitLocker peuvent nécessiter des comptes d'utilisateurs privilégiés. L'outil utilisera Microsoft Remote Server Administration Tools (RSAT) s'il est disponible, sinon il communiquera avec le contrôleur de domaine via LDAP.
Les informations suivantes sont recueillies par l'outil :
ADRecon a été présenté à : - Diaporama
|
- Diaporama
Ces instructions vous permettront d'obtenir une copie de l'outil et de l'exécuter sur votre machine locale.
Si vous avez git installé, vous pouvez commencer par cloner le dépôt :
git clone https://github.com/sense-of-security/ADRecon.git
Sinon, vous pouvez télécharger une archive zip de la dernière version. L'intention est de toujours maintenir la branche master en état de fonctionnement.
Pour exécuter ADRecon sur un hôte membre du domaine.
PS C:\> .\ADRecon.ps1
Pour exécuter ADRecon sur un hôte membre du domaine en tant qu'utilisateur différent.
PS C:\>.\ADRecon.ps1 -DomainController <IP ou FQDN> -Credential <domaine\nom_utilisateur>
Pour exécuter ADRecon sur un hôte non membre en utilisant LDAP.
PS C:\>.\ADRecon.ps1 -Protocol LDAP -DomainController <IP ou FQDN> -Credential <domaine\nom_utilisateur>
Pour exécuter ADRecon avec des modules spécifiques sur un hôte non membre avec RSAT. (Le type de sortie par défaut est STDOUT avec le paramètre -Collect)
PS C:\>.\ADRecon.ps1 -Protocol ADWS -DomainController <IP ou FQDN> -Credential <domaine\nom_utilisateur> -Collect Domain, DomainControllers
Pour générer le fichier ADRecon-Report.xlsx basé sur la sortie ADRecon (fichiers CSV).
PS C:\>.\ADRecon.ps1 -GenExcel C:\ADRecon-Report-<horodatage>
Lorsque vous exécutez ADRecon, un dossier ADRecon-Report-<horodatage> sera créé, contenant ADRecon-Report.xlsx et un dossier CSV avec les fichiers bruts.
-Protocol <String>
Quel protocole utiliser ; ADWS (par défaut) ou LDAP
-DomainController <String>
Adresse IP du contrôleur de domaine ou FQDN du domaine.
-Credential <PSCredential>
Identifiants du domaine.
-GenExcel <String>
Chemin du dossier de sortie ADRecon contenant les fichiers CSV pour générer le fichier ADRecon-Report.xlsx. Utilisez-le pour générer le fichier ADRecon-Report.xlsx lorsque Microsoft Excel n'est pas installé sur l'hôte utilisé pour exécuter ADRecon.
-OutputDir <String>
Chemin du dossier de sortie ADRecon pour enregistrer les fichiers CSV/XML/JSON/HTML et le fichier ADRecon-Report.xlsx. (Le dossier spécifié sera créé s'il n'existe pas) (Répertoire par défaut : pwd)
-Collect <String>
Modules à exécuter (séparés par des virgules ; ex. : Forest,Domain. Par défaut, tous sauf Kerberoast)
Les valeurs valides incluent : Forest, Domain, Trusts, Sites, Subnets, PasswordPolicy, FineGrainedPasswordPolicy, DomainControllers, Users, UserSPNs, PasswordAttributes, Groups, GroupMembers, OUs, ACLs, GPOs, gPLinks, GPOReport, DNSZones, Printers, Computers, ComputerSPNs, LAPS, BitLocker, Kerberoast DomainAccountsusedforServiceLogon.
-OutputType <String>
Type de sortie ; séparé par des virgules ; ex. : CSV,STDOUT,Excel (Par défaut STDOUT avec le paramètre -Collect, sinon CSV et Excel).
Les valeurs valides incluent : STDOUT, CSV, XML, JSON, HTML, Excel, All (exclut STDOUT).
-DormantTimeSpan <Int>
Période pour les comptes dormants. (Par défaut 90 jours)
-PassMaxAge <Int>
Âge maximum du mot de passe du compte machine. (Par défaut 30 jours)
-PageSize <Int>
Taille de page à définir pour l'objet de recherche LDAP. (Par défaut 200)
-Threads <Int>
Nombre de threads à utiliser lors du traitement des objets (Par défaut 10)
-Log <Switch>
Créer un journal ADRecon en utilisant Start-Transcript
Veuillez signaler tous les bugs, problèmes et demandes de fonctionnalités dans le gestionnaire de tickets. Ou contactez-moi directement (@prashant3535).
Les pull requests sont toujours les bienvenues.
Merci pour le travail fantastique de @_wald0, @CptJesus, @harmj0y, @mattifestation, @PyroTek3, @darkoperator, de l'équipe Sense of Security et des autres.
ADRecon est un outil qui recueille des informations sur Active Directory et génère un rapport pouvant fournir une image holistique de l'état actuel de l'environnement AD cible.
Copyright (C) Sense of Security
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU Affero General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la Licence, soit (à votre discrétion) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou D'ADÉQUATION À UN USAGE PARTICULIER. Voir la GNU Affero General Public License pour plus de détails.
Vous devriez avoir reçu une copie de la GNU Affero General Public License avec ce programme. Sinon, consultez http://www.gnu.org/licenses/.
Ce programme emprunte et utilise du code provenant de nombreuses sources. Tous les efforts sont faits pour créditer l'auteur original. Si vous constatez que votre code est utilisé sans crédit approprié, veuillez envoyer une insulte à @prashant3535. Merci.