Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Debci

#851
Que conste que en ningun momento he querido ofender a nadie, no me tienes que convencer de que es inseguro, ni de que es un exelentisimo tutorial ;)

Saludos
#852
Asi cualquier foro es inseguro xD

Saludos
#853
Cita de: braulio-- en 14 Julio 2010, 20:48 PM
Lo cierto es que el poder conseguir una shell es muy posible y hay una cantidad enorme de formas. Puedes leerte un howto que hizo kasmky (el primero) sobre un ataque de este tipo.
Y pensar que no soy capaz de siquiera poisonear un pc sin antivirus en una red desprotegida...
¬¬

Saludos
#854
Lo suyo seria usar una bd portable de esas que es un archivo, pero veo que no la quieres asi que no se como hacerlo de otra forma :S
#855
Cita de: Novlucker en 14 Julio 2010, 19:09 PM
Pero es lo que estoy diciendo, mira el archivo ese que he subido, en ese archivo se muestran las posibles combinaciones de las 10 letras tomadas de a 4, el mío también es dinámico, le metes la lista de caracteres y el largo máximo para la palabra, y te tira el diccionario :P

Saludos

xD ya lo he pre-supuesto, no he tenido que montarme ningun algoritmo para ello xD

Ya estoy re-componiendo el codigo.

Saludos
#856
Scripting / Re: Globos de ayuda
14 Julio 2010, 19:07 PM
Cita de: FerJGS en 14 Julio 2010, 18:48 PM
En batch estoy seguro de que no se puede hacer, en todo caso...con algunos comandos y un debug. Pero seguro que se puede hacer en VB, es ideal para controlar la apariencia de la pantalla
A que te refieres con algun debug?

Saludos
#857
LO que yo he pretendido ha sido que fuese dinamico osea decir cuantos caracteres quieres comprobar si es una cadena de 24 caracteres, si es de 15 o de 6 caracteres (lo que quieras).
No entiendo porque debe dar error xD Ahora me lo miro mas a fondo jeje

Saludos
#858
Cita de: LEYER en 14 Julio 2010, 17:33 PM
"Te he enseñado bien, haora la fuerza esta con tigo" XD :xD jaja

Se puede mejorar mucho, ademas con tu metodo es facil mejorarlo para que soporte mas de 3 caracteres, lo modifique para 4 y funcionaba  :P

Mas tarde lo miro con mas profundidad.

Sigue asi.

Un saludo.

Yo he probado con 24 caracteres y como no cabe un numero tan grande de posibilidades en un tipo int standard... lo tengo chungo :S
Me queda este algoitmo mas dinamico pero que me arroja un index out of bounds exepction en un array:

He comentado donde falla:
Código (java) [Seleccionar]

package main;

import java.lang.String;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author root
*/
public class Encriptor {


   public static void main(String[] args)
   {
       String resultado = null;
       String match = "65070638cd89011c9ab230ba2fac46dd";
       int limCaracteres = 4;

       String[] mapaChars = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};

       int posibles = (int) Math.pow(limCaracteres,mapaChars.length);
       System.out.println("Posibles: " + posibles + "\n" + "Lenght mapa: " + mapaChars.length);
       String[] combinacion = new String[limCaracteres];
       int[] indices = new int[limCaracteres];
       for(int y = 0; y < indices.length; y++)
       {
           indices[y] = 0;
       }
       
       for(int i = 0; i < posibles;i++)
       {
           for(int x = 0; i < limCaracteres; i++)
           {
                if(indices[x] == mapaChars.length)
                {
                    indices[x] = 0;
                    indices[x+1]++;
                }
           }

           for(int j = 0; j < limCaracteres; j++)
           {
               combinacion[j] = mapaChars[indices[j]]; /* Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
       at main.Encriptor.main(Encriptor.java:52)
Java Result: 1 */
           }
         
         String resultadoTransitorio = new String(combinacion[0] + combinacion[1] + combinacion[2]);
         String resultadoEncriptado = new String(Encriptor.encriptaMD5(resultadoTransitorio));
         if(resultadoEncriptado.equals(match))
         {
             resultado = resultadoTransitorio;
             break;
         }
         
         indices[0]++;
         
       }
       System.out.println("Hash crackeada con exito!\n" + resultado);
       
