Skip to content

Latest commit

 

History

History
49 lines (29 loc) · 5.47 KB

File metadata and controls

49 lines (29 loc) · 5.47 KB

README - Paquete: password_cracking

Descripción en Español

El paquete password_cracking está diseñado para demostrar técnicas básicas de cracking de contraseñas. Con fines educativos, este paquete incluye dos módulos principales que permiten experimentar con la comparación de hashes de contraseñas. El primer módulo (hash_cracker.py) utiliza diferentes algoritmos de hash como MD5, SHA1, SHA256 y SHA512 para generar los hashes de una contraseña proporcionada por el usuario, mientras que el segundo módulo (hash_lookup.py) compara un hash dado con los hashes de una lista de contraseñas comunes para intentar encontrar la contraseña original. Su propósito es ayudar a los estudiantes y profesionales en ciberseguridad a comprender cómo funcionan los ataques de cracking de contraseñas y la importancia de elegir contraseñas fuertes.

Tecnologías Utilizadas

  • Python 3: Lenguaje principal del paquete.
  • hashlib: Biblioteca estándar de Python utilizada para generar hashes MD5, SHA1, SHA256, SHA224, SHA384 y SHA512.
  • urllib: Biblioteca estándar de Python para abrir URLs y descargar listas de contraseñas comunes.

Utilidad del Paquete

Este paquete está destinado a la educación sobre las técnicas de cracking de contraseñas y la importancia de proteger las contraseñas mediante algoritmos de hash robustos. Advertencia importante: El uso de este paquete debe restringirse a entornos de prueba o sistemas donde se tiene permiso explícito para realizar estas actividades, y no debe emplearse en sistemas de producción o en dispositivos sin la autorización correspondiente. El paquete proporciona una plataforma para comprender cómo los atacantes pueden crackear contraseñas y resalta la necesidad de usar algoritmos seguros y contraseñas complejas.

Estructura del Paquete y Descripción de los Módulos

  1. passwordcrypt.py

    • Este módulo permite al usuario ingresar una contraseña y genera su hash utilizando varios algoritmos, incluyendo MD5, SHA1, SHA224, SHA256, SHA384 y SHA512. La función principal de este módulo es mostrar cómo diferentes algoritmos producen distintos resultados al hacer un hash de una misma contraseña. Es útil para comprender cómo los algoritmos de hash se utilizan en la seguridad de contraseñas y cómo la longitud y complejidad de una contraseña influyen en su seguridad.
  2. bruteforce1.py

    • Este módulo permite al usuario ingresar un hash MD5 y luego intenta encontrar la contraseña original comparando este hash con una lista de contraseñas comunes descargadas de un repositorio público. Utiliza una lista de contraseñas comunes, descargada desde un enlace en GitHub, y realiza un ataque de fuerza bruta comparando el hash del conjunto de contraseñas. Es útil para demostrar cómo los atacantes pueden utilizar listas predefinidas de contraseñas comunes para intentar crackear contraseñas rápidamente.

README - Package: password_cracking

Description in English

The password_cracking package is designed to demonstrate basic password cracking techniques. For educational purposes, this package includes two main modules that allow users to experiment with password hash comparisons. The first module (hash_cracker.py) generates hashes of a password provided by the user using different hashing algorithms such as MD5, SHA1, SHA256, and SHA512. The second module (hash_lookup.py) compares a given hash with hashes from a list of common passwords to try and find the original password. Its purpose is to help students and cybersecurity professionals understand how password cracking attacks work and the importance of choosing strong passwords.

Technologies Used

  • Python 3: Main language of the package.
  • hashlib: Python standard library used to generate MD5, SHA1, SHA256, SHA224, SHA384, and SHA512 hashes.
  • urllib: Python standard library used to open URLs and download common password lists.

Package Utility

This package is intended for educational purposes to understand password cracking techniques and emphasize the importance of securing passwords with strong hashing algorithms. Important Warning: This package should only be used in test environments or systems where explicit permission has been granted to perform these activities. It should not be used on production systems or devices without proper authorization. The package provides a platform to understand how attackers can crack passwords and highlights the need for using strong passwords and secure hashing algorithms.

Package Structure and Module Descriptions

  1. passwordcrypt.py

    • This module allows the user to input a password and generate its hash using various algorithms, including MD5, SHA1, SHA224, SHA256, SHA384, and SHA512. The main function of this module is to demonstrate how different algorithms produce different results when hashing the same password. It is useful for understanding how hashing algorithms are used in password security and how the length and complexity of a password affect its security.
  2. bruteforce1.py

    • This module allows the user to input an MD5 hash and then attempts to find the original password by comparing this hash with a list of common passwords downloaded from a public repository. It uses a list of common passwords from a GitHub URL and performs a brute-force attack by comparing the hash of each password in the list. It is useful for demonstrating how attackers might use predefined lists of common passwords to crack passwords quickly.