There needs to be a standardized way to write tools references, just as there is for writing technology references. A simple example document with sections and explanations will work.
Rough road-map of what areas need to be worked on:
General
Polish contribution guides for tools, techs, and topics
Add Recon, Hardware, etc. folders (topics) with README's
Tools
Explanation on operating systems and the benefits/downsides of OSX vs Windows vs Linux for CTFs
Introduction to command line and terminal, does not have to be very in-depth and can link outside sources as there are plenty available.
Cryptography
Add a comprehensive Getting Started section to README to help people begin learning simple crypto
Add content and more variety of tactics, including finishing up incomplete topics and adding more
Create and link tools articles from the cryptography articles, i.e. if you talk about a cracking tool in this section, write up a guide in the tools directory for it and link it
Reversing
There needs to be a solid intro for reverse engineering to really make this section useful
Thorough introduction to IDA liked from tools directory
Usage of hex editors
Example tasks and solution walk-throughs for each technology and tool
Steganography
Topics on more advanced steganography tools and tactics
Link to steg tools from tools directory
Web
Set up Heroku or similar web stacks and create simple web challenges for example
Intro to types of web challenges, from SQL to XSS to HTTP
Now that it is in the ctfs directory, would it be better to rename it to docs. That way it would be github.com/ctfs/docs instead of the redundant github.com/ctfs/ctf-docs.
Just wanted to drop a note saying that if you want to move this repository to the “ctfs” organisation on GitHub, it’d be welcome there.
We already have a nice (I’m biased, but still!) write-ups repository: https://github.com/ctfs/write-ups This docs repository of yours is the perfect counterpart.
In case it helps, I decided to create the write-ups repo under that organisation for the following reasons:
better discoverability
more obvious that it’s a community resource rather than a personal project
Looking through what has already been written out, I think it is best if the strategy for organization is changed. I feel like the most logical way to organize this repository now is in the manner in which most challenges are usually thought through. The root topic README.md should describe what to do when first presented with a challenge. After explaining how to find out what type of challenge it is using tools like file and netcat, it can redirect to the pertaining topic folder. That topic folder README.md can then detail how to move on, using clues and tools to find out what type of challenge it is. From there the reader can then be redirected to the specific folder for the challenge.
It might be useful to have a "Useful Steps" section or something similar which sort of explains in which direction someone should go in each step to figure out the challenge.
It'd be nice knowing the topics before hand. For eg, you just wrote about crypto/md5, Do you plan to write about other hashing schemes as well (SHA, RIPEMD). In case you do, just create folders with empty README files in them.
This would help people like me, who can contribute but are not sure of the topic that should be written next.
Thanks for doing this, I hope this serves as a definitive guide to CTFs.