elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Wireless
| | |-+  Diccionarios: Quiero saber la verdad
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Diccionarios: Quiero saber la verdad  (Leído 3,071 veces)
Citrusl

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Diccionarios: Quiero saber la verdad
« en: 12 Noviembre 2019, 19:35 pm »

Tenes tu pc y tu antena en modo monitor con aircrack, john o la aplicación que más te guste pero te diste cuenta que las claves de los routers van desde 10 a 14 caracteres alfanumericos (a-A-0).

--Cuenta la leyenda que hay diccionarios como (dark0de, rainbowtables,etc)--

 A lo que pregunto... Realmente son útiles?
 Es decir, en C/C++ encontré un código muy bueno, mis honores al autor "Arvind
 Kumar",
 donde se generan todas las claves posibles de 10 a 14 caracteres creando un archivo
 superior a los 1000 Terabytes  lo cual limitaría a cualquier mortal a poseer o manejar
 dicho archivo.lst

--Tipico noob preguntando estupideces, la clave se compone por hashes, ssid y bla bla bla.

 Debatible, yo creo que aplica a solo unos cuantos modelos, y varia según la marca (TP-
 LINK, CISCO, Huawei, etc).

En una situación hipotética que resolvemos el tema del manejo de listas, diría que se podría hackear lo que sea, pero entonces viene mi duda... Cómo lo hacen?

Que apps usan?
Cómo manejan tales diccionarios?
Libros?
Tutoriales?
Source Codes?

Antes que respondan, se que hay mucho por leer en esta página y cada día leo un poco más, pero una guía, una brújula en este mar de conocimiento nos ayuda a no ir a la deriva y evitar hundirnos en la desinformación.

Y a los mods o haters, vayanse al car@@@!! La información tiene que ser libre, de que sirve un foro si no es para compartir.






En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Diccionarios: Quiero saber la verdad
« Respuesta #1 en: 12 Noviembre 2019, 20:08 pm »

Citar
Realmente son útiles?

en casos especificos, con claves colocadas por usuarios poco conocedores or tecnicos incompetentes, las raimbow casos mas especificos

Citar
donde se generan todas las claves posibles de 10 a 14 caracteres creando un archivo
 superior a los 1000 Terabytes

en realidad tener 1000TB de espacio es posible, sin embargo el tiempo que te tarda si no es posible... probablemente mas largo que el universo mismo

Citar
En una situación hipotética que resolvemos el tema del manejo de listas, diría que se podría hackear lo que sea, pero entonces viene mi duda... Cómo lo hacen?

necesitas entender el objetivo y deducir que tan vulnerable será... las listas es harina de otro costal...

Citar
Que apps usan?
Cómo manejan tales diccionarios?
Libros?
Tutoriales?
Source Codes?

apps, las comunes como las que pueden venir en kali, alli está entre lo mejor que puede haber...

los diccionarios muchas veces es gastar polvora en zamuros, pero es un mal necesario, siempre puedes haberte conseguido con un punto debil...

libros? nope, todo lo que consigas será mas registro historico que otra cosa, mas bien ver foros, blogs o incluso en youtube conferencias como el blackhat

tutoriales, cualquiera, pero la mayor parte de la informacion util la obtendrás de la documentacion

sources? depende...

Citar
Y a los mods o haters, vayanse al car@@@!! La información tiene que ser libre, de que sirve un foro si no es para compartir.

cual es el hating contra los mods? mientras no salga de los estudios de hacking etico no hay punto para contrariar temas


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Citrusl

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Diccionarios: Quiero saber la verdad
« Respuesta #2 en: 12 Noviembre 2019, 21:30 pm »

Gracias y perdón por la ultima oración se me fue la mano, simplemente detesto perder mi tiempo, todo es texto texto y nada de código. Te terminas leyendo horas y horas y solo rescatas algo como:

ifonfig wlan0 down
ifconfig wlan0 mode monitor
ifconfig wlan0 up
airodump-ng wlan0 (scan all the devices)
airodump-ng --bssid (mac) -c (channel) -w (file to save) wlan0
--------------------------------------------------------------

