This app was developed by Damien Molina. I was trying to use AbuseIPDB public API with Splunk Enterprise, but none of the available applications were doing what I wanted to do, even the official one. So, here it is!
First thing, here is an exhaustive list of the possible commands this app is supporting.
You can tell the abuseipdb
command what to do using the mode
option like | abuseipdb mode=report
.
Note 1: default mode is check
Note 2: all returned fields start with abuseipd_
This command retrieves the abuse confidence score of a given IP address.
If the command passes, new fields will be added to every events.
1
and 365
, default is 30
.True
.If the IP is a "real" IP address (not a network range), there is also:
- type: Is the IP public or private.
- usage: The known usage of the IP address (datacenter, ISP, etc.).
- company: Company owning the IP.
- domain: Web domain associated to the IP.
- tor: Is the IP associated to a Tor (The Onion Router) node.
In the middle of a search:
... | abuseipdb mode=check ip=ip | ...
Copy-paste example: (ip option as a field-name)
| makeresults
| eval ip_in_event = "64.62.197.152"
| abuseipdb mode=check ip=ip_in_event
That could also have been replaced with: (ip option as a string)
| abuseipdb mode=check ip="64.62.197.152"
| table *
Note: You can either pass an IP address (like 127.0.0.1) or a network range (like 192.168.0.0/24) to this command. With a range:
| makeresults
| eval range = "64.62.197.152/30"
| abuseipdb mode=check ip=range age=10
This command reports the given IP address for abusive behavior.
success
or failure
.null
if there is no error.... | abuseipdb mode=report ip=ip category="1,3" comment="XSS attempts" | ...
Copy-paste example:
| makeresults
| eval ip_in_event = "127.0.0.2"
| abuseipdb mode=report ip=ip_in_event categories=2 comment="For a test"
But all parameters can be passed from the event:
| makeresults
| eval ip_in_event = "127.0.0.2", categories = "1,3", comment = "For testing purpose"
| abuseipdb mode=report ip=ip_in_event categories=categories comment=comment
Note:: be sure to not send any personally identifiable message in the comment
field.
This command gathers all reports sent regarding a given IP address.
1
and 365
, default is 30
.This search must be used on the top-level search.
| abuseipdb mode=reports ip="64.62.197.152"
| table *
Example with the categories:
| abuseipdb mode=reports ip="64.62.197.152" age=10
| table *
| makemv delim="," abuseipdb_categories
| lookup AbuseIPDB_Categories id as abuseipdb_categories
This command gets all the IP addresses with a specific confidence score and upper.
100
.4
, 6
or mixed
(both 4 and 6). Default: mixed
.Note: the number of returned results mainly depends on your subscription. See AbuseIPDB website to have more details.
For example, if you want to get all IP addresses with at least 90% of abuse confidence score: (90% and higher)
| abuseipdb mode=blacklist confidence=90
| table *
This app comes with a variety of standard tools such as dashboards, alert actions, etc.
When an alert is raised, you can send an email, a mobile notification, etc. With this app', you will also be able to automatically report a malicious IP to AbuseIPSB.
Try to add the "Report on AbuseIPDB" when creating/editing an alert. You will have to set the IP field, the categories field and the comment field. These fields can be event-fields (you just have to pass the event-field name instead of a category id (or a comment))
This app also includes an example dashboard showing you how to use the abuseipdb
command.
You can use a friendly interface to make all the API calls you want. This is also useful to check connectivity with AbuseIPDB servers.
You are welcome to contribute to this app by submitting a pull request. I will be very glad to improve this app!
.tar.gz
was generated using the command:
COPYFILE_DISABLE=1 tar --exclude-vcs --exclude="__pycache__" --format ustar -cvzf abuseipdb.tar.gz .
Full Changelog: https://github.com/Pythagus/splunk-abuseipdb/compare/v1.0.2...v1.0.3
In this release:
- Returning custom error codes
- Make this app compatible with Cloud instances
This app was developed by Damien Molina. I was trying to use AbuseIPDB public API with Splunk Enterprise, but none of the available applications were doing what I wanted to do, even the official one. So, here it is!
First thing, here is an exhaustive list of the possible commands this app is supporting.
You can tell the abuseipdb
command what to do using the mode
option like | abuseipdb mode=report
.
Note 1: default mode is check
Note 2: all returned fields start with abuseipd_
This command retrieves the abuse confidence score of a given IP address.
If the command passes, new fields will be added to every events.
1
and 365
, default is 30
.True
.If the IP is a "real" IP address (not a network range), there is also:
- type: Is the IP public or private.
- usage: The known usage of the IP address (datacenter, ISP, etc.).
- company: Company owning the IP.
- domain: Web domain associated to the IP.
- tor: Is the IP associated to a Tor (The Onion Router) node.
In the middle of a search:
... | abuseipdb mode=check ip=ip | ...
Copy-paste example: (ip option as a field-name)
| makeresults
| eval ip_in_event = "64.62.197.152"
| abuseipdb mode=check ip=ip_in_event
That could also have been replaced with: (ip option as a string)
| abuseipdb mode=check ip="64.62.197.152"
| table *
Note: You can either pass an IP address (like 127.0.0.1) or a network range (like 192.168.0.0/24) to this command. With a range:
| makeresults
| eval range = "64.62.197.152/30"
| abuseipdb mode=check ip=range age=10
This command reports the given IP address for abusive behavior.
success
or failure
.null
if there is no error.... | abuseipdb mode=report ip=ip category="1,3" comment="XSS attempts" | ...
Copy-paste example:
| makeresults
| eval ip_in_event = "127.0.0.2"
| abuseipdb mode=report ip=ip_in_event categories=2 comment="For a test"
But all parameters can be passed from the event:
| makeresults
| eval ip_in_event = "127.0.0.2", categories = "1,3", comment = "For testing purpose"
| abuseipdb mode=report ip=ip_in_event categories=categories comment=comment
Note:: be sure to not send any personally identifiable message in the comment
field.
This command gathers all reports sent regarding a given IP address.
1
and 365
, default is 30
.This search must be used on the top-level search.
| abuseipdb mode=reports ip="64.62.197.152"
| table *
Example with the categories:
| abuseipdb mode=reports ip="64.62.197.152" age=10
| table *
| makemv delim="," abuseipdb_categories
| lookup AbuseIPDB_Categories id as abuseipdb_categories
This command gets all the IP addresses with a specific confidence score and upper.
100
.4
, 6
or mixed
(both 4 and 6). Default: mixed
.Note: the number of returned results mainly depends on your subscription. See AbuseIPDB website to have more details.
For example, if you want to get all IP addresses with at least 90% of abuse confidence score: (90% and higher)
| abuseipdb mode=blacklist confidence=90
| table *
This app comes with a variety of standard tools such as dashboards, alert actions, etc.
When an alert is raised, you can send an email, a mobile notification, etc. With this app', you will also be able to automatically report a malicious IP to AbuseIPSB.
Try to add the "Report on AbuseIPDB" when creating/editing an alert. You will have to set the IP field, the categories field and the comment field. These fields can be event-fields (you just have to pass the event-field name instead of a category id (or a comment))
This app also includes an example dashboard showing you how to use the abuseipdb
command.
You can use a friendly interface to make all the API calls you want. This is also useful to check connectivity with AbuseIPDB servers.
You are welcome to contribute to this app by submitting a pull request. I will be very glad to improve this app!
.tar.gz
was generated using the command:
COPYFILE_DISABLE=1 tar --exclude-vcs --exclude="__pycache__" --format ustar -cvzf abuseipdb.tar.gz .
As a Splunkbase app developer, you will have access to all Splunk development resources and receive a 10GB license to build an app that will help solve use cases for customers all over the world. Splunkbase has 1000+ apps from Splunk, our partners and our community. Find an app for most any data source and user need, or simply create your own with help from our developer portal.