Launch And Fetch PC Scan - Qualys

Launches a PC scan and fetches the scan when it's ready.

Qualys · 4 tasks · 19 inputs · 0 outputs

Details

IDLaunch And Fetch PC Scan - Qualys
From Version5.5.0
Tasks4

README

Launches a PC scan and fetches the scan when it’s ready.

Dependencies

This playbook uses the following sub-playbooks, integrations, and scripts.

Sub-playbooks

  • GenericPolling

Integrations

  • QualysV2

Scripts

This playbook does not use any scripts.

Commands

  • qualys-pc-scan-fetch
  • qualys-pc-scan-launch

Playbook Inputs


Name Description Default Value Required
scan_title The scan title. This can be a maximum of 2000 characters (ascii).   Optional
target_from Specify “assets” (the default) when your scan target will include IP addresses/ranges and/or asset groups. Specify “tags” when your scan target will include asset tags.   Optional
ip The IP addresses to be scanned. You may enter individual IP addresses and/or ranges. Multiple entries are comma separated. One of these parameters is required: ip, asset_groups or asset_group_ids.   Optional
asset_groups The titles of asset groups containing the hosts to be scanned. Multiple titles are comma separated. One of these parameters is required: ip, asset_groups or asset_group_ids.   Optional
asset_group_ids The IDs of asset groups containing the hosts to be scanned. Multiple IDs are comma separated. One of these parameters is required: ip, asset_groups or asset_group_ids.   Optional
exclude_ip_per_scan The IP addresses to be excluded from the scan when the scan target is specified as IP addresses (not asset tags). You may enter individual IP addresses and/or ranges. Multiple entries are comma separated.   Optional
tag_include_selector Select “any” (the default) to include hosts that match at least one of the selected tags. Select “all” to include hosts that match all of the selected tags.   Optional
tag_exclude_selector Select “any” (the default) to exclude hosts that match at least one of the selected tags. Select “all” to exclude hosts that match all of the selected tags.   Optional
tag_set_by Specify “id” (the default) to select a tag set by providing tag IDs. Specify “name” to select a tag set by providing tag names.   Optional
tag_set_include Specify a tag set to include. Hosts that match these tags will be included. You identify the tag set by providing tag name or IDs. Multiple entries are comma separated.   Optional
tag_set_exclude Specify a tag set to exclude. Hosts that match these tags will be excluded. You identify the tag set by providing tag name or IDs. Multiple entries are comma separated.   Optional
use_ip_nt_range_tags Specify “0” (the default) to select from all tags (tags with any tag rule). Specify “1” to scan all IP addresses defined in tags. When this is specified, only tags with the dynamic IP address rule called “IP address in Network Range(s)” can be selected.   Optional
iscanner_name Specifies the name of the Scanner Appliance for the map, when the map target has private use internal IPs. Using Express Lite, Internal Scanning must be enabled in your account.   Optional
default_scanner Specify 1 to use the default scanner in each target asset group. For an Express Lite user, Internal Scanning must be enabled in the user’s account.   Optional
scanners_in_ag Specify 1 to distribute the scan to the target asset groups’ scanner appliances. Appliances in each asset group are tasked with scanning the IPs in the group. By default up to 5 appliances per group will be used and this can be configured for your account (please contact your Account Manager or Support). For an Express Lite user, Internal Scanning must be enabled in the user’s account.   Optional
option_title The title of the compliance option profile to be used. One of these parameters must be specified in a request: option_title or option_id. These are mutually exclusive and cannot be specified in the same request.   Optional
option_id The ID of the compliance option profile to be used. One of these parameters must be specified in a request: option_title or option_id. These are mutually exclusive and cannot be specified in the same request.   Optional
ip_network_id The ID of a network used to filter the IPs/ranges specified in the“ip” parameter. Set to a custom network ID (note this does not filter IPs/ranges specified in “asset_groups” or “asset_group_ids”). Or set to “0” (the default) for the Global Default Network - this is used to scan hosts outside of your custom networks.   Optional
runtime_http_header Set a custom value in order to drop defenses (such as logging, IPs, etc) when an authorized scan is being run. The value you enter will be used in the “Qualys-Scan:” header that will be set for many CGI and web application fingerprinting checks. Some discovery and web server fingerprinting checks will not use this header.   Optional

Playbook Outputs


There are no outputs for this playbook.

Playbook Image


Launch And Fetch PC Scan - Qualys

