Advanced Active Directory network topology analyzer with SMB validation, multiple authentication methods (password/NTLM/Kerberos), and comprehensive network dis
Advanced Active Directory network topology analyzer with SMB validation, multiple authentication methods (password/NTLM/Kerberos), and comprehensive network dis
NetworkHound connects to Active Directory Domain Controllers, discovers computer objects, resolves hostnames to IP addresses using multiple DNS methods, performs comprehensive network scanning (port scanning, HTTP/HTTPS validation), and discovers shadow-IT devices. It then builds a detailed network topology graph in OpenGraph JSON format compatible with BloodHound.
Requirements: Python 3.8+
Install dependencies:
pip3 install -r requirements.txtNote: NetworkHound uses impacket for all Active Directory authentication (password, NTLM hash, Kerberos tickets).
The model.json file defines icons/styles for all custom kinds. Upload it to BloodHound via API using update_custom_nodes_to_bloodhound.py.
Authenticate and upload:
python update_custom_nodes_to_bloodhound.py -s https://bloodhound.example.com -u [email protected] -p "Password!" -m model.jsonBasic scan with AD authentication:
python NetworkHound.py --dc 192.168.0.11 -d company.local -u admin -p passwordFull network analysis with port scanning, HTTP and SMB validation:
python NetworkHound.py --dc 192.168.0.11 -d company.local -u admin -p password --shadow-it --port-scan --valid-http --ssl --valid-smb --scan-threads 50 -PnUsing NTLM hash authentication:
python NetworkHound.py --dc 192.168.0.11 -d company.local -u admin --hashes aad3b435b51404eeaad3b435b51404ee:5fbc3d5fec8206a30f4b6c473d68ae76 Using Kerberos ticket authentication:
python NetworkHound.py --dc dc.company.local -d company.local -u admin --kerberosDNS over TCP (for proxy/firewall bypass):
python NetworkHound.py --dc dc.company.local -d company.local -u admin -p password --dns 8.8.8.8 --dns-tcp --verboseVia proxychains with DNS over TCP:
proxychains python NetworkHound.py --dc dc.company.local -d company.local -u admin -p password --dns-tcp --port-scan⚠️ Proxychains Note: When using proxychains, always use
--dns-tcpflag. This prevents multicast IP issues (224.*) that occur with UDP DNS through SOCKS proxies. SeeBUGFIX_PROXYCHAINS_DNS.mdfor details.
Required Arguments:
--dc: Domain Controller hostname or IP address-d/--domain: Domain name (e.g., company.local)-u/--user: Username for authenticationAuthentication (choose one):
-p/--password: Password authentication--hashes: NTLM hash authentication (LM:NT or just NT)-k/--kerberos: Kerberos ticket file (requires KRB5CCNAME pointing to a ccache file)Network Scanning:
--port-scan: Enable TCP port scanning--ports: Comma-separated ports to scan (default: common ports)--scan-timeout: Port scan timeout in seconds (default: 3)--scan-threads: Number of concurrent threads (default: 10)-Pn: Only port scan hosts that respond to pingService Validation:
--valid-smb: Test SMB connectivity and enumerate shares on SMB ports--valid-http: Test HTTP/HTTPS connectivity on open ports--ssl: Extract detailed SSL certificate information (slower)Additional Options:
--dns: DNS server for queries (defaults to DC if not specified)--dns-tcp: Use TCP for DNS queries instead of UDP (useful for proxy/firewall bypass)-o/--output: Output JSON file (default: network_opengraph.json)--shadow-it: Scan subnet ranges for shadow-IT devices-v/--verbose: Enable verbose output with detailed resolution methodsSite → DomainSubnet → SiteComputer/Device → SubnetComputer/Device → Website/FileShareComputer/Device Nodes:
ip_addresses[]: All resolved IP addressesopen_ports[]: Discovered open portsis_shadow_it: Boolean flag for shadow-IT devicesWebsite Nodes:
url: Full website URLprotocol: HTTP or HTTPSstatus_code: HTTP response codehas_ssl: SSL/TLS enabledis_self_signed: Certificate validation statusssl_*: Detailed SSL certificate properties (when -s flag used)Subnet Nodes:
subnet: CIDR notationnetwork_address: Network addressbroadcast_address: Broadcast addresshost_count: Number of hosts in subnet…Mor David - Offensive Security Specialist & AI Security Researcher
I specialize in offensive security with a focus on integrating Artificial Intelligence and Large Language Models (LLM) into penetration testing workflows. My expertise combines traditional red team techniques with cutting‑edge AI technologies to develop next‑generation security tools.
No open issues yet, or sync has not completed.