PWNDOC — COMPLETE GUIDE

Skandashield
6 min readApr 30, 2021

--

A detailed explanation of the tool and installation process

By Devi Jagannath, Dr. Sibi Chakkaravarthy S and G.Deepak

PWNDOC Reports

INTRODUCTION

PwnDoc is a pentest reporting application making it simple and easy to write your findings and generate a customizable Docx report. The main goal is to have more time to Pwn and less time to Doc by mutualizing data like vulnerabilities between users.

FEATURES

1. Multiple Language support

2. Multiple Data support

3. Great Customization

● Manage reusable Audit and Vulnerability Data

● Create Custom Sections

● Add custom fields to Vulnerabilities

4. Vulnerabilities Management

5. Multi-User reporting

6. Docx Report Generation

7. Docx Template customization

WHY USE PWNDOC TO GENERATE AUDIT REPORTS

  1. Easy to use and we can spend less time on documenting and more time on pwn.

2. Highly customizable.

3. Friendly user interface to manage things at a single point.

PREREQUISITES

  1. Git
  2. Docker-compose (Installation is covered in installation procedure)

HOW TO INSTALL

Follow the below steps to install it from scratch [PwnDoc uses 3 containers: the backend, the frontend, and the database.]

  1. sudo su (To get admin privileges)
sudo su

2. sudo curl -L “https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname-s)-$(uname -m)” -o /usr/local/bin/docker-compose

GitHub docker-compose file

3. sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose

4. sudo chmod +x /usr/bin/docker-compose

5. git clone https://github.com/pwndoc/pwndoc.git

6. cd pwndoc/

7. sudo docker-compose up -d — build [To build and run docker containers]

NOTE: If you are facing any issue download docker in your machine and the above process will take 10–13 min depending on your network speed

8. docker-compose start

9. docker-compose stop

NOTE:

1. Don’t stop now.

2. If you are facing problems in installing, use this link to troubleshoot.

IMPORTANT COMMANDLETS

Commands to Use

docker-compose up -d — build — To build and run docker containers

docker-compose start — To start containers

docker-compose stop — To stop containers

docker-compose down — To remove containers

To update docker files:

docker-compose down

git pull

docker-compose up -d — build

HOW TO USE?

IMPORTANT :

1. Your application will run on: port 8443 [By default]

2. Your API can be accessed on: port 4242 [By default]

3. Application: https://localhost:8443

4. API: https://localhost:4242/api

STEPS :

  1. After successfully installing all the above things open “https://localhost:8443” then it will prompt you to create a new username and password after creating a new ID and password login using the same.
pwndoc

NOTE:

  1. If you are seeing the below screen the replace “http://localhost:8443” to “https://localhost:8443”. [Need to use https]

2. After logging in you’ll be seeing a screen like this

3. We need to set up a template and language to proceed, click on the home page and set the language, and upload the template. [Click here to download template]

4.After creating a template then your screen should look like this.

NOTE: We are using this template to create a number of different audit reports.

5. Then click on the vulnerability button and create a vulnerability of your choice, for instance I’m creating a web vulnerability “DomXSS”.

6.Fill in required info about the vulnerability.

7. Then it will be added to the list of vulnerabilities.

8. Now it’s time to create an audit report, for doing this click on the audit button and click on “new audit” button on top right.

9. Give the name of audit, language used and template then cli

10. Then fill in the basic details of the audit like shown below

11. Now add your finding by clicking the “+” against “findings”

12. Add all your findings in the audit and add if you have a network scan report

13. Do “ctrl+s” to save all info and again go to the audits dashboard and down your newly generated report.

14. After clicking that a .docx will get downloaded with “audit results”, In our case, it will be like this.

NOTE:

● Compare the template and generated report to understand the process better.

● If you are deploying it in the cloud the process is the same but you need to make sure required ports are open in inbound rules

If you need to add a custom domain name and ssl follow the below steps

15. To add a domain name with SSL in this deployment. You can use below “docker-compose.traefik.yml” file. Just add this file to pwndoc folder where the “docker-compose.yml” file resides.

16. Change the domain name in the “docker-compose.traefik.yml” file. It has to be updated under “pwndoc-frontend:” service, just look for the word “pwndoc.local” and replace it with your

domain name. Here we are using a free SSL certificate which is provided by Let’s Encrypt SSL. Make a note this certificate is valid for only 90days, it can be renewed before expiry to extend SSL validity. To extend validity you should run the same docker-compose deployment command.

docker-compose -f docker-compose.traefik.yml up -d

17. Create a new “A record” in your domain registry under DNS Management and point it to your server IP address. Below is a DNS Management panel from godaddy

18. To deploy with new file “docker-compose.traefik.yml” use below command

sudo docker-compose -f docker-compose.traefik.yml up -d

19. If the above command proceeds without any error. You can access the pawndoc with your domain name as https://yourdomain.com.

Note for beginners:

Since we shared screenshots from our development system. You may find docker commands without sudo, but it is made for our convenience we have elevated user rights to the current user. Please use sudo prefix as per the above-mentioned commands in this document, for docker and docker-compose sudo prefix is required if you follow the installation method from this document.

REFERENCES

1. https://pwndoc.github.io/pwndoc/#/installation

2. https://www.docker.com/

SKANDASHILED — is a cybersecurity startup working on a Complete Enterprise Security Platform (https://skandashield.com/) for simplifying enterprise cybersecurity.

--

--

Skandashield
Skandashield

No responses yet