Admin Guide
Synapse-Shodan Admin Guide
Configuration
Synapse-Shodan requires you to have a Shodan API key. For information on how to signup, please visit the Shodan API Requirements.
Setting API key for global use
To set-up a global API key:
> shodan.config.add default myapikey
Synapse-Shodan config "default" added
Creating a configuration for role-based use
Add an unscoped configuration:
> shodan.config.add myunscoped myapikey --scope unscoped
Synapse-Shodan config "myunscoped" added
Grant another user admin permissions to the new configuration:
> shodan.config.update myunscoped --perm user visi admin
Updated Synapse-Shodan config "myunscoped"
Grant a role read permissions to the new configuration:
> shodan.config.update myunscoped --perm role ninjas read
Updated Synapse-Shodan config "myunscoped"
Overriding the proxy configuration
In order to override the default proxy configuration in the Cortex the user must have the
power-ups.shodan.admin or storm.lib.inet.http.proxy permission.
When the proxy configuration is set to (false) or a URL the permission will be checked
when a configuration is created/updated, and when it is used to make an HTTP request.
Permissions
Package (synapse-shodan) defines the following permissions:
power-ups.shodan.user : Controls user access to Synapse-Shodan. ( default: false )
power-ups.shodan.admin : Controls access to Synapse-Shodan admin options. ( default: false )
power-ups.shodan.spend : Used in addition to power-ups.shodan.user to allow users to spend query credits. ( default: false )
You may add rules to users/roles directly from storm:
> auth.user.addrule visi power-ups.shodan.user
Added rule power-ups.shodan.user to user visi.
or:
> auth.role.addrule ninjas power-ups.shodan.user
Added rule power-ups.shodan.user to role ninjas.
Additionally, if the synapse-fileparser power-up is available, users will need the
power-ups.fileparser.user permission in order to allow processing X509 certificates
and various image file formats.
Exported APIs
Synapse-Shodan does not currently export any APIs.
Node Actions
Synapse-Shodan provides the following node actions in Optic:
Name : enrich
Desc : Enrich the node using the shodan API.
Forms: inet:ipv4, inet:ipv6
Name : enrich FQDN
Desc : Enrich the FQDN using the shodan API.
Forms: inet:fqdn
Ingesting CPE strings
The Shodan API may sometimes return invalid CPE strings. Invalid CPE strings will be rejected by Synapse when attempting to ingest the API data. As a workaround, the Synapse-Shodan Power-Up peforms the following transformations on CPE strings before attempting to ingest them:
Extend truncated CPE 2.3 strings with
*in the missing parts. The CPE 2.3 specification requires CPE 2.3 strings to include values for all parts of the string. The Shodan API truncates trailing parts if the value is*.
Synapse v2.187.0 migration
Synapse v2.187.0 added a model migration (v0.2.31) that removed all invalid
it:sec:cpe nodes from the Cortex. The Synapse-Shodan migration
uses the above transformations to attempt to automatically repair and restore
invalid it:sec:cpe nodes that originated from the Synapse-Shodan Power-Up.