forked from secops4thewin/TA-sans_isc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TA-sans_isc.aob_meta
1 lines (1 loc) · 54.8 KB
/
TA-sans_isc.aob_meta
1
{"alert_action_builder": {"modular_alerts": [{"label": "sans_ip_lookup", "parameters": [{"label": "IP Lookup", "name": "ip_lookup", "help_string": "Search an IPv4 Address", "required": true, "default_value": "", "format_type": "text", "value": "1.1.1.1", "type": ""}], "description": "Looks up an IP against SANS", "active_response": {"subject": ["device"], "supports_adhoc": true, "task": ["scan"], "category": ["Information Gathering"], "technology": [{"vendor": "SANS", "version": ["1.0"], "product": "API"}]}, "smallIcon": "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", "short_name": "sans_ip_lookup", "code": "\r\n# encoding = utf-8\r\n#Reference Code Created from http://dev.splunk.com/view/addon-builder/SP-CAAAFBU\r\n#Create URL Function\r\ndef query_url(helper, ip_lookup, themethod):\r\n #Import Necessary Modules\r\n import json\r\n import re, urllib\r\n from httplib2 import Http\r\n \r\n #Validate the IP Address parameter exists\r\n if not ip_lookup:\r\n helper.log_error('Some parameters are missing. The required are: IP Address.')\r\n return\r\n \r\n #Check for valid IP Address and log if invalid\r\n pattern=re.compile(\"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\")\r\n if not pattern.match(ip_lookup):\r\n helper.log_error('Invalid IP Address')\r\n \r\n #Create the URI String that looks for the IP Address\r\n uri = 'https://isc.sans.edu/api/ip/' + ip_lookup\r\n #Build HTTP Connection\r\n http = helper.build_http_connection(helper.proxy, timeout=30)\r\n \r\n #Create Empty Header Values\r\n headers = {\r\n #'header1' : 'header_value'\r\n }\r\n \r\n #Create Vars for response header and content as a result of the request\r\n resp_headers, content = http.request(uri, method=themethod, headers=headers)\r\n #If not a valid status code then throw an error \r\n if resp_headers.status not in (200, 201, 204):\r\n helper.log_error('Failed to query SANS. IP={}, HTTP Error={}, content={}'.format( ip_lookup, resp_headers.status, content))\r\n else:\r\n #Grab from the Second Row onwards in order to get rid of data that is not useful\r\n content = content.split(\"\\n\")[1]\r\n #Log this data to Splunk\r\n helper.log_info('Successfully queried IP={}, content={}'.format(ip_lookup, content))\r\n #Return the Content\r\n return content\r\n\r\ndef process_event(helper, *args, **kwargs):\r\n #Import Necessary Modules\r\n import urllib\r\n #Check for global setting of index\r\n index = helper.get_global_setting(\"index\") \r\n #Log that alert action is starting\r\n helper.log_info(\"Alert action sans_ip_lookup started.\")\r\n #Check to see if the index is the default index, this should be changed.\r\n if \"main\" in index:\r\n helper.log_info(\"Warning: Alert action sans_ip_lookup sending data to main index, you should change this.\")\r\n \r\n #query the url from setup\r\n helper.log_info(\"Alert action IP Lookup Started.\")\r\n #Get the passed param of ip_lookup\r\n ip = helper.get_param(\"ip_lookup\")\r\n #Log the IP Address number into Splunk\r\n helper.log_info(\"IP Address={}\".format(ip))\r\n #query API Key alert action input\r\n \r\n #call the query URL REST Endpoint and pass the url\r\n content = query_url(helper, ip, 'GET') \r\n\r\n #write the response returned to splunk index\r\n helper.addevent(content, sourcetype=\"sansisc:ip\")\r\n helper.writeevents(index=str(index), host=\"arf\", source=\"sansisc\")\r\n return 0\r\n", "largeIcon": "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", "uuid": "1311cdf0370f470c8cd40f4c6e1457af"}, {"label": "sans_asn_lookup", "parameters": [{"label": "ASN", "name": "asn", "help_string": "Enter an ASN Number", "required": true, "default_value": "", "format_type": "text", "value": "4837", "type": ""}], "description": "Lookup an ASN against SANS API", "active_response": {"subject": ["device"], "supports_adhoc": true, "task": ["scan"], "category": ["Information Gathering"], "technology": [{"vendor": "SANS", "version": ["1.0"], "product": "API"}]}, "smallIcon": "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", "short_name": "sans_asn_lookup", "code": "\r\n# encoding = utf-8\r\n\r\n#Reference Code Created from http://dev.splunk.com/view/addon-builder/SP-CAAAFBU\r\n#Create URL Function\r\ndef query_url(helper, asn_number, themethod):\r\n #Import Necessary Modules\r\n import json\r\n import re, urllib\r\n from httplib2 import Http\r\n \r\n #Validate the ASN Number parameter exists\r\n if not asn_number:\r\n helper.log_error('Some parameters are missing. The required are: ASN.')\r\n return\r\n \r\n #Check for valid ASN and log if invalid\r\n pattern=re.compile(\"\\d{1,6}\")\r\n if not pattern.match(asn_number):\r\n helper.log_error('Invalid ASN Number')\r\n #Create the URI String that looks for the ASN\r\n uri = 'https://isc.sans.edu/api/asnum/100/' + asn_number\r\n \r\n #Build HTTP Connection\r\n http = helper.build_http_connection(helper.proxy, timeout=30)\r\n \r\n #Create Empty Header Values\r\n headers = {\r\n #'header1' : 'header_value'\r\n }\r\n \r\n #Create Vars for response header and content as a result of the request\r\n resp_headers, content = http.request(uri, method=themethod, headers=headers)\r\n #If not a valid status code then throw an error\r\n if resp_headers.status not in (200, 201, 204):\r\n helper.log_error('Failed to query SANS. ASN={}, HTTP Error={}, content={}'.format( asn_number, resp_headers.status, content))\r\n else:\r\n #Grab from the Second Row onwards in order to get rid of data that is not useful and join the rows with a space\r\n content = str(\" \".join(content.split(\"\\n\")[1:]))\r\n #Log this data to Splunk\r\n helper.log_info('Successfully queried ASN={}, content={}'.format(asn_number, content))\r\n #Return the Content\r\n return content\r\n\r\ndef process_event(helper, *args, **kwargs):\r\n #Import Necessary Modules\r\n import urllib\r\n #Check for global setting of index\r\n index = helper.get_global_setting(\"index\") \r\n #Log that alert action is starting\r\n helper.log_info(\"Alert action sans_asn_lookup started.\")\r\n \r\n #Check to see if the index is the default index, this should be changed.\r\n if \"main\" in index:\r\n helper.log_info(\"Warning: Alert action sans_asn_lookup sending data to main index, you should change this.\")\r\n\r\n #query the url from setup\r\n helper.log_info(\"Alert action ASN Lookup Started.\")\r\n #Get the passed param of ASN\r\n asn = helper.get_param(\"asn\")\r\n #Log the ASN number into a log file\r\n helper.log_info(\"ASN={}\".format(asn))\r\n \r\n #call the query URL REST Endpoint and pass the url\r\n content = query_url(helper, asn, 'GET') \r\n\r\n #write the response returned to splunk index\r\n helper.addevent(content, sourcetype=\"sansisc:asn\")\r\n helper.writeevents(index=str(index), host=\"arf\", source=\"sansisc\")\r\n return 0\r\n", "largeIcon": "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", "uuid": "560aca354b484ababefae27a723289fc"}, {"label": "sans_port_lookup", "parameters": [{"label": "Port", "name": "port", "help_string": "Search a port number", "required": true, "default_value": "", "format_type": "text", "value": "443", "type": ""}], "uuid": "4f81cc722ed548caa5dd14ae49637619", "active_response": {"subject": ["device"], "supports_adhoc": true, "task": ["scan"], "category": ["Information Gathering"], "technology": [{"vendor": "SANS", "version": ["1.0"], "product": "API"}]}, "short_name": "sans_port_lookup", "smallIcon": "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", "largeIcon": "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", "description": "Looks up a port against SANS", "code": "\r\n# encoding = utf-8\r\n#Reference Code Created from http://dev.splunk.com/view/addon-builder/SP-CAAAFBU\r\n#Create URL Function\r\n\r\ndef query_url(helper, port_number, themethod):\r\n #Import Necessary Modules\r\n import json\r\n import re, urllib\r\n from httplib2 import Http\r\n \r\n #Validate the Port Number parameter exists\r\n if not port_number:\r\n helper.log_error('Some parameters are missing. The required are: IP Address.')\r\n return\r\n \r\n #Check for valid Port number and log if invalid\r\n pattern=re.compile(\"\\d{1,6}\")\r\n \r\n if not pattern.match(port_number):\r\n helper.log_error('Invalid Port Number')\r\n #Create the URI String that looks for the port\r\n uri = 'https://isc.sans.edu/api/port/' + port_number\r\n #Build HTTP Connection\r\n http = helper.build_http_connection(helper.proxy, timeout=30)\r\n \r\n #Create Empty Header Values\r\n headers = {\r\n #'header1' : 'header_value'\r\n }\r\n #Create Vars for response header and content as a result of the request\r\n resp_headers, content = http.request(uri, method=themethod, headers=headers)\r\n #If not a valid status code then throw an error\r\n if resp_headers.status not in (200, 201, 204):\r\n helper.log_error('Failed to query SANS. Port={}, HTTP Error={}, content={}'.format( port_number, resp_headers.status, content))\r\n else:\r\n #Grab from the Second Row onwards in order to get rid of data that is not useful and join the rows with a space\r\n content = str(\" \".join(content.split(\"\\n\")[1:]))\r\n #Log this data to Splunk\r\n helper.log_info('Successfully queried Port={}, content={}'.format(port_number, content))\r\n #Return the Content\r\n return content\r\n\r\ndef process_event(helper, *args, **kwargs):\r\n #Import Necessary Modules\r\n import urllib\r\n #Check for global setting of index\r\n index = helper.get_global_setting(\"index\") \r\n #Log that alert action is starting\r\n helper.log_info(\"Alert action sans_port_lookup started.\")\r\n #Check to see if the index is the default index, this should be changed.\r\n if \"main\" in index:\r\n helper.log_info(\"Warning: Alert action sans_port_lookup sending data to main index, you should change this.\")\r\n \r\n #query the url from setup\r\n helper.log_info(\"Alert action Port Lookup Started.\")\r\n #Get the passed param of port\r\n port = helper.get_param(\"port\")\r\n #Log the Port number into a log file\r\n helper.log_info(\"Port Number={}\".format(port))\r\n \r\n #call the query URL REST Endpoint and pass the url\r\n content = query_url(helper, port, 'GET') \r\n\r\n #write the response returned to splunk index\r\n helper.addevent(content, sourcetype=\"sansisc:port\")\r\n helper.writeevents(index=str(index), host=\"arf\", source=\"sansisc\")\r\n return 0\r\n"}]}, "global_settings_builder": {"global_settings": {"proxy_settings": {"proxy_type": "http"}, "log_settings": {}, "customized_settings": [{"label": "index", "name": "index", "help_string": "Specify an index to send the results to.", "required": true, "default_value": "main", "format_type": "text", "internal_name": "", "value": "main", "type": "text"}]}}, "basic_builder": {"author": "Domenico Perre", "friendly_name": "sans_isc", "visible": false, "appname": "TA-sans_isc", "build_no": 1, "version": "1.0.0", "large_icon": "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", "theme": "#297ba5", "tab_version": "2.2.0", "description": "This app provides adaptive response actions that perform lookup against SANS APIs.", "small_icon": "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", "tab_build_no": "12"}, "validation": {}}