Remote Active Directory enumeration
Requires python 3.4 or greater.
pip install -r requirements.txt
To read the default password policy from the SYSVOL share, you'll need either smbclient or pysmb.
NOTE: If your system is not configured to use the name server for the domain, you must specify the domain controller with -s or the domain's name server with --name-server. In nearly all AD domains, the domain controller acts as the name server. Domains specified with -d must be fully qualified.
Non-default policies may require higher privileges.
$ adenum.py -u USER -d DOMAIN_FQDN policy
$ adenum.py -u USER -d DOMAIN_FQDN users
$ adenum.py -u USER -d DOMAIN_FQDN groups
$ adenum.py -u USER -d DOMAIN_FQDN group "domain admins"
Add -r and -s to resolve hostnames and run smbinfo. Use -a to report active hosts only
$ adenum.py -u USER -d DOMAIN_FQDN computers -r -s
$ adenum.py -s SERVER -i
By default, queries are saved in a temporary sqlite database file which is destroyed on exit. This is used to avoid making the same LDAP query twice and prevents high memory usage. By specifying a db with --session, this database will persist across invocations of adenum.py. To avoid using disk, specify a name of ":memory:" (see https://docs.python.org/3/library/sqlite3.html).
All defined AD attributes
https://msdn.microsoft.com/en-us/library/ms675090(v=vs.85).aspx
Scripts that provide a subset of adenum's capabilities.
Probes targets for SMB versions, uptime, and build information. Accepts nmap XML files.
$ smbinfo.py [HOST1 [..HOSTN]] [-f HOSTFILE] [-x nmap-445.xml]
List domain controllers for provided domain.
$ getdc.py -d DOMAIN_FQDN