In today’s blog post we will be solving the “Mystery Box” challenge from the PicoCTF.
Let’s get started.
Clicking on the challenge we see:
OK, we have a mystery machine, with a stick note, and a picture.
Clicking on the sticky note link we see:
OK… we have a note. This is going to be useful later.
Clicking on the picture link we see:
Going back to the challenge and click on the hints we see:
OK. The hints tell us that this box uses gear and it was used from the naval services. Also we have the name of Turing… let’s see what Google would provide us.
Doing a Google search of “Turing machine naval” we get the following link.
This link is the enigma machine emulator.
The enigma machine was used in WW2 (World War 2) to help crack secret messages from Nazi Germany.
The person who was responsible for this machine was Alan Turing. Alan Turing was the father of computer science. He was a computer scientist, mathematician, logician, etc. If you want to read more about his life, click here.
Going back to the enigma machine emulator we see:
Hmm… we see that the words are similar to are listed in the note.
Let’s use that to figure out what the enigma machine will return us.
After entering the information we get:
Hmm… The enigma machine returned – “quite puzzling indeed”.
Putting this in as the flag, we acquired 60 points!!
Today’s challenge we will be solving the Hex2Raw challenge in the PicoCTF.
Clicking on the challenge we see the following:
OK. With this challenge we see that we need to print unprintable characters from the following location.
Let’s see what the hints give us.
Clicking on the hints we see:
OK. We can see that Google has easy techniques to do this.
Let’s go to the command line and see what we can do.
After logging in and going to the directory we see the following:
Running the hex2raw application we see:
I pressed Ctrl + C to end the program.
OK. We are given raw input and we need to convert it to hexadecimal character.
Doing a Google search we noticed that we can use Python to get our desired output.
How would we do this?
With the decode function!
Explaining the screenshot below we’re invoking the python interpreter the -c designated that we’re using a command. We’re printing the raw form, and using the decode function designated that we wanted to decode with the hexadecimal system. We’re going to pipe the output to the hex2raw program.
Doing this we see the flag, and acquired 20 points!
Today’s blog post we’re going to solve the “Just No” challenge in the PicoCTF challenge.
OK… we have a program that has access to the flag, but refuse to give it to us.
Let’s look at the hints and see what we can do.
OK.. we need to look at the absolute and relative paths, and spoof the file that the program is looking for.
Let’s go to the program.
After clicking logging into the command line and navigating to the folder we see the following:
Opening the auth file with the cat command we see:
OK. The file only as no. Let’s see how this is being used.
Opening the justno.c file with the cat command we see:
Reading the file we see we’re opening the auth file and determining if the the auth file does not have the word “no”. If that’s true then we’re presented with the flag. If the auth file does contain the word “no” then we go inside the else block which print, “auth file says no. So no. Just… no.”
As we can see when we opened the auth file it currently has the word “no”. Which means if we executed the justno program right now we would go to the else block, and receive the no message.
Now is the time to utilize the hints. We need to spoof the auth file to be ANY word except for no. How are we going to do this?
Well the challenge told us to read the difference between absolute and relative paths. Once we figured that out, then we can create a new auth file and point it to the new location.
Let’s give it a shot.
Going back to the justno.c we see that the file open is using relative paths.
We can spoof the location by creating the file structure and then calling the justno.c program and printing the flag.
Let’s do it.
Looking at the screenshot you can see we created the same directory structure and created a new auth file that was listed in the justno.c program. Once we did that and called the justno program again we were able to get the flag and acquired 40 points!
Today’s blog post we will solve the “Bash Loop” challenge in the PicoCTF challenge.
Clicking on the challenge we see:
OK… There’s a program we need to execute to find the hidden number. Let’s look at the hints to see what they give us.
OK… the hint tells us that we need to use Google to search for “bash loops”.
First let’s navigate to the folder of the program
Copying the location of the program, right clicking on the command line, selecting paste from browser, and pressing enter we have the following:
We see the bashloop program and the flag.
Executing the bashloop program we see the following:
Let’s do a quick Google search and look for bash loops
Going to the following link, and scrolling down to the for loop we see the following:
Let’s use this for our challenge.
Going back to the command line we enter the following:
Let’s break down the loop…
In the first line we are using a for loop and we’re looping over the range from 0 to 4096 as that is the range of numbers we need to guess over.
The next line we are invoking (calling) the program with the current number in the range (between 0 to 4096). From that we’re grepping (finding) the keyword of flag. The reason we’re doing that is to find the flag. Next line is specifying that we’re ending the loop.
Pressing enter we see that the flag is displayed to us.
Entering this into the input box we acquired 40 points!