Current ThreatQ Version Filter
 

ZeroFox CDF

The web format of this guide reflects the most current release.  Guides for older iterations are available in PDF format.  

Integration Details

ThreatQuotient provides the following details for this integration:

Introduction

The ZeroFox integration allows a ZeroFox user to ingest alerts from ZeroFox in the form of events and related indicators.

The integration provides the following feed:

  • ZeroFox Alerts - ingests new Event objects and related Indicators.

The integration ingests indicator and event type system objects.

Installation

Perform the following steps to install the integration:

The same steps can be used to upgrade the integration to a new version.

  1. Log into https://marketplace.threatq.com/.
  2. Locate and download the integration yaml file.
  3. Navigate to the integrations management page on your ThreatQ instance.
  4. Click on the Add New Integration button.
  5. Upload the integration yaml file using one of the following methods:
    • Drag and drop the file into the dialog box
    • Select Click to Browse to locate the file on your local machine

    ThreatQ will inform you if the feed already exists on the platform and will require user confirmation before proceeding. ThreatQ will also inform you if the new version of the feed contains changes to the user configuration. The new user configurations will overwrite the existing ones for the feed and will require user confirmation before proceeding.

  6. The feeds will be added to the integrations page. You will still need to configure and then enable the feed.

Configuration

ThreatQuotient does not issue API keys for third-party vendors. Contact the specific vendor to obtain API keys and other integration-related credentials.

To configure the integration:

  1. Navigate to your integrations management page in ThreatQ.
  2. Select the Commercial option from the Category dropdown (optional).

    If you are installing the integration for the first time, it will be located under the Disabled tab.

  3. Click on the integration entry to open its details page.
  4. Enter the following parameters under the Configuration tab:
     
    Parameter Description
    API Token Your ZeroFox API Token.
    Severity Filter Specify which alerts to ingest based on their severity levels.  Options include:
    • Info
    • Low
    • Medium
    • High
    • Critical
    Status Filter Specify which alerts to ingest based on their status.  Options include:
    • Closed
    • Open
    • Escalated
    • Investigation Completed
    • Takedown Accepted
    • Takedown Denied
    • Takedown Requested
    • Takedown Submitted
    Ingest Only Escalated Alerts Enable this option to ingest alerts that are currently marked as Escalated or have been Escalated in the past.
    Ingest CVEs As Select which entity type to ingest CVEs as in the ThreatQ platform. Options include:
    • Vulnerabilities (default)
    • Indicators (Type: CVE)
     
    Context Filter Select which pieces of context to ingest with each alert. This allows you pick and choose what your organization needs to see with each alert, leaving out anything that isn't relevant. Options include:
    • Alert Type (default)
    • Tags (default)
    • Assignee (default)
    • Dark Web Term (default)
    • Entity Term (default)
    • Escalated (default)
    • Reviewed (default)
    • Network Source (default)
    • Notes (default)
    • Alert Review (default)
    • Rule Name (default)
    • Status (default)
    • Severity (default)
    • Targeted Entity (default)
    • Targeted Asset (default)
    • Targeted Asset Label (default)
    • Targeted Entity Label (default)
    • Protected Social Object
    • Affected Products (default)
    • Affected Vendors (default)
    • Perpetrator Name
    • Perpetrator Username
    • Perpetrator Network
    Enable SSL Verification Enable this option if the feed should verify the SSL certificate.  
    Disable Proxies Enable this option to have the feed ignore proxies set in the ThreatQ UI.  
    Alerts Configuration Screen
  5. Review any additional settings, make any changes if needed, and click on Save.
  6. Click on the toggle switch, located above the Additional Information section, to enable it.

ThreatQ Mapping

ZeroFox Alerts (Feed)

This feed automatically pulls brand alerts from the ZeroFox API.

GET https://api.zerofox.com/1.0/alerts

Sample Response:

