Description
For this assignment, you are to add a backdoor to Minix as a hacker would do.
Install the necessary two virtual machines to do cross-development of Minix. This is in a separate handout. Make sure it works and that you can boot the Minix VM from the generated ISO file.
Take a quick look at ./minix/kernel/main.c and if you really followed the instructions in the first handout for installing Minix, there ought to be your printf statements in the announce function.
Your job as a hacker, is first to observe. So in /minix/kernel/main.c if you skip down a ways (or search for it) you will see a function named panic. This function prints whatever is in the string, using printf-style formatting, then completely stops the operating system and reboots. Perfect for a hacker.
What we want to do is insert a secret trigger, a command that, when run, will call panic from within Minix. Now, when I enter a command like foo, the shell will look at the PATH variable and go down the list of directories in PATH in order to locate the command. It might try /bin/foo and then look for /usr/bin/foo and so on. Ultimately there is an exec system call. Your secret code will check if the command is your undisclosed trigger. If so, it calls panic with an appropriate message. Something like Hacker Attack!!! or whatever. At that point Minix will reboot.
It happens so fast you may not be able to read the message.
Requirements Summary:
Set up a cross-compile environment for Minix. Figure out where the exec system calls actually go. Find where the code is for that system call. Add the check for the secret trigger word and the call to panic.