class Risu::Templates::ExploitablitySummary

Public Class Methods

new() click to toggle source
# File lib/risu/templates/exploitablity_summary.rb, line 28
def initialize
        @template_info =
        {
                :name => "exploitablity_summary",
                :author => "hammackj",
                :version => "0.0.1",
                :renderer => "PDF",
                :description => "Generates a Exploitablity Summary Report"
        }
end

Public Instance Methods

render(output) click to toggle source

Generates a report with 4 Tables of findings showing which exploit framework has a exploit for the vulnerable finding.

# File lib/risu/templates/exploitablity_summary.rb, line 41
def render output
        report_classification

        report_title Report.title
        report_subtitle "Exploitablity Summary Report"
        report_author "This report was prepared by\n#{Report.author}"

        @output.text "\n\n\n"

        @output.text "Scan Date:", :style => :bold
        @output.text "#{Report.scan_date}"
        @output.text "\n"

        headers = ["Vulnerability", "Total", "Core", "Metasploit", "Canvas", "ExploitHub", "d2"]
        header_widths = {0 => 230, 1 => 38, 2 => 38, 3 => 64, 4 => 48, 5 => 62, 6 => 32}

        heading1 "Critical Findings"
        table headers, header_widths, Item.exploitablity_matrix(Item.critical_risks_unique_sorted)
        new_page

        heading1 "High Findings"
        table headers, header_widths, Item.exploitablity_matrix(Item.high_risks_unique_sorted)
        new_page

        heading1 "Medium Findings"
        table headers, header_widths, Item.exploitablity_matrix(Item.medium_risks_unique_sorted)
        new_page

        heading1 "Low Findings"
        table headers, header_widths, Item.exploitablity_matrix(Item.low_risks_unique_sorted)
        new_page

        @output.number_pages "<page> of <total>", :at => [output.bounds.right - 75, 0], :width => 150, :page_filter => :all
end