Crackeando Contraseñas con Python.

Como deberíamos saber, la programación es parte esencial para poder ser capaces de crackear Hashes de contraseñas sin nungun problema o simplemente puedes optar por dar uso a las herramientas ya conocidas.

Hay muchas herramientas muy buenas como lo podrían ser:
Cain & Abel
John the Ripper
Hashcat

Y muchas más, esas tres son las más conocidas y usadas por la comunidad de Hackers y mis opciones principales al momento de crackear un hash ya sea que este encriptado en MD5, SHA1, SHA2 o SHA512 entre otros.

Pero si quieres ser un autentico hacker podrías optar por escribir tus propias herramientas para lo cual obviamente necesitaras conocer algun lenguaje de programación.
Un lenguaje muy usado y personalmente de mi agrado es Python ya que es simple, elegante y muy efectivo para muchos propositos.

Aquí les presento un tutorial que espero sea de ayuda para alguien.

Hace un tiempo me encontre con un archivo de musica de Iron Maiden el cual tenía toda la discografia de la banda pero este estaba comprimido en *.zip. Yo no tenía la menor idea de cual podría ser la contraseña y aunque intenté varias veces introducir una contraseña que pense podría ser la indicada pues simplemente nada funcionó.
Lo que hice fué que recurrí a python y me puse a escribir un script que me permitiría poder crackear la contraseña de el archivo comprimido.

Luego de un par de horas de debuggear el codigo y dejarlo bonito finalmente quedó así:

#!/usr/bin/python
# zipfile password cracker
# usage: python zipcracker.py -f <zipfile> -d <dictionary file>
import zipfile
import optparse
from threading import Thread
def crackZipfile(zFile,word):
   try:              
      zFile.extractall(pwd=word)
      print '[+] Found password: ' + word
      print '[+] File extracted'
   except:
      pass
def main():
   parser = optparse.OptionParser("usage%prog "+ "-f <zipfile> -d <dictionary>")
   parser.add_option('-f', dest='zname', type='string', help='specify zip file')
   parser.add_option('-d', dest='dname', type='string', help='specify dictionary file')
   (options,args) = parser.parse_args()
   if (options.zname == None) | (options.dname == None):
      print parser.usage
      exit(0)
   else:
      zname = options.zname
      dname = options.dname
   zFile = zipfile.ZipFile(zname)
   passFile = open(dname)
   for line in passFile.readlines():
      word = line.strip('\n')
      t = Thread(target=crackZipfile, args=(zFile,word))
      t.start()
if __name__ == '__main__':
   main()


El uso del script sería de la siguiente manera:

$ ./zipcracker.py -f archivo.zip -d diccionario.txt
[+] Found password: failcontraseña

[+] File extracted


De esta manera es como en un par de horas la contraseña se mostró en mi terminal y alfín pude tener acceso a toda la discografía de Iron Maiden!

Espero les sirva.
Pronto traere más tutoriales para poder hacer cracking y pentesting

Comments

  1. Porfa me podrias ayudar como ejecuto el script?

    ReplyDelete
  2. $ python nombredelScript.py -f archivo_zip -d Nombre_diccionario

    ReplyDelete

Post a Comment

Popular Posts