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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1] 2 3
1  Sistemas Operativos / Windows / Podrían crear un post sobre Wardriving? en: 9 Junio 2020, 19:18 pm
Que tal,

Encontré mucho respecto al wifi hacking pero casi nada sobre el warDriving.
Podrían mencionar o recomendar que software, hardware, source code o metodologia se podría usar para dicha operación? algun tutorial o demo?

De antemano, gracias!



2  Seguridad Informática / Hacking Wireless / Re: Hackear sin clientes conectados? en: 24 Mayo 2020, 15:21 pm
Gracias EdePC y BloodSharp.

Si, presione el boton reset con una lapicera y entre con la pass que viene detrás. Pero tenia esa duda de que pasa cuando no hay clientes.
Y la respuesta es que al parecer el hacking continua jaja.

Ya no tiene servicio de internet, no se que hacer con el.


3  Seguridad Informática / Hacking Wireless / Hackear sin clientes conectados? en: 24 Mayo 2020, 00:32 am
Tengo un Router viejito que quiero volver a usar Modelo DPC3825 de Cisco el cual se que está funcionando.

Perdí la contraseña, solo recuerdo que empezaba "004XXXXXXX" con un total de 10 caracteres en total. Cifrado WPA2.

Quería volver a conectarme y detecto el SSID del Wifi "Mi-Wifi-Cisco" en las señales.

Para acceder quise conectarle un cable Ethernet pero al parecer las fichas hembra son decorativas. Descartada esa opción quise entrar por Aircrack con Crunch pero me di cuenta que para esta operación necesitas si o si un HANDSHAKE de un cliente conectado pero este no tiene ninguno.

Según la documentación de Aircrack y la leyenda o cuento de internet, se dice que aun sin clientes conectados es posible hackearlo.

Alguien sabe algo de esto?

4  Foros Generales / Dudas Generales / Re: Me recomiendan algun Correo/Email para hackear? en: 18 Mayo 2020, 20:31 pm
No te servirá yopmail???... http://www.yopmail.com/es/

hmmmm, que otras opciones hay? No me dice el smtp si lo quiero usar desde powershell (ya se, muchos diran es el nombre del dominio, ejemplo "smtp.yopmail.com", pero no es tan así algunos emails anonimos ponen trampas como otro nombre de hosts, o claves cifradas para poder utilizarlo de esta manera, por ello lo pregunto).
Sin decir que a simple vista genera un mail automatico del cual no me fia si en realidad su uso esta compartido por el creador o hosting del servicio (quiza anonimo contra google, no contra las personas que gestionan el sitio).

5  Foros Generales / Dudas Generales / Me recomiendan algun Correo/Email para hackear? en: 18 Mayo 2020, 14:47 pm
Estoy enviando archivos escriptados desde una pc a otra via SMTP de Google.
Revisando las nuevas configuraciones de "seguridad" de Google, aun activando la casilla de permitir aplicaciones menos seguras loguearse o enviar correos estos no llegan.
Es como si Google tuviera un firewall o algo estúpido bloqueando mis envíos.

Me interesó lo que propone Protonmail, sin embargo el mail "gratis" no soporta SMTP, misma situación.

Alguno tiene algún mail no tan turbio como un onion pero confiable y que permita estos archivos? CLARAMENTE QUE NO PIDA TELÉFONO PARA CREAR CUENTA como yahoo, google, etc.




6  Programación / Desarrollo Web / Re: Seguridad: Como puedo validar el filename en AJAX? en: 2 Diciembre 2019, 02:21 am
Gracias Engel Lex!

Veré como sigue la cosa mañana,

Dejo link del libro por si alguien se enfrenta a lo mismo (descarguen y archiven antes de que lo quiten) No estoy a favor de la descarga pirata de libros además de adorar los físicos por sobre los digitales pero si te encuentras en aprietos económicos o eres fan y hacen de tu pasión un negocio aquí va gratis:

http://index-of.es/Programming/Ajax/O'Reilly%20Securing%20AJAX%20Applications.pdf

Saludos!!
7  Programación / Desarrollo Web / Re: Seguridad: Como puedo validar el filename en AJAX? en: 2 Diciembre 2019, 01:39 am
Realmente no soy un experto en esto de la web, siempre fui más amante del C/C++ dios como lo extraño.

Creo que lo que busco está en este libro:
https://books.google.com.ar/books?id=hi5GSxAm564C&pg=PA132&lpg=PA132&dq=ajax+filename+secure+validation&source=bl&ots=ye9NYhlvek&sig=ACfU3U0XJg1-dr5E36uzCyZ23uPgdPRs1Q&hl=en&sa=X&ved=2ahUKEwjR3OWSpZXmAhVBCrkGHZHSAYkQ6AEwAXoECAoQAQ#v=onepage&q=ajax%20filename%20secure%20validation&f=false

vi algunos ejemplos donde filtran por caracteres especiales y doble extensión pero sospecho que no esten completos.

Creo que en PHP lo hacen asi:

Código:
if(preg_match('/^[a-z0-9-]+\.ext$/', $file)) {
    // .. upload
} else {
    echo 'The file "' . $file . '"was not uploaded. The file can only contain "a-z", "0-9" and "-". Allso the files must be lowercase. ';

}

En otros ejemplos más profesionales hasta abrían el archivo y lo leían en búsqueda interna si era posible, como string o hexadecimal.

Realmente la seguridad del servidor la maneja otro equipo del cual no confío ni tengo mucho acceso. Y bueno quería hacer lo posible del lado front-end cliente.
Es del estilo mobile por lo que no nos dejan utilizar muchos paquetes o aplicativos pesados para ahorrar en performance.
El desarrollo de la aplicación se valua en 1.8Millones aprox.
8  Programación / Desarrollo Web / Seguridad: Como puedo validar el filename en AJAX? en: 2 Diciembre 2019, 00:53 am
AYUDA!

Estamos trabajando en un módulo web de formulario utilizando dropzone (El clásico Drag and Drop files).
Nos prohibieron el uso de PHP por los riesgos e inseguridad que representa su uso.
En su reemplazo utilizamos ASP.NET con MVC, javascript, AJAX y mySQL.

Actualmente un simple AJAX hace el upload a la carpeta del servidor con un metodo POST.
Existen algunas validaciones que vienen incluidas en Dropzone como por ejemplo, el formato de imagenes o el tamaño:

Ejemplo:

Código:
    <script type="text/javascript">
        Dropzone.autoDiscover = false;

        $(document).ready(function () {

            $("div#myAwesomeDropzone").dropzone(
            {
                    paramName: "file",
                    maxFiles: 6,
                    maxFilesize: 1000, // MB
                    acceptedFiles: ".png,.jpg,.gif,.bmp,.jpeg",
                    addRemoveLinks: true,                   
             });
        });
     </script>

Sin embargo, nos asustamos al ver la gran vulnerabilidad e ineficacia contra Exploits de distintos tipos (unos 12 aproximadamente) manipulando simplemente el filename.

Cómo metodo de seguridad alternativo obfuscamos los codigos javascript, lo cual nos da tiempo.

Alguien podría recomendarme o mostrarme una validacion completa en AJAX para prevenir estos ataques?

Ataques:

https://www.owasp.org/index.php/Unrestricted_File_Upload
https://www.hackingarticles.in/5-ways-file-upload-vulnerability-exploitation/



9  Seguridad Informática / Hacking Wireless / Re: Diccionarios: Quiero saber la verdad 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.

10  Seguridad Informática / Hacking Wireless / Re: Diccionarios: Quiero saber la verdad 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;
}


Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines