Tuesday, 06 July 2004
Programa de Brute Force para descobrir password's do Hotmail ou Msn Messenger.
Microsoft .NET Framework 1.1 (Apenas testado aqui, mas funciona com a anterior)
Este programa é um de vários programas em fase de testes que venho desenvolvendo.
O software está dividido nas seguintes classes:
- CBrute - Classe de brute force que manipula strings, esta classe gera sequencialmente string a partir de uma anterior.
- Dictionary - Classe que lê um ficheiro de password's.
- MSNConnection - Classe que efectua uma ligação ao MSN Messenger.
- MSNTest - Form/Classe que efectua o controlo do software.
Form Base

No Username preechemos a conta que pretendemos saber a password, depois se pretendermos um ataque com dicionário, preenchemos a parte que diz dictionary, carregando no botão Select, caso pretendemos um brute force attack então deixamos a parte do dictionary vazia.
Como é do conhecimento geral qualquer conta do MSN Messenger tem que ter obrigatóriamente 6 caracteres ou mais.
Se analizarmos o código do form vamos encontrar lá uma parte:
(...)
CBrute cb = new CBrute(); string password = "aaaaaa"; while( true ) { password = cb.getNextString(password);
(...)
Como se pode ver em string password = "aaaaaa" estamos a dizer ao software que queremos que a primeira string seja "aaaaaa" e depois sequencialmente, pois a classe que gera as string's (CBrute) consegue gerá-las sequencialmente, sendo que nos dava como string seguinte "aaaaab" e assim sucessivamente.
Se olharmos para a classe CBrute vamos encontrar no inicio da classe o seguinte código:
(...)
public class CBrute { // Constants private const string Dictionary = "abcdefghijlmnopqrstuvxz";
(...)
Esta constante Dictionary, é onde devem ser colocados os caracteres que queremos usar no Brute Force, ou seja, se quisessemos todos os caracteres alfanuméricos e apenas minúsculos seria:
private const string Dictionary = "0123456789abcdefghijlmnopqrstuvxz";
Esta parametrização deve ser feita com cuidado pois quantos mais caracteres existir na variável CBrute mais tempo demora a rotina, mas também maior será a percentagem de sucesso de descobrir a password.
"Ter em atenção que um método de Brute Force pode levar mais que um mês a descobrir a password"
Dúvidas ou esclarecimentos podem ser colocadas para jcasimiro@jc-software.com
Download do Source Code |