Pen2Doc

Have you ever wanted to take your pentest results and turn them into .docx-editable file with your custom template? Look no further, Pen2Doc will solve exactly that and more reporting problems for you.

This is the new tool that will greatly simplify your never ending burden of creating good looking reports from you penetration test tools’ result files. Simply import the result files into Pen2Doc and click ‘Create report’, Done! Couldn’t be any simpler than that.

The fact that Pen2Doc actually creates .docx-files gives you the full posibility to edit any results to your liking, or why not include that screenshot that you always wished was possible!

Start with creating a .docx-template that has all the report sections you’d like, add a good looking header and/or footer and feed the template to Pen2Doc along with the result files. See the bottom of this page for more details on template creation.

Usage

Everyone is free to try out this application during the public beta period, which ends 1st of June 2017. All usage of this version of the application is prohibited after the public beta period has ended. The application will auto expire on this date. Any reverse engineering to make the application run anyway is prohibited and no consent to do so will be given.

The application will become licensed after the beta period have ended and means to purchase a valid license will be made ready in good time before the public beta period runs out. Don’t hesitate to try it out before that!

Download

Feedback and bug reports

Please send any feedback or bug reports to feedback.pen2doc@hexbit.se

Proper forums are coming, please use the mentioned mail address until then.

Limits in the public beta:

  • It will stop working after 1 June 2017
    • The date is hard coded is probably very easy to change even without advanced reversing skills. We do however not allow nor accept this! Please use responsibly, and remember that the coming full version will be decently priced.
  • The public beta, so far, has only support for Tenable Nessus result files in .nessus format. Nmap and Burp are expected soon and more will be added after that. We do however need some input on how to mix the results between the tools, or if they should be kept in separate report sections.
  • Generated documents will always be saved in the same folder as Pen2Doc was run from, and will always be named demo.docx
  • No possibility to edit any configuration properties, only the template file can be changed.

Prominent features:

  • Several report sections
    • Host score summary
    • Vulnerability score summary
    • Vulnerability details by host
    • Vulnerability details by vulnerability
  • Filter vulnerabilities based on risk level
  • Include several report files in one single report
  • Output stripping
  • Blacklisting (Not available in the beta but already implemented)
    • Blacklist specific vulnerabilities that you don’t want to appear in the report
    • Blacklist specific vulnerability results that you don’t want to appear in the report
  • Configurable vulnerability icon symbol and colours (Not available in the beta but already implemented)
  • Configurable .docx chapter levels (Not available in the beta but already implemented)
    • What heading levels that should be used for the different report sections
      Chapter headings will use Heading 1
      Sub chapters headings will use Heading 2
      Detail chapter headings will use Heading 8
      Sub detail chapter headings will use Heading 9
      Heading 8 and 9 are used here to support not including these in the report’s table of contents which otherwise can make the TOC very long

Report Sections

Host score summary

The host score summary section will list a sum all identified risk levels per host, as well as a total risk score for the host. The summary is sorted with the host with the highest risk score in the top in descending order.

Example:

Vulnerbaility score summary

The vulnerability score summary is a list of all identified vulnerabilities with a count on how many times each vulnerability was identified. The list is sorted with the most identified vulnerability in the top in descending order grouped by risk level. This means that critical vulnerbailities will always come before high risk vulnerabilities even if a specific high risk vulnerability scores higher than a critical risk vulnerability.

Example:

Vulnerability details by host

This section with list all vulnerabilties grouped by host. There will be a chapter created with heading level 8 per host, the resulting vulnerabilities will use heading level 9.

Example:

Vulnerability details by vulnerability

This section will list all vulnerbilities group by vulnerability. One chapter will be created per vulnerability using heading level 8.

Example:

Filter vulnerabilities based on risk level

Simply check or uncheck which the risk levels that you want to appear in the final report. It is sometimes nice to filter out informational findings to limit the report size. Or why not generate an appendix containing only the informationals. It is a known limitation that very long reports +10.000 pages will be hard on your favourite .docx editor. Filtering can be useful when this happens.

Include several report files in one single report

A very interresting feature in Pen2Doc is that it is possible to generate reports using several result files as input. This gives you the advantage to actually being able to generate one report after having scanned separate subnets, that you weren’t able to scan in one go. Or any other reason that forced you to have to split the scan into separate runs. Just remember to order the result files properly, particularly if the same host appear in more than one result file. The results in the last file will always overwrite previous results for such hosts. The tool will send out a warning when this happens, use the Up and Down buttons to re-order the result files.

Output stripping

Nessus sometimes generates extra line feeds that just take up space in the report. There are also sometimes both leading and trailing spaces and/or linefeeds in the detailed result. Pen2Doc does it’s best to strip all this from the detailed results to save space in the final report, without impacting readability. It is infact so subtle that is almost not noticable that it happened.

Template creation

There are some specific formats that have to be included in the report template. The templates included in the zip-file will have all the formats in them already and should be a good start for generating custom templates.

  • hrm_minimal_space
    This format is used to create a very short space between report sections. It is never used to actually write any text in the report so any font face can be used, it should preferrably be kept very small. Default size is 1px.
  • hrm_vuln_detail_output
    This is a table format that is used to write host output in the vulnerability details.
  • hrm_vuln_detail
    This format it used to write running text in the vulnerability details. Default is Garamond 11px.
  • hrm_host_info
    This is a table format that is used for outputting host summary information in the Vulnerability details by host section
  • hrm_vuln_info
    This is a table format that is used to output vulnerability summary information in both the Vulnerability details by host and by vulnerability sections
  • hrm_table_symbol_legend
    This is a table format that is  used to output the symbol legend in the Vulnerbility score summary section
  • hrm_score_summary
    This is a table format that is used to output the tables used in the Host and Vulnerbility score summary sections.

Third party license information

python-docx LICENSE

The MIT License (MIT)
Copyright (c) 2013 Steve Canny, https://github.com/scanny

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ”Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ”AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

PySide LICENSE

PySide has been published as a response to the lack of suitably licensed Qt bindings for Python. PySide is licensed under the LGPL version 2.1 license, allowing both Free/Open source software and proprietary software development.

lxml LICENSE

Copyright (c) 2004 Infrae. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Infrae nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ”AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INFRAE OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.