The home work assignment is described in the HomeWorkProblems.txt file. The other information is supporting or related information.
Problem 1: Cracking Passwords without Salt. (10 Pts) Insecuratics has just started a webmail service and has decided to store the hashes of user passwords in their database. Specifcally, when a user enters a password, it is hashed once using the SHA-1 hash function and compared to the hash value stored in the database. If the values match, the user is allowed access. No salting is used. Unfortunately, a hacker recently gained access to the database and posted some of the hashed passwords online. Use the file sha1hashes-sp13.txt containing hashes for 12 passwords. See how many you can crack. Put your answers and a detailed explanation of what you did to �nd them in a textfile called prob1.txt. If you use any scripts, you must also attach those scripts. You will get 1 point for each password that you crack, with a maximum of 10 points possible. Important: you cannot just supply the passwords; you will not receive credit unless you provide explanations and any scripts you use. Problem 2: Cracking Passwords with Salt on Linux. (10 Pts) Recently, an associate of yours got access to an Ubuntu Linux server. You suspect users of this system (UST students) have a strong tendency to use the same passwords for everything (including their online banking). Thus, if you can crack their login passwords, then you can probably also steal money from their bank accounts. Because your associate had physical access, he was easily able to obtain the /etc/shadow file. The file, renamed to shadow-sp13.txt, is available to you. Your task is to crack as many of the passwords as you can. Submit a file prob2.txt with the username, the cracked passwords, and a detailed explanation of how you found the passwords. Additionally, you should attach any scripts you used. You can use any means to find the passwords (other than copying from other students/groups). Each cracked password is worth one point, with a max of ten points possible. You will want to use the mkpasswd program and likely will want to use a bash script. Important: as in Problem 1, you need to explain how you cracked the passwords and attach any scripts you used to receive credit. Problem 3: Timing Attacks and Password Entry. (10 Pts) Your professor has posted (provided you with) an executable file badpass-sp13 that, when run, asks for a password. There is one correct eight character password consisting of all numbers (0 through 9). It is your job to find the password. To do this, you'll have to exploit the fact that the program is vulnerable to a timing attack. Professor Yilek is not releasing the C source code used to generate badpass, but he has revealed that the password checking routine looks something like this: while (more characters to check) { if (next character of guess != next character of password) { break; } do some other stuff } You should submit a file prob3.txt with the password and a description of what you did to find it. Problem 4: Bad Random Number Generation. (10 Pts) Instead of using bits from /dev/random or even /dev/urandom, the good people at Insecuratics have invented their own ways of generating random bit strings for use in cryptographic tools. To generate an AES key and IV to be used in aes-128-cbc, they are proposing two methods. You should break each method. You should submit a text file prob4.txt with your answers and also descriptions of the methods you used. You must also attach any bash scripts you write to solve the problem. 4.1. (Hash Process IDs.) To generate the key, $ ps | grep "ps" | awk '{print $1,1}' | openssl dgst -sha256 -hex | head -c 32 and to generate the IV, $ ps | grep "ps" | awk '{print $1,2}' | openssl dgst -sha256 -hex | head -c 32 Download the ciphertext prob4pidenc.txt encrypted with this method. The IV that resulted from the above was b9a907f715e45cfe5d47b08662affa17. Your job is to find the key and the famous book the plaintext is from. You may want to read about awk, as well as Unix process IDs (PIDs). Specifically, you'll want to learn what values PIDs can take on. As stated above, put your answer and a detailed description of what you did in a file prob4.txt. 4.2. (Hash result of date command.) To generate the key, $ date | openssl dgst -sha256 -hex | head -c 32 and then repeat immediately to generate the IV. Download the ciphertext prob4dateenc.txt en- crypted with this method. The IV that resulted from the above was d0ce6f467761cabc11eae59a2f34a8a1. Your job is to find the key and the famous book the plaintext comes from. As above, put your answer and a description of your method in a file prob4.txt . Hint: Just from the above information it should be possible to break the encryption in a reasonable amount of time. However, you can break it even faster by taking into account that for both methods Professor Yilek started up the the class Debian image and generated the key and IV soon after. It might also be useful to know that he usually works on creating assignments in the evenings on the last couple of days before posting the assignment. Also, check out the -d option of date. 25cff4849de1c2fb0c89cbfc04e6f27a681bacce 5cee68d5847dff97099c4b1c295bb858a6bcd169 a4a1e58d5528cad5aeb3dd7f443737e071ed870d eeb39102a76862cd4b996474a536b8efdd7872c1 520e1b9fa6b2207446fa7717cd69369fe5ba1876 c3f63ee769c8f251565e45cf724f6e4efaee0387 618dcdfb0cd9ae4481164961c4796dd8e3930c8d 5c6d9edc3a951cda763f650235cfc41a3fc23fe8 ed9d3d832af899035363a69fd53cd3be8f71501c 2d27b62c597ec858f6e7b54e7e58525e6a95e6d8 af8978b1797b72acfff9595a5a2a373ec3d9106d 7c4a8d09ca3762af61e59520943dc26494f8941b jess:$6$mFok04tdh$QDOqRL4WfMSDCxVkWOZl3ZoExLHrmz58Ndd1KjusI1mIFX/uDK29jTEB9LAIHgir1BtjB4FyBP4qIpm8BJsbo/:15713:0:99999:7::: ilovedogs:$6$TQumfOuJ8$iYetYGmWpUWrUMSLCI58iG3r4DR.jmX5G9FErJmtMfbT3xgtU89C8lkoB5IIwm8G/kRoZKlpnzcwmVuLo3M231:15713:0:99999:7::: paranoid:$6$DCjPYooPy4NSF5JH$DdooSKwvD6NhLNcygAlvqj0aESHcJcsz1Nfeb8kG89/FSpBxuGddWP9Up8f4oi1iIMNDRO8qHxzS8TR2IQs6i.:15713:0:99999:7::: skilover:$6$RZIaqoteX1DgSM8P$pSiBL2tg6qD4YkmDBID4Z.KfRmtUZRAK9p696YJB/q8rf9jGsTvcecjzovpfb5XHNaW7rDtkQWPlQBR5HXQpS.:15713:0:99999:7::: lucky:$6$VMxChHawC8U7W4KC$oNvNhyeXW4bIfPVw2hMGTvcWSIdYBw8T5UsSdp7l21vCTn5MI/XQk2ymyhQObo5Ge2TQoNeVRd6A6PZvU/8qt.:15713:0:99999:7::: bob:$6$kdTSjRynC4H9Gm0$LnOqORMIii2vcEc0FCs7xaOqR5NWZt4uRSrzmSb94BCOrYi2qLZNEWiiCM38xpYrYldaG8/3iClPY1n0EozEF/:15713:0:99999:7::: onepercent:$6$WXQfAAUs$tFOGXkrwO4PSUz76MEJ.4BHtkIxQdrpkSVyIGw4BZM0v.MaKP5Y7WIRsd0662H4X7UUALALTMzRVVNt91/tAg.:15713:0:99999:7::: programmer:$6$wbRCKqBn7r7$FYXnq3v3yda10sviX0cxdZLPkTlQL4fgCIQBYhjqUC7tn8wAEPG7CtxQtvZ.ijNRuP.pRGgUm8e5xlsZgMtfc/:15713:0:99999:7::: cisc210:$6$ooZN5ZvC1oh$AdR4oYelXFEHDBa8AnSs6LMtoQYRnq5YRpxIvgUSRl0NldnpKNuKVklwrUf1O1Gem.7/BzegR18Sh5xREmoXY1:15713:0:99999:7::: uststudent1:$6$cyaeCdOrr$V4P.eB9CvWIqflnh3mBz98hvTLyLuwXTiuS7PgYPl.1/TL80Zhsm8zckohgOM9AUD5qxGWkle.f1G7zvxQVwS.:15713:0:99999:7::: eve:$6$ICjE7/Ne$5gFKL4WOrxqF3aEq5qFlK3WuGqtw50fSnVm8NlVu2zFVzjSwtfJU2yJKlgwXs6ByhvVrTczffW0MKSA9K7Yo10:15713:0:99999:7::: qwe:$6$akLjbrUTVotwH$ppgoERKi1NKo1xABgXLygYG1GKNTHgIbCyvyl65agKogw3Y1.MMK.Pnr7GXRMweEA3ZP3lFVzqDiSv6fUW/WS0:15713:0:99999:7::: All solutions should be within the bounds of the notes that I have attached. Im my situation, the simplest solutions are the best solutions. I'm hoping that I will be able to communicate with the person that will be working on my assignment to ensure that they produce the best result? Thank you,