cowpatty -F (wordlist) -R (Capture) -S (Network name)
--------------------------------------------------------------

Sort by number of packets:

aireplay-ng -0 (desautenticar) 3 (number of packets) -a Mac_Address_AP -c Client_Mac_Address
aireplay-ng --deauth 5 -a (BSSID) -c (STATION_ID) wlan0
--------------------------------------------------------------

aircrack-ng -w (wlan0?) -s (archivo.pcap)

--

Etc...

Encontrar el objetivo es facil, sobretodo con los dispositivos wireless.
Mi motivación es el cracking.
Generalmente odio ser un script kiddie que solo usa aplicaciones que hacen cosas "maravillosas" sin explicar cómo funcionan.
Generalmente trato de descargarlas y crear mi propia versión.
Aveces es imposible, otras es innecesario reinventar la rueda.

Pero a veces sueño con encontrar algún algoritmo de mayor eficacia.

Que por ejemplo genere un diccionario pero sin tener en cuenta valores con letras repetidas mas de tres veces "aaa". De esa forma crearía un archivo mucho menor y mas eficiente.
o quizá borrando solo "0000000".

Estoy intentando crear algo en C, voy a postear más adelante si tengo exito con eso. 


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Diccionarios: Quiero saber la verdad
« Respuesta #3 en: 12 Noviembre 2019, 22:10 pm »

te recomiendo python... y tal cosa como "un diccionario mas eficiente" no lo obtendrás con solo algoritmo, involucraría estudiar psicologia, cosas culturales, contraseñas filtradas, etc... ya que al final va a ser un diccionario con una cantidad de terminos igual a infinito -1
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Citrusl

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Diccionarios: Quiero saber la verdad
« Respuesta #4 en: 13 Noviembre 2019, 01:05 am »

Si, es un verdadero dolor de cabeza.

Comparto el código de"AK" para el que le sea de utilidad o quiera partir de una base:

Código:
//   **************************************************************************
//   *                                                                        *
//   *  This program is free software: you can redistribute it and/or modify  *
//   *  it under the terms of the GNU General Public License as published by  *
//   *  the Free Software Foundation, either version 3 of the License, or     *
//   * (at your option) any later version.                                    *
//   *                                                                        *
//   *  This program is distributed in the hope that it will be useful,       *
//   *  but WITHOUT ANY WARRANTY; without even the implied warranty of        *
//   *  MERCHANTABILITY || FITNESS FOR A PARTICULAR PURPOSE.  See the         *
//   *  GNU General Public License for more details.                          *
//   *                                                                        *
//   *  You should have received a copy of the GNU General Public License     *
//   *  along with this program.  If not, see <http://www.gnu.org/licenses/>. *
//   *                                                                        *
//   *         (C) Arvind Kumar 2013 . All rights reserved                    *
//   **************************************************************************

#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
#include <iomanip>
#include <math.h>
#include <limits.h>
#include <stdio.h>

using namespace std;

void cls(){
    #if defined (__WIN32__)
        std::system("CLS");
    #else
        #if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__))
            std::system("clear");
        #endif
    #endif
}

int getNumber(string prompt){
    string inp="";
    int num;
    do{
        cout << prompt;
        cin >> inp;
        num = atoi(inp.c_str());
    }while(num==0);
    return num;
}

int getInt(string prompt){
    string inp="";
    int num;
    cout << prompt;
    cin >> inp;
    num = atoi(inp.c_str());
    return num;
}

char* setArray(int arr[]){
    int h=0;
    char* dupl=new char[128];
    for (int i=0;i<sizeof(arr);i+=2){
        for (int j=arr[i];j<=arr[i+1];j++){
            dupl[h]=j;
            h++;
        }
    }
    return dupl;
}

char* getCharset(int &len){
    cout << "\nType a continuous string of characters without spaces.\nThe characters may repeat.\n\n";
    string inp;
    cin >> inp;
    len = inp.length();
    char* arr=new char[len];
    for (int i=0;i<len;i++){
        arr[i]=inp[i];
    }
    return arr;
}