{
    "count": 5,
    "next": null,
    "previous": null,
    "page_size": 100,
    "num_pages": 1,
    "alerts": [
        {
            "alert_type": "search query",
            "logs": [
                {
                    "id": 238682352,
                    "timestamp": "2021-09-28T17:36:48+00:00",
                    "actor": "ZeroFox Platform Specialist",
                    "subject": "",
                    "action": "cancel takedown"
                },
                {
                    "id": 228353522,
                    "timestamp": "2021-08-18T04:36:52+00:00",
                    "actor": "api_metronlabs",
                    "subject": "",
                    "action": "request takedown"
                }
            ],
            "offending_content_url": "http://acme-corporation.com",
            "asset_term": null,
            "assignee": "Kishaas",
            "entity": {
                "id": 1163869,
                "name": "Acme Corporation",
                "image": "https://cdn.zerofox.com/media/entityimages/rl2rybmrht5k7890b3g93i7sifh9epsupwe2xmy5h82jyvf8dtnzbwnbr20n2eri.jpg",
                "labels": [
                    {
                        "id": 2036277,
                        "name": "Brand"
                    }
                ],
                "entity_group": {
                    "id": 6397,
                    "name": "Default"
                }
            },
            "entity_term": null,
            "content_created_at": "2021-04-21T18:05:16+00:00",
            "id": 135985017,
            "severity": 4,
            "perpetrator": {
                "name": "Concealed",
                "display_name": "Concealed",
                "id": 199987205,
                "url": "http://acme-corporation.com",
                "content": "",
                "type": "page",
                "timestamp": "2021-04-21T18:05:16+00:00",
                "network": "domains",
                "username": "Jake"
            },
            "rule_group_id": 457,
            "asset": {
                "id": 1163869,
                "name": "Acme Corporation",
                "image": "https://cdn.zerofox.com/media/entityimages/rl2rybmrht5k7890b3g93i7sifh9epsupwe2xmy5h82jyvf8dtnzbwnbr20n2eri.jpg",
                "labels": [
                    {
                        "id": 2036277,
                        "name": "Brand"
                    }
                ],
                "entity_group": {
                    "id": 6397,
                    "name": "Default"
                }
            },
            "metadata": "{\n          \"ai_confidence_display\": [\n            {\n              \"color\": \"#0072ce\",\n              \"detections\": [\n                {\n                  \"confidence\": 0.9999945766507031,\n                  \"label\": \"English\"\n                }\n              ],\n              \"icon\": \"chat\",\n              \"name\": \"Language Detection\"\n            }\n          ],\n\n          \"alert_modal\": {\n            \"a_records\": [\"web.netzerv.com A 13.58.70.70\"],\n\n            \"analysis\": 1,\"live\": true,\"mx_records\": [],\n            \"redirects\": [\n              \"acme-corporation.com/wp-login.php?redirect_to=acme-corporation.com\",\n              \"acme-corporation.com\"\n            ],\n            \"screenshot\": \"https://storage.restpack.io/screenshot/0b38694ae1f34d41c4ddfda53cf6f3df9aff607b48f855276983c83c03067cee\",\n            \"whois\": \"% IANA WHOIS server\\\\n% for more information on IANA, visit http://www.iana.org\\\\n% This query returned 1 object\\\\n\\\\nrefer:        whois.verisign-grs.com\\\\n\\\\ndomain:       COM\\\\n\\\\norganisation: VeriSign Global Registry Services\\\\naddress:      12061 Bluemont Way\\\\naddress:      Reston Virginia 20190\\\\naddress:      United States\\\\n\\\\ncontact:      administrative\\\\nname:         Registry Customer Service\\\\norganisation: VeriSign Global Registry Services\\\\naddress:      12061 Bluemont Way\\\\naddress:      Reston Virginia 20190\\\\naddress:      United States\\\\nphone:        +1 703 925-6999\\\\nfax-no:       +1 703 948 3978\\\\ne-mail:       info@verisign-grs.com\\\\n\\\\ncontact:      technical\\\\nname:         Registry Customer Service\\\\norganisation: VeriSign Global Registry Services\\\\naddress:      12061 Bluemont Way\\\\naddress:      Reston Virginia 20190\\\\naddress:      United States\\\\nphone:        +1 703 925-6999\\\\nfax-no:       +1 703 948 3978\\\\ne-mail:       info@verisign-grs.com\\\\n\\\\nnserver:      A.GTLD-SERVERS.NET 192.5.6.30 2001:503:a83e:0:0:0:2:30\\\\nnserver:      B.GTLD-SERVERS.NET 192.33.14.30 2001:503:231d:0:0:0:2:30\\\\nnserver:      C.GTLD-SERVERS.NET 192.26.92.30 2001:503:83eb:0:0:0:0:30\\\\nnserver:      D.GTLD-SERVERS.NET 192.31.80.30 2001:500:856e:0:0:0:0:30\\\\nnserver:      E.GTLD-SERVERS.NET 192.12.94.30 2001:502:1ca1:0:0:0:0:30\\\\nnserver:      F.GTLD-SERVERS.NET 192.35.51.30 2001:503:d414:0:0:0:0:30\\\\nnserver:      G.GTLD-SERVERS.NET 192.42.93.30 2001:503:eea3:0:0:0:0:30\\\\nnserver:      H.GTLD-SERVERS.NET 192.54.112.30 2001:502:8cc:0:0:0:0:30\\\\nnserver:      I.GTLD-SERVERS.NET 192.43.172.30 2001:503:39c1:0:0:0:0:30\\\\nnserver:      J.GTLD-SERVERS.NET 192.48.79.30 2001:502:7094:0:0:0:0:30\\\\nnserver:      K.GTLD-SERVERS.NET 192.52.178.30 2001:503:d2d:0:0:0:0:30\\\\nnserver:      L.GTLD-SERVERS.NET 192.41.162.30 2001:500:d937:0:0:0:0:30\\\\nnserver:      M.GTLD-SERVERS.NET 192.55.83.30 2001:501:b1f9:0:0:0:0:30\\\\nds-rdata:     30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CFC41A5766\\\\n\\\\nwhois:        whois.verisign-grs.com\\\\n\\\\nstatus:       ACTIVE\\\\nremarks:      Registration information: http://www.verisigninc.com\\\\n\\\\ncreated:      1985-01-01\\\\nchanged:      2017-10-05\\\\nsource:       IANA\\\\n\\\\n\\\\n\"\n          },\n\n          \"enrichment\": {\n            \"analysis-message-mapper\": {\n              \"enterpriseID\": 5031,\n              \"entityID\": 1163869,\n              \"images\": [\n                {\n                  \"field\": \"content.domain.screenshot\",\n                  \"item\": \"https://storage.restpack.io/screenshot/0b38694ae1f34d41c4ddfda53cf6f3df9aff607b48f855276983c83c03067cee\"\n                }\n              ],\n              \"network\": \"domains\",\n              \"relation\": \"search_query\",\n              \"serviceOrigin\": \"analyst-console\",\n              \"subtype\": \"unspecified\",\n              \"texts\": null,\n              \"type\": \"page\",\n              \"urls\": null\n            },\n            \"language-detection\": {\n              \"confidence\": 0.9999961125,\n              \"detected_language\": \"en\",\n              \"detection_method\": \"languageProbability\",\n              \"language_probability\": {\n                \"en\": 0.9999961125\n              },\n              \"text\": \"acme-corporation.com\"\n            },\n            \"nlp-utils\": {\n              \"lemmatized_and_stop_words_filter\": \"acme-corporation.com\",\n              \"nlp_model\": \"en\"\n            },\n            \"ocr-analysis\": {\n               \"data\": [\n                 {\n                   \"details\": {\n                     \"bounding_boxes\": [ [ [ 203, 599 ], [ 275, 618 ] ], [ [ 170, 665 ], [ 206, 679 ] ], [ [ 214, 664 ], [ 308, 683 ] ], [ [ 197, 727 ], [ 242, 740 ] ], [ [ 247, 727 ], [ 283, 740 ] ] ],\n                     \"confidences\": [ 0.96, 0.96, 0.96, 0.96, 0.77 ],\n                     \"height\": 900,\n                     \"width\": 800,\n                     \"words\": [\n                       \"Register\",\n                       \"Lost\",\n                       \"password?\",\n                       \"Privacy\",\n                       \"Policy\"\n                     ]\n                   },\n                   \"image\": \"https://storage.restpack.io/screenshot/0b38694ae1f34d41c4ddfda53cf6f3df9aff607b48f855276983c83c03067cee\"\n                 }\n               ]\n             }\n          },\n\n          \"image_overlays\": [\n            {\n              \"image_url\": \"https://storage.restpack.io/screenshot/0b38694ae1f34d41c4ddfda53cf6f3df9aff607b48f855276983c83c03067cee\",\n              \"image_width\": 800,\n              \"image_height\": 650,\n              \"image_highlights\": [],\n              \"image_discovered_text\": \"Register Lost password? Privacy Policy\"\n            }\n          ],\n\n          \"occurrences\": [\n            {\n              \"origin\": null,\n              \"term\": \"acme-corporation.com\"\n            }\n          ]\n        }",
            "status": "Open",
            "timestamp": "2021-10-04T04:55:00+00:00",
            "rule_name": "Advanced Domain Analysis - Full String Match",
            "last_modified": "2021-10-04T05:14:12Z",
            "protected_locations": null,
            "darkweb_term": null,
            "business_network": null,
            "reviewed": true,
            "escalated": true,
            "network": "domains",
            "protected_social_object": null,
            "notes": "Impersonation - Name",
            "reviews": [
                {
                    "id": 204501,
                    "label": "NOT_HELPFUL",
                    "alert": 135985017,
                    "created_by": "",
                    "timestamp": "2021-06-29T11:42:10Z"
                },
                {
                    "id": 204502,
                    "label": "IRRELEVANT",
                    "alert": 135985017,
                    "created_by": "",
                    "timestamp": "2021-06-29T11:48:17Z"
                }
            ],
            "rule_id": 38161,
            "entity_account": null,
            "entity_email_receiver_id": null,
            "tags": [
                "a-record",
                "matching-term",
                "live-domain",
                "test",
                "tag",
                "skopje"
            ]
        }
    ]
}

