To test your knowledge and understanding of the subjects discussed in labs 1-4, you are given a considerably larger program to analyze and apply concepts of:
The analysis of this binary imitates analyzing a real-world ransomware. A ransomware is a malicious software that seeks to encrypt files and hold them for ransom. Users must pay the hackers to regain access to files such as pictures, videos or any other important documents. Depending on the developer skills and understanding of cryptography, some types of ransomware can be decrypted without paying because of various flaws. However, most modern versions are not crackable and unfortunately, in those scenarios, decrypting the files is not usually possible.
More general information on this topic here: https://www.nomoreransom.org/en/ransomware-qa.html
For this assignment, you will have to analyze a toy implementation of a pseudo-malicious ransomware (it does not encrypt anything except for some circumstances you will discover). Moreover, for didactic reasons, this binary is fundamentally flawed from a cryptographic point of view such that even if encryption is triggered, decryption can be done with ease after proper analysis of the encryption algorithm.
Download from here. The archive password is infected
and has the following contents:
There will be a Homework Assignment added to the Microsoft Teams channel. You will be able to send all your files and get feedback there.
The assignment can be solved until the 4th of April 2021, 23:59 (hard deadline).
Do not cheat! Do not post the task text or files on any sort of public/private collaboration platform (forums, groups, etc). Do not ask someone else to solve it for you.
You will be randomly asked about various aspects from your solution and you should be able to answer on the spot.
Any cheating attempts will result in a 0 grade for this Assignment.
You can ask questions (by mail) regarding the tasks in any of the labs so far or regarding analysis in general such as:
However, really specific questions regarding the assignment tasks will probably not be answered. These are for you to answer by manual analysis.