void show(long double &current,long double combos,int &per){
    long double currper=((int)((int)((current/combos)*100)/5)*5);
    if (currper>per){
        per=currper;
        cout << per <<"%...\n";
    }
    return;
}

void write(FILE *file,char *cset,int len,int i,int level,string word,long double &current,long double combos,int &per){
    level++;
    for (int j=0;j<len;j++){
        if (level<i){
            write(file,cset,len,i,level,string(word)+cset[j],current,combos,per);
        }
        else{
            string pword=string(word)+cset[j]+"\n";
            fputs(pword.c_str(),file);
            current++;
            show(current,combos,per);
        }
    }
}

int main(){
    string trash="";
    char *cset;
    int len;
    string append="";
    string prepend="";
    int start;
    int stop;
    long double space=0;
    long double combos=0;
    long double current=1;

    cls();
    cout << "                  Hacktionary v1.0\n\n";
    cout << "*******************************************************\n\n";
    cout << "Your portable brute-force dictionary generating tool.\n\n";
    cout << "Note that this project is open source and you can read\n";
    cout << "more about it or access the source code at it's github:\n";
    cout << "       http://github.com/EnKrypt/Hacktionary\n\n";
    cout << "*******************************************************\n\n";

    cout << "Press ENTER to continue : ";
    getline(cin, trash);
    cls();

    cout << "                CHARACTER SETS\n\n";
    cout << "1. Letters (All Caps) : A-Z\n";
    cout << "2. Letters (No Caps) : a-z\n";
    cout << "3. Letters (Both cases) : A-Z & a-z\n";
    cout << "4. Numbers Only : 0-9\n";
    cout << "5. Alphanumeric (Letters in Caps) : A-Z & 0-9\n";
    cout << "6. Alphanumeric (No letter in Caps) : a-z & 0-9\n";
    cout << "7. Alphanumeric (Both cases) : A-Z & a-z & 0-9\n";
    cout << "8. Alphanumeric + Symbols : ASCII(32)-ASCII(126)\n";
    cout << "9. Full ASCII : ASCII(0)-ASCII(127)\n";
    cout << "10. Define Custom Range\n\n";
    int ch=getNumber("Choose an option : ");

    switch(ch){
        case 1:{
            int arr[]={65,90};
            cset=setArray(arr);
            len=26;
            break;
        }
        case 2:{
            int arr[]={97,122};
            cset=setArray(arr);
            len=26;
            break;
        }
        case 3:{
            int arr[]={65,90,97,122};
            cset=setArray(arr);
            len=52;
            break;
        }
        case 4:{
            int arr[]={48,57};
            cset=setArray(arr);
            len=10;
            break;
        }
        case 5:{
            int arr[]={65,90,48,57};
            cset=setArray(arr);
            len=36;
            break;
        }
        case 6:{
            int arr[]={97,122,48,57};
            cset=setArray(arr);
            len=36;
            break;
        }
        case 7:{
            int arr[]={65,90,97,122,48,57};
            cset=setArray(arr);
            len=62;
            break;
        }
        case 8:{
            int arr[]={32,126};
            cset=setArray(arr);
            len=95;
            break;
        }
        case 9:{
            int arr[]={0,127};
            cset=setArray(arr);
            len=128;
            break;
        }
        case 10:{
            cset=getCharset(len);
            break;
        }
        default :{
            cout << "Invalid option.";
            exit(EXIT_FAILURE);
            break;
        }
    }

    start = getInt("\nStart Limit - Enter the size of the first word\nin the dictionary. Default is 0 : ");
    if (start<0){
        cout << "Invalid input. Using default value.\n";
        start=0;
    }
    stringstream ss;
    ss << (start+10);
    stop = getInt("\nStop Limit - Enter the size of the last word\nin the dictionary. Default is " + ss.str() + " : ");
    if (stop<start){
        cout << "Invalid input. Using default value.\n";
        stop=start+10;
    }

    cin.ignore(INT_MAX,'\n');
    cin.clear();
    cout << "\nText to prepend in every word (Press ENTER to Skip) : ";
    getline(cin, prepend);
    cout << "\nText to append in every word (Press ENTER to Skip) : ";
    getline(cin, append);

    cls();
    for (int i=start;i<=stop;i++){
        combos+=pow(len,i);
    }
    for (int i=start;i<=stop;i++){
        space+=append.length()+prepend.length()+((pow(len,i))*i)+1;
    }
    space+=10;
    cout << "\n" << std::fixed << std::setprecision(0) << combos << " Words.";
    cout << "\n" << std::fixed << std::setprecision(2) << ((space/1024.0d)/1024.0d) << " MB of Disk space required.";
    cout << "\n\nIt is recommended that you have the available disk space before proceeding.";
    cout << "\n\nPress ENTER to start generating : ";
    getline(cin, trash);

    cls();
    int per=0;
    cout << "Generating dictionary. This may take several minutes.\nPlease wait...\n";
    FILE *file=fopen("dictionary.lst","wb");
    for (int i=start;i<=stop;i++){
        write(file,cset,len,i,0,"",current,combos,per);
    }
    current=0;

    cls();
    cout << "Done! Dictionary successfully generated.\n";
    cout << "Dictionary file saved as dictionary.lst in working directory.\n\n";
    cout << "Hacktionary will now terminate.";

    return 0;
}


