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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking (Moderador: toxeek)
| | |-+  Password cracker
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Password cracker  (Leído 3,858 veces)
Luxus01

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Password cracker
« en: 18 Junio 2017, 15:44 pm »

Hola, tengo una duda.

He hecho un programa muy basico que usa dos archivos, una con palabras clave y otro con numeros clave para generar combinaciones palabra-numero, aleatorias, con las que se espera que una de ellas sea la contraseña.

Lo he probado con dos cuentas de las cuales ya sabia la contraseña y en los dos casos las ha adivinado.

El problema es que el programa genera como 300 contraseñas distintas, y probarlas todas manualmente no es muy eficiente.
Mi pregunta es si se puede hacer un programa que introduzca el usuario y vaya probando todas las contraseñas. Todo esto en paginas web como gmail, outlook, instagram, etc.

Os adjunto el codigo del programa y si veis algo por pequeño que sea, por favor decidlo.
Para que el codigo funcione hay que descargarse la libreria acm de internet, os dejo el enlace por aqui:http://www.filedropper.com/acm_2


Código:
package password_cracker;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;

import acm.program.ConsoleProgram;
//La libreria acm ha sido desarrollada por la universidad de standford
//Se puede encontrar mas informacion en "https://cs.stanford.edu/people/eroberts/jtf/javadoc/student/"

public class consola extends ConsoleProgram {

private static long permutaciones;

public void run() {

try {

println("Este progrograma calcula 300 combinaciones posibles entre un numero y una palabra claves"
+ " dados a traves de dos archivos de texto");
println();
println("Las posibles contraseñas se escribiran en un nuevo archivo de texto."
+ "El usuario debera introducirlas en la cuenta manualmente");

// Declaramos un objeto random
Random rand = new Random(System.currentTimeMillis());

// Declaramos archivos, lectores, escritores y buffers
File palabras = new File(
readLine("Introduce el directorio de las palabras:"));
File numeros = new File(
readLine("Introduce el directorio de los numeros:"));
File newfile = new File(
readLine("Introduce el nombre y el directorio del nuevo archivo:"));

if (!newfile.exists())
newfile.createNewFile();

FileReader filereader = new FileReader(palabras);
BufferedReader lector_palabras = new BufferedReader(filereader);

FileReader filereader2 = new FileReader(numeros);
BufferedReader lector_numeros = new BufferedReader(filereader2);

FileReader filereader3 = new FileReader(newfile);
BufferedReader lector = new BufferedReader(filereader3);

FileWriter filewriter = new FileWriter(newfile);
BufferedWriter escritor = new BufferedWriter(filewriter);

// Calculamos el numero de elementos en las listas

// Ademas marcamos el principio de los archivos para poder releerlos
// despues

lector_palabras.mark(500);
lector_numeros.mark(500);

int elements_number = contarLineas(lector_numeros);
int elements_word = contarLineas(lector_palabras);

int contador = 0;

String elementosWord[] = new String[elements_word];
String elementosNumber[] = new String[elements_number];

// Volvemos los lectores al principio del fichero

lector_palabras.reset();
lector_numeros.reset();

// Metemos los elementos de los archivos en los arrays
// correspondientes

String lectura = lector_palabras.readLine();
while (lectura != null & contador < elements_word) {
elementosWord[contador] = lectura;
lectura = lector_palabras.readLine();
contador++;
}

contador = 0;
lectura = lector_numeros.readLine();
while (lectura != null & contador < elements_number) {
elementosNumber[contador] = lectura;
lectura = lector_numeros.readLine();
contador++;
}

/*
* Usamos los elemntos de los array para generar contraseñas,cuando
* el programa detecte 300 contraseñas en el archivo, dejara de
* producir combinacionesy finalizara el programa.
*/
int passwordNumber = 0;
while (passwordNumber < 300) {
String contraseña = entrecruzar(rand, elementosWord,
elementosNumber);
comprobador(lector, contraseña, escritor);
passwordNumber = contarLineas(lector);

}
println("El programa a finalizado, puedes cerrarlo");
} catch (Exception e) {
System.out.println(e);
}

}

// cuentaLineas cuenta las lineas que hay en el archivo pasado
static public int contarLineas(BufferedReader lector) throws IOException {

int number = 0;
String lectura = lector.readLine();
while (lectura != null) {
number += 1;
System.out.println(lectura);
lectura = lector.readLine();
}
System.out.println("El numero de lineas es: " + (number - 1));
return number - 1;
}

/*
* Este metodo genera una contraseña a partir de una palabra aleatoria y un
* numero
*/
static public String entrecruzar(Random rand, String[] palabras,
String[] numeros) throws IOException {

String last = "";
last = palabras[rand.nextInt(palabras.length)]
+ numeros[rand.nextInt(numeros.length)];
return last;
}

/*
* Esta funcion se encarga de comprbar si la String acomp esta ya en la
* lista de contraseñas, y si no lo esta la añade
*/
static public void comprobador(BufferedReader lector, String acomp,
BufferedWriter escritor) throws IOException {

boolean comp = false;
String lectura = lector.readLine();
while (lectura != null) {
if (acomp == lectura)
comp = true;
lectura = lector.readLine();
if (acomp == lectura)
comp = true;
}
if (comp != true) {
escritor.write(acomp);
escritor.newLine();
}

}
}

