Skip to content

Splunk App for NodeZero

We’ve built an integration that allows you to ingest NodeZero pentest results directly into Splunk, merging insights gained from the attacker’s perspective with existing data and workflows.

You can access the app, along with setup and usage info at Splunkbase

App Contents

The NodeZero App for Splunk comes bundled with the NodeZero Add-on for Splunk built in, which contains the modular input for pulling NodeZero pentests results into the Splunk index of your choosing. There is no need to install both on a standalone instance.

  • Sample Dashboard There exists a sample dashboard, NodeZero Operations, to demonstrate how one might view summary information across all penetration tests visible in Splunk, then drilldown through specific weaknesses to see exactly what operations NodeZero took against certain hosts during a specific time range.

CIM Compliant

Weakness data has been mapped to the CIM Vulnerability datamodel

Prerequisites

NodeZero API Key

An API key is required to access the API. One can be generated in the Horizon3.ai portal via Settings > API Keys. (Note: The Splunk App for NodeZero uses a ReadOnly API Key)

Setup

Save API Key to Splunk credential store

On the Configuration page, click the Add button on the Accounts sub-tab

  • Name is a simple name that gets used by the Inputs page
  • Description is for any notes/details about the API Key/Account
  • API Key is an encrypted field for saving the NodeZero API Key

Create the Input

On the 'Inputs' tab, click "Create New Input"

  • Name (required) is a simple name that gets used by the modular input
  • Description (optional) is for any notes about the modular input
  • API Account (required) is a dropdown single select to choose the account for which you wish to pull data
  • Index (required) the index to which you would like to ingest NodeZero data
  • Polling Interval (optional) Default is 86400 seconds (daily). How frequently you want to poll for new data

Once the input is saved, it immediately begins attempting to pull data from the NodeZero API

Index macro

For the sample dashboard to work, it relies on a macro called: h3_index. The default value for this macro is: (), and will only work if your events are being sent do the default index (usually main). Set the macro (via Settings > Advanced Search > Search Macros) to whatever index you selected when defining your modular input (e.g., (index=my_nodezero_test_index)

Verify data is being indexed

To make sure the modular input is doing its job, you can run the following search:

`h3_index` | stats values(sourcetype) as st
You should see three sourcetypes:
h3:nodezero:api:action_logs
h3:nodezero:api:host_export_csv
h3:nodezero:api:weakness_export_csv

There is also a non-navigable dashboard at /en-US/app/nodezero/kvstore_state that will show a table based on the KVstore the modular input uses to store app state. This can be used during troubleshooting to see what data has been pulled for each pentest.

Troubleshooting

For troubleshooting information, view ExecProcessor logs and the nodezero logs:

    index=_internal (sourcetype=splunkd nodezero component=ExecProcessor) OR sourcetype="nodezero-*"

Note: Don't forget the asterisk on the end of sourcetype=nodezero*, as they often show up as nodezero-too-small.

For more logs: set LOGGING to DEBUG in the Configuration tab

Support

Email splunk@horizon3.ai with any questions, comments, or concerns. Feedback is greatly appreciated!