Current ThreatQ Version Filter
 

Tenable.io 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 Tenable.io CDF for ThreatQ enables analysts to automatically ingest vulnerability feeds from Tenable.io.

The integration provides the following feed:

  • Tenable.io Vulnerable Assets - pulls vulnerable assets from Tenable.io including asset metadata, its vulnerabilities, and relevant CVEs.

The integration ingests the following system objects:

  • Assets
    • Asset Attributes
  • Indicators
  • Vulnerabilities
    • Vulnerability Attributes

Prerequisites

The CDF integration requires the following:

  • A Tenable.io Cloud license
  • Tenable.io API Credentials with CAN_VIEW permissions on ASSETS.
  • The Asset Object type installed on your ThreatQ instance.  The Asset object was seeded with ThreatQ version 5.10.  If your are running ThreatQ version 5.9.0 or older, you will need to install the object type before installing the integration.    

Asset Object

The integration requires the Asset object.  The Asset installation files are included with the integration download on the ThreatQ Marketplace.  The Asset object must be installed prior to installing the integration.  

You do not have to install the Asset object if you are running ThreatQ version 5.10.0 or greater as the object has been seeded as a default system object.

See the Custom Objects topic for steps on how to install the required custom object.

Installation

The CDF requires the installation of a custom object before installing the actual CDF if your are on ThreatQ version 5.9.0 or earlier.  See the Prerequisites chapter for more details.  The custom object must be installed prior to installing the CDF.  Attempting to install the CDF without the custom object will cause the CDF install process to fail.   

This integration can be installed in the My Integration section of your ThreatQ instance. See the Adding an Integration topic for more details.

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
    Access Key Your Tenable.io Access Key to authenticate.

    Your credentials must have the CAN_VIEW permission on ASSETS.

    Secret Key Your Tenable.io Secret Key to authenticate.

    Your credentials must have the CAN_VIEW permission on ASSETS.

    State Filter Select one or more vulnerability states to include in the export.

    Options include:
    • Open (default)
    • Reopened (default)
    • Fixed (default)
    Severity Filter Select one or more vulnerability severities to include in the export.
    • Info
    • Low (default)
    • Medium (default)
    • High (default)
    • Critical (default)
    VPR Score Threshold The minimum VPR score required to ingest a given vulnerability. If this value is set to 0.0, the default, a VPR score will not be required.
    Require CVE Enable this option to only ingest vulnerabilities that have at least one CVE associated with it.  This option is disabled by default.  
    Include Unlicensed Assets Enable this option to include assets that are unlicensed in the export.  This option is enabled by default.  
    Export Timeout (Minutes) The number of minutes to wait for the export to complete before timing out.  The default value for this option is 30 (minutes).  

    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

Tenable.io Vulnerable Assets

The Tenable.io Vulnerable Assets feed periodically pulls vulnerable assets from Tenable.io, including metadata for the assets themselves, their vulnerabilities, and relevant CVEs.

POST https://cloud.tenable.com/vulns/export

Sample Request Body:

{
    "filters": {
        "state": ["<selected state filters"],
        "severity": ["<selected severity filters>"],
        "since": "<feed last run timestamp>"
    },
    "num_assets": 500,
    "include_unlicensed": true
}

Sample Response:

{
    "export_uuid": "<UUID>"
}

ThreatQuotient provides the following default mapping for this feed:

