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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Seguridad Informática / Análisis y Diseño de Malware / fuerza bruta SMF en: 29 Octubre 2016, 01:48 am
que tal gente...

la cuestion es que programe un script en python que lo que hace es hacer fuerza bruta a un foro SMF protegido por cloudflare.

el script funciona bien, lo he testeado con una pass facil y la consiguio en algunos minutos.
ahora el problema, es que para conseguir una contrase;a real podria tomarme mucho tiempo.

el algoritmo de generacion de password funciona de la siguiente manera:

Código:

charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_"
cadena = ['','','','','']

def generar(cadena, indice, largo):
    for x in xrange(0, len(charset)):
        cadena[indice] = charset[x]
        if indice < (largo-1):
            generar(cadena, indice+1, largo)
        else:
            cad = ''.join(cadena)
            probar_cuenta(cad)

def fuerzabruta():
     for i in xrange(6, 15):
         cadena.extend('x')
         generar(cadena, 0, i)


como veran, si la contrase;a tiene mas de 6 caracteres, deberiamos esperar a que finalize el algoritmo completo con 6 caracteres para probar con 7, y asi hasta llegar al largo correcto de la pass.
esto tomaria demasiado tiempo, suficiente para darse por vencido.

tengo 2 ideas:

crear multiples hilos y enlazarlos a una lista de cadenas.
en un hilo principal generar las contrase;as, y ir asignandolas de a una a cada hilo.
cada hilo haria la consulta mediante curl con su propio proxy, acelerando asi el proceso, pudiendo probar mas cantidad de contrase;as a la vez.

la otra idea es, igual que la anterior, pero en vez de cada hilo tener una lista, cada hilo iria generando contrase;as por su cuenta, de diferentes largos, y asi tener mas posibilidades de encontrar la pass.

que opinan de esto?
como podria optimizar mi script para acelerar el proceso al maximo posible?


2  Seguridad Informática / Análisis y Diseño de Malware / enga;ar a la heuristica en: 24 Mayo 2016, 20:08 pm
que tal amigos, ayer por la tarde me encontraba muy al pedo y decidi ponerme  a programar. se me ocurrio algo simple para matar el rato y entretenerme, programe una especie de "molestador" xDd

lo que hace este programa, que esta camuflado como un supuesto programa para hacer "sql injection" xD, es, crear una copia de si mismo  en la carpeta de windows con el nombre de smss.exe, y crear keys en el registro para iniciar con el sistema

el "virus" es totalmente inofensivo. no realiza ningun tipo de conexión, no hace ningun tipo de da;o al so ni captura ninguna tecla. lo unico que hace es ejecutar un bucle infinito en el que espera 15 segundos y envia un MessageBox con un mensaje cargado al azar desde una matriz. por ejemplo: "Windows ha detectado problemas de disfuncion erectil de parte del usuario. Windows encargo pastillas azules por su cuenta. (Ya realizamos la transaccion con su tarjeta de credito)"

en definitiva el "virus" no sirve para nada, lo unico que tiene como objetivo es molestar al usuario con mensajes de este tipo.

pense, que al no abrir ningun puerto, ni realizar ninguna conexión, ningun antivirus se interpondria en el camino, pero me equivoque. esto es lo que dice virus total:

https://www.virustotal.com/es-ar/file/dce964af198ad73da02c745dd6df855538613c631a746fbe91d72348a30befd0/analysis/

19/56 detections.

la pregunta es, que podria realizar para evitar ser detectado por estos antivirus o por lo menos por la mayor parte de ellos?
he leido que podria usar un crypter para encriptarlo y hacerlo indetectable, aunque tambien he leido en otro lado que muchos antivirus detectan como virus a cualquier programa cifrado.

que cambios en el codigo podria realizar para enga;ar a la heuristica del antivirus?
se me ocurrio que si instalo varios archivos antes de registrar la key, y ademas de eso alojo el ejecutable en otra carpeta que no sea tan ovbia el antivirus podria no sospechar. estare en lo correcto?

