Stress-free OSCP report making

Making the OSCP report writing as easy and stress-free as possible is the aim of the game for this blog post, and wouldn't it be great to write your report in markdown, convert the file into a complete report pdf and 7zip file ready to send to OffSec automatically? Well... You're in luck!

We will be using this github repository, courtesy of Noraj, that contains a couple templates for you to choose from, along with the automated ruby script to generate the report! - https://github.com/noraj/OSCP-Exam-Report-Template-Markdown

Prerequisites

To successfully convert the markdown template file into a report pdf and 7z file, we need to install a few things:

  • Pandoc - You can find the latest release here

    • Download the latest release for your current OS, as im using kali, I will download the .deb release and install it with the command sudo dpkg -i $file_here
    • Or install using apt, sudo apt-get install pandoc
  • Tex Live

    • On Windows, follow the installation guide here
    • On Unix run the command:
    sudo apt-get install texlive texlive-latex-extra texlive-fonts-extra
    
  • Eisvogel template - You can find the latest version of the Eisvogel template from here.

    • Extract the eisvogel.txt file from the downloaded ZIP/tar.gz archive with the command tar -xvf Eisvogel-*.tar.gz eisvogel.tex
    • Move the template eisvogel.tex to your pandoc templates folder and rename the file to eisvogel.latex.
      • The location of the templates folder depends on your operating system:
        • Unix or macOS: /Users/USERNAME/.local/share/pandoc/templates/ or /Users/USERNAME/.pandoc/templates/
        • Windows: C:\Users\USERNAME\AppData\Roaming\pandoc\templates\
    • If there are no folders called templates or pandoc you need to create them and put the template eisvogel.latex inside.
  • p7zip - You can download p7zip here

    • p7zip can be installed on Unix by decompressing the .tar.bzip2 file with the commands bzip2 -d $file_name and tar -xvf $file_name and runing the install script ./install.sh
    • Or you can install it with apt, sudo apt-get install p7zip-full

Generate the exam report pdf and zip it!

Once you have completed making your exam report with one of the markdown templates from Noraj's github repo, it is time to convert the file into the exam report pdf!

We first need to move our markdown exam file into the src directory, OSCP-Exam-Report-Template-Markdown/src/$File_Name.

Once the file is in the src directory, we need to edit the generate.rb script to add our markdown template file as an an option to generate a report for:

#!/usr/bin/env ruby

templates = [
  {
    name: 'whoisflynn improved template v3.2',
    path: 'src/OSCP-exam-report-template_whoisflynn_v3.2.md'
  },
  {
    name: 'Official Offensive Security Template v1',
    path: 'src/OSCP-exam-report-template_OS_v1.md'
  },
  {
  name: '$File_Name',
  path: 'src/$File_Name'
  },
]

Once you've added your markdown file to the script, it is now as easy as this to generate the exam pdf and 7z file, the 7z file will be password protected with your OSID:

./generate.rb
Choose a template:
0. whoisflynn improved template v3.2
1. Official Offensive Security Template v1
2. $File_Name
2
Enter your OS id
OS-XXXXX

Choose syntax highlight style [breezedark]

breezedark

Generating report...
Generating archive...

And thats it! You'll now find the created exam pdf and 7z file in the /output directory!

You can check your 7z file will open correctly before sending it to OffSec with the command 7z x $File_name.7z and entering your OSID when you are prompted to enter a password to access the file.

Conclusion

I hope that this has made the process of creating your OSCP exam report in markdown a whole lot easier! If you know of a more streamlined way to make the process even less stressful, let me know on twitter @CraigUnder.

Thanks for reading!

Craig Underhill

Read more posts by this author.