Giter Club home page Giter Club logo

h4_hash-cracker's Introduction

H4 logo (claro) H4 logo (oscuro)

Un programa simple para crackear hashes

Descripción

Este es un programa orientado a la obtención de elementos a partir de hashes.

Características

  • Crackeo de hashes con algoritmos garantizados por el módulo hashlib.
  • Acepta hashes de distintos formatos a la vez, junto a distintos algoritmos.
  • Acepta entrada de hashes mediante lista de cadenas, fichero, o ambas a la vez.
  • Identificación de hashes válidos e inválidos.
  • Identificación de algoritmos válidos e inválidos.
  • Ejecución minimalista: solo se procesan los datos válidos.

Note
Un hash se considera válido si cumple estas 2 condiciones:

  • Su longitud es la de algún resultado de los algoritmos garantizados por el módulo hashlib (comprobable con hashlib.algorithms_guaranteed).
  • Sus caracteres son exclusivamente hexadecimales.

Un algoritmo se considera válido si está garantizado por el módulo hashlib (comprobable con hashlib.algorithms_guaranteed).

Instalación

  1. Instalar Python 3.9 (mínimo).
  2. Clonar el repositorio.
  3. Instalar las dependencias (pip install -r requirements.txt).

Ejecución

Este script puede usarse como un comando de terminal o con python3.9.

Otorga permisos de ejecución al script principal main.py y el sistema lo ejecutará con el intérprete de Python:

sudo chmod +x app/main.py

A partir de aquí, puedes consultar la ayuda con la opción -h o --help:

./app/main.py -h
usage: main.py [-h] [-hl hash [hash ...]] [-hf hashfile] [-ag algorithm [algorithm ...]]
               [-wl wordlist]

Cracker simple de hashes.

optional arguments:
  -h, --help            show this help message and exit
  -hl hash [hash ...], --hashlist hash [hash ...]
                        hash(es) to crack
  -hf hashfile, --hashfile hashfile
                        file with hashes to crack
  -ag algorithm [algorithm ...], --algolist algorithm [algorithm ...]
                        algorithm(s) to crack the hashes
  -wl wordlist, --wordlist wordlist
                        file with possible values of a hash

También es posible usarlo como un módulo de Python de la forma habitual:

python3.9 app/main.py <args>

Ejemplo

./app/main.py -hl 1D616F28163414582BA7E2EB400485B9 d616f28163414582ba7e2eb400485b9 c06ed8affb5cdfab49fd531429fe1929 358169735b397d125511972057478501 2378648237 32485725dshjfg -hf hashes.txt -ag md5 md8 sha1 MD5 sha420 sha256 -wl h4ckingyou.txt
Hashes inválidos:
d616f28163414582ba7e2eb400485b9
2378648237
32485725dshjfg

Algoritmos inválidos:
md8, sha420

Hashes válidos:
1d616f28163414582ba7e2eb400485b9 : srgalan  (md5)
358169735b397d125511972057478501 * no encontrado
7b4bf604ff3032c625532a803eaedddc : H4CKINGPRO   (md5)
c06ed8affb5cdfab49fd531429fe1929 : sleepy_rafa  (md5)
e772e0266541435a1b52df6bb498cb62e6749c95e59b580d71c9fb16b4125af9 : srgalan  (sha256)

Argumentos

El proyecto funciona con 4 tipos de argumentos distintos, pero si no se proporciona ninguno, su comportamiento por defecto es mostrar la ayuda (equivalente a ./main.py -h).

Note
Los argumentos -hl y -hf son compatibles entre sí y de hecho, cumplen la misma función: definir los hashes a crackear. Si se proporcionan ambos, se combinarán en un único dato.

-hl / --hashlist

El programa recibe una una lista de hashes como argumento de entrada y comprueba que haya al menos un hash válido para poder operar.

Si todo es correcto, se procederá a intentar crackear cada hash válido de la lista.

-hf / --hashfile

El programa recibe un fichero de texto con hashes como argumento de entrada y comprueba que el fichero sea accesible y que haya al menos un hash válido para poder operar.

Si todo es correcto, se procederá a intentar crackear cada hash válido del fichero.

-ag / --algorithms

El programa recibe una lista de algoritmos como argumento de entrada y comprueba que haya al menos un algoritmo válido para poder operar.

Si todo es correcto, se procederá a intentar crackear cada hash válido de los argumentos anteriores con cada algoritmo válido de la lista.

-wl / --wordlist

El programa recibe un archivo de texto con posibles valores de un hash como argumento de entrada y comprueba que el fichero sea accesible y tenga contenido.

Si todo es correcto, se procederá a intentar crackear cada hash válido de los argumentos anteriores con cada algoritmo válido de los argumentos anteriores y cada posible valor del archivo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.