Novell Messenger Client Detection (Mac OS X)

2013-03-25T00:00:00
ID MACOSX_NOVELL_MESSENGER_CLIENT_INSTALLED.NASL
Type nessus
Reporter Tenable
Modified 2018-05-16T00:00:00

Description

The remote host has Novell Messenger (formerly GroupWise Messenger) client installed. This is an instant messaging client based on Novell eDirectory.

                                        
                                            #TRUSTED 5485a819058f4ceb0a46c1c58c05ec600edf4f177b33ec02171dac8643ca6c84c243eb72a4d0645437c9b76f3ace6f7faed4f53788c45ec40c86b0c29dbd2c94c08793b6ea31a2e9747da032ed463e36d1d36064ba84ffdc097557bf45b626b7a0b8abf2d7625c423555b0467910240b4ae512c3153e6b0bd2ff87ef1b5adc2b694ac5df145153ef0f7425f7f668bc67031133445ccdaf95ee8e71284578e4931dd22ecc2a3f7de024d6e9d897b47da8dcac6cb7270ddb1109b112b2aba22c35a9c6de2439cae0a72cfc4dcd26fea0130d9d02c2443141c85ed07760ef77f6a6013d2c0c6696d6569043bc44ee58a238d1b0050516d185dd5666b4df0ad71a9304fcda96428b566cbc89c4c4c74ce52bb3f4b4f4faa8c59e0116990e1161d88cea182fc17af76ec5449558205604868dbb6f9538e0f7f9406382e98d7236ca82eed29cd9088b297e3b27ba03d16e14b7d65f030db831fdb3999072cb0c4217edb10e05f4380f92a1c43f28e7c41a7f72810324200f24ac8988a543828727ea72eec3f01e5d73f333612bb850927b7d57cb4fdc5b67ea1e4573297070f63b94c0c866a5ab05b60194abe38a240c7793a4337b2f064f8af9e85066b2f4e2e23dab1c51d7a92ff2657834526df6452d0129bfbf618c5b725ae100d199d25d41e4bc5728b418ebada66e308c9baf6531964231b9d3d960a8dfdbfe33d640dc52ae8c
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(65673);
  script_version("1.5");
  script_set_attribute(attribute:"plugin_modification_date", value:"2018/05/16");

  script_name(english:"Novell Messenger Client Detection (Mac OS X)");
  script_summary(english:"Detects installs of Novell Messenger (formerly GroupWise Messenger) Client");

  script_set_attribute(attribute:"synopsis", value:"The remote host has an instant messaging client installed.");
  script_set_attribute(attribute:"description", value:
"The remote host has Novell Messenger (formerly GroupWise Messenger)
client installed. This is an instant messaging client based on Novell
eDirectory.");
  script_set_attribute(attribute:"see_also", value:"http://www.novell.com/documentation/novell_messenger22/");
  script_set_attribute(attribute:"solution", value:"n/a");
  script_set_attribute(attribute:"risk_factor", value:"None");

  script_set_attribute(attribute:"plugin_publication_date", value:"2013/03/25");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:novell:messenger");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:novell:groupwise_messenger");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"MacOS X Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2013-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/MacOSX/Version");

  exit(0);
}

include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");
include("ssh_func.inc");
include("macosx_func.inc");
include("install_func.inc");

app = "Novell Messenger Client";

if(sshlib::get_support_level() >= sshlib::SSH_LIB_SUPPORTS_COMMANDS)
  enable_ssh_wrappers();
else disable_ssh_wrappers();

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);

os = get_kb_item("Host/MacOSX/Version");
if (!os) audit(AUDIT_OS_NOT, "Mac OS X");

kb_base = "MacOSX/Novell_Messenger_Client";

path = '/Applications/Messenger.app';
plist = path + '/Contents/Info.plist';

# Messenger.app is not very unique, so double check this is a
# Novell Product
cmd =  'plutil -convert xml1 -o - \'' + plist + '\' | grep \'string\'';
plist_string_contents = tolower(exec_cmd(cmd:cmd));
if("novell" >!< plist_string_contents && 'groupwise' >!< plist_string_contents)
  audit(AUDIT_NOT_INST, app);

cmd =  'plutil -convert xml1 -o - \'' + plist + '\' | ' +
  'grep -A 1 CFBundleVersion | ' +
  'tail -n 1 | ' +
  'sed \'s/.*string>\\(.*\\)<\\/string>.*/\\1/g\'';
version = exec_cmd(cmd:cmd);

if (!strlen(version)) audit(AUDIT_NOT_INST, app);

set_kb_item(name:kb_base+"/Installed", value:TRUE);

if (version !~ "^[0-9]") audit(AUDIT_VER_FAIL, app);

set_kb_item(name:kb_base+"/Version", value:version);
set_kb_item(name:kb_base+"/Path", value:path);

register_install(
  app_name:app,
  path:path,
  version:version,
  cpe:"cpe:/a:novell:messenger");

report =
  '\n  Path    : ' + path +
  '\n  Version : ' + version + '\n';

report_installs(app_name:app, extra:report);