Offensive Security Exam Report Template in Markdown

November 28, 2024 ยท View on GitHub

Rawsec's CyberSecurity Inventory GitHub stars GitHub forks GitHub license

I created an Offensive Security Exam Report Template in Markdown so LaTeX, Microsoft Office Word, LibreOffice Writer are no longer needed during your Offensive Security OSCP, OSWE, OSEE, OSWP, OSEP, OSED, OSWA, OSDA, OSMR, OSTH exam!

Now you can be efficient and faster during your exam report redaction!

  • :rocket: Speed up writing, don't lose time during the 24 hours of exam report redaction
  • :star: No formatting hassle with WYSIWYG editors, byebye unwanted whitespaces and linefeeds from Microsoft Office Word and LibreOffice Writer
  • :memo: Re-use your Markdown notes, you'll be so glad not having to reformat the bold and italic from your Markdown notes into the report
  • :lock: Version control ready, save your markdown template into a PRIVATE git repository, you now have an incremental backup, version control works with Markdown (.md) as it's text but not with binaries (.doc, .odt)
  • :pen: Use your favorite editor or note taking app, with Markdown you'll be able to use your favorite editor (VSCode, Atom, etc.) or note taking app (Vnote, QOwnNotes, Boostnote, etc.) to write your exam report, you won't have to switch to Windows to use MS Word.
  • :tophat: Clean & professional style, a professional looking report for your professional certification
  • :ok_hand: Error free, use the generation script to generate the report and archive, you won't do any submission format and name mistake that way

Examples:

OSCP whoisflynn improved template v3.2

OSCP Official Offensive Security Template v1

Requirements

Examples for common distros:

  • ArchLinux: pacman -S p7zip haskell-pandoc texlive-basic texlive-fontsextra texlive-fontsrecommended texlive-latexextra
  • openSUSE: zypper in texlive-scheme-medium pandoc p7zip-full
  • Ubuntu: apt install texlive-latex-recommended texlive-fonts-extra texlive-latex-extra pandoc p7zip-full

Usage

Write your report in markdown.

Automatic

There is a script that will:

  1. Let you choose the template
  2. Let you choose the syntax highlight style
  3. Generate the PDF (+ preview option)
  4. Generate the 7z archive
  5. Output MD5 hash for verification after uploading

Choose and copy a template that you will use to write your report:

ruby osert.rb init

Generate your PDF report and 7z archive

ruby osert.rb generate

Tip

If you run the generation several times, you may want to check the options (ruby osert.rb generate -h) to save time on the interactive prompt.

Note

osert is available as an official package on BlackArch Linux: pacman -S osert.

BlackArch package

Manual

Generate the report PDF from the markdown template:

pandoc src/OSCP-exam-report-template_whoisflynn_v3.2.md \
-o output/OSCP-OS-XXXXX-Exam-Report.pdf \
--from markdown+yaml_metadata_block+raw_html \
--template eisvogel \
--table-of-contents \
--toc-depth 6 \
--number-sections \
--top-level-division=chapter \
--highlight-style breezedark \
--resource-path=.:src

You can change the code syntax highlight theme with --highlight-style.

Docker

Instead of installing Pandoc and the other dependencies on your local machine, you can use a local Docker container to generate the report PDF from the markdown template.

You can either use the convenience script docker.sh or interact with Docker manually.

Using the Convenience Script

You can list all available options using docker.sh -h.

ActionDescriptionExample
buildBuild the Docker image locally.docker.sh build
runRun the Docker container.docker.sh run --input /home/user/my-markdown-files/ --output /home/user/my-offsec-report/
shellSpawn a shell in the container.docker.sh shell

Using Docker Manually

Build the local Docker image:

docker build -t report-generator .

Create a Docker container from the local image:

docker run --rm -it --name report-generator -v $(pwd)/output:/root/report-generator/output -v $(pwd)/src:/root/report-generator/src report-generator

The above command will launch an Ubuntu-based container that has all the dependencies installed for the report generator to work correctly.

From within the spawned shell, you can use either use the automated or the manual commands to generate the report PDF.

Color sets

Well rendering color sets you can use in the template YAML frontmatter:

titlepage-colortitlepage-text-colortitlepage-rule-color
DC143C (Crimson)FFFFFF (White)FFFFFF (White)
00FF7F (SpringGreen)006400 DarkGreen000000 (Black)
1E90FF (DodgerBlue)FFFAFA (Snow)FFFAFA (Snow)
483D8B (DarkSlateBlue)FFFAFA (Snow)FFFAFA (Snow)
FFD700 (Gold)000000 (Black)000000 (Black)
FFEFD5 (PapayaWhip)000000 (Black)000000 (Black)
FF8C00 (DarkOrange)000000 (Black)000000 (Black)
FFEF96 (no name)50394C (no name)50394C (no name)

Syntax highlight themes can be listed with pandoc --list-highlight-styles.

Available templates

Report Templates:

Network Penetration Testing:

Web Application:

Exploit Development:

Security Operations:

Threat Hunting:

Offensive Security course table:

Exam acronymExam nameLab acronymLab nameCourse designation
OSCPOffensive Security Certified ProfessionalPWKPenetration Testing with Kali LinuxPEN-200
OSWPOffensive Security Wireless ProfessionalWAWireless AttacksPEN-210
OSEPOffensive Security Experienced Penetration TesterETBDEvasion Techniques and Breaching DefensesPEN-300
OSWAOffensive Security Web AssessorWAKLWeb Attacks with Kali LinuxWEB-200
OSWEOffensive Security Web ExpertAWAEAdvanced Web Attacks and ExploitationWEB-300
OSEDOffensive Security Exploit DeveloperWUMEDWindows User Mode Exploit DevelopmentEXP-301
OSMROffensive Security macOS ResearcherMCBmacOS Control BypassesEXP-312
OSEEOffensive Security Exploitation ExpertAWEAdvanced Windows ExploitationEXP-401
OSCEOffensive Security Certified ExpertCTPCracking the PerimeterN/A
OSDAOffensive Security Defense AnalystSODASecurity Operations and Defensive AnalysisSOC-200
OSTHOffensive Security Threat HuntingTHThreat HuntingTH-200

Community projects

Docker containers:

Mentions

Stargazers over time

Stargazers over time

Credits

Report Templates:

Pandoc Template:

Placeholder image: