##############################################################################
# OpenVAS Vulnerability Test
# $Id: office2013_activex_control_initialization.nasl 11843 2018-10-11 14:33:21Z emoss $
#
# Check value for ActiveX Control Initialization
#
# Authors:
# Emanuel Moss <[email protected]>
#
# Copyright:
# Copyright (c) 2018 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.109043");
script_version("$Revision: 11843 $");
script_tag(name:"last_modification", value:"$Date: 2018-10-11 16:33:21 +0200 (Thu, 11 Oct 2018) $");
script_tag(name:"creation_date", value:"2018-04-16 09:42:28 +0200 (Mon, 16 Apr 2018)");
script_tag(name:"cvss_base", value:"0.0");
script_tag(name:"cvss_base_vector", value:"AV:L/AC:H/Au:S/C:N/I:N/A:N");
script_tag(name:"qod", value:"97");
script_name('Microsoft Office: ActiveX Control Initialization');
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (c) 2018 Greenbone Networks GmbH");
script_family("Policy");
script_dependencies("secpod_ms_office_detection_900025.nasl", "os_detection.nasl");
script_add_preference(name:"Value", type:"radio", value:"0;1;2;3;4;5;6");
script_mandatory_keys("Compliance/Launch", "Host/runs_windows", "MS/Office/Ver");
script_tag(name:"summary", value:"This test checks the setting for policy 'ActiveX Control
Initialization' for Microsoft Office 2013 (at least) on Windows hosts.
The setting specifies the Microsoft ActiveX initialization security level for all Microsoft Office
applications. ActiveX controls can adversely affect a computer directly. In addition, malicious code
can be used to compromise an ActiveX control and attack a computer. To indicate the safety of an
ActiveX control, developers can denote them as Safe For Initialization (SFI). SFI indicates that a
control is safe to open and run, and that it is not capable of causing a problem for any computer,
regardless of whether it has persisted data values or not. If a control is not marked SFI, it is
possible that the control could adversely affect a computer or it could mean that the developers did
not test the control in all situations and are not sure whether it might be compromised in the
future.");
exit(0);
}
include("smb_nt.inc");
include("policy_functions.inc");
include("host_details.inc");
include("secpod_smb_func.inc");
include("version_func.inc");
cpe = get_app_version(cpe:"cpe:/a:microsoft:office");
if(!cpe){
policy_logging(text:'Not found any Microsoft Office installation.');
exit(0);
}
office_year = substr(cpe,0,3);
full_version = get_kb_item("MS/Office/Ver");
if(version_is_less(version:full_version, test_version:'15')){
policy_logging(text:'Not found at least Microsoft Office 2013 installation.');
exit(0);
}
major_version = substr(full_version,0,3);
title = 'ActiveX Control Initialization';
fixtext = 'Set following UI path accordingly:
User Configuration/Administrative Templates/Microsoft Office ' + office_year + '/Security Settings/' + title;
type = 'HKU';
key_root = 'Software\\Policies\\Microsoft\\Office\\Common\\Security';
item = 'uficontrols';
default = script_get_preference('Value');
v = make_array();
uids = registry_enum_keys(key:'SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList', type:'HKLM');
foreach uid (uids){
if(uid =~ "S-1-5-21-"){
if(registry_key_exists(key:uid, type:'HKU')){
key = uid + '\\' + key_root;
value = registry_get_dword(key:key, item:item, type:type);
if(!value){
value = '0';
}
v = uid + ': ' + value + '\n';
policy_set_kb_hcu(id:uid, val:value);
if(value != default){
compliant = 'no';
}
}
}
}
if(!compliant){
compliant = 'yes';
}
policy_logging(text:'"' + title + '" is set to: ' + v);
policy_add_oid();
policy_set_dval(dval:default);
policy_fixtext(fixtext:fixtext);
policy_control_name(title:title);
policy_set_compliance(compliant:compliant);
exit(0);Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation