Hello, today we will be taking a look at some of the warmup challenges from VirSecCon CTF 2020. While I was not able to spend as much time on this CTF as I would have liked, I still had a great time, grabbed some flags, made some friends, and learned some new tricks. VirSecCon 2020 was a ton of fun and I look forward to checking out more upcoming virtual conferences in the future!
Now, let’s delve into some of the warmup challenges in this CTF!
Challenge: Read The Rules
We’ll start things off with the easiest challenge.
We begin by navigating to http://ctf.virseccon.com/rules and viewing the source of the page.
Reviewing the source reveals the flag is located in a comment on lines 144 and 145:
With our first flag captured, we’re ready to hack the planet!
Challenge: Believe Your Eyes
Our next challenge starts off by serving us a .rar file titled ‘believe_your_eyes.rar‘.
We download the .rar file to our machine and run the file command on it:
file believe_your_eyes.rar
believe_your_eyes.rar: PNG image data, 600 x 200, 8-bit grayscale, non-interlaced
We further our investigation by running the strings command on the file to see what interesting data might be inside:
The next challenge serves us another file to download.
Once downloaded to our host machine, we kick things off by running the file command:
file packd packd: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, no section header
Next, we’ll run strings on the file to get a look inside:
$Info: This file is packed with the UPX executable packer http://upx.sf.net $ $Id: UPX 3.96 Copyright (C) 1996-2020 the UPX Team. All Rights Reserved. $
As the name of the challenge gestured to, this string confirms that the binary file was packed with the UPX tool.
Now that we have confirmed that the file has been packed with UPX, we’ll run UPX on the file again with the -d option to decompress the binary:
upx -d packd Ultimate Packer for eXecutables Copyright (C) 1996 – 2018 UPX 3.95 Markus Oberhumer, Laszlo Molnar & John Reiser Aug 26th 2018
File size Ratio Format Name ——————– —— ———– ———– 657616 <- 276068 41.98% linux/i386 packd
Unpacked 1 file.
Finally, we will run the strings command once more and analyze the output for anything of interest:
Oh! This package must have been shipped to the wrong address! HOME something_unnecessary LLS{packing_an_executable_can_hide_some_data} Congratulations! You’ve won!
This rewards us with yet another flag!
Conclusion
That concludes our review of the VirSecCon 2020 CTF warmup challenges.
In the next post, we’ll explore some of the forensic challenges in this CTF!