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 theInputs
pageDescription
is for any notes/details about the API Key/AccountAPI 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 inputDescription
(optional) is for any notes about the modular inputAPI Account
(required) is a dropdown single select to choose the account for which you wish to pull dataIndex
(required) the index to which you would like to ingest NodeZero dataPolling 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
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!