ThreatQ provides the following default mapping for this feed:

These mappings are based on the data pulled from the alerts list from the API response.

Feed Data Path ThreatQ Entity ThreatQ Object Type or Attribute Key Published Date Examples Notes
.alerts[].alert_type/rule_name/severity/id Event.Title Alert .alerts[].timestamp [Search Query] Inferred Vulnerability \| Acme Corp \| Vulnerabilities (Severity: Medium; ID: 142919722) Key values are concatenated to form title
.alerts[].content_created_at Event.Happened_at N/A .alerts[].timestamp 2021-04-21T18:05:16+00:00 N/A
.alerts[].offending_content_url Related Indicator.Value URL or FQDN .alerts[].timestamp http://acme-corporation.com This is not always present. Will be an FQDN if .network == 'domains'
.alerts[].perpetrator.url Related Indicator.Value URL .alerts[].timestamp http://acme-corporation.com This is not always present
.alerts[].tags[] Event.Tag N/A .alerts[].timestamp a-record Configurable
.alerts[].perpetrator.name Event.Attribute Perpetrator Name .alerts[].timestamp Concealed Configurable
.alerts[].perpetrator.username Event.Attribute Perpetrator Username .alerts[].timestamp Jake Configurable
.alerts[].perpetrator.network Event.Attribute Perpetrator Network .alerts[].timestamp domains Configurable
.alerts[].alert_type Event.Attribute Alert Type .alerts[].timestamp search query Configurable
.alerts[].assignee Event.Attribute Assignee .alerts[].timestamp Kishaas Updatable, Configurable
.alerts[].darkweb_term Event.Attribute Dark Web Term .alerts[].timestamp N/A Configurable
.alerts[].entity_term Event.Attribute Entity Term .alerts[].timestamp N/A Configurable
.alerts[].escalated Event.Attribute Escalated .alerts[].timestamp True Mapped to True or False, Updatable, Configurable
.alerts[].reviewed Event.Attribute Reviewed .alerts[].timestamp False Mapped to True or False, Updatable, Configurable
.alerts[].network Event.Attribute Network Source .alerts[].timestamp domains Configurable
.alerts[].notes Event.Attribute Note .alerts[].timestamp Impersonation - Name Configurable
.alerts[].reviews.label Event.Attribute Alert Review .alerts[].timestamp NOT_HELPFUL Configurable
.alerts[].rule_name Event.Attribute Rule Name .alerts[].timestamp Advanced Domain Analysis - Full String Match Configurable
.alerts[].severity Event.Attribute Severity .alerts[].timestamp 4 Mapped to string-value, Configurable
.alerts[].status Event.Attribute Status .alerts[].timestamp Open Updatable, Configurable
.alerts[].entity.name Event.Attribute Targeted Entity .alerts[].timestamp Acme Corporation Configurable
.alerts[].asset.name Event.Attribute Targeted Asset .alerts[].timestamp Acme Corporation Configurable
.alerts[].asset.labels.name Event.Attribute Targeted Asset Label .alerts[].timestamp Brand Configurable
.alerts[].entity.labels.name Event.Attribute Targeted Entity Label .alerts[].timestamp Brand Configurable
.alerts[].protected_social_object Event.Attribute Protected Social Object .alerts[].timestamp N/A Configurable
.alerts[].metadata.alert_reasons[].value.text_content Event.Attribute Affected Product .alerts[].timestamp adobe_flashplayer When the alert reason type is Product, Configurable
.alerts[].metadata.alert_reasons[].value.text_content Event.Attribute Affected Vendor .alerts[].timestamp google When the alert reason type is Vendor, Configurable
.alerts[].metadata.alert_reasons[].value.text_content Event.Vulnerability N/A .alerts[].timestamp CVE-2024-12345 When the alert reason type is Vulnerability Name
           