       /*String cadena = new String("acb");
       System.out.println(Encriptor.encriptaMD5(cadena) + "\n" + Encriptor.encriptaSHA1(cadena));*/
   }
   public static String encriptaMD5(String toEnc)
   {


       MessageDigest mdEnc = null;
       try {
           mdEnc = MessageDigest.getInstance("MD5"); // Encryption algorithm
       } catch (NoSuchAlgorithmException ex) {
           Logger.getLogger(Encriptor.class.getName()).log(Level.SEVERE, null, ex);
       }

           mdEnc.update(toEnc.getBytes(), 0, toEnc.length());

           String md5 = new BigInteger(1, mdEnc.digest()).toString(16);
           return md5;
   }
   public static String encriptaSHA1(String toEnc)
   {
      MessageDigest shEnc = null;
       try {
           shEnc = MessageDigest.getInstance("SHA1"); // Encryption algorithm
       } catch (NoSuchAlgorithmException ex) {
           Logger.getLogger(Encriptor.class.getName()).log(Level.SEVERE, null, ex);
       }

           shEnc.update(toEnc.getBytes(), 0, toEnc.length());

           String sha1 = new BigInteger(1, shEnc.digest()).toString(16);
           return sha1;
   }

}



Saludos
#859
Código (java) [Seleccionar]
import java.lang.String;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author root
*/
public class Encriptor {


    public static void main(String[] args)
    {
        String resultado = null;
        String match = "d9058beaae2e147183870304dd526761";
       

        String[] mapaChars = {"A","B","C"};

        int posibles = (int) Math.pow(3,mapaChars.length);
       
        String[] combinacion = new String[3];
        int indice1 = 0;
        int indice2 = 0;
        int indice3 = 0;
        for(int i = 0; i < posibles;i++)
        {
            if(indice1 == 3)
            {
               
               indice1 = 0;
               indice2++;
            }
            if(indice2 == 3)
                {
                    indice2 = 0;
                    indice3++;
                }
            if(indice3 == 3)
            {
                indice3 = 0;
            }
          combinacion[0] = mapaChars[indice1];
          combinacion[1] = mapaChars[indice2];
          combinacion[2] = mapaChars[indice3];
          String resultadoTransitorio = new String(combinacion[0] + combinacion[1] + combinacion[2]);
          String resultadoEncriptado = new String(Encriptor.encriptaMD5(resultadoTransitorio));
          if(resultadoEncriptado.equals(match))
          {
              resultado = resultadoTransitorio;
              break;
          }
         
          indice1++;
         
        }
        System.out.println("Hash crackeada con exito!\n" + resultado);
       
        /*String cadena = new String("acb");
        System.out.println(Encriptor.encriptaMD5(cadena) + "\n" + Encriptor.encriptaSHA1(cadena));*/
    }
    public static String encriptaMD5(String toEnc)
    {


        MessageDigest mdEnc = null;
        try {
            mdEnc = MessageDigest.getInstance("MD5"); // Encryption algorithm
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(Encriptor.class.getName()).log(Level.SEVERE, null, ex);
        }

            mdEnc.update(toEnc.getBytes(), 0, toEnc.length());

            String md5 = new BigInteger(1, mdEnc.digest()).toString(16);
            return md5;
    }
    public static String encriptaSHA1(String cadena)
    {
        byte[] defaultBytes = cadena.getBytes();

MessageDigest algorithm = null;
        try {
            algorithm = MessageDigest.getInstance("SHA1");
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(Encriptor.class.getName()).log(Level.SEVERE, null, ex);
        }
algorithm.reset();
algorithm.update(defaultBytes);
byte messageDigest[] = algorithm.digest();

StringBuffer hexString = new StringBuffer();
for (int i=0;i<messageDigest.length;i++) {
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
}
String foo = messageDigest.toString();

cadena = hexString+"";
        return cadena;
    }

}


Por fin!
He conseguido crear mi propio programa para romper hashes MD5, y SHA1 (aun por implementar), pero me hace ilusión compartirlo con todos vosotros.

Para simplificar el trabajo tan solo he usado 3 posibles caracteres A B y C, encriptad cualquier combinación de estas 3 en MD5 y dadle el valor de la cadena a la variable match y os la crackeará en menos de un segundo!

Cuando este listo al 100% lo haré publico.

Saludos
#860
Valla mi amada tarragona :S mas de una vez he visto estas cosas y no se si es por error o realmente ha recivido un ataque.

Saludos