Feed Data Path ThreatQ Entity ThreatQ Object Type or Attribute Key Published Date Examples Notes
[].asset.fqdn, .asset.ipv4 Asset.Value N/A .first_found localhost.localdomain (10.13.0.163) Selected keys are formatted into a description template
[].plugin.name Vulnerability.Value N/A .plugin.publication_date SSH Server CBC Mode Ciphers Enabled N/A
[].plugin.description Vulnerability.Description N/A N/A N/A N/A
[].plugin.cve[] Indicator.Value CVE N/A CVE-2022-12312 N/A
[].asset.fqdn Asset.Attribute FQDN N/A N/A N/A
[].asset.ipv4 Asset.Attribute IP Address N/A N/A N/A
[].asset.device_type Asset.Attribute Device Type N/A general-purpose N/A
[].asset.uuid Asset.Attribute Tenable.io UUID N/A N/A N/A
[].asset.mac_address Asset.Attribute MAC Address N/A N/A N/A
[].asset.operating_system[] Asset.Attribute Operating System N/A Linux Kernel 3.10.0-1160.76.1.el7.x86_64 on CentOS Linux release 7.9.2009 (Core) N/A
[].state Asset.Attribute Vulnerable State N/A OPEN N/A
[].port.service Asset.Attribute Tested Service N/A www N/A
[].severity Vulnerability.Attribute Severity N/A Medium N/A
[].last_found Vulnerability.Attribute Last Found N/A N/A timestamp
[].plugin.family Vulnerability.Attribute Family N/A Misc. N/A
[].plugin.type Vulnerability.Attribute Vulnerability Type N/A remote N/A
[].plugin.has_path Vulnerability.Attribute Has Patch N/A False Bool -> True/False
[].plugin.exploit_available Vulnerability.Attribute Exploit Available N/A False Bool -> True/False
[].plugin.exploited_by_malware Vulnerability.Attribute Exploited by Malware N/A False Bool -> True/False
[].plugin.exploitability_ease Vulnerability.Attribute Exploitability Ease N/A Medium N/A
[].plugin.in_the_news Vulnerability.Attribute In News N/A False Bool -> True/False
[].plugin.risk_factor Vulnerability.Attribute Risk Factor N/A Low N/A
[].plugin.synopsis Vulnerability.Attribute Synopsis N/A N/A N/A
[].plugin.solution Vulnerability.Attribute Solution N/A N/A N/A
[].plugin.unsupported_by_vendor Vulnerability.Attribute Unsupported by Vendor N/A False Bool -> True/False
[].plugin.vuln_publication_date Vulnerability.Attribute Publication Date N/A N/A N/A
[].plugin.vpr.score Vulnerability.Attribute VPR Score N/A 2.1 N/A
[].plugin.vpr.drivers.product_coverage Vulnerability.Attribute VPR Product Coverage N/A HIGH N/A
[].plugin.xrefs[] Vulnerability.Attribute CWE N/A CWE-200 Where type == 'CWE'
[].plugin.vpr.drivers.threat_intensity_last28 Vulnerability.Attribute VPR Threat Intensity N/A VERY_LOW N/A
[].plugin.vpr.drivers.exploit_code_maturity Vulnerability.Attribute VPR Exploit Code Maturity N/A VERY_LOW N/A
[].plugin.see_also[] Vulnerability.Attribute External Reference N/A N/A N/A

Get Export Job Chunk (Supplemental)

The Get Export Job Chunk supplemental feed fetches a specific chunk of the export job's results.

GET https://cloud.tenable.com/vulns/export/{{ uuid }}/chunks/{{ chunk }}

Sample Response:

