Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Password Shucking challange #859

Closed
drnow4u opened this issue Jun 3, 2023 · 6 comments · Fixed by #1037
Closed

Password Shucking challange #859

drnow4u opened this issue Jun 3, 2023 · 6 comments · Fixed by #1037
Assignees
Labels
help wanted Extra attention is needed New Challenge Adding a new Challenge

Comments

@drnow4u
Copy link
Collaborator

drnow4u commented Jun 3, 2023

Password Shucking challenge is based on Pre-Hashing Passwords from OWASP Password Storage Cheat Sheet. During migration from weak MD5 password hashing algorithm to strong Bcrypt wrapping approach bcrypt(md5(data:$password)) is implemented. Great description is presented What the Shuck? Layered Hash Shucking be Sam Croley.

@commjoen could you describe more details from Slack?

@drnow4u drnow4u added the New Challenge Adding a new Challenge label Jun 3, 2023
@commjoen
Copy link
Collaborator

commjoen commented Jun 3, 2023

Nice reference to further explain shucking is at https://neilmadden.blog/2023/04/27/i-still-dont-really-get-hash-shucking/ .
How can we implement this? The challenge should reference 2 database dumps:

  1. with md5 passwords for let's say 20 users
  2. with bcrypt(md5(passwords)) for which 1 user reused his password in both db dumps
    Maybe we can put the "table-dumps" in a file, for which the challenge reads the value of "user 5" who is in both tables so we can explain how you can find the old md5 this way (e.g. collission) and then find the actual value of the md5 hashed password.

@commjoen commjoen added the help wanted Extra attention is needed label Aug 18, 2023
@commjoen
Copy link
Collaborator

Todo;s for this challenge:

  • Create a textfile with an imaginary of 20 users with <username, password> where the password is md5 hashed. Add the file to the executables folder in this project.
  • Create another textfile with an imaginary dump of 20 users <username, password> where the password is now bcrypt(md5(passwords)) encrypted. make sure that user 5 is the same in both lists
  • Create the challenge where people need to find the password of user 5 (follow contributing.md) which does explain the issues above.

@divyanshuagarwal-23
Copy link

divyanshuagarwal-23 commented Oct 12, 2023

@commjoen Again Divyanshu here, please assign it to me

@commjoen
Copy link
Collaborator

@divyanshuagarwal-23 can you maybe first complete #810 :-)?

@adarsh-a-tw
Copy link
Contributor

@commjoen Would like to work on this if it is not yet assigned.

@commjoen
Copy link
Collaborator

It is all yours sir!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed New Challenge Adding a new Challenge
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants