[Ruby] Reventer MD5 2.0 by strup
Publicado: 20 Ene 2013, 15:34
Saludos foro, coji ayer y decidir corregir algunos fallos de la anterior version, y optimizar el code mediante un bucle y un array bidimensional,
ahora las paginas que no logren desencryptar una pass saldra el nombre de la pagina con => como que no se pudo (A si queda mejor xD), en la anterior esto no era posible por que no use else en las expresiones regulares, a si que aqui va esta belleza de code
una muestra del resultado final
espero os guste, un saludo
ahora las paginas que no logren desencryptar una pass saldra el nombre de la pagina con => como que no se pudo (A si queda mejor xD), en la anterior esto no era posible por que no use else en las expresiones regulares, a si que aqui va esta belleza de code
Código: Seleccionar todo
#encoding: utf-8
=begin
.- Reventer MD5 2.0
.-Autor: strup
.-Lenguaje: Ruby
.-Proposito: Crackear contraseñas Encriptadas en MD5
.-14:41 20/01/2013
=end
require 'mechanize'
class Reventer_MD5
def reventar()
for i in(0..16)
form=@indi[0][i].forms.first
form.field_with(:name => @indi[1][i]).value = @has
var=form.click_button.body
if var =~ @indi[2][i]
puts @indi[3][i]+$1.gsub(/Entry not found.|Sorry,|Sorry, we don't have that hash in our database.|we don't have that hash in our database./){$1}
else
puts @indi[3][i]
end
end
rescue Mechanize::ResponseCodeError
puts "Error o mantenimiento en uno de los servidores"
end
end
class Crack_MD5 < Reventer_MD5
def initialize()
puts ">>>Reventer MD5 2.0 by strup<<<".center(80," ")
@mec = Mechanize.new
puts "\aIntroduce EL Hash MD5 a Crackear\n\n"
@has = gets.chomp
@indi=[
[@mec.get('http://md5decryption.com/'),@mec.get('http://md5.thekaine.de/'),@mec.get('http://underc0de.net/md5cracker/'),@mec.get('http://www.md5.net/cracker.php/'),@mec.get('http://md5.noisette.ch/'),@mec.get('http://www.md5online.org/'),@mec.get('http://md5.my-addr.com/md5_decrypt-md5_cracker_online/md5_decoder_tool.php'),@mec.get('http://md5hood.com/'),@mec.get('http://isc.sans.edu/tools/reversehash.html'),@mec.get('http://www.onlinehashcrack.com/'),@mec.get('http://www.stringfunction.com/md5-decrypter.html'),@mec.get('http://md5online.net/'),@mec.get('http://md5.myinfosec.net/'),@mec.get('http://netmd5crack.com/cracker/'),@mec.get('http://md5.rednoize.com/'),@mec.get('http://www.md5-lookup.com/'),@mec.get('http://askcheck.com/')],
[/hash/,/hash/,/hash/,/hash/,/hash/,/md5/,/md5/,/md5/,/text/,/hashToSearch/,/string/,/pass/,/md5hash/,/InputHash/,/q/,/q/,/reverse/],
[/Text: <\/b>(.*?)<\/font>/m,/<h2><b>Found it:<\/b> "(.*?)"<\/h2>/m,/www.bigtrapeze.com: <b>(.*?)<\/b>/m,/32" value="(.*?)"\/>/m,/"text" value="(.*?)"\/>/m,/Found : <b>(.*?)<\/b>/m,/Hashed string<\/span>: (.*?)<\/div>/m,/"result_true">(.*?)<\/div>/m,/ = (.*?) /m,/Plain text : <b style="letter-spacing:1.2px">(.*?)<\/b>/m,/textarea_md5_decrypter">(.*?)<\/textarea>/m,/pass : <b>(.*?)<\/b>/m,/color=green>(.*?)<\/font>/m,/[a-f0-9]<\/td><td class="border">(.*?)<\/td><\/tr><\/table>/m,/<div id="result" >(.*?)<\/div>/m,/<td width="250">(.*?)<\/td>/m,/<a href="\/hash\/(.*?)" title=/m],
["\n\amd5decryption.com => ","\amd5.thekaine.de => ","\awww.bigtrapeze.com => ","\awww.md5.net => ","\amd5.noisette.ch => ","\awww.md5online.org => ","\amd5.my-addr.com => ","\amd5hood.com => ","\aisc.sans.edu => ","\awww.onlinehashcrack.com => ","\awww.stringfunction.com => ","\amd5online.net => ","\amd5.myinfosec.net => ","\anetmd5crack.com => ","\amd5.rednoize.com => ","\awww.md5-lookup.com => ","\aaskcheck.com => "],
[@mec.get('http://c0llision.net/webcrack'),@mec.get('http://md5pass.info/')]
]
end
def crackear()
form=@indi[4][0].forms.first
form.field_with(:id => /hash__input_/).value = @has
var=form.click_button.body
if var =~ /<td class="plaintext">(.*?)<\/td>/m
puts "\ac0llision.net => "+$1
else
puts "\ac0llision.net => "
end
def romper()
@indi[4][1].form_with(:action => '') do |form|
form.field_with(:name => /hash/).value = @has
var=form.click_button.body
if var =~ /Password - <b>(.*?)<\/b>/m
puts "\amd5pass.info => "+$1
else
puts "\amd5pass.info => "
end
end
def crunch()
[email protected]("http://md5.hashcracking.com/search.php?md5=#{@has}").body.inspect
if var =~ /[a-f0-9] is (.*?)"/
puts "\amd5.hashcracking.com => "+$1
else
puts "\amd5.hashcracking.com => "
end
end
end
end
def crack()
puts "\amd5.gromweb.com => "[email protected]("http://md5.gromweb.com/query/#{@has}").body
rescue
puts "\amd5.gromweb.com => "
end
def zash()
if @mec.get("http://md5-db.de/#{@has}.html").body =~ /<\/strong><ul><li>(.*?)<\/li>/m
puts "\amd5-db.de => "+$1
end
rescue
puts "\amd5-db.de => "
end
end
clase=Crack_MD5.new
clase.reventar
clase.crackear
clase.romper
clase.crunch
clase.crack
clase.zash
puts "\nProceso Terminado\n\nPulsa Enter para salir"
gets
Code en pastebin
[Enlace externo eliminado para invitados]
[Enlace externo eliminado para invitados]
una muestra del resultado final
[spoiler]
[/spoiler]

espero os guste, un saludo