Bambenek Consulting Feed

Use the Bambenek Consulting feed integration to fetch indicators from the feed.

Data Enrichment & Threat Intelligence · Bambenek Consulting Feed · Feed

Details

IDBambenek Consulting Feed
ProviderNetenrich
CategoryData Enrichment & Threat Intelligence
From Version5.5.0
Docker Imagedemisto/python3:3.12.13.10116658
Supported ModulesAgentix XSIAM

README

Overview


Use the Bambenek Consulting feed integration to fetch indicators from the feed.

Configure Bambenek Consulting Feed on Cortex XSOAR


  1. Navigate to Settings > Integrations > Servers & Services.
  2. Search for Bambenek Consulting Feed.
  3. Click Add instance to create and configure a new integration instance.
    • Name: a textual name for the integration instance.
    • Services: Services of Bambenek Consulting to fetch indicators from:
      • C2 IP Feed - Master Feed of known, active, and non-sinkholed C&Cs IP addresses.
      • High-Confidence C2 IP Feed - Master Feed of known, active, and non-sinkholed C&Cs IP addresses (high-confidence only).
      • C2 Domain Feed - Master Feed of known, active, and non-sinkholed C&Cs domain names.
      • High-Confidence C2 Domain Feed - Master Feed of known, active, and non-sinkholed C&Cs domain names (high-confidence only).
      • C2 All Indicator Feed - Master list feed of all current C&C domains using DGAs.
      • High-Confidence C2 All Indicator Feed - Master list feed of all current C&C domains using DGAs (high-confidence only).
      • DGA Domain Feed - A self-curating feed that monitors malicious networks to observe current criminal activity. All domains are actionable. Live data of between 750 and 1,500 domains. which are used by 65 malware families and nearly 1 million domains. Limited to current relevance.
      • High-Confidence DGA Domain Feed - A self-curating feed that monitors malicious networks to observe current criminal activity. All domains are actionable. Live data of between 750 and 1,500 domains. which are used by 65 malware families and nearly 1 million domains. Limited to current relevance. High-confidence data, extremely low false-positives.
      • Sinkhole Feed - A manually-curated list of over 1,500 known sinkholes. The feed is used to capture traffic headed toward criminal destinations. Catch traffic headed toward them, and you know you have an infected machine.
      • Malware Domains Feed - A feed based on machine learning and analytic methods of DNS telemetry developed in Bambenek Labs. Identifies malware hostnames used primarily for criminal purposes. Data is extremely safe to use to proactively protect networks.
      • Phishing Domains Feed - A feed based on machine learning and analytic methods of DNS telemetry developed in Bambenek Labs. Identifies phishing hostnames used primarily for criminal purposes. Data is extremely safe to use to proactively protect networks.
    • Username + Password - Credentials to access services that require basic authentication.
      These fields also support the use of API key headers. To use API key headers, specify the header name and value in the following format:
      _header:<header_name> in the Username field and the header value in the Password field.
    • Fetch indicators: boolean flag. If set to true will fetch indicators.
    • Fetch Interval: Interval of the fetches.
    • 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.
    • Request Timeout: Timeout of the polling request in seconds.
  4. Click Test to validate the URLs, token, and connection.

Gain Access

Get a quote and subscribe: sales@bambenekconsulting.com

Configuration parameters

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

Commands (1)

  • bambenek-get-indicators

    Gets the feed indicators.

import csv
from io import StringIO
from unittest.mock import MagicMock

import demistomock as demisto

data = {
    "value": "23.82.12.29",
    "description": "IP used by beebone C&C",
    "date_created": "2023-12-18 08:06",
    "info": "http://osint.bambenekconsulting.com/manual/beebone.txt",
}

# Convert the dictionary to a CSV string
csv_string = StringIO()
csv_writer = csv.DictWriter(csv_string, fieldnames=data.keys())
csv_writer.writeheader()
csv_writer.writerow(data)
csv_data = csv_string.getvalue()
csv_string.close()

# Convert the CSV string to a csv.DictReader object
csv_stringio = StringIO(csv_data)
csv_reader = csv.DictReader(csv_stringio)


def test_fetch_indicators_main(mocker):
    """
    Given
    - indicators response from bambenek consulting feed

    When
    - Running main flow for fetching indicators command

    Then
    - Ensure that all indicators values exist and are not 'None'
    """
    from FeedBambenekConsulting import main

    mocker.patch.object(
        demisto,
        "params",
        return_value={
            "feed": True,
            "feedBypassExclusionList": False,
            "feedExpirationInterval": "20160",
            "feedExpirationPolicy": "suddenDeath",
            "feedFetchInterval": 1,
            "feedReliability": "A - Completely reliable",
            "feedReputation": "None",
            "feedTags": None,
            "insecure": True,
            "proxy": False,
            "tlp_color": None,
            "url": "https://faf.bambenekconsulting.com/",
        },
    )
    mocker.patch.object(demisto, "command", return_value="fetch-indicators")
    create_indicators_mocker = mocker.patch.object(demisto, "createIndicators")
    API_CLIENT_MOCK = MagicMock()
    API_CLIENT_MOCK.build_iterator.return_value = [
        {
            "https://faf.bambenekconsulting.com/feeds/dga/c2-ipmasterlist.txt": {
                "result": csv_reader,
                "no_update": False,
            }
        }
    ]
    mocker.patch("CSVFeedApiModule.Client", return_value=API_CLIENT_MOCK)
    main()
    assert create_indicators_mocker.call_args.args[0][0]["rawJSON"]["value"] == "23.82.12.29"
    assert create_indicators_mocker.call_args.args[0][0]["rawJSON"]["description"] == "IP used by beebone C&C"
    assert create_indicators_mocker.call_args.args[0][0]["rawJSON"]["date_created"] == "2023-12-18 08:06"
    assert (
        create_indicators_mocker.call_args.args[0][0]["rawJSON"]["info"]
        == "http://osint.bambenekconsulting.com/manual/beebone.txt"
    )