Algoritmo - força bruta

79 respostas
R

Salve povo,

Gostaria de uma orientação sobre a lógica de um algoritmo de força bruta… explico.
Meu desafio é descobrir o usuário e a senha de um servidor de ftp da faculdade…
Pensei inicialmente e fazer alguns laços com arrays de nros, letras e char especiais… mas na minha kbça a coisa parece cavalar…

Alguma dica?

79 Respostas

T

Você não precisa usar força bruta. Até porque se houver um número excessivo de tentativas a partir de um mesmo IP, provavelmente você será dropado.

Usuário:
anonymous
Senha:
[email removido]

V
  1. Comece pelos usuários óbvios, usuários padrões de sistema, etc;
  2. Use um dicionário. Existem maiores chances das senhas serem palavras escritas lá.
  3. Substitua simbolos comuns e reuse o dicionário (@ por a, i por 1, o por 0, e assim por diante).

Ainda assim, um ataque por força bruta é demorado. Mas é melhor conduzi-lo por critérios específicos (como o dicionário), do que tentar por permutação simples.
Se você achar as estatísticas de que palavras são usadas com mais frequencia, melhor ainda.

G

vc apenas precisa do algoritmo ou vc tb quer que alguém te ensine a fazer isso de descobrir senhas de um servidor FTP ?

L

Oi,

Porque você simplesmente não pergunta ao diretor da universidade? As vezes da certo.

Tchauzin!

P

lina:
Oi,

Porque você simplesmente não pergunta ao diretor da universidade? As vezes da certo.

Tchauzin!

Essa foi ótima!

R

Oi pessoal, obrigado pelas respostas!!!

A idéia do dicionário (ViniGodoy) achei interessante, e já dá un norte pra fazer o algoritmo…

Lina,
Não posso perguntar pro diretor, pois é o desafio é tentar descobrir :wink:

Giulliano,
Se houver um algoritmo pronto me poupará tempo, mas minha intenção é aprender msm :wink:

L

pvrsouza:
lina:
Oi,

Porque você simplesmente não pergunta ao diretor da universidade? As vezes da certo.

Tchauzin!

Essa foi ótima!

Oi,

Como diria meu amigo Kevin Mitnick: Nada como fazer uso da Engenharia Social.

:wink:

Tchauzin!

S

olha faz o seguinte.
podes usar uma txt com palavras do dicionario, e fazer o algoritmo ir buscar palavras do dicionario e ao mesmo tempo palavras aleatorias com um tamanho aleatorio , mas o tamanho da string deve ser inferior a 10 ou a 15( tanto para a password tanto para o nome do usuario), e não esqueça de usar letras e numeros e simbolos para formar as palavras, e deves formar as palavras de forma aleatoria e com tamanho aleatorio.

e por fim deves fazer 3 ou 2 tentativas de acesso e depois dar um delay de espera para tentar mais 3 ou 2 palavras .
se puderes deixas o programa a rodar num servidor que podes invadir, um servidor fraco e mal administrado.
ai o teu programa vai correr por dias e semanas e se tiveres sorte em menos de 1 mês teras sucesso.
e não esquece o programa deve ir buscar as palavras do ficheiro txt e deve criar aleatoriamente

S

mas o mais facil é perguntar ao director :slight_smile: , ou por um snifer na rede

P

lina:
pvrsouza:
lina:
Oi,

Porque você simplesmente não pergunta ao diretor da universidade? As vezes da certo.

Tchauzin!

Essa foi ótima!

Oi,

Como diria meu amigo Kevin Mitnick: Nada como fazer uso da Engenharia Social.

:wink:

Tchauzin!

Esse lança de Engenharia Social me pregou algumas peças! Por exemplo, já contruiram um muro bem grande para se separarem de mim!!! Rsrsrsrsrs.

Brincadeira!

“Tchauzin!” by lina

M

Se voce souber o nome de usuario já é um avanço.
Ter que fazer as n comparações de senhas com x usuarios vai x*n de tempo, e meu amigo isso pode durar uma vida.

S

Mark_Ameba:
Se voce souber o nome de usuario já é um avanço.
Ter que fazer as n comparações de senhas com x usuarios vai x*n de tempo, e meu amigo isso pode durar uma vida.

sei disso, concordo, isso pode durar a vida
mas entende…
eu dei uma explicada para ele, para ele fazer o programa, mas o meu objectivo não é que o programa encontre a password , é que se ele fizer o programa ele vai exercitar o cerebro.
eu ja fiz um programa assim a uns 2 anos atras, e pus num servidor que eu tinha invadido, e esperei por meses e nada.hihihi até que o admin do site deu conta do programa