Inputs

  • scan_title — The scan title. This can be a maximum of 2000 characters (ascii).
  • target_from — Specify “assets” (the default) when your scan target will include IP addresses/ranges and/or asset groups. Specify “tags” when your scan target will include asset tags.
  • ip — The IP addresses to be scanned. You may enter individual IP addresses and/or ranges. Multiple entries are comma separated. One of these parameters is required: ip, asset_groups or asset_group_ids.
  • asset_groups — The titles of asset groups containing the hosts to be scanned. Multiple titles are comma separated. One of these parameters is required: ip, asset_groups or asset_group_ids.
  • asset_group_ids — The IDs of asset groups containing the hosts to be scanned. Multiple IDs are comma separated. One of these parameters is required: ip, asset_groups or asset_group_ids.
  • exclude_ip_per_scan — The IP addresses to be excluded from the scan when the scan target is specified as IP addresses (not asset tags). You may enter individual IP addresses and/or ranges. Multiple entries are comma separated.
  • tag_include_selector — Select “any” (the default) to include hosts that match at least one of the selected tags. Select “all” to include hosts that match all of the selected tags.
  • tag_exclude_selector — Select “any” (the default) to exclude hosts that match at least one of the selected tags. Select “all” to exclude hosts that match all of the selected tags.
  • tag_set_by — Specify “id” (the default) to select a tag set by providing tag IDs. Specify “name” to select a tag set by providing tag names.
  • tag_set_include — Specify a tag set to include. Hosts that match these tags will be included. You identify the tag set by providing tag name or IDs. Multiple entries are comma separated.
  • tag_set_exclude — Specify a tag set to exclude. Hosts that match these tags will be excluded. You identify the tag set by providing tag name or IDs. Multiple entries are comma separated.
  • use_ip_nt_range_tags — Specify “0” (the default) to select from all tags (tags with any tag rule). Specify “1” to scan all IP addresses defined in tags. When this is specified, only tags with the dynamic IP address rule called “IP address in Network Range(s)” can be selected.
  • iscanner_name — Specifies the name of the Scanner Appliance for the map, when the map target has private use internal IPs. Using Express Lite, Internal Scanning must be enabled in your account.
  • default_scanner — Specify 1 to use the default scanner in each target asset group. For an Express Lite user, Internal Scanning must be enabled in the user’s account.
  • scanners_in_ag — Specify 1 to distribute the scan to the target asset groups’ scanner appliances. Appliances in each asset group are tasked with scanning the IPs in the group. By default up to 5 appliances per group will be used and this can be configured for your account (please contact your Account Manager or Support). For an Express Lite user, Internal Scanning must be enabled in the user’s account.
  • option_title — The title of the compliance option profile to be used. One of these parameters must be specified in a request: option_title or option_id. These are mutually exclusive and cannot be specified in the same request.
  • option_id — The ID of the compliance option profile to be used. One of these parameters must be specified in a request: option_title or option_id. These are mutually exclusive and cannot be specified in the same request.
  • ip_network_id — The ID of a network used to filter the IPs/ranges specified in the“ip” parameter. Set to a custom network ID (note this does not filter IPs/ranges specified in “asset_groups” or “asset_group_ids”). Or set to “0” (the default) for the Global Default Network - this is used to scan hosts outside of your custom networks.
  • runtime_http_header — Set a custom value in order to drop defenses (such as logging, IPs, etc) when an authorized scan is being run. The value you enter will be used in the “Qualys-Scan:” header that will be set for many CGI and web application fingerprinting checks. Some discovery and web server fingerprinting checks will not use this header.

Commands used

qualys-pc-scan-fetch qualys-pc-scan-launch

Flowchart

