Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BHE_PORT | No | Bloodhound API port | 8080 |
| BHE_DOMAIN | No | Bloodhound API domain/IP address | 127.0.0.1 |
| BHE_TOKEN_ID | Yes | Bloodhound API token ID | |
| BHE_TOKEN_KEY | Yes | Bloodhound API token key | |
| PROJECT_DIRECTORY | Yes | Absolute path for your project directory to save findings in |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| save_partial_finding | save partial findings for later use (like open ports, used protocols, versions etc.) if finding data is too long or already exists in another file dont save it |
| get_project_directory_files | read existing files from the project directory to see what findings and data have been saved |
| read_files | read a file |
| check_SMB_signing | used to check smb signgings of an ip address or some range of ip addresses with the needed options |
| run_nmap_scan | run an nmap scan on an ip or ip range (use the right nmap flags based on the first response) |
| generate_pwd_wordlist | generate some password wordlist based on initial input of word(s), let this be the last resort if no other wordlist worked |
| enumerate_domain_users | enumerate users on an active directory domain, you can provide username or password if you have some |
| bruteforce_rid_users | Bruteforce rid to enumerate users |
| password_spray | spray passwords on an account or several accounts |
| ASREPRoast | Retrieve the Kerberos 5 AS-REP etype 23 hash of users without or with Kerberos pre-authentication required |
| Kerberoast | The goal of Kerberoasting is to harvest TGS tickets for services that run on behalf of user accounts in the AD, not computer accounts. Thus, part of these TGS tickets is encrypted with keys derived from user passwords. As a consequence, their credentials could be cracked offline. |
| get_john_formats | check available john format before cracking a hash |
| john_the_ripper | cracking hashes using john based on format and a wordlist |
| spider_smb_shares | enumerate smb shares having username and password credentials and dump them into ~/.nxc/modules/nxc_spider_plus/{ip}.json and you'll find the directory inside ~/.nxc/modules/nxc_spider_plus/{ip} that has the data so you could read that. read readable files after you check what files exists and pull valuable information like old versions , hard coded secrets , misconfigurations .. If you see items listed in the share but didn't get downloaded raise the max_size and download again. |
| dump_ntds_dit | dump NTdS.dit which contains users and their hashes if we have some valid credentials |
| command_execution | execute powershell commands if we have pwned the user, possible to use ntlm or password for authentication |
| dump_sam_hashes | dump sam hashes if we have some redentials using the sec dump which is similar to secretdump,use ntlm hash or normal password |
| bloodhound_ingest | use the netexec's bloodhound feature to extract the json data to be uploaded to bloodhound database |
| check_module | Call this before before using a module to check available exploit modules for a certain netexec supported protocol {rdp,ldap,winrm,smb,ssh,nfs,ftp,wmi,mssql,vnc} and based on the description of the modules chose one to perform |
| check_options | After selecting the right module call this to check what options that module presents |
| use_module | Call this to use the module with the right options and make sure to satisfy the need of certain variables like credentials etc.If no credentials are needed for the module or no valid credentials are found leave the username and password default (empty). Options syntax is ["option1=value1","options2=value2",...] |
| test_bloodhound_connection | connect to bloodhoundapi and get version |
| upload_zip_to_bloodhound | Upload data zip to bloodhound to ingest and analyze (wait until it gets ingested before testing queries) |
| list_saved_quereis | list already saved queries in bloodhound |
| run_blooodhound_query | Run a bloodhound cypher query of your choice (use this to collect information about the network and potentially identify attack vectors) |
| certipy_scan | Call this to enumerating Active Directory Certificate Services (AD CS) vulnerabilities. username syntax is: username@domain |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_custom_queries |