Severity Map

Metric Value
1 Info
2 Low
3 Medium
4 High
5 Critical

Average Feed Run

Object counts and Feed runtime are supplied as generalities only - objects returned by a provider can differ based on credential configurations and Feed runtime may vary based on system resources and load.

ZeroFox Alerts

Metric Result
Run Time 1 min
Events 5
Event Attributes 60
Indicators 5

Change Log

  • Version 1.3.0
    • Removed the ZeroFox Campaigns and ZeroFox Indicator feeds due to their endpoints being deprecated by the provider. 
    • Resolved an issue that would trigger an error with the ZeroFox Alerts feed when the response from the provider is malformed.   
  • Version 1.2.0
    • Added the following configuration parameters to all feeds: Enable SSL Verification and Disable Proxies.  
    • Added the following configuration parameters to the ZeroFox Alerts feed:
      • Only Ingest Escalated Alerts - only ingest alerts marked as escalated or have been escalated in the past.
      • Ingest CVEs As - select how to ingest CVEs.
      • Context Filter - select the pieces of context to ingest with each alert.
    • Performed the following updates to the ZeroFox Alerts feed:
      • Improved the Event Title attribute to contain the following additional information:
        • Target Asset/Entity
        • Source Network
      • Added HTML rich text descriptions to the Event objects.
      • The following attributes will now be included in the description: 
        • Offending Content URL
        • Perpetrator URL
        • Perpetrator Type
      • Added the ability to:
        • extract and relate vulnerabilities (CVEs) from the alert metadata.
        • extract affected products/vendors from the alert metadata into attributes.
        • extract compromised account credentials from the alert metadata into the description.
      • Added the ability to update single-value attributes.
      • The perpetrator URL will no longer be added as a related indicator.
      • The Offending content URL will no longer be added as a related indicator if it's a ZeroFox URL.
      • The ZeroFox Alert Link attribute has been moved to the description as a hyperlink.
      • Added better handling for situations where there are multiple notes in an alert.
      • Multiple notes will now be divided into multiple attributes.
    • Updated the minimum ThreatQ version to 5.12.1.  
  • Version 1.1.2
    • Resolved an issue where users encountered a TypeError ('Cannot parse argument of type None.') error.  
  • Version 1.1.1
    • Updated the integration for improved handle incomplete metadata JSON responses and the offending content URL field.  
  • Version 1.1.0
    • Added ZeroFox Alerts feed.
  • Version 1.0.0
    • Initial Release

PDF Guides

Document ThreatQ Version
ZeroFox CDF Guide v1.3.0 5.12.1 or Greater
ZeroFox CDF Guide v1.2.0 5.12.1 or Greater
ZeroFox CDF Guide v1.1.2 4.50.0 or Greater
ZeroFox CDF Guide v1.1.1 4.50.0 or Greater
ZeroFox CDF Guide v1.1.0 4.50.0 or Greater
ZeroFox Feed Implementation Guide v1.0.0 4.21.0 or Greater