Crestron AirMedia Presentation Gateway Detection Consolidation
🗓️ 01 Aug 2019 00:00:00Reported by Copyright (C) 2019 Greenbone AGType
openvas🔗 plugins.openvas.org👁 15 Views
| Source | Link |
|---|---|
| crestron | www.crestron.com/en-US/Products/Featured-Solutions/Airmedia |
# SPDX-FileCopyrightText: 2019 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only
if (description)
{
script_oid("1.3.6.1.4.1.25623.1.0.142684");
script_version("2025-10-09T05:39:13+0000");
script_tag(name:"last_modification", value:"2025-10-09 05:39:13 +0000 (Thu, 09 Oct 2025)");
script_tag(name:"creation_date", value:"2019-08-01 01:29:50 +0000 (Thu, 01 Aug 2019)");
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:"qod_type", value:"remote_banner");
script_name("Crestron AirMedia Presentation Gateway Detection Consolidation");
script_tag(name:"summary", value:"Consolidation of Crestron AirMedia Presentation Gateway
detections.");
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (C) 2019 Greenbone AG");
script_family("Product detection");
script_dependencies("gb_crestron_airmedia_snmp_detect.nasl",
"gb_crestron_airmedia_http_detect.nasl",
"gb_crestron_cip_detect.nasl");
script_mandatory_keys("crestron_airmedia/detected");
script_xref(name:"URL", value:"https://www.crestron.com/en-US/Products/Featured-Solutions/Airmedia");
exit(0);
}
include("cpe.inc");
include("host_details.inc");
include("os_func.inc");
if (!get_kb_item("crestron_airmedia/detected"))
exit(0);
detected_model = "unknown";
detected_fw = "unknown";
foreach source (make_list("snmp", "cip")) {
model_list = get_kb_list("crestron_airmedia/" + source + "/*/model");
foreach model (model_list) {
if (model != "unknown" && detected_model == "unknown") {
detected_model = model;
set_kb_item(name: "crestron_airmedia/model", value: detected_model);
break;
}
}
fw_list = get_kb_list("crestron_airmedia/" + source + "/*/fw_version");
foreach fw (fw_list) {
if (fw != "unknown" && detected_fw == "unknown") {
detected_fw = fw;
set_kb_item(name: "crestron_airmedia/firmware_version", value: detected_fw);
break;
}
}
}
if (detected_model != "unknown") {
# nb: For at least SNMP the AM-101 devices had reported themselves as AM-100 devices like e.g.:
#
# Crestron Electronics AM-100 (Version 2.8.0.32)
#
# But the first firmware version for AM-101 is/was 2.0.0.0, so we can differentiate that way and
# "overwriting" a previous found / defined model here. This should be safe because AM-100 devices
# are EOL and probably will never receive a 2.x firmware.
if (detected_model == "AM-100" && detected_fw =~ "^2\.[0-9]+") {
detected_model = "AM-101";
special_note = '\n\nNote: AM-101 devices are reporting themselves as AM-100 devices which has been handled in this consolidation accordingly.';
}
os_name = "Crestron AirMedia Presentation Gateway " + detected_model + " Firmware";
hw_name = "Crestron AirMedia Presentation Gateway " + detected_model;
os_cpe = build_cpe(value: detected_fw, exp: "^([0-9.]+)", base: "cpe:/o:crestron:" + tolower(detected_model) + "_firmware:");
if (!os_cpe)
os_cpe = "cpe:/o:crestron:" + tolower(detected_model) + "_firmware";
hw_cpe = "cpe:/h:crestron:" + tolower(detected_model);
}
else {
os_name = "Crestron AirMedia Presentation Gateway Unknown Model Firmware";
hw_name = "Crestron AirMedia Presentation Gateway Unknown Model";
os_cpe = build_cpe(value: detected_fw, exp: "^([0-9.]+)", base: "cpe:/o:crestron:airmedia_firmware:");
if (!os_cpe)
os_cpe = "cpe:/o:crestron:airmedia_firmware";
hw_cpe = "cpe:/h:crestron:airmedia";
}
os_register_and_report(os: os_name, cpe: os_cpe, desc: "Crestron AirMedia Presentation Gateway Detection Consolidation", runs_key: "unixoide");
location = "/";
if (http_ports = get_kb_list("crestron_airmedia/http/port")) {
foreach port (http_ports) {
extra += 'HTTP(s) on port ' + port + '/tcp\n';
concUrl = get_kb_item("crestron_airmedia/http/" + port + "/concludedUrl");
if (concUrl)
extra += ' Concluded from URL: ' + concUrl + '\n';
register_product(cpe: hw_cpe, location: location, port: port, service: "www");
register_product(cpe: os_cpe, location: location, port: port, service: "www");
}
}
if (snmp_ports = get_kb_list("crestron_airmedia/snmp/port")) {
foreach port (snmp_ports) {
extra += 'SNMP on port ' + port + '/udp\n';
concluded = get_kb_item("crestron_airmedia/snmp/" + port + "/concluded");
if (concluded)
extra += ' SNMP sysDescr OID: ' + concluded + '\n';
register_product(cpe: hw_cpe, location: location, port: port, service: "snmp", proto: "udp");
register_product(cpe: os_cpe, location: location, port: port, service: "snmp", proto: "udp");
}
}
if (cip_ports = get_kb_list("crestron_airmedia/cip/port")) {
foreach port (cip_ports) {
extra += 'CIP (Crestron Internet Protocol) on port ' + port + '/udp\n';
register_product(cpe: hw_cpe, location: location, port: port, service: "crestron-cip", proto: "udp");
register_product(cpe: os_cpe, location: location, port: port, service: "crestron-cip", proto: "udp");
}
}
report = build_detection_report(app: os_name, version: detected_fw, install: location, cpe: os_cpe);
report += '\n\n';
report += build_detection_report(app: hw_name, skip_version: TRUE, install: location, cpe: hw_cpe);
if (extra) {
report += '\n\nDetection methods:\n';
report += '\n' + extra;
}
# nb: Some of the parts above might leave a trailing newline behind so just stripping it away
# before adding the next note to the report.
report = chomp(report);
if (special_note)
report += special_note;
log_message(port: 0, data: report);
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
09 Oct 2025 00:00Current
7High risk
Vulners AI Score7