
Une version de nouvelle génération d'enum4linux (un outil d'énumération Windows/Samba) avec des fonctionnalités supplémentaires comme l'export JSON/YAML. Destiné aux professionnels de la sécurité et aux joueurs de CTF.
Une version de nouvelle génération d'enum4linux
enum4linux-ng.py est une réécriture du enum4linux.pl de Mark Lowe (anciennement Portcullis Labs, maintenant Cisco CX Security Labs), un outil pour énumérer les informations des systèmes Windows et Samba, destiné aux professionnels de la sécurité et aux joueurs de CTF. L'outil est principalement un wrapper autour des outils Samba nmblookup, net, rpcclient et smbclient.
Je l'ai créé à des fins éducatives pour moi-même et pour surmonter les problèmes de enum4linux.pl. Il a les mêmes fonctionnalités que l'outil original (bien qu'il fasse certaines choses différemment). Contrairement à l'outil original, il parse toutes les sorties des outils Samba et permet d'exporter tous les résultats en fichier YAML ou JSON. L'idée derrière cela est de permettre à d'autres outils d'importer les résultats et de les traiter plus en profondeur. Il est prévu d'ajouter de nouvelles fonctionnalités à l'avenir.
Certaines choses sont implémentées différemment par rapport à l'enum4linux original. Voici les différences importantes :
-Gm-A) mais peut être activé avec -R-A au lieu de -a)Je tiens à remercier et à créditer les personnes de l'ancien Portcullis Labs (maintenant Cisco CX Security Labs), à savoir :
De plus, je tiens à remercier et créditer :
C'était très amusant de lire votre code ! :)
Enfin et surtout, je tiens à remercier les nombreuses personnes qui ont contribué au code, signalé des problèmes et fourni des suggestions utiles sur la façon d'améliorer l'outil.
Si vous utilisez l'outil : Ne l'utilisez pas à des fins illégales.
Un exemple d'exécution pourrait ressembler à ceci :
enum4linux-ng.py -As <target> -oY out
Ceci montre une exécution contre une installation standard de Windows Server 2012 R2. La commande suivante est utilisée :
enum4linux-ng.py 192.168.125.131 -u Tester -p 'Start123!' -oY out
Un utilisateur 'Tester' avec le mot de passe 'Start123!' a été créé. L'accès au pare-feu a été autorisé. Une fois l'énumération terminée, je fais défiler vers le haut pour que les résultats deviennent plus clairs. Comme aucune autre option d'énumération n'est spécifiée, l'outil supposera -A qui se comporte de manière similaire à l'option -a d'enum4linux. L'utilisateur et le mot de passe sont fournis. L'option -oY exportera toutes les données énumérées en fichier YAML pour un traitement ultérieur dans out.yaml. L'outil détecte automatiquement au début que LDAP n'est pas en cours d'exécution sur l'hôte distant. Il sautera donc toutes les vérifications LDAP supplémentaires qui feraient normalement partie de l'énumération par défaut.

La deuxième démo montre une exécution contre Metasploitable 2. La commande suivante est utilisée :
enum4linux-ng.py 192.168.125.145 -A -C
Cette fois, les options -A et -C sont utilisées. Alors que la première se comporte de manière similaire à l'option -a d'enum4linux, la seconde activera l'énumération des services. Cette fois, aucun identifiant n'a été fourni. L'outil détecte automatiquement qu'il doit utiliser SMBv1. Aucun fichier YAML ou JSON n'est écrit. Je fais à nouveau défiler vers le haut pour que les résultats deviennent plus clairs.

usage: enum4linux-ng.py [-h] [-A] [-As] [-U] [-G] [-Gm] [-S] [-C] [-P] [-O] [-L] [-I] [-R [BULK_SIZE]] [-N] [-w DOMAIN] [-u USER]
[-p PW | -K TICKET_FILE | -H NTHASH] [--local-auth] [-d] [-k USERS] [-r RANGES] [-s SHARES_FILE] [-t TIMEOUT] [-v] [--keep]
[-oJ OUT_JSON_FILE | -oY OUT_YAML_FILE | -oA OUT_FILE]
host
This tool is a rewrite of Mark Lowe's enum4linux.pl, a tool for enumerating information from Windows and Samba systems. It is mainly a wrapper around the Samba
tools nmblookup, net, rpcclient and smbclient. Other than the original tool it allows to export enumeration results as YAML or JSON file, so that it can be
further processed with other tools. The tool tries to do a 'smart' enumeration. It first checks whether SMB or LDAP is accessible on the target. Depending on the
result of this check, it will dynamically skip checks (e.g. LDAP checks if LDAP is not running). If SMB is accessible, it will always check whether a session can
be set up or not. If no session can be set up, the tool will stop enumeration. The enumeration process can be interupted with CTRL+C. If the options -oJ or -oY
are provided, the tool will write out the current enumeration state to the JSON or YAML file, once it receives SIGINT triggered by CTRL+C. The tool was made for
security professionals and CTF players. Illegal use is prohibited.
positional arguments:
host