En línea

warcry.


Desconectado Desconectado

Mensajes: 1.004


Ver Perfil
Re: Diccionarios: Quiero saber la verdad
« Respuesta #5 en: 13 Noviembre 2019, 10:01 am »

Citar
Diccionarios: Quiero saber la verdad

calcula  :silbar:

https://www.bitsdelocos.es/computo.php


Citar
donde se generan todas las claves posibles de 10 a 14 caracteres creando un archivo
 superior a los 1000 Terabytes  lo cual limitaría a cualquier mortal a poseer o manejar
 dicho archivo.lst

generalmente se pasan al vuelo, no se genera el diccionario para guardarlo

por ejemplo las versiones antiguas de aircrack no manejaban diccionarios superiores a 2 gb, no se si las nuevas versiones pueden manejar diccionarios mas grandes.


Y a los mods o haters, vayanse al car@@@!! La información tiene que ser libre, de que sirve un foro si no es para compartir.


Mientras tu seas poseedor de la información, haz con ella lo que te plazca, pero mientras la información este en mi cabeza, haré con ella lo que me parezca, lo de decirnos de que sea libre te lo metes por el culo, aun siendo un payaso vago de coj.ones te voy a poner un video mio sobre el tema.


En línea

HE SIDO BANEADO --- UN PLACER ---- SALUDOS
Citrusl

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Diccionarios: Quiero saber la verdad
« Respuesta #6 en: 13 Noviembre 2019, 15:13 pm »

Citar
Mientras tu seas poseedor de la información, haz con ella lo que te plazca, pero mientras la información este en mi cabeza, haré con ella lo que me parezca, lo de decirnos de que sea libre te lo metes por el culo, aun siendo un payaso vago de coj.ones te voy a poner un video mio sobre el tema.

Debatible...
Siguiendo ese pensamiento no tendríamos la internet que te hace grande en estos momentos.
Recordá los orígenes y su historia, aunque si es cierto lo de la libertad de hacer lo que queramos con la información, y sobretodo la seguridad de no entregarla a las personas incorrectas.

Gracias por el video.

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como saber si es un crack o un troyano de verdad???
Análisis y Diseño de Malware
CrÄsH 6 8,108 Último mensaje 25 Julio 2010, 00:18 am
por CrÄsH
salu2 megustaria saber si es posible acelerar los diccionarios en wpa
Wireless en Linux
dvdr 3 4,717 Último mensaje 11 Enero 2011, 16:21 pm
por dvdr
¿Cómo saber si en verdad soy emprendedor?
Foro Libre
Graphixx 0 1,428 Último mensaje 17 Agosto 2014, 00:25 am
por Graphixx
es verdad que pueden saber?
Seguridad
xavier27 3 2,628 Último mensaje 21 Julio 2015, 20:48 pm
por xavier27
De verdad quiero aprender a programar.
Ingeniería Inversa
gu3r0 5 4,202 Último mensaje 18 Diciembre 2016, 23:00 pm
por miltonprogramador
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines