There are four types of databases in the HatSploit Framework.

  • 1. Module database - database containing information about modules.
  • 2. Payload database - database containing information about payloads.
  • 3. Plugin database - database containing information about plugins.
  • 4. Encoder database - database containing information about encoders.

NOTE: HatSploit uses NoSQL json databases.

Base Databases

HatSploit base databases are databases that contains HatSploit modules, payloads, plugins and encoders from this repository (modules - hatsploit/modules, payloads - hatsploit/payloads, plugins - hatsploit/plugins, encoders - hatsploit/encoders).

HatSploit will ask you to build base databases automatically at startup.

Managing Module Databases

For managing module databases, HatSploit has a module_db command.

Usage: module_db <option> [arguments]
 
Options:
 
    Option    Arguments               Description                                 
    ------    ---------               -----------                                 
    -l                                List all connected module databases.        
    -d        <name>                  Disconnect specified module database.       
    -c        <name> <path>           Connect new module database.                
    -b        <path> <output_path>    Build module database from modules path.    

Listing Module Databases

For getting a list of module databases, use module_db -l.

(hsf)> module_db -l

Connected Module Databases:
 
    Number    Name       Path                                                                            
    ------    ----       ----                                                                            
    0         modules    /usr/local/lib/python3.9/site-packages/hatsploit/base/../db/modules.json

(hsf)>

Disconnecting Module Database

To disconnect specified module database, use module_db -d <name>

Connecting Module Database

To connect specified module database, use module_db -c <name> <path>

Building Module Database

To build a module database, you should use module_db -b <path> <output_path>, where <path> is the path to the directory containing your modules (like hatsploit/modules) and <output_path> is the path where to generate database.

(hsf)> module_db -b /Users/enty8080/modules /Users/enty8080/modules.json
(hsf)> module_db -c my_modules /Users/enty8080/modules.json
(hsf)> module_db -l

Connected Module Databases:

    Number    Name           Path                                                                            
    ------    ----           ----                                                                            
    0         modules        /usr/local/lib/python3.9/site-packages/hatsploit/base/../db/modules.json
    1         my_modules     /Users/enty8080/modules.json

(hsf)>

Managing Payload Databases

For managing payload databases, HatSploit has a payload_db command.

Usage: payload_db <option> [arguments]
 
Options:
 
    Option    Arguments               Description                                   
    ------    ---------               -----------                                   
    -l                                List all connected payload databases.         
    -d        <name>                  Disconnect specified payload database.        
    -c        <name> <path>           Connect new payload database.                 
    -b        <path> <output_path>    Build payload database from payloads path.    

Listing Payload Databases

For getting a list of payload databases, use payload_db -l.

(hsf)> payload_db -l

Connected Payload Databases:
 
    Number    Name        Path                                                                            
    ------    ----        ----                                                                            
    0         payloads    /usr/local/lib/python3.9/site-packages/hatsploit/base/../db/payloads.json

(hsf)>

Disconnecting Payload Database

To disconnect specified payload database, use payload_db -d <name>

Connecting Payload Database

To connect specified payload database, use payload_db -c <name> <path>

Building Payload Database

To build a payload database, you should use payload_db -b <path> <output_path>, where <path> is the path to the directory containing your payloads (like hatsploit/payloads) and <output_path> is the path where to generate database.

(hsf)> payload_db -b /Users/enty8080/payloads /Users/enty8080/payloads.json
(hsf)> payload_db -c my_payloads /Users/enty8080/payloads.json
(hsf)> payload_db -l

Connected Payload Databases:

    Number    Name           Path                                                                            
    ------    ----           ----                                                                            
    0         payloads       /usr/local/lib/python3.9/site-packages/hatsploit/base/../db/payloads.json
    1         my_payloads    /Users/enty8080/payloads.json

(hsf)>

Managing Plugin Databases

For managing plugin databases, HatSploit has a plugin_db command.

Usage: plugin_db <option> [arguments]
 
Options:
 
    Option    Arguments               Description                                 
    ------    ---------               -----------                                 
    -l                                List all connected plugin databases.        
    -d        <name>                  Disconnect specified plugin database.       
    -c        <name> <path>           Connect new plugin database.                
    -b        <path> <output_path>    Build plugin database from plugins path.    

Listing Plugin Databases

For getting a list of plugin databases, use plugin_db -l.

(hsf)> plugin_db -l

Connected Plugin Databases:
 
    Number    Name       Path                                                                            
    ------    ----       ----                                                                            
    0         plugins    /usr/local/lib/python3.9/site-packages/hatsploit/base/../db/plugins.json

(hsf)>

Disconnecting Plugin Database

To disconnect specified plugin database, use plugin_db -d <name>

Connecting Plugin Database

To connect specified plugin database, use plugin_db -c <name> <path>

Building Plugin Database

To build a plugin database, you should use plugin_db -b <path> <output_path>, where <path> is the path to the directory containing your plugins (like hatsploit/plugins) and <output_path> is the path where to generate database.

(hsf)> plugin_db -b /Users/enty8080/plugins /Users/enty8080/plugins.json
(hsf)> plugin_db -c my_plugins /Users/enty8080/plugins.json
(hsf)> plugin_db -l

Connected Plugin Databases:

    Number    Name          Path                                                                            
    ------    ----          ----                                                                            
    0         plugins       /usr/local/lib/python3.9/site-packages/hatsploit/base/../db/plugins.json
    1         my_plugins    /Users/enty8080/plugins.json

(hsf)>

Managing Encoder Databases

For managing encoder databases, HatSploit has a encoder_db command.

Usage: encoder_db <option> [arguments]
 
Options:
 
    Option    Arguments               Description                                 
    ------    ---------               -----------                                 
    -l                                List all connected encoder databases.        
    -d        <name>                  Disconnect specified encoder database.       
    -c        <name> <path>           Connect new encoder database.                
    -b        <path> <output_path>    Build encoder database from encoders path.    

Listing Encoder Databases

For getting a list of plugin databases, use encoder_db -l.

(hsf)> encoder_db -l

Connected Encoder Databases:
 
    Number    Name       Path                                                                            
    ------    ----       ----                                                                            
    0         encoders   /usr/local/lib/python3.9/site-packages/hatsploit/base/../db/encoders.json

(hsf)>

Disconnecting Encoder Database

To disconnect specified encoder database, use encoder_db -d <name>

Connecting Encoder Database

To connect specified encoder database, use encoder_db -c <name> <path>

Building Encoder Database

To build a encoder database, you should use encoder_db -b <path> <output_path>, where <path> is the path to the directory containing your encoders (like hatsploit/encoders) and <output_path> is the path where to generate database.

(hsf)> encoder_db -b /Users/enty8080/encoders /Users/enty8080/encoders.json
(hsf)> encoder_db -c my_encoders /Users/enty8080/encoders.json
(hsf)> encoder_db -l

Connected Encoder Databases:

    Number    Name          Path                                                                            
    ------    ----          ----                                                                            
    0         encoders      /usr/local/lib/python3.9/site-packages/hatsploit/base/../db/encoders.json
    1         my_encoders   /Users/enty8080/encoders.json

(hsf)>