Con este script puedes facilmente navegar/descargar y ejecutar exploit de exploit-db
Creo que todavia le queda mucho por mejorar.
Para linux y windows
Pastebin: http://isseu.pastebin.com/G9xh7XDV
Download: http://isseu.pastebin.com/download.php?i=G9xh7XDV
Searchedb.PY
Código
#!/usr/bin/env python import urllib2 import re import os import string def Verde(a): if os.name=="posix": #linux return "\033[32m"+a+"\033[0m" else: return a def Rojo(a): if os.name=="posix": #linux return "\33[31m"+a+"\033[0m" else: return a def Limpiar(): if os.name=="posix": os.system("clear") #linux else: os.system("cls") #windows def sisalir(a): if string.upper(input) =="QUIT": exit(0) def GetWeb(web): source=string try: source=urllib2.urlopen(web) except urllib2.HTTPError, e: print Rojo("[!] Error HTTP") print Rojo(e.code) exit(0) except urllib2.URLError, e: print Rojo("[!] Error URL") print Rojo(e.reason) exit(0) return source.read() def extension(archivo): return archivo[archivo.rfind(".")+1:len(archivo)] def Ejecutar(path): print ""; type=extension(path) if type=="py": print Rojo("[#] system(\"python "+path+")\"") os.system("python "+path); print Rojo("[#] Finish") if type=="pl": print Rojo("[#] system(\"perl "+path+")\"") os.system("perl "+path); print Rojo("[#] Finish") print "" def FileType(web): try: web=urllib2.urlopen(urllib2.Request(web)) except urllib2.HTTPError, e: print Rojo("[!] Error HTTP") print Rojo(e.code) exit(0) except urllib2.URLError, e: print Rojo("[!] Error URL") print Rojo(e.reason) exit(0) info=str(web.info()) info=re.search("filename=\d+\.(txt|py|pl|cpp|c|jar)",info).group() info=re.search("txt|py|pl|cpp|c|jar",info).group() return info def ExploitDB(input,page=0): print ""; sitio = "http://www.exploit-db.com/list.php?page="+str(page)+"&description="+input+"&author=&platform=&type=&port=&osvdb=&cve=" source = GetWeb(sitio) urls=re.findall("href=\'/exploits/\d+",source) numerop=re.findall("href='/list.php?page=\d+&description="+input+"&platform=&type=&port=&author=&osvdb=&cve='>\d+</a>",source) names=re.findall("target=_blank>.*</a>",source) print Verde("[+]")+" Hay "+str(len(names))+" Resultados (+"+Verde(str(len(numerop)))+" paginas):" print ""; if len(names)>=1: for i in range(len(names)): name=names[i] name=name[14:len(name)-4] print "["+str(i+1)+"] "+name valor=raw_input(Verde("[?]")+" Ingrese Id exploit a ver (0 = Siguiente pagina; -1= Buscar Otra Cosa)\n-->") sisalir(valor); if string.atoi(valor)<=0: if string.atoi(valor)==0: ExploitDB(input,(page+1)) if string.atoi(valor)==2: return; else: subs=urls[string.atoi(valor)-1] subs=subs[16:len(subs)] sitio="http://www.exploit-db.com/download/"+subs; tipo=FileType(sitio) name=names[i] name=name[14:len(name)-4] print ""; print Verde("[+]")+" Exploit Seleccionado:"; print "[ID] #" + subs + ":" print "[Nombre] " + name print "[Url] " + sitio print "[Leng] " + tipo descargado=False while (True) or ((string.atoi(valor) > 0) and (string.atoi(valor) < 4)): if descargado: valor=raw_input(Verde("[?]")+"Opciones: (1) Ver (2) Descargar (3) Volver Atras (4) Ejecutar\n-->") else: valor=raw_input(Verde("[?]")+"Opciones: (1) Ver (2) Descargar (3) Volver Atras\n-->") sisalir(input); if string.atoi(valor)==1: print "" print ""; source = GetWeb(sitio) print source; if string.atoi(valor)==2: print "" source = GetWeb(sitio) subs=subs+"."+FileType(sitio) FILE = open(subs,"w") FILE.write(source); FILE.close(); print Verde("[+]")+" Guardado Como: "+os.curdir+"/"+subs if (extension(subs)=="pl") or (extension(subs)=="py"): descargado=True if string.atoi(valor)==3: ExploitDB(input,page) break; if (string.atoi(valor)==4) and (descargado==True): Ejecutar(subs) break; else: print Rojo("[!]")+" No hay Resultados Para mostrar" if __name__ == "__main__": Limpiar() print " ########################" print " # "+Rojo("Buscador De Exploits")+" #" print " # "+Rojo("De Exploit-db.com")+" ####" print " # "+Rojo("Por Isseu")+" ############" print " ################# "+Verde("V1.0")+" #" print "" while True: input = raw_input(Verde("[?]")+" Ingrese Nombre de la Aplicacion a Buscar ("+Rojo("Quit")+" para salir)\n-->"); sisalir(input); print Verde("[+]")+" Buscando "+input+" en ExploitDB [...]"; ExploitDB(input)