Lucene search

K
openvasCopyright (C) 2017 Greenbone AGOPENVAS:1361412562310112100
HistoryNov 02, 2017 - 12:00 a.m.

ZyXEL Modems Backup Account and Default Root Credentials (Telnet)

2017-11-0200:00:00
Copyright (C) 2017 Greenbone AG
plugins.openvas.org
2625

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%