[
    {
        "asset": {
            "agent_uuid": "7640d8143c5f4830834fd4128697cd45",
            "bios_uuid": "53e22042-a344-ae31-0b79-0a58ab414826",
            "device_type": "general-purpose",
            "fqdn": "localhost.localdomain",
            "hostname": "10.13.0.163",
            "uuid": "caa34c9e-a1de-4ea3-9d91-90387b0965d1",
            "ipv4": "10.13.0.102",
            "last_authenticated_results": "2022-11-28T19:16:16Z",
            "mac_address": "02:42:59:E1:E1:C9",
            "operating_system": [
                "Linux Kernel 3.10.0-1160.76.1.el7.x86_64 on CentOS Linux release 7.9.2009 (Core)"
            ],
            "network_id": "00000000-0000-0000-0000-000000000000",
            "tracked": true
        },
        "output": "\nThe following client-to-server Cipher Block Chaining (CBC) algorithms\nare supported : \n\n  3des-cbc\n  aes128-cbc\n  aes192-cbc\n  aes256-cbc\n  blowfish-cbc\n  cast128-cbc\n\nThe following server-to-client Cipher Block Chaining (CBC) algorithms\nare supported : \n\n  3des-cbc\n  aes128-cbc\n  aes192-cbc\n  aes256-cbc\n  blowfish-cbc\n  cast128-cbc\n",
        "plugin": {
            "bid": [
                32319
            ],
            "checks_for_default_account": false,
            "checks_for_malware": false,
            "cve": [
                "CVE-2008-5161"
            ],
            "cvss3_base_score": 0,
            "cvss3_temporal_score": 0,
            "cvss_base_score": 2.6,
            "cvss_temporal_score": 1.9,
            "cvss_temporal_vector": {
                "exploitability": "Unproven",
                "remediation_level": "Official-fix",
                "report_confidence": "Confirmed",
                "raw": "E:U/RL:OF/RC:C"
            },
            "cvss_vector": {
                "access_complexity": "High",
                "access_vector": "Network",
                "authentication": "None required",
                "availability_impact": "None",
                "confidentiality_impact": "Partial",
                "integrity_impact": "None",
                "raw": "AV:N/AC:H/Au:N/C:P/I:N/A:N"
            },
            "description": "The SSH server is configured to support Cipher Block Chaining (CBC) encryption.  This may allow an attacker to recover the plaintext message from the ciphertext. \n\nNote that this plugin only checks for the options of the SSH server and does not check for vulnerable software versions.",
            "exploit_available": false,
            "exploit_framework_canvas": false,
            "exploit_framework_core": false,
            "exploit_framework_d2_elliot": false,
            "exploit_framework_exploithub": false,
            "exploit_framework_metasploit": false,
            "exploitability_ease": "No known exploits are available",
            "exploited_by_malware": false,
            "exploited_by_nessus": false,
            "family": "Misc.",
            "family_id": 23,
            "has_patch": false,
            "id": 70658,
            "in_the_news": false,
            "name": "SSH Server CBC Mode Ciphers Enabled",
            "modification_date": "2018-07-30T00:00:00Z",
            "publication_date": "2013-10-28T00:00:00Z",
            "risk_factor": "Low",
            "see_also": [
                ""
            ],
            "solution": "Contact the vendor or consult product documentation to disable CBC mode cipher encryption, and enable CTR or GCM cipher mode encryption.",
            "synopsis": "The SSH server is configured to use Cipher Block Chaining.",
            "type": "remote",
            "unsupported_by_vendor": false,
            "version": "1.4",
            "vuln_publication_date": "2008-11-24T00:00:00Z",
            "xrefs": [
                {
                    "type": "CERT",
                    "id": "958563"
                },
                {
                    "type": "CWE",
                    "id": "200"
                }
            ],
            "vpr": {
                "score": 2.5,
                "drivers": {
                    "age_of_vuln": {
                        "lower_bound": 731
                    },
                    "exploit_code_maturity": "UNPROVEN",
                    "cvss_impact_score_predicted": true,
                    "cvss3_impact_score": 2.5,
                    "threat_intensity_last28": "VERY_LOW",
                    "threat_sources_last28": [
                        "No recorded events"
                    ],
                    "product_coverage": "HIGH"
                },
                "updated": "2020-12-30T05:20:01Z"
            }
        },
        "port": {
            "port": 22,
            "protocol": "TCP",
            "service": "ssh"
        },
        "scan": {
            "completed_at": "2022-11-28T19:16:27.855Z",
            "schedule_uuid": "template-ac0f7c9e-1ee4-4040-a156-72682dc7a9991b8279485af00a75",
            "started_at": "2022-11-28T18:51:49.270Z",
            "uuid": "93b6356d-ba19-42f8-bda9-e1bebe363783"
        },
        "severity": "low",
        "severity_id": 1,
        "severity_default_id": 1,
        "severity_modification_type": "NONE",
        "first_found": "2022-11-28T19:16:27.855Z",
        "last_found": "2022-11-28T19:16:27.855Z",
        "state": "OPEN",
        "indexed": "2022-11-28T19:17:05.003Z"
    }
]

Get Export Job (Supplemental)

The Get Export Job supplemental feed finds a given job by its UUID.

GET https://cloud.tenable.com/vulns/export/status

Sample Response:

{
    "exports": [
        {
            "uuid": "8184a7f2-3038-445f-8c77-727551a464d5",
            "status": "FINISHED",
            "total_chunks": 0,
            "chunks_available_count": 0,
            "empty_chunks_count": 0,
            "finished_chunks": 0,
            "filters": {
                "severity": [
                    "INFO",
                    "LOW",
                    "MEDIUM",
                    "HIGH",
                    "CRITICAL"
                ],
                "state": [
                    "OPEN",
                    "REOPENED"
                ],
                "tags": {},
                "since": 1669828186,
                "first_found": 0,
                "last_found": 0,
                "last_fixed": 0,
                "first_seen": 0,
                "last_seen": 0,
                "indexed_at": 0
            },
            "num_assets_per_chunk": 500,
            "created": 1669914589334
        }
    ]
}

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.

Metric Result
Run Time 1 minute
Assets 6
Asset Attributes 44
Indicators 1
Vulnerabilities 76
Vulnerability Attributes 960

Change Log

  • Version 1.0.0
    • Initial release

PDF Guides

Document ThreatQ Version
Tenable.io CDF Guide v1.0.0 5.6 or Greater