he leido algo sobre inyeccion DLL... realizando este tipo de inyeccion, se volveria indetectable mi codigo?

ultima pregunta: elegi ponerle de nombre al proceso de mi programa "smss.exe" porque en windows xp hay un bug, como ese proceso es un proceso critico del sistema, no deja cerrar ningun proceso que tenga ese nombre, es decir no verifica las rutas. esto solo pasa en windows XP o tambien ocurre en versiones mas recientes de windows?

gracias
3  Programación / Programación C/C++ / dependencias circulares en: 11 Mayo 2016, 15:28 pm
que tal amigos, estoy programando un juego en c++ basado en tiles con vista isometrica. tengo un problema que me esta quemando la cabeza.
la cosa es asi:
tengo una clase mapa, que tiene un puntero bidimensional a clases tile, y la clase tile tiene un puntero a mapa. la clase tile tiene un metodo dibujar(), que dibuja sobre una estructura BITMAP que esta definida en una clase Graphics, accediendo a esta mediante un puntero en mapa.

aqui esta el codigo, el error que obtengo es "Expected ')' before '*'"

donde esta el error?

Código
  1. //tile.h
  2.  
  3. #ifndef TILE_H
  4.  
  5.    #define TILE_H
  6.    #include "mapa.h"
  7.    class Tile
  8.    {
  9.  
  10.    public:
  11.  
  12.        Tile(Mapa*, int, int);
  13.        ~Tile();
  14.  
  15.        void Draw();
  16.  
  17.  
  18.    private:
  19.  
  20.        Mapa *parent;
  21.        int posX;
  22.        int posY;
  23.  
  24.    };
  25.  
  26.  
  27. #endif // TILE_H
  28.  
  29. [/code=cpp]
  30.  
  31. [code]//tile.cpp
  32.  
  33. #include "tile.h"
  34.  
  35. Tile::Tile(Mapa *_parent, int x, int y)
  36. {
  37.    parent = _parent;
  38.    posX = x;
  39.    posY = y;
  40. }
  41.  
  42. Tile::~Tile()
  43. {
  44.  
  45. }
  46.  
  47. void Tile::Draw()
  48. {
  49.    int px = (posX - posY) * (parent->parent->tile->w /2) + parent->scrollX;
  50.    int py = (posX + posY) * (parent->parent->tile->h /2) + parent->scrollY;
  51.  
  52.    draw_sprite(parent->parent->buffer, parent->parent->tile, px, py);
  53.  
  54.    delete px;
  55.    delete py;
  56. }
  57.  

Código
  1. //mapa.h
  2. #include "graphics.h"
  3.  
  4.  
  5. #ifndef MAPA_H
  6.  
  7.    #define MAPA_H
  8.    #include "tile.h"
  9.    class Mapa
  10.    {
  11.  
  12.    public:
  13.  
  14.        Mapa(Graphics);
  15.        ~Mapa();
  16.  
  17.        void Draw();
  18.  
  19.    private:
  20.  
  21.        Tile *matriz[64][64];
  22.        int scrollX;
  23.        int scrollY;
  24.        Graphics *parent;
  25.  
  26.    };
  27.  
  28.  
  29. #endif // MAPA_H
  30.  

Código
  1. #include "mapa.h"
  2.  
  3. Mapa::Mapa(Graphics *_parent)
  4. {
  5.    parent = _parent;
  6.  
  7.    for(int i=0; i<64; i++)
  8.    {
  9.        for(int j=0; j<64; j++)
  10.        {
  11.            matriz[j][i] = new Tile(this, j, i);
  12.        }
  13.    }
  14. }
  15.  
  16. Mapa::~Mapa()
  17. {
  18.  
  19. }
  20.  
  21. void Mapa::Draw()
  22. {
  23.    for(int i=0; i<64; i++)
  24.    {
  25.        for(int j=0; j<64; j++)
  26.        {
  27.            matriz[j][i]->Draw();
  28.        }
  29.    }
  30. }
  31.  
[/code]
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines