risu 1.7.9 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/LICENSE +1 -1
- data/README.markdown +16 -8
- data/Rakefile +12 -3
- data/bin/risu +2 -2
- data/docs/NEWS.markdown +32 -9
- data/lib/risu.rb +2 -2
- data/lib/risu/base.rb +1 -1
- data/lib/risu/base/graph_template_helper.rb +20 -26
- data/lib/risu/base/host_template_helper.rb +17 -23
- data/lib/risu/base/malware_template_helper.rb +18 -24
- data/lib/risu/base/post_process_base.rb +97 -71
- data/lib/risu/base/post_process_manager.rb +3 -3
- data/lib/risu/base/scan_helper.rb +17 -23
- data/lib/risu/base/schema.rb +2 -2
- data/lib/risu/base/shares_template_helper.rb +18 -24
- data/lib/risu/base/template_base.rb +1 -1
- data/lib/risu/base/template_helper.rb +20 -26
- data/lib/risu/base/template_manager.rb +5 -5
- data/lib/risu/base/templater.rb +3 -5
- data/lib/risu/cli.rb +1 -1
- data/lib/risu/cli/application.rb +26 -5
- data/lib/risu/cli/banner.rb +1 -1
- data/lib/risu/exceptions.rb +1 -1
- data/lib/risu/exceptions/invaliddocument.rb +1 -1
- data/lib/risu/graphs.rb +1 -1
- data/lib/risu/graphs/top_vuln_graph.rb +1 -1
- data/lib/risu/graphs/windows_os_graph.rb +1 -1
- data/lib/risu/models.rb +1 -1
- data/lib/risu/models/attachment.rb +1 -1
- data/lib/risu/models/familyselection.rb +1 -1
- data/lib/risu/models/host.rb +13 -13
- data/lib/risu/models/hostproperty.rb +1 -1
- data/lib/risu/models/individualpluginselection.rb +1 -1
- data/lib/risu/models/item.rb +7 -7
- data/lib/risu/models/patch.rb +1 -1
- data/lib/risu/models/plugin.rb +1 -1
- data/lib/risu/models/pluginspreference.rb +1 -1
- data/lib/risu/models/policy.rb +1 -1
- data/lib/risu/models/reference.rb +1 -1
- data/lib/risu/models/report.rb +2 -2
- data/lib/risu/models/serverpreference.rb +1 -1
- data/lib/risu/models/servicedescription.rb +1 -1
- data/lib/risu/models/version.rb +1 -1
- data/lib/risu/parsers.rb +1 -1
- data/lib/risu/parsers/nessus/nessus_document.rb +1 -1
- data/lib/risu/parsers/nessus/nessus_sax_listener.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/7zip.rb +46 -0
- data/lib/risu/parsers/nessus/postprocess/adobe_acrobat.rb +8 -1
- data/lib/risu/parsers/nessus/postprocess/adobe_air.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/adobe_reader.rb +5 -3
- data/lib/risu/parsers/nessus/postprocess/apache.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/apache_tomcat.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/apple_itunes.rb +2 -1
- data/lib/risu/parsers/nessus/postprocess/apple_quicktime.rb +26 -3
- data/lib/risu/parsers/nessus/postprocess/blackberry_enterprise_server.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/ca_brightstor_arcserve.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/cisco_anyconnect.rb +5 -1
- data/lib/risu/parsers/nessus/postprocess/cisco_ios.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/core_ftp.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/db2.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/downgrade_plugins.rb +3 -2
- data/lib/risu/parsers/nessus/postprocess/filezilla.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/firefox.rb +3 -1
- data/lib/risu/parsers/nessus/postprocess/flash_player.rb +29 -26
- data/lib/risu/parsers/nessus/postprocess/flexnet.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/foxit_phantom_pdf.rb +46 -0
- data/lib/risu/parsers/nessus/postprocess/foxit_reader.rb +11 -8
- data/lib/risu/parsers/nessus/postprocess/google_chrome.rb +11 -1
- data/lib/risu/parsers/nessus/postprocess/hp_system_mgt_homepage.rb +2 -1
- data/lib/risu/parsers/nessus/postprocess/irfanview.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/java.rb +3 -1
- data/lib/risu/parsers/nessus/postprocess/libreoffice.rb +3 -2
- data/lib/risu/parsers/nessus/postprocess/openoffice.rb +3 -1
- data/lib/risu/parsers/nessus/postprocess/openssh.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/openssl.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/oracle_database.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/php.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/post_process.rb +2 -2
- data/lib/risu/parsers/nessus/postprocess/real_player.rb +53 -0
- data/lib/risu/parsers/nessus/postprocess/risk_score.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/root_cause.rb +2 -3
- data/lib/risu/parsers/nessus/postprocess/servu.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/shockwave.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/sigplus_pro.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/skype.rb +46 -0
- data/lib/risu/parsers/nessus/postprocess/symantec_endpoint.rb +52 -0
- data/lib/risu/parsers/nessus/postprocess/symantec_pcanywhere.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/timbuktu.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/vlc.rb +12 -9
- data/lib/risu/parsers/nessus/postprocess/vmware_esxi.rb +9 -2
- data/lib/risu/parsers/nessus/postprocess/vmware_player.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/vmware_vcenter.rb +2 -2
- data/lib/risu/parsers/nessus/postprocess/vmware_vsphere_client.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/windows.rb +751 -705
- data/lib/risu/parsers/nessus/postprocess/winscp.rb +1 -1
- data/lib/risu/parsers/nessus/postprocess/wireshark.rb +2 -1
- data/lib/risu/parsers/nexpose/nexpose_document.rb +1 -1
- data/lib/risu/parsers/nexpose/simple_nexpose.rb +1 -1
- data/lib/risu/renderers.rb +1 -1
- data/lib/risu/renderers/csvrenderer.rb +3 -3
- data/lib/risu/renderers/nilrenderer.rb +1 -1
- data/lib/risu/renderers/pdfrenderer.rb +4 -5
- data/lib/risu/template_helpers.rb +1 -1
- data/lib/risu/templates/assets.rb +3 -3
- data/lib/risu/templates/authentication_summary.rb +34 -5
- data/lib/risu/templates/cover_sheet.rb +3 -6
- data/lib/risu/templates/exec_summary.rb +12 -4
- data/lib/risu/templates/executive_summary_detailed.rb +3 -3
- data/lib/risu/templates/exploitablity_summary.rb +3 -3
- data/lib/risu/templates/failed_audits.rb +20 -26
- data/lib/risu/templates/finding_statistics.rb +3 -3
- data/lib/risu/templates/findings_host.rb +3 -3
- data/lib/risu/templates/findings_summary.rb +5 -5
- data/lib/risu/templates/findings_summary_with_pluginid.rb +5 -5
- data/lib/risu/templates/graphs.rb +3 -3
- data/lib/risu/templates/host_findings_csv.rb +3 -3
- data/lib/risu/templates/host_summary.rb +3 -3
- data/lib/risu/templates/malicious_process_detection.rb +3 -3
- data/lib/risu/templates/missing_root_causes.rb +3 -3
- data/lib/risu/templates/ms_patch_summary.rb +3 -3
- data/lib/risu/templates/ms_update_summary.rb +3 -3
- data/lib/risu/templates/ms_wsus_findings.rb +19 -26
- data/lib/risu/templates/notable.rb +3 -3
- data/lib/risu/templates/notable_detailed.rb +3 -3
- data/lib/risu/templates/pci_compliance.rb +3 -3
- data/lib/risu/templates/stig_findings_summary.rb +3 -3
- data/lib/risu/templates/talking_points.rb +5 -31
- data/lib/risu/templates/technical_findings.rb +3 -3
- data/lib/risu/templates/template.rb +3 -3
- data/lib/risu/templates/top_25.rb +3 -3
- data/lib/risu/version.rb +6 -5
- data/risu.gemspec +9 -7
- metadata +49 -20
- metadata.gz.sig +2 -0
- data/Gemfile.lock +0 -148
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -78,6 +78,7 @@ module Risu
|
|
78
78
|
89103,
|
79
79
|
90786,
|
80
80
|
90787,
|
81
|
+
92817,
|
81
82
|
|
82
83
|
|
83
84
|
]
|
data/lib/risu/renderers.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -25,14 +25,14 @@ module Risu
|
|
25
25
|
|
26
26
|
# @TODO comment
|
27
27
|
#
|
28
|
-
def self.generate
|
28
|
+
def self.generate output_file, &block
|
29
29
|
#csv = new(output_file, &block)
|
30
30
|
return new(output_file, &block)
|
31
31
|
end
|
32
32
|
|
33
33
|
# @TODO comment
|
34
34
|
#
|
35
|
-
def initialize
|
35
|
+
def initialize output_file, &block
|
36
36
|
@output_file = output_file
|
37
37
|
instance_eval(&block)
|
38
38
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -23,10 +23,9 @@ module Risu
|
|
23
23
|
module Renderers
|
24
24
|
class PDFRenderer
|
25
25
|
|
26
|
-
#@TODO
|
27
|
-
def initialize
|
28
|
-
|
29
|
-
|
26
|
+
#@TODO
|
27
|
+
def initialize
|
28
|
+
|
30
29
|
end
|
31
30
|
|
32
31
|
# @TODO comment
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -24,7 +24,7 @@ module Risu
|
|
24
24
|
class AssetsTemplate < Risu::Base::TemplateBase
|
25
25
|
include TemplateHelper
|
26
26
|
|
27
|
-
def initialize
|
27
|
+
def initialize
|
28
28
|
@template_info =
|
29
29
|
{
|
30
30
|
:name => "assets",
|
@@ -35,7 +35,7 @@ module Risu
|
|
35
35
|
}
|
36
36
|
end
|
37
37
|
|
38
|
-
def render
|
38
|
+
def render output
|
39
39
|
text Report.classification.upcase, :align => :center
|
40
40
|
text "\n"
|
41
41
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -25,12 +25,12 @@ module Risu
|
|
25
25
|
include TemplateHelper
|
26
26
|
|
27
27
|
#
|
28
|
-
def initialize
|
28
|
+
def initialize
|
29
29
|
@template_info =
|
30
30
|
{
|
31
31
|
:name => "authentication_summary",
|
32
32
|
:author => "hammackj",
|
33
|
-
:version => "0.0.
|
33
|
+
:version => "0.0.2",
|
34
34
|
:renderer => "PDF",
|
35
35
|
:description => "Generates a Authentication Summary Report"
|
36
36
|
}
|
@@ -38,7 +38,7 @@ module Risu
|
|
38
38
|
|
39
39
|
#
|
40
40
|
#
|
41
|
-
def render
|
41
|
+
def render output
|
42
42
|
@output.text Report.classification.upcase, :align => :center
|
43
43
|
@output.text "\n"
|
44
44
|
|
@@ -52,6 +52,35 @@ module Risu
|
|
52
52
|
@output.text "#{Report.scan_date}"
|
53
53
|
@output.text "\n"
|
54
54
|
|
55
|
+
|
56
|
+
credentialied_scans = HostProperty.where(:name => "Credentialed_Scan")
|
57
|
+
auth = []
|
58
|
+
unauth = []
|
59
|
+
|
60
|
+
credentialied_scans.each do |s|
|
61
|
+
if s.value == "true"
|
62
|
+
auth.push(s.host_id)
|
63
|
+
else
|
64
|
+
unauth.push(s.host_id)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
auth_hosts = []
|
69
|
+
|
70
|
+
auth.each do |h|
|
71
|
+
auth_hosts.push Host.find(h).ip
|
72
|
+
end
|
73
|
+
|
74
|
+
@output.text "Authenticated Count:", :style => :bold
|
75
|
+
@output.text "#{auth.size}"
|
76
|
+
@output.text "\n"
|
77
|
+
@output.text "#{auth_hosts.join(", ")}"
|
78
|
+
@output.text "\n"
|
79
|
+
|
80
|
+
@output.text "UnAuthenticated Count:", :style => :bold
|
81
|
+
@output.text "#{unauth.size}"
|
82
|
+
@output.text "\n"
|
83
|
+
|
55
84
|
results = Array.new
|
56
85
|
|
57
86
|
headers = ["Hostname", "OS", "Authenticated"]
|
@@ -65,7 +94,7 @@ module Risu
|
|
65
94
|
if host.host_properties.where(:name => "Credentialed_Scan").first != nil
|
66
95
|
authenticated = host.host_properties.where(:name => "Credentialed_Scan").first.value
|
67
96
|
end
|
68
|
-
|
97
|
+
|
69
98
|
os = host.os
|
70
99
|
|
71
100
|
host_name = host.name
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -24,7 +24,7 @@ module Risu
|
|
24
24
|
class CoverSheet < Risu::Base::TemplateBase
|
25
25
|
include TemplateHelper
|
26
26
|
|
27
|
-
def initialize
|
27
|
+
def initialize
|
28
28
|
@template_info =
|
29
29
|
{
|
30
30
|
:name => "cover_sheet",
|
@@ -35,7 +35,7 @@ module Risu
|
|
35
35
|
}
|
36
36
|
end
|
37
37
|
|
38
|
-
def render
|
38
|
+
def render output
|
39
39
|
output.image "#{File.expand_path(File.dirname(__FILE__))}/data/nessuslogo.jpg", :scale => 0.2, :position => :left, :vposition => :top
|
40
40
|
|
41
41
|
text "\n"
|
@@ -83,6 +83,3 @@ module Risu
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
end
|
86
|
-
|
87
|
-
|
88
|
-
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -26,7 +26,7 @@ module Risu
|
|
26
26
|
|
27
27
|
#
|
28
28
|
#
|
29
|
-
def initialize
|
29
|
+
def initialize
|
30
30
|
@template_info =
|
31
31
|
{
|
32
32
|
:name => "exec_summary",
|
@@ -39,7 +39,7 @@ module Risu
|
|
39
39
|
|
40
40
|
#
|
41
41
|
#
|
42
|
-
def render
|
42
|
+
def render output
|
43
43
|
output.text Report.classification.upcase, :align => :center
|
44
44
|
output.text "\n"
|
45
45
|
|
@@ -53,8 +53,16 @@ module Risu
|
|
53
53
|
output.text "#{Report.scan_date}"
|
54
54
|
output.text "\n"
|
55
55
|
|
56
|
-
output.text "This report contains the results of a security audit performed on #{Report.scan_date}.
|
56
|
+
output.text "This report contains the results of a security audit performed on #{Report.scan_date}."
|
57
57
|
|
58
|
+
if Report.owner.nil? or Report.network.nil? or Report.location.nil?
|
59
|
+
output.text "It contains confidential information about the state of your network."
|
60
|
+
else
|
61
|
+
output.text "It contains confidential information about the state of #{Report.owner}'s #{Report.network} network at #{Report.location}."
|
62
|
+
end
|
63
|
+
|
64
|
+
output.text "Access to this information by unauthorized personnel may allow them to compromise said network.\n\n"
|
65
|
+
|
58
66
|
output.text "A total of #{Host.count} hosts were found and scanned for vulnerabilities.\n\n"
|
59
67
|
|
60
68
|
output.text "There were #{Item.risks.count} vulnerabilities found during this scan. Of these, #{Item.critical_risks.count} were critical vulnerabilities,#{Item.high_risks.count} were high vulnerabilities, #{Item.medium_risks.count} were medium vulnerabilities, #{Item.low_risks.count} were low vulnerabilities and #{Item.info_risks.count} were information findings.\n\n"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -25,7 +25,7 @@ module Risu
|
|
25
25
|
|
26
26
|
#
|
27
27
|
#
|
28
|
-
def initialize
|
28
|
+
def initialize
|
29
29
|
@template_info =
|
30
30
|
{
|
31
31
|
:name => "exec_summary_detailed",
|
@@ -38,7 +38,7 @@ module Risu
|
|
38
38
|
|
39
39
|
#
|
40
40
|
#
|
41
|
-
def render
|
41
|
+
def render output
|
42
42
|
output.font_size 10
|
43
43
|
output.font "Times-Roman"
|
44
44
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -25,7 +25,7 @@ module Risu
|
|
25
25
|
include TemplateHelper
|
26
26
|
|
27
27
|
#
|
28
|
-
def initialize
|
28
|
+
def initialize
|
29
29
|
@template_info =
|
30
30
|
{
|
31
31
|
:name => "exploitablity_summary",
|
@@ -38,7 +38,7 @@ module Risu
|
|
38
38
|
|
39
39
|
# Generates a report with 4 Tables of findings showing which exploit
|
40
40
|
# framework has a exploit for the vulnerable finding.
|
41
|
-
def render
|
41
|
+
def render output
|
42
42
|
report_classification
|
43
43
|
|
44
44
|
report_title Report.title
|
@@ -1,28 +1,22 @@
|
|
1
|
-
# Copyright (c) 2010-
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
module Risu
|
28
22
|
module Templates
|
@@ -31,7 +25,7 @@ module Risu
|
|
31
25
|
|
32
26
|
# Initializes the template loading meta data
|
33
27
|
#
|
34
|
-
def initialize
|
28
|
+
def initialize
|
35
29
|
@template_info =
|
36
30
|
{
|
37
31
|
:name => "failed_audits",
|
@@ -53,7 +47,7 @@ module Risu
|
|
53
47
|
|
54
48
|
# Called during the rendering process
|
55
49
|
#
|
56
|
-
def render
|
50
|
+
def render output
|
57
51
|
text Report.classification.upcase, :align => :center
|
58
52
|
text "\n"
|
59
53
|
|
@@ -69,7 +63,7 @@ module Risu
|
|
69
63
|
|
70
64
|
Host.all.each do |h|
|
71
65
|
print_header(20, "#{h.name} (#{h.ip})", "000000")
|
72
|
-
|
66
|
+
|
73
67
|
if h.items.where(:cm_compliance_result => "FAILED").count > 0
|
74
68
|
data = [["Name", "Policy", "Value"]]
|
75
69
|
h.items.where(:cm_compliance_result => "FAILED").each do |cm|
|
@@ -82,7 +76,7 @@ module Risu
|
|
82
76
|
end
|
83
77
|
text "\n"
|
84
78
|
|
85
|
-
elsif h.items.where(:cm_compliance_result => "PASSED").count > 0
|
79
|
+
elsif h.items.where(:cm_compliance_result => "PASSED").count > 0
|
86
80
|
text "Host passed all audits."
|
87
81
|
else
|
88
82
|
text "Audits were not conducted on host."
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -25,7 +25,7 @@ module Risu
|
|
25
25
|
|
26
26
|
#
|
27
27
|
#
|
28
|
-
def initialize
|
28
|
+
def initialize
|
29
29
|
@template_info =
|
30
30
|
{
|
31
31
|
:name => "finding_statistics",
|
@@ -38,7 +38,7 @@ module Risu
|
|
38
38
|
|
39
39
|
#
|
40
40
|
#
|
41
|
-
def render
|
41
|
+
def render output
|
42
42
|
output.text Report.classification.upcase, :align => :center
|
43
43
|
output.text "\n"
|
44
44
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -25,7 +25,7 @@ module Risu
|
|
25
25
|
|
26
26
|
#
|
27
27
|
#
|
28
|
-
def initialize
|
28
|
+
def initialize
|
29
29
|
@template_info =
|
30
30
|
{
|
31
31
|
:name => "findings_host",
|
@@ -38,7 +38,7 @@ module Risu
|
|
38
38
|
|
39
39
|
#
|
40
40
|
#
|
41
|
-
def render
|
41
|
+
def render output
|
42
42
|
@output.font_size 10
|
43
43
|
|
44
44
|
report_classification
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2010-
|
1
|
+
# Copyright (c) 2010-2017 Jacob Hammack.
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -24,7 +24,7 @@ module Risu
|
|
24
24
|
class FindingsSummary < Risu::Base::TemplateBase
|
25
25
|
include TemplateHelper
|
26
26
|
|
27
|
-
def initialize
|
27
|
+
def initialize
|
28
28
|
@template_info =
|
29
29
|
{
|
30
30
|
:name => "findings_summary",
|
@@ -35,7 +35,7 @@ module Risu
|
|
35
35
|
}
|
36
36
|
end
|
37
37
|
|
38
|
-
def print_risk_title
|
38
|
+
def print_risk_title text, color
|
39
39
|
@output.font_size(20) do
|
40
40
|
@output.fill_color color.gsub('#', '')
|
41
41
|
@output.text text, :style => :bold
|
@@ -43,7 +43,7 @@ module Risu
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
def print_risk_summary
|
46
|
+
def print_risk_summary risks, text, color
|
47
47
|
print_risk_title(text, color) if risks.length != 0
|
48
48
|
|
49
49
|
risks.each do |item|
|
@@ -54,7 +54,7 @@ module Risu
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
def render
|
57
|
+
def render output
|
58
58
|
text Report.classification.upcase, :align => :center
|
59
59
|
text "\n"
|
60
60
|
|