abuse.ch SSL Blacklist Feed

The SSL IP Blacklist contains all hosts (IP addresses) that SSLBL has seen in the past 30 days and identified as being associated with a malicious SSL certificate.

Data Enrichment & Threat Intelligence · Abuse.ch SSL Blacklist Feed · Feed

Details

IDabuse.ch SSL Blacklist Feed
ProviderSANS Institute
CategoryData Enrichment & Threat Intelligence
From Version5.5.0
Docker Imagedemisto/python3:3.12.13.10116658
Supported ModulesAgentix XSIAM

README

Overview

The SSL Blacklist (SSLBL) is a project of abuse.ch with the goal of detecting malicious SSL connections, by identifying and blacklisting SSL certificates used by botnet C&C servers.
For more information, visit: https://sslbl.abuse.ch/


Use the abuse.ch SSL Blacklist feed integration to fetch indicators from the feed.

Configure abuse.ch SSL Blacklist Feed on Cortex XSOAR


Create a required Auth Key for abuse.ch

Note: If you already have a profile, you can skip steps 1 and 2.

  1. Sign up for an abuse.ch account. You can do this easily by using an existing account that you may already have on X, LinkedIn, Google or Github. Just log in with the authentication provider of your choice here: https://auth.abuse.ch/

  2. Once you are authenticated on abuse.ch, ensure that you connect at least one additional authentication provider. This will ensure that you have access to abuse.ch platforms, even if one of the authentication providers you use shuts down (yes, it happened with Twitter!)

  3. Ensure that you hit the “Save profile” button. In the “Optional” section, you can now generate an “Auth-Key”. This is your personal Auth-Key that you can now use in the integration.

Configure Cortex XSOAR

  1. Navigate to Settings > Integrations > Servers & Services.
  2. Search for abuse.ch SSL Blacklist Feed.
  3. Click Add instance to create and configure a new integration instance.

    • Auth Key: Enter the Auth-Key generated from your abuse.ch profile.
    • Name: a textual name for the integration instance.
    • Services: Services of abuse.ch SSL Blacklist to fetch indicators from:
      • https://sslbl.abuse.ch/blacklist/sslipblacklist.csv.
      • https://sslbl.abuse.ch/blacklist/sslipblacklist_aggressive.csv.
      • https://sslbl.abuse.ch/blacklist/sslblacklist.csv.
    • Fetch indicators: boolean flag. If set to true will fetch indicators.
    • Fetch Interval: Interval of the fetches.
    • Source Reliability: Reliability of the feed.
    • Traffic Light Protocol Color: The Traffic Light Protocol (TLP) designation to apply to indicators fetched from the feed. More information about the protocol can be found at https://us-cert.cisa.gov/tlp
    • Skip Exclusion List: When selected, the exclusion list is ignored for indicators from
      this feed. This means that if an indicator from this feed is on the exclusion
      list, the indicator might still be added to the system.
    • Indicator reputation: Indicators from this integration instance will be marked with this
      reputation.
    • Trust any certificate (not secure)
    • Use system proxy settings
  4. Click Test to validate the URLs, token, and connection.

Configuration parameters

  • credentials
  • url — Services (required)
  • feed — Fetch indicators
  • feedReputation — Indicator Reputation
  • feedReliability — Source Reliability (required)
  • tlp_color — Traffic Light Protocol Color
  • feedExpirationPolicy
  • feedExpirationInterval
  • feedFetchInterval — Feed Fetch Interval
  • feedBypassExclusionList — Bypass exclusion list
  • polling_timeout — Request Timeout (required)
  • insecure — Trust any certificate (not secure)
  • proxy — Use system proxy settings
  • feedTags — Tags

Commands (1)

  • sslbl-get-indicators

    Gets the feed indicators.

from CommonServerPython import *


def main():
    feed_url_to_config = {
        "https://sslbl.abuse.ch/blacklist/sslipblacklist.csv": {
            "fieldnames": ["firstseenbysource", "value", "port"],
            "indicator_type": FeedIndicatorType.IP,
            "mapping": {"firstseenbysource": "firstseenbysource", "port": "port"},
        },
        "https://sslbl.abuse.ch/blacklist/sslipblacklist_aggressive.csv": {
            "fieldnames": ["firstseenbysource", "value", "port"],
            "indicator_type": FeedIndicatorType.IP,
            "mapping": {"firstseenbysource": "firstseenbysource", "port": "port"},
        },
        "https://sslbl.abuse.ch/blacklist/sslblacklist.csv": {
            "fieldnames": ["Listingdate", "value", "Listingreason"],
            "indicator_type": "Certificate",
            "mapping": {
                "firstseenbysource": "Listingdate",
                "relationship_entity_b": "Listingreason",
                "Tags": "Listingreason",
            },
            "relationship_entity_b_type": FeedIndicatorType.Malware,
            "relationship_name": EntityRelationship.Relationships.INDICATOR_OF,
            "auto_detect_type": False,
        },
    }

    auth_key = demisto.params().get("credentials", {}).get("password")
    if not auth_key:
        raise ValueError("Missing required parameter Auth Key. Please set this parameter in the instance configuration.")

    params = {k: v for k, v in demisto.params().items() if v is not None}
    params["feed_url_to_config"] = feed_url_to_config
    params["ignore_regex"] = r"^#"
    params["delimiter"] = ","
    params["create_relationships"] = True

    params["credentials"] = {"password": auth_key, "identifier": "_header:Auth-Key"}

    # Main execution of the CSV API Module.
    # This function allows to add to or override this execution.
    feed_main("SSL Blacklist Feed", params, "sslbl")


from CSVFeedApiModule import *  # noqa: E402

if __name__ == "__builtin__" or __name__ == "builtins":
    main()