Start Start qualys-pc-scan-launch - qualys-pc-scan-launch qualys-pc-scan-launch qualys-pc-scan-launch qualys-pc-scan-fetch - qualys-pc-scan-fetch qualys-pc-scan-fetch qualys-pc-scan-fetch GenericPolling - GenericPolling GenericPolling GenericPolling
id: Launch And Fetch PC Scan - Qualys
version: -1
name: Launch And Fetch PC Scan - Qualys
description: Launches a PC scan and fetches the scan when it's ready.
starttaskid: "0"
tasks:
  "0":
    id: "0"
    taskid: feaf59d2-f107-4395-862c-895cd5406872
    type: start
    task:
      id: feaf59d2-f107-4395-862c-895cd5406872
      version: -1
      name: ""
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "1"
    separatecontext: false
    view: |-
      {
        "position": {
          "x": 50,
          "y": 50
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
  "1":
    id: "1"
    taskid: 5a084e75-4fa4-4898-8c5f-df7ca3d3185d
    type: regular
    task:
      id: 5a084e75-4fa4-4898-8c5f-df7ca3d3185d
      version: -1
      name: qualys-pc-scan-launch
      description: launch compliance scans.
      script: QualysV2|||qualys-pc-scan-launch
      type: regular
      iscommand: true
      brand: QualysV2
    nexttasks:
      '#none#':
      - "5"
    scriptarguments:
      asset_group_ids:
        simple: ${inputs.asset_group_ids}
      asset_groups:
        simple: ${inputs.asset_groups}
      default_scanner:
        simple: ${inputs.default_scanner}
      exclude_ip_per_scan:
        simple: ${inputs.exclude_ip_per_scan}
      ip:
        simple: ${inputs.ip}
      ip_network_id:
        simple: ${inputs.ip_network_id}
      iscanner_name:
        simple: ${inputs.iscanner_name}
      option_id:
        simple: ${inputs.option_id}
      option_title:
        simple: ${inputs.option_title}
      runtime_http_header:
        simple: ${inputs.runtime_http_header}
      scan_title:
        simple: ${inputs.scan_title}
      scanners_in_ag:
        simple: ${inputs.scanners_in_ag}
      tag_exclude_selector:
        simple: ${inputs.tag_exclude_selector}
      tag_include_selector:
        simple: ${inputs.tag_include_selector}
      tag_set_by:
        simple: ${inputs.tag_set_by}
      tag_set_exclude:
        simple: ${inputs.tag_set_exclude}
      tag_set_include:
        simple: ${inputs.tag_set_include}
      target_from:
        simple: ${inputs.target_from}
      use_ip_nt_range_tags:
        simple: ${inputs.use_ip_nt_range_tags}
    separatecontext: false
    view: |-
      {
        "position": {
          "x": 50,
          "y": 200
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
  "3":
    id: "3"
    taskid: db82d647-26b0-4c2f-8181-e13b888c35ed
    type: regular
    task:
      id: db82d647-26b0-4c2f-8181-e13b888c35ed
      version: -1
      name: qualys-pc-scan-fetch
      description: fetch scan results for a scan
      script: QualysV2|||qualys-pc-scan-fetch
      type: regular
      iscommand: true
      brand: QualysV2
    scriptarguments:
      execution-timeout:
        simple: "180"
      scan_ref:
        simple: ${Qualys.Scan.[1].VALUE}
    separatecontext: false
    view: |-
      {
        "position": {
          "x": 50,
          "y": 540
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
  "5":
    id: "5"
    taskid: fb4471b2-50ef-4cb7-875f-fa8d1b25a62d
    type: playbook
    task:
      id: fb4471b2-50ef-4cb7-875f-fa8d1b25a62d
      version: -1
      name: GenericPolling
      description: |-
        Use this playbook as a sub-playbook to block execution of the master playbook until a remote action is complete.
        This playbook implements polling by continuously running the command in Step \#2 until the operation completes.
        The remote action should have the following structure:

        1. Initiate the operation.
        2. Poll to check if the operation completed.
        3. (optional) Get the results of the operation.
      playbookName: GenericPolling
      type: playbook
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "3"
    scriptarguments:
      Ids:
        simple: ${Qualys.Scan.[1].VALUE}
      Interval:
        simple: "1"
      PollingCommandArgName:
        simple: scan_ref
      PollingCommandName:
        simple: qualys-pc-scan-list
      Timeout:
        simple: "30"
      dt:
        simple: Qualys.Scan(val.STATUS.STATE != 'Finished').REF.
    separatecontext: true
    loop:
      iscommand: false
      exitCondition: ""
      wait: 1
      max: 0
    view: |-
      {
        "position": {
          "x": 50,
          "y": 370
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
view: |-
  {
    "linkLabelsPosition": {},
    "paper": {
      "dimensions": {
        "height": 585,
        "width": 380,
        "x": 50,
        "y": 50
      }
    }
  }
inputs:
- key: scan_title
  value: {}
  required: false
  description: The scan title. This can be a maximum of 2000 characters (ascii).
  playbookInputQuery:
- key: target_from
  value: {}
  required: false
  description: Specify “assets” (the default) when your scan target will include IP
    addresses/ranges and/or asset groups. Specify “tags” when your scan target will
    include asset tags.
  playbookInputQuery:
- key: ip
  value: {}
  required: false
  description: 'The IP addresses to be scanned. You may enter individual IP addresses
    and/or ranges. Multiple entries are comma separated. One of these parameters is
    required: ip, asset_groups or asset_group_ids.'
  playbookInputQuery:
- key: asset_groups
  value: {}
  required: false
  description: 'The titles of asset groups containing the hosts to be scanned. Multiple
    titles are comma separated. One of these parameters is required: ip, asset_groups
    or asset_group_ids.'
  playbookInputQuery:
- key: asset_group_ids
  value: {}
  required: false
  description: 'The IDs of asset groups containing the hosts to be scanned. Multiple
    IDs are comma separated. One of these parameters is required: ip, asset_groups
    or asset_group_ids.'
  playbookInputQuery:
- key: exclude_ip_per_scan
  value: {}
  required: false
  description: The IP addresses to be excluded from the scan when the scan target
    is specified as IP addresses (not asset tags). You may enter individual IP addresses
    and/or ranges. Multiple entries are comma separated.
  playbookInputQuery:
- key: tag_include_selector
  value: {}
  required: false
  description: Select “any” (the default) to include hosts that match at least one
    of the selected tags. Select “all” to include hosts that match all of the selected
    tags.
  playbookInputQuery:
- key: tag_exclude_selector
  value: {}
  required: false
  description: Select “any” (the default) to exclude hosts that match at least one
    of the selected tags. Select “all” to exclude hosts that match all of the selected
    tags.
  playbookInputQuery:
- key: tag_set_by
  value: {}
  required: false
  description: Specify “id” (the default) to select a tag set by providing tag IDs.
    Specify “name” to select a tag set by providing tag names.
  playbookInputQuery:
- key: tag_set_include
  value: {}
  required: false
  description: Specify a tag set to include. Hosts that match these tags will be included.
    You identify the tag set by providing tag name or IDs. Multiple entries are comma
    separated.
  playbookInputQuery:
- key: tag_set_exclude
  value: {}
  required: false
  description: Specify a tag set to exclude. Hosts that match these tags will be excluded.
    You identify the tag set by providing tag name or IDs. Multiple entries are comma
    separated.
  playbookInputQuery:
- key: use_ip_nt_range_tags
  value: {}
  required: false
  description: Specify “0” (the default) to select from all tags (tags with any tag
    rule). Specify “1” to scan all IP addresses defined in tags. When this is specified,
    only tags with the dynamic IP address rule called “IP address in Network Range(s)”
    can be selected.
  playbookInputQuery:
- key: iscanner_name
  value: {}
  required: false
  description: Specifies the name of the Scanner Appliance for the map, when the map
    target has private use internal IPs. Using Express Lite, Internal Scanning must
    be enabled in your account.
  playbookInputQuery:
- key: default_scanner
  value: {}
  required: false
  description: Specify 1 to use the default scanner in each target asset group. For
    an Express Lite user, Internal Scanning must be enabled in the user’s account.
  playbookInputQuery:
- key: scanners_in_ag
  value: {}
  required: false
  description: Specify 1 to distribute the scan to the target asset groups’ scanner
    appliances. Appliances in each asset group are tasked with scanning the IPs in
    the group. By default up to 5 appliances per group will be used and this can be
    configured for your account (please contact your Account Manager or Support).
    For an Express Lite user, Internal Scanning must be enabled in the user’s account.
  playbookInputQuery:
- key: option_title
  value: {}
  required: false
  description: 'The title of the compliance option profile to be used. One of these
    parameters must be specified in a request: option_title or option_id. These are
    mutually exclusive and cannot be specified in the same request.'
  playbookInputQuery:
- key: option_id
  value: {}
  required: false
  description: 'The ID of the compliance option profile to be used. One of these parameters
    must be specified in a request: option_title or option_id. These are mutually
    exclusive and cannot be specified in the same request.'
  playbookInputQuery:
- key: ip_network_id
  value: {}
  required: false
  description: The ID of a network used to filter the IPs/ranges specified in the“ip”
    parameter. Set to a custom network ID (note this does not filter IPs/ranges specified
    in “asset_groups” or “asset_group_ids”). Or set to “0” (the default) for the Global
    Default Network - this is used to scan hosts outside of your custom networks.
  playbookInputQuery:
- key: runtime_http_header
  value: {}
  required: false
  description: Set a custom value in order to drop defenses (such as logging, IPs,
    etc) when an authorized scan is being run. The value you enter will be used in
    the “Qualys-Scan:” header that will be set for many CGI and web application fingerprinting
    checks. Some discovery and web server fingerprinting checks will not use this
    header.
  playbookInputQuery:
outputs: []
tests:
- QualysVulnerabilityManagement-Test
fromversion: 5.5.0
supportedModules:
- agentix
- xsiam