V

Eu seria malvado…haahhaah… colca um keylogger na máquina de alguém que tenha acesso… lógico q vc não ia aprender nada com isso… A não ser que queira fazer o keylogger…hahaah

S

:slight_smile: :smiley:
esse topico é engraçado, mas eu acho que ha muita diferença entre ler um manual dum keylogger e de voce mesmo codificar o teu propio keylogger.

G

Usuário
26 possíveis letras (considerando que todas estão em minúsculo e que o servidor não diferencia isto)
6 Digamos que o nome do usuário que vc vai encontrar possui 6 das 25 possíveis letras (considerando que o nome do usuário é composto apenas por letras
26! 26 25 24 23 22 21 20! 165.765.600 Possíveis combinações
(26 - 6)! 20!

Senha
36 Considerando que a pessoa usa apenas letras e números na senha (nenhum caracter especial)
5 Digamos que as senhas são de apenas 5 algarismos
36! 36 35 34 33 32 31! 45.239.040 Possíveis combinações
(36 - 5)! 31!
Agora eu te pergunto qual a probabilidade de um usuário aleatório possuir uma senha aleatório dentro dessas combinações ?

S

Giulliano:
Usuário
26 possíveis letras (considerando que todas estão em minúsculo e que o servidor não diferencia isto)
6 Digamos que o nome do usuário que vc vai encontrar possui 6 das 25 possíveis letras (considerando que o nome do usuário é composto apenas por letras
26! 26 25 24 23 22 21 20! 165.765.600 Possíveis combinações
(26 - 6)! 20!

Senha
36 Considerando que a pessoa usa apenas letras e números na senha (nenhum caracter especial)
5 Digamos que as senhas são de apenas 5 algarismos
36! 36 35 34 33 32 31! 45.239.040 Possíveis combinações
(36 - 5)! 31!
Agora eu te pergunto qual a probabilidade de um usuário aleatório possuir uma senha aleatório dentro dessas combinações ?

mano, não me entenda mal, mas acho que ainda não entendeste o foco da coisa.
na minha forma de analisar o foco da coisa é exercitar e fazer o programa, e não é achar a password

M

Se fosse pra perguntar pro diretor, que desafio seria esse! as vezes tem cada uma heim!

S

perguntar pro director foi uma brincadeira ( porque todos sabem que o director não vai responder) :slight_smile: :shock: :? :idea:

G

Eu entendi o foco “Algoritmo - força bruta”

apenas estou fornecendo dados matemáticos para o que ele vai fazer. Ou vc acha que não tem matemática envolvida é só um bando de if e while ?!?!

:confused:

S

Giulliano:
Eu entendi o foco “Algoritmo - força bruta”

apenas estou fornecendo dados matemáticos para o que ele vai fazer. Ou vc acha que não tem matemática envolvida é só um bando de if e while ?!?!

:/


é claro mano tens toda a razão, eu sei que tem matematica nisso, o problema é que eu sou mal a probabilidade :frowning: :frowning: .

G

sulito:
Giulliano:
Eu entendi o foco “Algoritmo - força bruta”

apenas estou fornecendo dados matemáticos para o que ele vai fazer. Ou vc acha que não tem matemática envolvida é só um bando de if e while ?!?!

:/


é claro mano tens toda a razão, eu sei que tem matematica nisso, o problema é que eu sou mal a probabilidade :frowning: :frowning: .

Programar é possuir

20% de conhecimento na linguagem
10% de interpretação de texto
20% de criatividade
50% de matemática

Se vc é fraco então foque mais em matemática Sulito, não vai te fazer mal algum.

K

Giulliano:
sulito:
Giulliano:
Eu entendi o foco “Algoritmo - força bruta”

apenas estou fornecendo dados matemáticos para o que ele vai fazer. Ou vc acha que não tem matemática envolvida é só um bando de if e while ?!?!

:/


é claro mano tens toda a razão, eu sei que tem matematica nisso, o problema é que eu sou mal a probabilidade :frowning: :frowning: .

Programar é possuir

20% de conhecimento na linguagem
10% de interpretação de texto
20% de criatividade
50% de matemática

Se vc é fraco então foque mais em matemática Sulito, não vai te fazer mal algum.

Hey, eu peguei dp de calculo II e estatística, mas meu amigo que fez o curso prandiano e passou nessas matérias literalmente CAGA DE MEDO de programação/códigos.

Acho que essa proporção aí tá meio furada…

Inté.

S

Giulliano:
sulito:
Giulliano:
Eu entendi o foco “Algoritmo - força bruta”

apenas estou fornecendo dados matemáticos para o que ele vai fazer. Ou vc acha que não tem matemática envolvida é só um bando de if e while ?!?!

:/


é claro mano tens toda a razão, eu sei que tem matematica nisso, o problema é que eu sou mal a probabilidade :frowning: :frowning: .

Programar é possuir

20% de conhecimento na linguagem
10% de interpretação de texto
20% de criatividade
50% de matemática

Se vc é fraco então foque mais em matemática Sulito, não vai te fazer mal algum.


tens razão devo gostar mais de matematica. o problema é que eu sempre fui muito pratico gosto de cadeiras que me ajudam na vida profissional

G

A sua assinatura fala por sí “Só estou certo de que não possuo outras certezas”

K

Giulliano:
KWill:

Hey, eu peguei dp de calculo II e estatística, mas meu amigo que fez o curso prandiano e passou nessas matérias literalmente CAGA DE MEDO de programação/códigos.
Acho que essa proporção aí tá meio furada…

A sua assinatura fala por sí “Só estou certo de que não possuo outras certezas”


Tudo bem, mas no momento, para mim, 50% de matemática tá parecendo meio forçado para a nossa época, a menos que você esteja num lado mais científico da nossa área.
Uma reformulaçãozinha/revisãozinha nessa proporção não iria bem não?

Inté.

M

Com certeza concordo com vc Giulliano Matemática é a base de tudo isso, sem ela fazer algoritmo fica dificil heim.

Att.

M

Discordo. Pra mim seria algo como:

15% conhecimento da linguagem
10% interpretação de texto
40% criatividade
15% matemática
20% lógica

Para um excelente programador seria isso. Criatividade acima de tudo.

E

Se você souber o nome do meu cachorro (6Un9XPWt) e o nome do meu peixe (vTgKtfLj) talvez consiga saber minha senha :slight_smile:

S

Mark_Ameba:
Giulliano:

20% de conhecimento na linguagem
10% de interpretação de texto
20% de criatividade
50% de matemática

Discordo. Pra mim seria algo como:

15% conhecimento da linguagem
10% interpretação de texto
40% criatividade
15% matemática
20% lógica

Para um excelente programador seria isso. Criatividade acima de tudo.


concordo plenamente, a criatividade e a logica são essenciais.
e a determinação de nunca desistir tambem conta muito

E

kkkk

G

Criatividade é fundamental…por isso ela aparece na lista. (apenas em proporções diferentes)

M

Pode ser o cara mais criativo do mundo, mas sem Matemática toda sua criatividade será em vão!

Att.

M

Claro que não. Tem ‘for’ também. :slight_smile:

As sugestões já foram dadas. Use um dicionário antes de partir para força bruta.

E os dados matemáticos também já foram dados: e pouco provável conseguir descobrir a senha de um usuário conhecido sem gastar absurdos de tempo; e é muitíssimo improvável descobrir o usuário e a senha para acessar um sistema. Mas como a proposta do exercício é justamente essa, mãos na massa.

Eu sugeriria, que após usar dicionário você fizesse:

  1. Determine o mínimo de caracteres da senha
  2. Determine o máximo de caracteres da senha
  3. Encha seu código de laços de repetição que considere as combinações das 26 letras com os 10 dígitos com os N caracteres especiais e com o espaço (afinal, senhas podem ter espaços)
  4. Prefira um ataque multithreaded.
  5. Espere muito tempo e torça para que a senha realmente tenha uma quantidade de caracteres que esteja entre o mínimo e o máximo escolhido.
T

Bom, boa sorte na sua investida!
Mas passei uma temporada na Alegri, um empresa de médio porte, só pra aprender mesmo, com meus 14 anos de idade!
Os caras usavam nomes de usuário pequenos, tipo root, admin, etc… mas as senhas eram ph0d@!
senhas alfanuméricas com maiúsculas e minúsculas, caracteres especiais, 32 caracteres, trocadas semanalmente!
Se vc tiver essa sorte…

Sua faculdade é pública ou particular?
Se for pública, por experiência, geralmente estagiários têm acesso a mta coisa… sonde-os, agrade-os, aproxime-se e qdo estiverem amigos, peça um favorzinho, e vai se aproximando!
Em facul particular n sei como funfa…

R

Até que foi fácil achar a wordlist do português(http://localdomain.wordpress.com/2007/05/18/wordlist-em-portugues/), ai só formatei e joguei num txt (vide anexo).
a próxima etapa é planejar o algortimo levando em conta o que o pessoal sugeriu :wink:

L

ricardospinoza:
Até que foi fácil achar a wordlist do português(http://localdomain.wordpress.com/2007/05/18/wordlist-em-portugues/), ai só formatei e joguei num txt (vide anexo).
a próxima etapa é planejar o algortimo levando em conta o que o pessoal sugeriu :wink:

Oi,

Essa wordlist não vai resolver em nada. Provavelmente a senha de um servidor universitário tem caracteres especiais e números…
Algo do tipo: Un1su@Pr4frentef0rever_2010

rs

Hoje em dia, para descobrir senhas não se usa mais força bruta. Como o Thingol disse, você é bloqueado logo em seguida se errar uma certa quantidade…

Tchauzin!

V

Contrate alguns capangas brucutus para coagirem o administrador da senha, e espanca-lo até que ele fale.

Não foi um algoritmo, mas foi força bruta!

L

ViniGodoy:
Contrate alguns capangas brucutus para coagirem o administrador da senha, e espanca-lo até que ele fale.

Não foi um algoritmo, mas foi força bruta!

Oi,

auihaeuihaeuiaheaui desculpe!!! não consegui evitar!

Agora falando serio… já tentou dar um open no ftp e entrar como anonimo? só dando ENTER no usuário?

Tchauzin!

L

Oi,

Uma pergunta… Isso não é perigoso?
Por exemplo, o técnico responsável por analisar o servidor verifica conexões via ftp.

Ele varre para encontrar o IP do possível “hacker” e da um tracerouter para verificar de onde é esse pc.

Isso é possível? se for, pode dar cadeia…

Tchauzin!

E

É claro que é “perigoso”.
E é por isso que se ele quiser fazer isso, é melhor pegar um daqueles kits para “script kiddies” e ver se consegue rodar algum deles.
O próprio fato de tentar, por força bruta, entrar em um servidor FTP só tentando acertar a senha, indica que não conhece nem o básico para invasão.
Normalmente, quando se quer entrar em uma casa em que há uma porta blindada com uma fechadura invulnerável, você tenta entrar de outra maneira - por exemplo, esperando um morador entrar e forçá-lo a entrar junto.
É a mesma coisa; não se tenta esse tipo de coisas com “força bruta” usando as interfaces-padrão (no caso, acesso via usuário e senha). Se precisar, por exemplo, achar a senha de um usuário Windows em uma rede através de força bruta, não se acessa diretamente o servidor (que irá travar a senha do tal usuário depois de algumas tentativas), mas sim de outras formas, que são vulnerabilidades no protocolo.

G

lina:
Oi,

Uma pergunta… Isso não é perigoso?
Por exemplo, o técnico responsável por analisar o servidor verifica conexões via ftp.

Ele varre para encontrar o IP do possível “hacker” e da um tracerouter para verificar de onde é esse pc.

Isso é possível? se for, pode dar cadeia…

Tchauzin!

Outro exemplo, seria possível alguém se candidatar a presidente de um país, roubar dinheiro na cara dura e ainda assim diante de uma nação inteira não acontecer nada ?

Isso é possível? se for, pode dar cadeia…

Se “eles” não são presos quem dirá nosso pobre amigo.

M

ViniGodoy:
Contrate alguns capangas brucutus para coagirem o administrador da senha, e espanca-lo até que ele fale.

Não foi um algoritmo, mas foi força bruta!

hUAhUHuhuahau… ótimo exemplo de um algoritmo de força bruta

Capangas caps = voce.contrataCapanga(10);
Capanga lider = caps.getLider();
caps.procura(professor);
String senha = "";
while(senha.isEmpty() || professor.morto){
caps.espanca(professor);//Repare que mesmo que ele estivesse intimidado ele ia levar uma porrada antes de perguntarem pela primeira vez
senha = lider.pedeSenha(professor);//Tem os que bate e o que pergunta
}
if(professor.morto) voce.sumir();

Ta ai… um algoritmo de força bruta sem dicionario.

E

hiuwhuaiw mark esta foi boa viu
kkhwiuhwai

R

lina:
Oi,

Uma pergunta… Isso não é perigoso?
Por exemplo, o técnico responsável por analisar o servidor verifica conexões via ftp.

Ele varre para encontrar o IP do possível “hacker” e da um tracerouter para verificar de onde é esse pc.

Isso é possível? se for, pode dar cadeia…

Tchauzin!

Isto foi a primeira tentativa que fiz rsrs

R

Mark_Ameba:
ViniGodoy:
Contrate alguns capangas brucutus para coagirem o administrador da senha, e espanca-lo até que ele fale.

Não foi um algoritmo, mas foi força bruta!

hUAhUHuhuahau… ótimo exemplo de um algoritmo de força bruta

Capangas caps = voce.contrataCapanga(10);
Capanga lider = caps.getLider();
caps.procura(professor);
String senha = "";
while(senha.isEmpty() || professor.morto){
caps.espanca(professor);//Repare que mesmo que ele estivesse intimidado ele ia levar uma porrada antes de perguntarem pela primeira vez
senha = lider.pedeSenha(professor);//Tem os que bate e o que pergunta
}
if(professor.morto) voce.sumir();

Ta ai… um algoritmo de força bruta sem dicionario.

hahahahaha essa foi boa.

K

Mark_Ameba:
ViniGodoy:
Contrate alguns capangas brucutus para coagirem o administrador da senha, e espanca-lo até que ele fale.

Não foi um algoritmo, mas foi força bruta!

hUAhUHuhuahau… ótimo exemplo de um algoritmo de força bruta

Capangas caps = voce.contrataCapanga(10);
Capanga lider = caps.getLider();
caps.procura(professor);
String senha = "";
while(senha.isEmpty() || professor.morto){
caps.espanca(professor);//Repare que mesmo que ele estivesse intimidado ele ia levar uma porrada antes de perguntarem pela primeira vez
senha = lider.pedeSenha(professor);//Tem os que bate e o que pergunta
}
if(professor.morto) voce.sumir();

Ta ai… um algoritmo de força bruta sem dicionario.

Deve estar meio bugado esse treco aí.

Troque o trecho do while por:

while(senha.isEmpty() && !professor.morto)

Inté.

V

KWill:
Deve estar meio bugado esse treco aí.

Troque o trecho do while por:

É que questo algoritmo do Mark non deixa testemunhas, capisci?

M

Esse algoritmo traduziu bem a força bruta, se não descobrir a senha com isso, então só dando uns tecos nesse cara!

Att.

K

ViniGodoy:
KWill:
Deve estar meio bugado esse treco aí.

Troque o trecho do while por:

É que questo algoritmo do Mark non deixa testemunhas, capisci?


Mas os capangas não seriam mais testemunhas? Acho que daria para extorquir a senha usando-se um rifle com mira telescópica e silenciador, ligando para o celular do professor, numa investida um pouco parecida com a do filme “por um fio”, só que matando o professor no final para não ter testemunhas.

Inté.

M

ViniGodoy:
KWill:
Deve estar meio bugado esse treco aí.

Troque o trecho do while por:

É que questo algoritmo do Mark non deixa testemunhas, capisci?

Exato. Sem testemunhas, sem culpa.

L

Oi,

Muito nerd vcs :stuck_out_tongue:

Tchauzin!

G

Soluções desse tipo requerem Patterns famosos

M.A.R.R.E.T.A.
Método Alternativo de Ratificação e Resolução Emergencial de Tarefas Abortadas. Conhecido pelos americanos como “workaround”, nem os POGramadores mais respeitados admitem usá-lo com regularidade, pois se trata de uma solução hardware para um problema de software, usada principalmente quando o POGramador defronta-se com a Tela Azul da Morte. Ela conta com o princípio de que muitos computadores são habitados por espíritos malignos (ou folgados mesmo: ver Fé em Deus neste artigo). Trata-se de certificar-se que ninguém está olhando (nem o peixinho do aquário), correr até a manutenção (ou cozinha), pegar o instrumento mais destrutivo que aparecer, voltar para o PC e ameaçá-lo da forma mais intimidadora possível (se tiver uma fantasia de Conan, o Bárbaro, use-a, é extremamente eficaz). Inclua na ameaça uma contagem regressiva longa o bastante para o computador entender a ameaça e curta o bastante para deixá-lo em pânico, como 3,1415 segundos. Eficaz em 99,9999% dos casos. No restante, a falha ocorre geralmente porque o POGramador apressado trocou o martelo por um batedor de ovos, tendo sucesso apenas em pagar um bruta mico.

http://desciclo.pedia.ws/wiki/Gambi_Design_Patterns#M.A.R.R.E.T.A.

E

hwiuhwaiuhwu da marreta foi ótima :lol:

Moderador , move este topico la pra off-topic =´)
pq o assunto aqui ja mudou muito sendo que nem era Java .

L

edmarr:
hwiuhwaiuhwu da marreta foi ótima :lol:

Moderador , move este topico la pra off-topic =´)
pq o assunto aqui ja mudou muito sendo que nem era Java .

Oi,

Feito.

Tchauzin!

E

Mark_Ameba:
ViniGodoy:
Contrate alguns capangas brucutus para coagirem o administrador da senha, e espanca-lo até que ele fale.

Não foi um algoritmo, mas foi força bruta!

hUAhUHuhuahau… ótimo exemplo de um algoritmo de força bruta

Capangas caps = voce.contrataCapanga(10);
Capanga lider = caps.getLider();
caps.procura(professor);
String senha = "";
while(senha.isEmpty() || professor.morto){
caps.espanca(professor);//Repare que mesmo que ele estivesse intimidado ele ia levar uma porrada antes de perguntarem pela primeira vez
senha = lider.pedeSenha(professor);//Tem os que bate e o que pergunta
}
if(professor.morto) voce.sumir();

Ta ai… um algoritmo de força bruta sem dicionario.

kkkkkkkkkkkkkkk vvei para, to rindo sozinho ja tem meia hora aqui ahusuhsauhsahu

E

Não comentei que todo dia troco o nome do meu cachorro e do meu peixe.

Hoje o nome do cachorro é hMJl/YXKFX9o e do meu peixe, rOI0kCGYDjPP2hwX .

Qual é minha senha?

A

entanglement:
Não comentei que todo dia troco o nome do meu cachorro e do meu peixe.

Hoje o nome do cachorro é hMJl/YXKFX9o e do meu peixe, rOI0kCGYDjPP2hwX .

Qual é minha senha?

maluco?

D

Nada como engenharia social…

Faça um programa java que mande emails como o administrador da rede para alguem que possua a senha( de preferencia pessoas que não sejam da área de TI), diga que vc resetou todas as senhas para 1234 mas precisa que ele o informe o nome do usuário e a senha antiga ( no caso, a senha verdadeira), e voilá!

No pior dos casos, peça só o usuário e diga que vai mandar um documento para poder ter acesso ao ftp, ter o nome do usuário já ajuda bastante.

Se puder ligar diretamente de um ramal para outro, melhor ainda.

J

lina:
pvrsouza:
lina:
Oi,

Porque você simplesmente não pergunta ao diretor da universidade? As vezes da certo.

Tchauzin!

Essa foi ótima!

Oi,

Como diria meu amigo Kevin Mitnick: Nada como fazer uso da Engenharia Social.

:wink:

Tchauzin!

O mitnick realmente é mestre nisso. Praticamente todos os ataques dele são engenharia social. Principalmente o do telefone, em que ele se passou por um funcionário da empresa x.

Mas como o autor disse, é o desafio, e ele aprende com isso também(espero que coisas boas… hehehe).

F

Sei não mas vou ficar com a primeira opção da Lina, engenharia social, talvez o desafio seja provar que não é preciso devenvolver um algoritmo monstruoso para se ter uma quebra na segurança, como ja é bem provado.

A

faz um dns poisoning na rede da faculdade, faça um ftpd falso em java na sua maquina e espera alguem acessar o ftp falso…
depois da primeira tentativa de senha… tenta redirecionar pro dns verdadeiro como se a senha tivesse sido errada e depois volte tudo ao normal

R

dohko:
faz um dns poisoning na rede da faculdade, faça um ftpd falso em java na sua maquina e espera alguem acessar o ftp falso…
depois da primeira tentativa de senha… tenta redirecionar pro dns verdadeiro como se a senha tivesse sido errada e depois volte tudo ao normal

Interessante, está idéia… não sabia que tem como dar o migué no dns :wink:

F

ricardospinoza:
Salve povo,

Gostaria de uma orientação sobre a lógica de um algoritmo de força bruta… explico.
Meu desafio é descobrir o usuário e a senha de um servidor de ftp da faculdade…
Pensei inicialmente e fazer alguns laços com arrays de nros, letras e char especiais… mas na minha kbça a coisa parece cavalar…

Alguma dica?

Já ouviu falar de sniffer? Rode um na sua faculdade e veja a tonelada de senhas… rs…

O pior são os Zezinhos que rodam WEP… dá até pena…

J

Felipe Kan:
ricardospinoza:
Salve povo,

Gostaria de uma orientação sobre a lógica de um algoritmo de força bruta… explico.
Meu desafio é descobrir o usuário e a senha de um servidor de ftp da faculdade…
Pensei inicialmente e fazer alguns laços com arrays de nros, letras e char especiais… mas na minha kbça a coisa parece cavalar…

Alguma dica?

Já ouviu falar de sniffer? Rode um na sua faculdade e veja a tonelada de senhas… rs…

O pior são os Zezinhos que rodam WEP… dá até pena…

O sniff funciona se os dados não estão encriptografados. O wireshark(ethereal) funciona perfeitamente nessas circunstâncias.
Agora, o lance da força bruta é legal para se aprender um algoritmo interessante. Pode-se usar algoritmos genéticos para otimizar o força bruta, usando como base uma característica de um usuário.


http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/tcw2/report.html

T

Se isso é um desafio, imagine o tamanho da senha que foi criada…

tipo: FDS1$dBx*3&@dsr

haja processador.

P

Pow djow…
Faz um keylogger e joga na rede… + facil

F

truck1n:
Se isso é um desafio, imagine o tamanho da senha que foi criada…

tipo: FDS1$dBx*3&@dsr

haja processador.

O gargalo não vai estar no processador… o gargalo vai estar nas requisições do servidor… e na largura de banda…

Algoritmo de Brute Force hoje em dia não adianta nada… senhas dos Word e Excel são quebradas por furos no algoritmo… e não por Brute Force… Me lembro que já quebraram até a geração de números primos do RSA… mas foi por falhas na randomização e não por Brute Force…

Alguns meses atrás demonstraram como capturar dados da urna eletrônica… e advinhem… usaram eletromagnetismo para descobrir… ou seja… de acordo com tal tecla pressionada, era gerado um campo magnético diferente… aí já viu a tamanho da encrenca né…

F

O mais interessante é descobrir furos em buffers… e daí deslocar o endereço de função para uma função codificada em um binário de imagem ou mp3…

Hmmm vantagem grande do Java… aplicações em Java nunca vão estar com essas vulnerabilidades… mas em compensação é só interpretar e gerar um bytecode que tem o efeito parecido… rs…

E

sulito:
Mark_Ameba:
Se voce souber o nome de usuario já é um avanço.
Ter que fazer as n comparações de senhas com x usuarios vai x*n de tempo, e meu amigo isso pode durar uma vida.

sei disso, concordo, isso pode durar a vida
mas entende…
eu dei uma explicada para ele, para ele fazer o programa, mas o meu objectivo não é que o programa encontre a password , é que se ele fizer o programa ele vai exercitar o cerebro.
eu ja fiz um programa assim a uns 2 anos atras, e pus num servidor que eu tinha invadido, e esperei por meses e nada.hihihi até que o admin do site deu conta do programa

Fiquei curioso , gostaria de expermentar . Podes me dar algumas dicas ? Por onde comecar ? Que tecnologias usar ou saber (Servlets , Swing , TCP , etc)

Desde ja agradeco

T

Felipe Kan:
truck1n:
Se isso é um desafio, imagine o tamanho da senha que foi criada…

tipo: FDS1$dBx*3&@dsr

haja processador.

O gargalo não vai estar no processador… o gargalo vai estar nas requisições do servidor… e na largura de banda…

Algoritmo de Brute Force hoje em dia não adianta nada… senhas dos Word e Excel são quebradas por furos no algoritmo… e não por Brute Force… Me lembro que já quebraram até a geração de números primos do RSA… mas foi por falhas na randomização e não por Brute Force…

Alguns meses atrás demonstraram como capturar dados da urna eletrônica… e advinhem… usaram eletromagnetismo para descobrir… ou seja… de acordo com tal tecla precionada, era gerado um campo magnético diferente… aí já viu a tamanho da encrenca né…

O jeito mais fácil é engenharia social.

S

Ehb:
sulito:
Mark_Ameba:
Se voce souber o nome de usuario já é um avanço.
Ter que fazer as n comparações de senhas com x usuarios vai x*n de tempo, e meu amigo isso pode durar uma vida.

sei disso, concordo, isso pode durar a vida
mas entende…
eu dei uma explicada para ele, para ele fazer o programa, mas o meu objectivo não é que o programa encontre a password , é que se ele fizer o programa ele vai exercitar o cerebro.
eu ja fiz um programa assim a uns 2 anos atras, e pus num servidor que eu tinha invadido, e esperei por meses e nada.hihihi até que o admin do site deu conta do programa

Fiquei curioso , gostaria de expermentar . Podes me dar algumas dicas ? Por onde comecar ? Que tecnologias usar ou saber (Servlets , Swing , TCP , etc)

Desde ja agradeco


Na verdade eu fiz isso a muito tempo uns 2 anos atras com php, e deixei o codigo php a rodar no servidor remoto, no php tem funções para conectar via ssh, telnet, ftp e etc
ai apenas fiz o codigo para ir trocando de user name e de password

P

Engenharia social ou keylogger =D

F

Engenharia social não pega massas… e Keylogger depende de acesso root…

Esses caras que invadem fazem por estouros de pilha e invasão de buffers… quem entende um pouco de C/C++ sabe que fazer isso é super simples… em C/C++ a aplicação vive dando core dump e invadindo memória… em Java isso nunca vai acontecer… o máximo seria um Null pointer Exception…

J

Felipe Kan:
Engenharia social não pega massas… e Keylogger depende de acesso root…

Esses caras que invadem fazem por estouros de pilha e invasão de buffers… quem entende um pouco de C/C++ sabe que fazer isso é super simples… em C/C++ a aplicação vive dando core dump e invadindo memória… em Java isso nunca vai acontecer… o máximo seria um Null pointer Exception…

Sim, isso por causa da caixa de areia, como dizem. A memória é gerenciada pela máquina virtual, e um programa java não pode ultrapassar os limites de seu proprio escopo em memória, agora com c++ é bem diferente. Dá para varrer a ram do início ao fim.

unsigned int* mPtr = 100800; // pode estar apontando para qualquer área na ram

No win 98 era possível recuperar o timer do sistema apenas setando o endereço certo, como no exemplo acima

F

Um sistema operacional bem feito deve proteger acessos de memória de aplicações distintas, se você criar uma senha na memória por um programa e tentar ler essa memória por outro, não vai conseguir varrer… por isso que o sonho de qualquer Hacker é fazer alguém com acesso root a executar uma aplicativo vulnerável…

De nada adiantaria descobrir uma falha de buffer se o usuário não tiver o acesso root… mas já ví muitos programas vulneráveis rodando como prioridade de root…

Geralmente quando um usuário root está logado, e algum aplicativo tem brecha, a primeira coisa que um Hacker faz é injetar um shellcode… e assim vai fazer o sistema ficar quebrado até alguém formatar e consertar a falha crítica…

L

Brincando aqui pra criar um algoritmo de força bruta, acabei fazendo isso aqui:

chars = 'abcdefghijklmnopqrstuvwxyz'

limit = 5
total = 0
word = 'barba'
stop = False

def combine (symbol, actual):
    global stop

    if stop:
        return   

    if symbol == word:
        print 'Found word: ' + word
        stop = True
        return

    if actual == limit:
        return
    
    print symbol

    global total
    total = total + 1
        
    for c in chars:
        combine(symbol + c, actual + 1)

for c in chars:
    combine(c,0)
    
print '%d words generated' % total

Repare que o teste é simples demais e é fácil de transformar em Java. Entretanto, isso demora muito tempo. Agora imagina eu, que coloquei só letras e minúsculas. Se tu colocasse todas as maisculas + letras + simbolos, cara, iria demorar muito, mas muito tempo pra achar. No final das contas, engenharia social pode funcionar, mas algo que ainda seria mais legal é hooking ou dll injection, porque é possível pegar os dados antes mesmo de serem criptografados, o que seria mais eficiente do que um sniffer.

F

Eu só não entendi o motivo desse tópico não ter sido moderado. O cara quer invadir o servidor da Universidade e vocês ainda incentivam? Daqui há pouco vão perguntar como invadir o servidor do GUJ.

M

Não foi moderado por que sabre invadir um servidor é algo, realmente faze-lo é problema dele.

E é algo teoricamente facil mas tecnicamente dificil.

E

sulito:

Na verdade eu fiz isso a muito tempo uns 2 anos atras com php, e deixei o codigo php a rodar no servidor remoto, no php tem funções para conectar via ssh, telnet, ftp e etc
ai apenas fiz o codigo para ir trocando de user name e de password

Entendi , ja tenho uma ideia de como fazer.

Muito obrigado

Criado 16 de março de 2010
Ultima resposta 23 de mar. de 2010
Respostas 79
Participantes 27