Gracias de antemano ;D
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Password cracker
« Respuesta #1 en: 18 Junio 2017, 16:00 pm »

No es buena idea que un sistema que deba hacer loogin, permita dejar el usuario escrito.
Un buen sistema cuando falle la contraseña, debería borrar el usuario y la contraseña (o no borrar el usuario), pero al menos SIEMPRE indicar que "el usuario, la contraseña o ambos no son correctos.". Por que indicar que el 'usaurio no existe' o 'contraseña incorrecta' es dar pistas... Ya se sabe que quienes diseñas estas cosas muchas veces tampoco tienen un mínimo de consideración con la seguridad, o bien son forzados por aquello de: "...hazlo para usuarios torpones."  :laugh: :laugh: :laugh:

Entonces lo que pides, podrá o no ser posible, en base a cómo se haya diseñado el sistema de login.

Piénsalo un poco, es como si le dijéramos a los fabricantes de cerraduras: "Oye cuando rompa el muelle que sujeta cierta pieza de la cerradura, por favor, no solteis la alarma hasta que no corte el cable, de la alarma que hay un poco más allá del muelle"... y naturalmente más 61L1P0LL45 aún, si los fabricantes hacen caso.
En línea

Luxus01

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Password cracker
« Respuesta #2 en: 18 Junio 2017, 16:08 pm »

Claro pero si tu ya sabes cual es el usuario, como se haria para que el programa metiese las contraseñas. Quiero decir, hace falta alguna libreria especial o algo?
En línea

MONTU

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Password cracker
« Respuesta #3 en: 6 Julio 2017, 02:17 am »

Hola creo que lo que buscas se llama Sentry MBA es un programa exclusivamente para fuerza bruta de contraseñas aun que tambien desde kali linus hay scrips que usan ese tipo de requisitos. Espero que te haya ayudado salu2. 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado]come saco un password de msn cuando esta en remember password??
Mensajería
YANDEL 4 7,081 Último mensaje 24 Junio 2011, 11:42 am
por .:UND3R:.
Rar password cracker/hacker
Software
laike 6 5,303 Último mensaje 21 Septiembre 2012, 23:20 pm
por Jenag
WINRAR PASSWORD CRACKER
Criptografía
night.hawk 9 8,852 Último mensaje 2 Noviembre 2014, 00:59 am
por engel lex
WINRar Password Cracker V1.0
Software
0b1ivi0n 2 5,836 Último mensaje 30 Julio 2016, 23:57 pm
por Eleкtro
Cracker
Hacking
Marlon357 2 2,755 Último mensaje 25 Noviembre 2021, 20:55 pm
por Marlon357
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines