GithubHelp home page GithubHelp logo

noraj / oscp-exam-report-template-markdown Goto Github PK

View Code? Open in Web Editor NEW
3.3K 86.0 723.0 3.5 MB

:orange_book: Markdown Templates for Offensive Security OSCP, OSWE, OSCE, OSEE, OSWP exam report

Home Page: https://noraj.github.io/OSCP-Exam-Report-Template-Markdown/

License: MIT License

Ruby 100.00%
oscp offensive-security report oscp-prep reporting-tool pandoc markdown-template markdown markdown-to-pdf exam latex oswe osce osee oswp exam-report

oscp-exam-report-template-markdown's Introduction

Offensive Security Exam Report Template in Markdown

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 exam!

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

  • πŸš€ Speed up writing, don't lose time during the 24 hours of exam report redaction
  • ⭐ No formatting hassle with WYSIWYG editors, byebye unwanted whitespaces and linefeeds from Microsoft Office Word and LibreOffice Writer
  • πŸ“ 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
  • πŸ”’ 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)
  • πŸ–ŠοΈ 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.
  • 🎩 Clean & professional style, a professional looking report for your professional certification
  • πŸ‘Œ 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 texlive-most pandoc p7zip
  • 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

Note: 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.

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.

Color sets

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

titlepage-color titlepage-text-color titlepage-rule-color
DC143C (Crimson) FFFFFF (White) FFFFFF (White)
00FF7F (SpringGreen) 006400 DarkGreen 000000 (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:

Offensive Security course table:

Exam acronym Exam name Lab acronym Lab name Course designation
OSCP Offensive Security Certified Professional PWK Penetration Testing with Kali Linux PEN-200
OSWP Offensive Security Wireless Professional WA Wireless Attacks PEN-210
OSEP Offensive Security Experienced Penetration Tester ETBD Evasion Techniques and Breaching Defenses PEN-300
OSWA Offensive Security Web Assessor WAKL Web Attacks with Kali Linux WEB-200
OSWE Offensive Security Web Expert AWAE Advanced Web Attacks and Exploitation WEB-300
OSED Offensive Security Exploit Developer WUMED Windows User Mode Exploit Development EXP-301
OSMR Offensive Security macOS Researcher MCB macOS Control Bypasses EXP-312
OSEE Offensive Security Exploitation Expert AWE Advanced Windows Exploitation EXP-401
OSCE Offensive Security Certified Expert CTP Cracking the Perimeter N/A
OSDA Offensive Security Defense Analyst SODA Security Operations and Defensive Analysis SOC-200

Community projects

Docker containers:

Mentions

Stargazers over time

Stargazers over time

Credits

Report Templates:

Pandoc Template:

Placeholder image:

oscp-exam-report-template-markdown's People

Contributors

aress31 avatar butteroverfl0w avatar epi052 avatar jwhenry28 avatar noraj avatar r518 avatar reversebrain avatar sect0uch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oscp-exam-report-template-markdown's Issues

Unnecessary packages - texlive

On a debian-based system, texlive-full downloads a huge set of packages, and most of which are not necessary to generate the report.

The following command should install all the "necessary" packages on a debian-based system in order to generate the report:

sudo apt-get install pandoc texlive-fonts-extra texlive-latex-extra texlive-latex-recommended texlive-latex-base p7zip-full

This cuts the download size by ~4.6x (from +3GB to ~700MB) . It also cuts the disk space usage by ~3x (from +6GB to ~2GB).

New OSEP template

Ey, I just modified your OSEP template for my report in a way I felt follows more the flow of the attack during the exam and wanted to share it with you as might be is useful to others as well.

The template itself is here:

https://github.com/ceso/ceso.github.io/blob/master/files/osep/OSEP_report_template.md

And a built pdf example from it here:

https://github.com/ceso/ceso.github.io/blob/master/files/osep/OSEP_report_EXAMPLE.pdf

Regards!

Insert Image

What is the correct syntax of adding an image? I am using ![](src/img/abc.png) but I dont know how to resize/scale it and generally put it in the correct place. Thanks in advance!!

Unnecessary files in .7z zip

Hi, not sure if I've made a mistake with the archive generation, but after running ruby generate.rb and creating the .7z file, I find that the archive contains not only my PDF report, but also all other files in the repository (including generate.rb, src/, etc) end up in the archive.

Per the exam guide, only the PDF is permitted in the .7z, and I've clarified with Offsec support about this via email.

Images from Obsidian markdown not beign rendered.

Hi, I added the --resource-path to the folder where my images are stored, but the resultant PDF still not showing the images.

I'm using Obsidian as markdown editor, it add images with this syntax:

![[Screenshot 2023-05-18 021312.png]]

The path where those images are is /home/kali/report

So I edited pandoc command line from the osert.rb script and added:

--resource-path=.:/home/kali/report/Final-Report \

So the whole command looks like this:

    `pandoc #{input} -o #{pdf} \
      --from markdown+yaml_metadata_block+raw_html \
      --template eisvogel \
      --table-of-contents \
      --toc-depth 6 \
      --number-sections \
      --top-level-division=chapter \
      --highlight-style #{style} \
      --resource-path=.:/home/kali/report \
      --resource-path=.:/usr/share/osert/src
    `

The report shows the images as [[Screenshot a 2023-05-17 164829.png]] literally.

What I'm doing wrong?

Image inclusion tips

How do you use this when you want to easily copy paste the screenshots you have taken (which is in cherry tree right now) I have tried atom markdown editor with the image paste plugin but that doesn't work.

LaTeX Error: Too deeply nested

When there are too many indentation levels (lists more than 6 levels deep)
pandoc fails to generate a pdf and exit with the above error.

[Feature Request] Python Script

It would be good to add a python3 version of the generate tool. Python3 is much widely distributed and has a large developer base than ruby, therefore this would make it a more obvious choice for the automating script.

Happy to work on this feature and open a PR if that's something you would agree with. ☺️

Very long strings in code blocks run off end of page

When using code blocks with very long strings (example image attached), the strings eventually wrap, but do so after the end of the block, spilling over into the white pat of the page. I have looked up this issue in pandoc and the eisvogel template, and it appears that there is a workaround in the .tex file (at line 337) but it does not work completely. Does anyone have a workaround for the workaround?

code_block

OSCP - ZIP file and typo

Hi noraj,

The OSCP exam guide was updated and it is no longer needed to compress the file with a password:
https://help.offensive-security.com/hc/en-us/articles/360040165632-OSCP-Exam-Guide

image

There is a typo in the template OSCP-exam-report-template_whoisflynn_v3.2.md:

After collecting trophies from the exam network was completed, Alec removed all user accounts and passwords as well as the Meterpreter services installed on the system.

Alec is the student's name and should be replaced by I.

Need help! LaTeX TexLive package is so large.

Hi,

After doing a lot of research I found this repository and I found it really good and simple to use, I quickly started writing my reports using markdown πŸ˜†

Now after writing one report I decided to create a PDF file and found that I have to install TeX Live which is taking so much time due to its large download size, I'm curious if there is any other way two generate the PDF.

How you are installing Tex Live?

I am following this doc to install Tex Live http://www.tug.org/texlive/quickinstall.html

Tried to creat a PDF file from testing.md file without installing Tex Live and got this error

root@kali:~/OSCP-Exam-Report-Template-Markdown# pandoc testing.md -o testing.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
Error producing PDF.
! LaTeX Error: File `scrbook.cls' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: cls)

Enter file name: 
! Emergency stop.
<read *> 
         
l.53 \usepackage

OS info

root@kali:~/ uname -a
Linux kali 4.19.0-kali3-amd64

Installing Tex Live I canceled the installation process after seeing 222:36:22 remaining time 😐

root@kali:~/install-tl-unx/install-tl-20190819# ./install-tl
======================> TeX Live installation procedure <=====================

======>   Letters/digits in <angle brackets> indicate   <=======
======>   menu items for actions or customizations      <=======

 Detected platform: GNU/Linux on x86_64
 
 <B> set binary platforms: 1 out of 16

 <S> set installation scheme: scheme-full

 <C> set installation collections:
     40 collections out of 41, disk space required: 6189 MB

 <D> set directories:
   TEXDIR (the main TeX directory):
     /usr/local/texlive/2019
   TEXMFLOCAL (directory for site-wide local files):
     /usr/local/texlive/texmf-local
   TEXMFSYSVAR (directory for variable and automatically generated data):
     /usr/local/texlive/2019/texmf-var
   TEXMFSYSCONFIG (directory for local config):
     /usr/local/texlive/2019/texmf-config
   TEXMFVAR (personal directory for variable and automatically generated data):
     ~/.texlive2019/texmf-var
   TEXMFCONFIG (personal directory for local config):
     ~/.texlive2019/texmf-config
   TEXMFHOME (directory for user-specific files):
     ~/texmf

 <O> options:
   [ ] use letter size instead of A4 by default
   [X] allow execution of restricted list of programs via \write18
   [X] create all format files
   [X] install macro/font doc tree
   [X] install macro/font source tree
   [ ] create symlinks to standard directories

 <V> set up for portable installation

Actions:
 <I> start installation to hard disk
 <P> save installation profile to 'texlive.profile' and exit
 <H> help
 <Q> quit

Enter command: I
Installing to: /usr/local/texlive/2019
Installing [0001/3835, time/total: ??:??/??:??]: 12many [376k]
Installing [0002/3835, time/total: 02:31/339:24:21]: 2up [66k]
Installing [0003/3835, time/total: 02:43/312:00:38]: Asana-Math [662k]
Installing [0004/3835, time/total: 05:02/231:01:27]: ESIEEcv [137k]
Installing [0005/3835, time/total: 05:27/222:36:22]: FAQ-en [4971k]

^C

Thank you for sharing this template I hope I will use it as well πŸ’“

Manual example typo (minor issue)

On the Manual example on the Readme page, the command is missing a \ on --highlight-style breezedark line.

Current:

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

Fix:

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

Links Broken

All the hyperlink that you have provided are broken

Modify script to allow for separate lab and exam reports

It would be useful if the script could take both a lab report and an exam report, generate and archive them both, right now this isn't possible because of the interactive nature of the script limiting it to just one template and overwriting the archive.

error

had to remove a bunch of pandoc options from command to get output.

Error producing PDF.
! Undefined control sequence.
l.332 \frontmatter

PDF Failing to Generate

Script is running and producing the following error, coupled with an empty .7z file.

ruby generate.rb             
Choose a template:
0. [OSCP] whoisflynn improved template v3.2
1. [OSCP] official Offensive Security template v1
2. [OSWE] official Offensive Security template v1
3. [OSWE] noraj improved template v1
4. [OSCE] official Offensive Security template v1
5. [OSEE] official Offensive Security template v1
6. [OSWP] official Offensive Security template v1
0
Enter your OS id
OS-12345
Choose syntax highlight style [breezedark]

breezedark
Generating report...
Error producing PDF.
! Too many }'s.
\FNH@check@a ...tnotes \expandafter \@gobble \fi }
                                                  {}}\@secondoftwo \scantoke...
l.302 \begin{document}

Generating archive...

WARNING: No more files
/home/kali/oscp/OSCP-Exam-Report-Generator/output/OSCP-OS-12345-Exam-Report.pdf

Do you want to add an external lab report? [y/N]
n

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.