MCPcopy Create free account

hub / github.com/MorDavid/NetworkHound / functions

Functions136 in github.com/MorDavid/NetworkHound

↓ 20 callersMethodsearch
Wrapper for LDAP search using impacket
NetworkHound.py:449
↓ 18 callersMethodlogin
Login to BloodHound API.
update_custom_nodes_to_bloodhound.py:88
↓ 17 callersMethodclose
Close the session.
update_custom_nodes_to_bloodhound.py:261
↓ 6 callersMethod_is_valid_ip
Check if IP address is valid and not multicast/reserved
core/dns_resolver.py:48
↓ 5 callersMethod_parse_binary_sid
Parse binary SID to string format
NetworkHound.py:1236
↓ 5 callersMethodget_default_ports
Return list of default ports for this protocol Returns: list: List of default port numbers
validators/base_validator.py:48
↓ 4 callersMethod_load_kerberos_ticket
Load Kerberos ticket
utils/impacket_auth.py:71
↓ 3 callersMethod_recursive_split_search
Recursive function to split LDAP searches when size limit is exceeded Args: ldapConnection: LDAP connection obje
NetworkHound.py:359
↓ 3 callersMethodcreate_website_node
Create a Website node from HTTP validation results
core/opengraph_builder.py:109
↓ 3 callersMethodvalidate_smb_ports_threaded
Validate SMB connectivity on multiple IP:port combinations using threading
validators/smb_shares_manager.py:334
↓ 2 callersMethod_get_domain_sid_from_computer
Extract domain SID from a computer object SID
core/ad_client.py:331
↓ 2 callersMethod_resolve_dc_hostname
Try to resolve DC IP to NetBIOS hostname for proper Kerberos SPN Tries multiple methods: 1. SMB connection (TCP 445/139) - mo
NetworkHound.py:257
↓ 2 callersMethodbuild_topology
Build complete network topology
core/opengraph_builder.py:510
↓ 2 callersMethodcreate_fileshare_nodes_from_smb_validation
Create FileShare nodes based on SMB validation results using SMB Shares Manager
core/opengraph_builder.py:364
↓ 2 callersMethodget_domain_info
Get domain information including SID
core/ad_client.py:167
↓ 2 callersFunctionquery_ad_subnets
Query AD Sites and Services for configured subnets
NetworkHound.py:1987
↓ 2 callersFunctionquery_ad_subnets_impacket
Query AD subnets using impacket LDAP with password authentication (Configuration container requires it)
NetworkHound.py:2145
↓ 2 callersMethodquery_subnets
Query AD Sites and Services for configured subnets
core/ad_client.py:95
↓ 2 callersMethodsave_to_file
Save data to JSON file with domain info
core/opengraph_builder.py:537
↓ 2 callersFunctionscan_ip_range_with_name
Scan IP range for shadow-IT devices not in Active Directory with explicit subnet name
NetworkHound.py:1667
↓ 2 callersMethodtest_connectivity
Test if computer is reachable via ping
core/dns_resolver.py:34
↓ 2 callersMethodtest_connectivity_threaded
Test connectivity to multiple hosts using threading
core/dns_resolver.py:267
↓ 2 callersMethodunbind
Wrapper for connection cleanup
NetworkHound.py:1232
↓ 1 callersMethod_analyze_ssl_security
Analyze SSL certificate and connection security
validators/http_validator.py:200
↓ 1 callersMethod_collect_targets_for_protocol
Collect IP:port targets relevant for a specific validator
validators/protocol_manager.py:163
↓ 1 callersMethod_create_error_result
Create a standard error result
validators/base_validator.py:122
↓ 1 callersMethod_enumerate_shares
Enumerate SMB shares and test accessibility
validators/smb_shares_manager.py:295
↓ 1 callersMethod_extract_public_key_info
Extract public key information from certificate
validators/http_validator.py:253
↓ 1 callersMethod_load_validators
Load all available validators
validators/protocol_manager.py:21
↓ 1 callersMethod_log_result
Log validation result - can be overridden by subclasses
validators/base_validator.py:131
↓ 1 callersMethod_log_smb_result
Log SMB validation result
validators/smb_shares_manager.py:386
↓ 1 callersMethod_parse_certificate_extensions
Parse certificate extensions
validators/http_validator.py:271
↓ 1 callersMethod_parse_ntlm_hash
Process NTLM hash to correct format
utils/impacket_auth.py:62
↓ 1 callersMethod_parse_x509_certificate
Parse X.509 certificate object into standard format
validators/http_validator.py:290
↓ 1 callersFunction_resolve_dc_hostname_static
Static version of DC hostname resolution for use outside class Tries multiple TCP-friendly methods (for proxychains compatibility): 1. SM
NetworkHound.py:2042
↓ 1 callersMethod_search_with_kerberos_fallback
Fallback method for Kerberos - uses minimal subprocess only for computer objects
NetworkHound.py:866
↓ 1 callersMethodconnect
Connect to Domain Controller using LDAP
core/ad_client.py:28
↓ 1 callersMethodconnect_to_existing_domain
Connect to existing Domain node instead of creating a new one
core/opengraph_builder.py:29
↓ 1 callersFunctionconnect_with_impacket
Connect to Domain Controller using impacket authentication Returns: tuple: (connection, extracted_domain, extracted_username) or None
NetworkHound.py:1281
↓ 1 callersMethodcreate_computer_nodes
Create Computer nodes and their relationships (only for computers with IP addresses or open ports)
core/opengraph_builder.py:213
↓ 1 callersMethodcreate_computer_subnet_edges
Create edges from computer to subnets
core/opengraph_builder.py:336
↓ 1 callersMethodcreate_device_nodes
Create Device nodes for shadow-IT devices
core/opengraph_builder.py:393
↓ 1 callersMethodcreate_device_subnet_edge
Create edge from device to subnet
core/opengraph_builder.py:497
↓ 1 callersMethodcreate_device_website_relationships
Create Website relationships for shadow-IT devices
core/opengraph_builder.py:470
↓ 1 callersFunctioncreate_dummy_computers_from_ips
Create dummy computer objects from discovered live IPs
NetworkHound.py:2923
↓ 1 callersMethodcreate_fileshare_nodes_for_computer
Create FileShare node data for a computer based on SMB validation results
validators/smb_shares_manager.py:441
↓ 1 callersMethodcreate_site_nodes
Create Site nodes from subnet information
core/opengraph_builder.py:44
↓ 1 callersMethodcreate_subnet_nodes
Create Subnet nodes and link them to sites
core/opengraph_builder.py:74
↓ 1 callersMethoddelete_custom_node
Delete a specific custom node by kind name.
update_custom_nodes_to_bloodhound.py:155
↓ 1 callersMethoddisconnect
Close LDAP connection
core/ad_client.py:54
↓ 1 callersFunctiondiscover_subnets_from_ips
Auto-discover /24 subnets from AD computer IP addresses only
NetworkHound.py:2390
↓ 1 callersMethodget_domain_users
Get domain users list
utils/impacket_auth.py:219
↓ 1 callersMethodget_existing_custom_nodes
Get list of existing custom nodes from BloodHound (visibility/diagnostics).
update_custom_nodes_to_bloodhound.py:121
↓ 1 callersMethodget_protocol_info
Get detailed information about all protocols
validators/protocol_manager.py:75
↓ 1 callersFunctionget_service_name
Get common service name for a port
NetworkHound.py:1847
↓ 1 callersMethodget_ssl_certificate_info
Get SSL certificate information Args: ip: Target IP address port: Target port detailed: If False,
validators/http_validator.py:44
↓ 1 callersMethodget_typical_shares_for_computer
Get typical Windows shares based on computer type
validators/smb_shares_manager.py:416
↓ 1 callersMethodget_validator
Get a validator instance for a specific protocol
validators/protocol_manager.py:52
↓ 1 callersMethodlogout
Logout from BloodHound API.
update_custom_nodes_to_bloodhound.py:237
↓ 1 callersFunctionmain
Main function
NetworkHound.py:2965
↓ 1 callersFunctionmain
Main entry point.
update_custom_nodes_to_bloodhound.py:265
↓ 1 callersFunctionmatch_ips_to_ad_subnets
Match resolved IPs to AD-configured subnets - handles multiple IPs per computer
NetworkHound.py:2425
↓ 1 callersFunctionmatch_ips_to_subnets
Match resolved IPs to AD-configured subnets - handles multiple IPs per computer
core/dns_resolver.py:306
↓ 1 callersFunctionparse_arguments
Parse command line arguments
NetworkHound.py:70
↓ 1 callersFunctionparse_arguments
Parse command line arguments.
update_custom_nodes_to_bloodhound.py:38
↓ 1 callersFunctionparse_kerberos_ticket
Parse Kerberos ticket cache to extract username and domain
NetworkHound.py:1264
↓ 1 callersFunctionparse_manual_networks
Parse manual network specification into standardized format Supports: - CIDR notation: 192.168.1.0/24 - Single IPs: 192.168.1.1 -
NetworkHound.py:162
↓ 1 callersFunctionperform_http_validation
Perform HTTP/HTTPS validation on discovered open ports Args: port_scan_results: Results from port scanning max_threads: Maxim
NetworkHound.py:2827
↓ 1 callersFunctionperform_smb_validation
Perform SMB validation on discovered SMB ports Args: port_scan_results: Results from port scanning max_threads: Maximum numbe
NetworkHound.py:2871
↓ 1 callersFunctionquery_computers
Query all computer objects from Active Directory
NetworkHound.py:1397
↓ 1 callersMethodreset_custom_nodes
Delete all existing custom nodes.
update_custom_nodes_to_bloodhound.py:178
↓ 1 callersMethodresolve_computers_threaded
Enhanced IP resolution with threading support
core/dns_resolver.py:200
↓ 1 callersFunctionresolve_hostnames_to_ips_threaded
Enhanced IP resolution with threading support
NetworkHound.py:1727
↓ 1 callersMethodresolve_single_computer
Enhanced IP resolution for a single computer using multiple methods
core/dns_resolver.py:76
↓ 1 callersFunctionresolve_single_computer_ips
Enhanced IP resolution for a single computer using multiple methods Note: This function is deprecated - use DNSResolver class instead! Ke
NetworkHound.py:1715
↓ 1 callersMethodscan_all_computers
Perform network port scanning on all computers in parallel
core/port_scanner.py:142
↓ 1 callersFunctionscan_computer_ports
Scan multiple ports on all IPs of a computer
NetworkHound.py:1806
↓ 1 callersMethodscan_computer_ports_fast
Fast threaded port scan for multiple IPs (multiprocessing removed for stability)
core/port_scanner.py:52
↓ 1 callersFunctionscan_ip_range_with_name
Scan IP range for shadow-IT devices not in Active Directory with explicit subnet name Args: subnet_str: Subnet string representation
core/port_scanner.py:220
↓ 1 callersFunctionsetup_logging
Setup logging configuration (console INFO/DEBUG).
NetworkHound.py:49
↓ 1 callersFunctionsetup_logging
Setup logging configuration.
update_custom_nodes_to_bloodhound.py:20
↓ 1 callersFunctiontest_connectivity
Test if computer is reachable via ping
NetworkHound.py:1496
↓ 1 callersFunctiontest_connectivity_threaded
Test connectivity to multiple hosts using threading
NetworkHound.py:1509
↓ 1 callersMethodtest_ldap_connection
Test LDAP connection
utils/impacket_auth.py:151
↓ 1 callersMethodtest_smb_connection
Test SMB connection
utils/impacket_auth.py:101
↓ 1 callersMethodupload_model
Upload the Custom Nodes/Edges model to BloodHound (pre‑ingest).
update_custom_nodes_to_bloodhound.py:198
↓ 1 callersMethodvalidate_http_ports_threaded
Validate HTTP/HTTPS connectivity on multiple IP:port combinations using threading
validators/http_validator.py:408
↓ 1 callersMethodvalidate_single_target
Validate a single IP:port combination Args: ip: Target IP address port: Target port **kw
validators/base_validator.py:26
↓ 1 callersMethodvalidate_targets_threaded
Validate multiple IP:port combinations using threading/multiprocessing Args: ip_port_list: List of (ip, port) tu
validators/base_validator.py:57
Method__enter__
Context manager entry
core/ad_client.py:396
Method__exit__
Context manager exit
core/ad_client.py:403
Method__getattr__
(self, name)
NetworkHound.py:645
Method__getattr__
Delegate other attributes to the impacket auth object
NetworkHound.py:1260
Method__init__
(self, impacket_auth)
NetworkHound.py:252
Method__init__
(self, data)
NetworkHound.py:642
Method__init__
(self, server_url: str, username: str, password: str)
update_custom_nodes_to_bloodhound.py:80
Method__init__
Initialize the authentication class Args: target: Server address (IP or hostname) domain: Domain nam
utils/impacket_auth.py:33
Method__init__
(self, dc_host, domain, username, password)
core/ad_client.py:21
Method__init__
(self, dns_server=None, max_threads=10, use_tcp=False)
core/dns_resolver.py:29
Method__init__
(self, domain)
core/opengraph_builder.py:22
next →1–100 of 136, ranked by callers