HP Support Assistant Version Detection (Windows)

2016-04-20T00:00:00
ID OPENVAS:1361412562310807804
Type openvas
Reporter Copyright (C) 2016 Greenbone Networks GmbH
Modified 2018-09-24T00:00:00

Description

Detects the installed version of HP Support Assistant Version Detection (Windows).

The script logs in via smb, searches for

                                        
                                            ###############################################################################
# OpenVAS Vulnerability Test
# $Id: gb_hp_support_assistant_detect.nasl 11573 2018-09-24 14:04:26Z cfischer $
#
# HP Support Assistant Version Detection (Windows)
#
# Authors:
# Shakeel <bshakeel@secpod.com>
#
# Copyright:
# Copyright (C) 2016 Greenbone Networks GmbH, http://www.greenbone.net
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
# (or any later version), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
###############################################################################

if(description)
{
  script_oid("1.3.6.1.4.1.25623.1.0.807804");
  script_version("$Revision: 11573 $");
  script_tag(name:"cvss_base", value:"0.0");
  script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:N/I:N/A:N");
  script_tag(name:"last_modification", value:"$Date: 2018-09-24 16:04:26 +0200 (Mon, 24 Sep 2018) $");
  script_tag(name:"creation_date", value:"2016-04-20 16:08:25 +0530 (Wed, 20 Apr 2016)");
  script_name("HP Support Assistant Version Detection (Windows)");

  script_tag(name:"summary", value:"Detects the installed version of
  HP Support Assistant Version Detection (Windows).

  The script logs in via smb, searches for 'HP Support Assistant' in the
  registry, gets version and installation path information from the registry.");

  script_tag(name:"qod_type", value:"registry");

  script_category(ACT_GATHER_INFO);
  script_copyright("Copyright (C) 2016 Greenbone Networks GmbH");
  script_family("Product detection");
  script_dependencies("smb_reg_service_pack.nasl");
  script_mandatory_keys("SMB/WindowsVersion", "SMB/Windows/Arch");
  script_require_ports(139, 445);
  exit(0);
}

include("smb_nt.inc");
include("secpod_smb_func.inc");
include("cpe.inc");
include("host_details.inc");
include("version_func.inc");

if(!registry_key_exists(key:"SOFTWARE\Hewlett-Packard"))
{
  if(!registry_key_exists(key:"SOFTWARE\Wow6432Node\Hewlett-Packard")){
    exit(0);
  }
}

os_arch = get_kb_item("SMB/Windows/Arch");
if(!os_arch){
  exit(0);
}

##Key based on architecture
if("x86" >< os_arch){
  key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\";
}

else if("x64" >< os_arch){
  key = "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\";
}

else
  exit(0);

foreach item (registry_enum_keys(key:key))
{
  hpName = registry_get_sz(key:key + item, item:"DisplayName");

  if("HP Support Assistant" >< hpName)
  {
    hpVer = registry_get_sz(key:key + item, item:"DisplayVersion");

    if(hpVer)
    {
      hpPath = registry_get_sz(key:key + item, item:"InstallLocation");
      if(!hpPath){
        hpPath = "Couldn find the install location from registry";
      }

      set_kb_item(name:"HP/Support/Assistant/Win/Ver", value:hpVer);

      cpe = build_cpe(value:hpVer, exp:"^([0-9.]+)", base:"cpe:/a:hp:support_assistant:");
      if(isnull(cpe))
        cpe = "cpe:/a:hp:support_assistant";

      register_product(cpe:cpe, location:hpPath);

      log_message(data: build_detection_report(app: "HP Support Assistant",
                                                 version: hpVer,
                                                 install: hpPath,
                                                 cpe: cpe,
                                                 concluded: hpVer));
    }
  }

  if("HP Support Solutions Framework" >< hpName)
  {
    hpVer = registry_get_sz(key:key + item, item:"DisplayVersion");

    if(hpVer)
    {
      hpPath = registry_get_sz(key:key + item, item:"InstallLocation");
      if(!hpPath){
        hpPath = "Couldn find the install location from registry";
      }

      set_kb_item(name:"HP/Support/Assistant/FW/Win/Ver", value:hpVer);

      cpe = build_cpe(value:hpVer, exp:"^([0-9.]+)", base:"cpe:/a:hp:support_solution_framework:");
      if(isnull(cpe))
        cpe = "cpe:/a:hp:support_solution_framework";

      register_product(cpe:cpe, location:hpPath);

      log_message(data: build_detection_report(app: "HP Support Assistant Framework",
                                                 version: hpVer,
                                                 install: hpPath,
                                                 cpe: cpe,
                                                 concluded: hpVer));
    }
  }
}