Summary: Use a global, persistent key-value store for data available across all sessions, like API keys or a User-Agent.

The Global Profile

The Profile is a global, persistent key-value store for data that you want to be available across all your sessions and targets. It's perfect for information that doesn't belong to a specific target.

Use Cases

  • Storing a custom User-Agent string.
  • Keeping a global session cookie for a web application.
  • Storing API keys for services like Shodan or Hunter.io.
  • Defining your name or handle for report templates.

Managing the Profile

Commands:

  • profile update <key> <value...>: Adds or updates a setting.
  • profile show: Displays all settings in the profile.
  • profile delete <key>: Removes a setting.

Example:

profile update user_agent "MyCustomPentestBrowser/1.0"
profile update cookie "session=a1b2c3d4e5f6; tracking=false"

Using Profile Placeholders

You can access profile data in your tool commands using the $profile placeholder.

Example with curl:

tool add curl
tool update curl command get
tool update curl get param "-H 'User-Agent: $profile.user_agent'"
tool update curl get param "-H 'Cookie: $profile.cookie'"
tool update curl get param "$target.url"