This project is an introduction to computer security. Snow Crash will make you discover security in various sub-domains, with a developer-oriented approach. You will become familiar with several languages (ASM/perl/php…), develop a certain logic to understand unknown programs, and become aware of problems linked to simple programming errors
Subject Pdf: https://cdn.intra.42.fr/pdf/pdf/67418/en.subject.pdf
SnowCrash.iso: https://cdn.intra.42.fr/isos/SnowCrash.iso
- To make this project, you will have to use a VM(64 bits). Once you have started your machine with the ISO provided with this subject, if your configuration is right, you will get a simple prompt with an IP:
💡 If the IP address is not visible, you can get it with the comamnd ifconfig
once you're connected
-
Then you will be able to register using the following login:password:level100:level100 Use the SSH connection available on port 4242:
$>ssh [email protected] -p 4242
-
Once registered, you’re gonna have to find the password that will log you in with the "flagXX" account(XX = current level number).
💡 Once logged to the "flagXX" account, launch the getflag
command.
It will give you the password to connect to the next level (You may
not be able to connect to a "flagXX" account - in this case, you will
have to find an alternative method, like a command injection on the
program depending on its rights, for instance!).
- Here is a session example:
- To help you with some levels, you’re gonna have to use external softwares. You should learn to use the SCP command.
💡 /tmp/ and /var/tmp/ folders have limited rights and will be reset from time to time. You should not work directly on the machine.
- Nothing is left to chance. If there is a problem, start wondering if your code is not the cause.
-
Your repo must include anything that helped you solve each validated test
-
Your repository will look like this:
-
You will keep everything you need to prove your results during the evaluation in the resource folder. The flag file may be empty, but you may have to explain why
- If you need to use a specific file that’s included on the project’s ISO, you must download it during the evaluation. You must put it in your repo under no circumstances.
- If you plan to use a specific external software, you must set up a specific environment (VM, docker, Vagrant).
- You’re invited to create scripts that will make you stall, but you will have to explain them during the evaluation.
- For the mandatory part, you must complete the following list of levels:
For the bonus part, you can complete the following list of levels:
- level10
- level11
- level12
- level13
- level14