As a penetration tester, this is your bread and butter. Sure, it’s fun to break into systems, but no one is paying you to just break into systems, you need to write quality procedures to your penetration testing which is concise and repeatable. We typically require write-ups as proof for our prize challenges as that is what is going to be expected from you in a real job.
Get Good Notetaking Software
You are not going to be able to publish your writeups in text files with Notepad, you should treat yourself to a modern notetaking software. Qualifications include rich text (bold, underline, formatting), image embedding and being able to add links. Microsoft Word is clunky and not efficient for multiple different writeups, and the same situation with Google Docs.
I’m a personal shill for Obsidian.md for keeping local files, but Notion.so is also a good contender if you want an online option and trust them with hosting your notes, and has been around for longer (also what is used for hosting this website ❤️) (And it’s better than obsidian -Jackson).
If you’re crazy, you can also host your write-ups publicly or privately over on Github, but this requires additional skills with using Git and Markdown. I may write a git tutorial in the future, but don’t count on it!
If you’re going down the Git/Github route, some of our members have also used Gitbook to present their markdown (.md
) files on custom domains, but Github Pages is another option (without the custom domain URL).
Format your Writeup
As with how to format your writeups, there is no “universal” format. For our purposes, and in general before you go into a professional setting with stricter formatting guidelines, we’re going to want to see a chronological history of your thought processes, steps taken, and results (screenshots always welcome).
- Include steps you took that didn’t immediately lead to the solution. For example, in your “opening moves” section, include reconnaissance results and a few failed exploit attempts. This is an excellent reminder that, yes, you are a human and you make some mistakes sometimes.
- Don’t worry about Formalities. This isn’t an English class or a Research Paper. You do not have to cite your sources on what made you think that, just include enough screenshots (Although there comes a point to where there may be TOO many… I don’t know where that point is though, don’t ask me) which leads to…
- Include your thought processes. This can be further evidence to an employer that you know what you’re doing, or supporting information for your conclusions at the end. “Oh, port 21 is open, let’s try anonymous and root ftp login”
- Split it up. You should have different headings with relevant content grouped together. Some examples of different sections that help boost the readability of your writeups:
- OSINT (Open-source Intelligence), such as domains, IPs, etc. owned by the company
- Initial Scan Results
- Credentials Found
- Main Procedural Steps
Some Write-up Examples I found online
There is no special magic sauce with deciding what goes on here, I just googled “ctf writeups”.