I am a High School cyber computer science teacher who also teaches courses on cyber security. I have been looking around for some good 'beginner' CTFs that I could organize for my students, but many require outside knowledge beyond what they know early on. So I am actually wanting to build my own. However, I had two questions: one about choosing the best virtualization, and the second is about the hardware needed to run the event

For the above mentioned CTF I want to simulate a 'company network' where students will be given clues about getting into: a web server, an internal file server, and then three different employee machines. I figured that everything will be simple linux distros (like Ubuntu) and the students will SSH into each machine and only work from the terminal. (Like a mixture of Over The Wire's Bandit Labs plus the style/feel/clues of the game Hacknet)

For the actual hardware, I figured that I could implement virtualization on a single server to make things easier. My question is, what is the best free/open source hypervisor that would meet my needs in virtualizing these 5 different low-resource machines? Another factor is that there could be a total of 60-70 students who are attending the CTF.

What kind of specs on the server/network will I need to be running in order to support that many SSH connections? Ideally students would be accessing the virtualized servers via a wireless router/access point. Will a simple 'off the shelf' WAP do? Or will I need something commercial?

I am comfortable very with Linux, and new (but not totally ignorant) to virtualization. I work with host/gust virtualization often, but have never built anything to this scale before and am a little lost as to where to start. My Hope is that I could post this on GitHub once I am done and share it as a public CTF.

Thanks in advance!

  • although you want to use this for a CTF, this is actually not a security question – schroeder Sep 23 '17 at 19:41
  • My 2 cents: go Docker. I designed a dynamic, and randomized CTF environment, including virtual networks, using Docker and its easy scripting interface – schroeder Sep 23 '17 at 19:42
  • Oh dang! Sorry, looking back over the help center this is not the right question to ask. I think I will try posting on some other forums to get some initial ideas, but then come back if/when I hit a snag on a technical issue. – Tobin Shields Sep 24 '17 at 0:10

The two top Linux based solutions in my opinion are Xen and KVM. Both offer is slightly different means to a final virtual solution.

If, however, you are looking for an easy, free solution that will VM Linux servers, I'd consider a Windows based "VirtualBox" solution. It comes Innately GUI based and offers a simple VM infrastructure without all of the bells and whistles of an expensive VMware setup.

|improve this answer|||||
  • Why Windows-based? VirtualBox works on Linux as well, and has the same GUI. – forest Dec 19 '17 at 3:33
  • Note for some reason Docker have dropped VirtualBox support on Windows. The only option is now the built-in Hyper-V if you want Docker on Windows. – OrangeDog Sep 4 '18 at 14:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.