risu 1.8.3 → 1.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/Gemfile.lock +159 -0
  5. data/LICENSE +1 -1
  6. data/README.markdown +2 -5
  7. data/Rakefile +1 -1
  8. data/bin/risu +1 -1
  9. data/docs/NEWS.markdown +3 -0
  10. data/lib/risu.rb +2 -2
  11. data/lib/risu/base.rb +1 -1
  12. data/lib/risu/base/graph_template_helper.rb +1 -1
  13. data/lib/risu/base/host_template_helper.rb +2 -1
  14. data/lib/risu/base/malware_template_helper.rb +1 -1
  15. data/lib/risu/base/post_process_base.rb +7 -4
  16. data/lib/risu/base/post_process_manager.rb +1 -1
  17. data/lib/risu/base/scan_helper.rb +1 -1
  18. data/lib/risu/base/schema.rb +10 -3
  19. data/lib/risu/base/shares_template_helper.rb +1 -1
  20. data/lib/risu/base/template_base.rb +1 -1
  21. data/lib/risu/base/template_helper.rb +1 -1
  22. data/lib/risu/base/template_manager.rb +1 -1
  23. data/lib/risu/base/templater.rb +1 -1
  24. data/lib/risu/cli.rb +1 -1
  25. data/lib/risu/cli/application.rb +16 -16
  26. data/lib/risu/cli/banner.rb +1 -1
  27. data/lib/risu/exceptions.rb +1 -1
  28. data/lib/risu/exceptions/invaliddocument.rb +1 -1
  29. data/lib/risu/graphs.rb +1 -1
  30. data/lib/risu/graphs/top_vuln_graph.rb +1 -1
  31. data/lib/risu/graphs/windows_os_graph.rb +1 -1
  32. data/lib/risu/models.rb +2 -1
  33. data/lib/risu/models/attachment.rb +1 -1
  34. data/lib/risu/models/familyselection.rb +1 -1
  35. data/lib/risu/models/host.rb +34 -2
  36. data/lib/risu/models/hostproperty.rb +1 -1
  37. data/lib/risu/models/individualpluginselection.rb +1 -1
  38. data/lib/risu/models/item.rb +248 -20
  39. data/lib/risu/models/nessuspluginmetadata.rb +28 -0
  40. data/lib/risu/models/patch.rb +1 -1
  41. data/lib/risu/models/plugin.rb +1 -1
  42. data/lib/risu/models/pluginspreference.rb +1 -1
  43. data/lib/risu/models/policy.rb +1 -1
  44. data/lib/risu/models/reference.rb +1 -1
  45. data/lib/risu/models/report.rb +1 -1
  46. data/lib/risu/models/serverpreference.rb +1 -1
  47. data/lib/risu/models/servicedescription.rb +1 -1
  48. data/lib/risu/models/version.rb +1 -1
  49. data/lib/risu/parsers.rb +1 -1
  50. data/lib/risu/parsers/nessus/nessus_document.rb +1 -1
  51. data/lib/risu/parsers/nessus/nessus_sax_listener.rb +3 -2
  52. data/lib/risu/parsers/nessus/postprocess.rb +1 -1
  53. data/lib/risu/parsers/nessus/postprocess/7zip.rb +6 -4
  54. data/lib/risu/parsers/nessus/postprocess/adobe_acrobat.rb +48 -54
  55. data/lib/risu/parsers/nessus/postprocess/adobe_air.rb +58 -63
  56. data/lib/risu/parsers/nessus/postprocess/adobe_coldfusion.rb +47 -0
  57. data/lib/risu/parsers/nessus/postprocess/{shockwave.rb → adobe_creative_desktop.rb} +9 -34
  58. data/lib/risu/parsers/nessus/postprocess/adobe_flash_player.rb +175 -0
  59. data/lib/risu/parsers/nessus/postprocess/adobe_reader.rb +73 -55
  60. data/lib/risu/parsers/nessus/postprocess/adobe_shockwave_player.rb +74 -0
  61. data/lib/risu/parsers/nessus/postprocess/apache.rb +38 -33
  62. data/lib/risu/parsers/nessus/postprocess/apache_tomcat.rb +8 -10
  63. data/lib/risu/parsers/nessus/postprocess/apple_icloud.rb +47 -0
  64. data/lib/risu/parsers/nessus/postprocess/apple_itunes.rb +23 -17
  65. data/lib/risu/parsers/nessus/postprocess/apple_quicktime.rb +38 -32
  66. data/lib/risu/parsers/nessus/postprocess/artifex_ghostscript.rb +49 -0
  67. data/lib/risu/parsers/nessus/postprocess/blackberry_enterprise_server.rb +10 -14
  68. data/lib/risu/parsers/nessus/postprocess/ca_brightstor_arcserve.rb +10 -10
  69. data/lib/risu/parsers/nessus/postprocess/cisco_anyconnect.rb +18 -20
  70. data/lib/risu/parsers/nessus/postprocess/cisco_ios.rb +25 -15
  71. data/lib/risu/parsers/nessus/postprocess/cisco_telepresence.rb +45 -0
  72. data/lib/risu/parsers/nessus/postprocess/core_ftp.rb +6 -6
  73. data/lib/risu/parsers/nessus/postprocess/db2.rb +7 -9
  74. data/lib/risu/parsers/nessus/postprocess/dell_idrac.rb +49 -0
  75. data/lib/risu/parsers/nessus/postprocess/downgrade_plugins.rb +4 -2
  76. data/lib/risu/parsers/nessus/postprocess/dropbear_ssh.rb +7 -6
  77. data/lib/risu/parsers/nessus/postprocess/filezilla.rb +4 -6
  78. data/lib/risu/parsers/nessus/postprocess/firefox.rb +113 -71
  79. data/lib/risu/parsers/nessus/postprocess/flexnet.rb +3 -3
  80. data/lib/risu/parsers/nessus/postprocess/foxit_phantom_pdf.rb +10 -3
  81. data/lib/risu/parsers/nessus/postprocess/foxit_reader.rb +13 -12
  82. data/lib/risu/parsers/nessus/postprocess/google_chrome.rb +34 -6
  83. data/lib/risu/parsers/nessus/postprocess/hp_system_mgt_homepage.rb +3 -3
  84. data/lib/risu/parsers/nessus/postprocess/iLo.rb +50 -0
  85. data/lib/risu/parsers/nessus/postprocess/intel_mgt_engine.rb +47 -0
  86. data/lib/risu/parsers/nessus/postprocess/irfanview.rb +2 -2
  87. data/lib/risu/parsers/nessus/postprocess/java.rb +70 -64
  88. data/lib/risu/parsers/nessus/postprocess/libreoffice.rb +2 -2
  89. data/lib/risu/parsers/nessus/postprocess/microsoft_office.rb +73 -0
  90. data/lib/risu/parsers/nessus/postprocess/microsoft_visual_studio.rb +47 -0
  91. data/lib/risu/parsers/nessus/postprocess/microsoft_windows.rb +1312 -0
  92. data/lib/risu/parsers/nessus/postprocess/mongo_db.rb +46 -0
  93. data/lib/risu/parsers/nessus/postprocess/mozzila_thunderbird.rb +49 -0
  94. data/lib/risu/parsers/nessus/postprocess/normalize_plugin_names.rb +5 -2
  95. data/lib/risu/parsers/nessus/postprocess/openoffice.rb +14 -11
  96. data/lib/risu/parsers/nessus/postprocess/openssh.rb +3 -3
  97. data/lib/risu/parsers/nessus/postprocess/openssl.rb +58 -39
  98. data/lib/risu/parsers/nessus/postprocess/oracle_database.rb +3 -3
  99. data/lib/risu/parsers/nessus/postprocess/php.rb +94 -69
  100. data/lib/risu/parsers/nessus/postprocess/post_process.rb +1 -1
  101. data/lib/risu/parsers/nessus/postprocess/putty.rb +47 -0
  102. data/lib/risu/parsers/nessus/postprocess/real_player.rb +3 -3
  103. data/lib/risu/parsers/nessus/postprocess/risk_score.rb +1 -1
  104. data/lib/risu/parsers/nessus/postprocess/root_cause.rb +16 -3
  105. data/lib/risu/parsers/nessus/postprocess/samba.rb +46 -0
  106. data/lib/risu/parsers/nessus/postprocess/servu.rb +4 -4
  107. data/lib/risu/parsers/nessus/postprocess/sigplus_pro.rb +3 -3
  108. data/lib/risu/parsers/nessus/postprocess/skype.rb +4 -3
  109. data/lib/risu/parsers/nessus/postprocess/solarwinds_dameware.rb +48 -0
  110. data/lib/risu/parsers/nessus/postprocess/symantec_endpoint.rb +4 -3
  111. data/lib/risu/parsers/nessus/postprocess/symantec_pcanywhere.rb +3 -3
  112. data/lib/risu/parsers/nessus/postprocess/tenable_nessus.rb +47 -0
  113. data/lib/risu/parsers/nessus/postprocess/timbuktu.rb +2 -2
  114. data/lib/risu/parsers/nessus/postprocess/vlc.rb +4 -3
  115. data/lib/risu/parsers/nessus/postprocess/vmware_esxi.rb +64 -54
  116. data/lib/risu/parsers/nessus/postprocess/vmware_player.rb +3 -3
  117. data/lib/risu/parsers/nessus/postprocess/vmware_vcenter.rb +11 -5
  118. data/lib/risu/parsers/nessus/postprocess/vmware_vsphere_client.rb +7 -6
  119. data/lib/risu/parsers/nessus/postprocess/winscp.rb +7 -8
  120. data/lib/risu/parsers/nessus/postprocess/wireshark.rb +73 -51
  121. data/lib/risu/parsers/nexpose/nexpose_document.rb +1 -1
  122. data/lib/risu/parsers/nexpose/simple_nexpose.rb +1 -1
  123. data/lib/risu/renderers.rb +1 -1
  124. data/lib/risu/renderers/csvrenderer.rb +1 -1
  125. data/lib/risu/renderers/nilrenderer.rb +1 -1
  126. data/lib/risu/renderers/pdfrenderer.rb +1 -1
  127. data/lib/risu/template_helpers.rb +1 -1
  128. data/lib/risu/templates/assets.rb +1 -1
  129. data/lib/risu/templates/authentication_summary.rb +1 -1
  130. data/lib/risu/templates/cover_sheet.rb +1 -1
  131. data/lib/risu/templates/exec_summary.rb +1 -1
  132. data/lib/risu/templates/executive_summary_detailed.rb +1 -1
  133. data/lib/risu/templates/exploitablity_summary.rb +1 -1
  134. data/lib/risu/templates/failed_audits.rb +1 -1
  135. data/lib/risu/templates/finding_statistics.rb +1 -1
  136. data/lib/risu/templates/findings_host.rb +1 -1
  137. data/lib/risu/templates/findings_summary.rb +1 -1
  138. data/lib/risu/templates/findings_summary_with_pluginid.rb +1 -1
  139. data/lib/risu/templates/graphs.rb +1 -1
  140. data/lib/risu/templates/host_findings_csv.rb +1 -1
  141. data/lib/risu/templates/host_summary.rb +1 -1
  142. data/lib/risu/templates/malicious_process_detection.rb +1 -1
  143. data/lib/risu/templates/missing_root_causes.rb +1 -1
  144. data/lib/risu/templates/ms_patch_summary.rb +1 -1
  145. data/lib/risu/templates/ms_update_summary.rb +1 -1
  146. data/lib/risu/templates/ms_wsus_findings.rb +1 -1
  147. data/lib/risu/templates/notable.rb +1 -1
  148. data/lib/risu/templates/notable_detailed.rb +1 -1
  149. data/lib/risu/templates/pci_compliance.rb +1 -1
  150. data/lib/risu/templates/rollup_summary.rb +82 -0
  151. data/lib/risu/templates/stig_findings_summary.rb +1 -1
  152. data/lib/risu/templates/talking_points.rb +1 -1
  153. data/lib/risu/templates/technical_findings.rb +1 -1
  154. data/lib/risu/templates/template.rb +1 -1
  155. data/lib/risu/templates/top_25.rb +1 -1
  156. data/lib/risu/version.rb +2 -2
  157. data/risu.gemspec +5 -5
  158. metadata +59 -56
  159. metadata.gz.sig +0 -0
  160. data/lib/risu/parsers/nessus/postprocess/flash_player.rb +0 -145
  161. data/lib/risu/parsers/nessus/postprocess/windows.rb +0 -976
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0037c4091b9cf97291e61059efcb926ec8f4d6d7
4
- data.tar.gz: bef059b795db3231efd81a90baed696c0568b144
2
+ SHA256:
3
+ metadata.gz: cf81464689cb6d03b39783e15cc40e8ad075520f0132620137074b0275cbac91
4
+ data.tar.gz: 37fc4a1c4decf0fde09c338b1acee60709aa2776678c8d2ae58400d463ad8e29
5
5
  SHA512:
6
- metadata.gz: '061824f1b7dd1f40a52ebbb91d2fa8b64eca161538606f16b7fb07fb0e83cd1017be38c1b592e35ee9beac0077a67423fd9352c90de65820a62c954f2d46def3'
7
- data.tar.gz: 7c4fd1c9ceeea420eb0e9e4b55c8598d6f0d9d1873793f6e5b6e1f039d143187053bdb8138cf9c8b013817774c6dc860b601a9c80500529de89a5779cda5ca2a
6
+ metadata.gz: '097239a0d3034bf84c388a8c03d5c6a875bb1672915322c92225c2cf3830068c870819853386e3aac3971137472992187bec038004636dd0e6f513b1f53ac3a3'
7
+ data.tar.gz: f0d38ea30edf76af93594178a010bc059066169612a61a6438772bcca895f3bc7384c90f8da13b4115bc5d3fa94b15ffc290d875c74f6b9a3802ba349986fe53
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,159 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ risu (1.8.4)
5
+ gruff (~> 0.7, >= 0.7.0)
6
+ libxml-ruby (~> 2.9, >= 2.9.0)
7
+ nokogiri (~> 1.7, >= 1.7.0.1)
8
+ prawn (~> 2.1, >= 2.1.0)
9
+ prawn-table (~> 0.2, >= 0.2.2)
10
+ rails (~> 5.0, >= 5.0.1)
11
+ rmagick (~> 2.15, >= 2.15.4)
12
+ sqlite3 (~> 1.3, >= 1.3.11)
13
+
14
+ GEM
15
+ remote: https://rubygems.org/
16
+ specs:
17
+ actioncable (5.2.3)
18
+ actionpack (= 5.2.3)
19
+ nio4r (~> 2.0)
20
+ websocket-driver (>= 0.6.1)
21
+ actionmailer (5.2.3)
22
+ actionpack (= 5.2.3)
23
+ actionview (= 5.2.3)
24
+ activejob (= 5.2.3)
25
+ mail (~> 2.5, >= 2.5.4)
26
+ rails-dom-testing (~> 2.0)
27
+ actionpack (5.2.3)
28
+ actionview (= 5.2.3)
29
+ activesupport (= 5.2.3)
30
+ rack (~> 2.0)
31
+ rack-test (>= 0.6.3)
32
+ rails-dom-testing (~> 2.0)
33
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
34
+ actionview (5.2.3)
35
+ activesupport (= 5.2.3)
36
+ builder (~> 3.1)
37
+ erubi (~> 1.4)
38
+ rails-dom-testing (~> 2.0)
39
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
40
+ activejob (5.2.3)
41
+ activesupport (= 5.2.3)
42
+ globalid (>= 0.3.6)
43
+ activemodel (5.2.3)
44
+ activesupport (= 5.2.3)
45
+ activerecord (5.2.3)
46
+ activemodel (= 5.2.3)
47
+ activesupport (= 5.2.3)
48
+ arel (>= 9.0)
49
+ activestorage (5.2.3)
50
+ actionpack (= 5.2.3)
51
+ activerecord (= 5.2.3)
52
+ marcel (~> 0.3.1)
53
+ activesupport (5.2.3)
54
+ concurrent-ruby (~> 1.0, >= 1.0.2)
55
+ i18n (>= 0.7, < 2)
56
+ minitest (~> 5.1)
57
+ tzinfo (~> 1.1)
58
+ arel (9.0.0)
59
+ builder (3.2.3)
60
+ concurrent-ruby (1.1.5)
61
+ crass (1.0.5)
62
+ docile (1.3.1)
63
+ erubi (1.9.0)
64
+ globalid (0.4.2)
65
+ activesupport (>= 4.2.0)
66
+ gruff (0.7.0)
67
+ rmagick (~> 2.13, >= 2.13.4)
68
+ i18n (1.7.0)
69
+ concurrent-ruby (~> 1.0)
70
+ json (2.1.0)
71
+ libxml-ruby (2.9.0)
72
+ loofah (2.3.0)
73
+ crass (~> 1.0.2)
74
+ nokogiri (>= 1.5.9)
75
+ mail (2.7.1)
76
+ mini_mime (>= 0.1.1)
77
+ marcel (0.3.3)
78
+ mimemagic (~> 0.3.2)
79
+ method_source (0.9.2)
80
+ mimemagic (0.3.3)
81
+ mini_mime (1.0.2)
82
+ mini_portile2 (2.4.0)
83
+ minitest (5.11.3)
84
+ nio4r (2.5.2)
85
+ nokogiri (1.10.4)
86
+ mini_portile2 (~> 2.4.0)
87
+ pdf-core (0.7.0)
88
+ power_assert (1.1.3)
89
+ prawn (2.2.2)
90
+ pdf-core (~> 0.7.0)
91
+ ttfunk (~> 1.5)
92
+ prawn-table (0.2.2)
93
+ prawn (>= 1.3.0, < 3.0.0)
94
+ rack (2.0.7)
95
+ rack-test (1.1.0)
96
+ rack (>= 1.0, < 3)
97
+ rails (5.2.3)
98
+ actioncable (= 5.2.3)
99
+ actionmailer (= 5.2.3)
100
+ actionpack (= 5.2.3)
101
+ actionview (= 5.2.3)
102
+ activejob (= 5.2.3)
103
+ activemodel (= 5.2.3)
104
+ activerecord (= 5.2.3)
105
+ activestorage (= 5.2.3)
106
+ activesupport (= 5.2.3)
107
+ bundler (>= 1.3.0)
108
+ railties (= 5.2.3)
109
+ sprockets-rails (>= 2.0.0)
110
+ rails-dom-testing (2.0.3)
111
+ activesupport (>= 4.2.0)
112
+ nokogiri (>= 1.6)
113
+ rails-html-sanitizer (1.3.0)
114
+ loofah (~> 2.3)
115
+ railties (5.2.3)
116
+ actionpack (= 5.2.3)
117
+ activesupport (= 5.2.3)
118
+ method_source
119
+ rake (>= 0.8.7)
120
+ thor (>= 0.19.0, < 2.0)
121
+ rake (13.0.0)
122
+ rmagick (2.16.0)
123
+ simplecov (0.16.1)
124
+ docile (~> 1.1)
125
+ json (>= 1.8, < 3)
126
+ simplecov-html (~> 0.10.0)
127
+ simplecov-html (0.10.2)
128
+ sprockets (4.0.0)
129
+ concurrent-ruby (~> 1.0)
130
+ rack (> 1, < 3)
131
+ sprockets-rails (3.2.1)
132
+ actionpack (>= 4.0)
133
+ activesupport (>= 4.0)
134
+ sprockets (>= 3.0.0)
135
+ sqlite3 (1.4.1)
136
+ test-unit (3.2.8)
137
+ power_assert
138
+ thor (0.20.3)
139
+ thread_safe (0.3.6)
140
+ ttfunk (1.5.1)
141
+ tzinfo (1.2.5)
142
+ thread_safe (~> 0.1)
143
+ websocket-driver (0.7.1)
144
+ websocket-extensions (>= 0.1.0)
145
+ websocket-extensions (0.1.4)
146
+ yard (0.9.20)
147
+
148
+ PLATFORMS
149
+ ruby
150
+
151
+ DEPENDENCIES
152
+ minitest (~> 5.0, >= 5.9)
153
+ risu!
154
+ simplecov (~> 0.15, >= 0.15)
155
+ test-unit (~> 3.2, >= 3.2.4)
156
+ yard (>= 0.9.20)
157
+
158
+ BUNDLED WITH
159
+ 1.16.1
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2017 Jacob Hammack.
1
+ Copyright (c) 2010-2020 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
@@ -137,8 +137,5 @@ The templates are written in ruby using [prawn](http://prawn.majesticseacreature
137
137
  # Contributing
138
138
  If you would like to contribute templates/bug fixes/etc to risu. The easiest way is to fork the project on [github](http://github.com/hammackj/risu) and make the changes in your fork and the submit a pull request to the project on the dev branch. Please include unit tests for anything non trivial.
139
139
 
140
- # Issues
141
- If you have any problems, bugs or feature requests please use the [github issue tracker](http://github.com/hammackj/risu/issues).
142
-
143
- # Contact
144
- You can reach me at jacob.hammack[at]hammackj[dot]com. You can also contact me on IRC as hammackj on irc.freenode.net, #risu
140
+ # Contact / Issues
141
+ If you have any problems, bugs, questions or feature requests please use the [github issue tracker](http://github.com/hammackj/risu/issues).
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
data/bin/risu CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby -W0
2
2
 
3
- # Copyright (c) 2010-2017 Jacob Hammack.
3
+ # Copyright (c) 2010-2020 Jacob Hammack.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,5 +1,8 @@
1
1
  # News
2
2
 
3
+ # 1.8.4 (Feburary 6, 2020)
4
+ - A great deal of changes/bug fixes/post processing
5
+
3
6
  # 1.8.3 (July 11, 2017)
4
7
  - Updated PostProcessing plugin id's
5
8
  - Added new PostProcessing plugin NormalizePluginNames
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -41,7 +41,7 @@ require 'gruff'
41
41
  require 'prawn'
42
42
  require 'prawn/table'
43
43
  require 'stringio'
44
- require 'mysql2'
44
+ #require 'mysql2'
45
45
  require 'irb'
46
46
  require 'sqlite3'
47
47
  require 'nokogiri'
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -62,6 +62,7 @@ module Risu
62
62
  unsupported_os("Unsupported Windows 2000 Installations", "Microsoft Windows 2000 Unsupported Installation Detection")
63
63
  unsupported_os("Unsupported Windows XP Installations", "Microsoft Windows XP Unsupported Installation Detection")
64
64
  unsupported_os("Unsupported Windows 2003 Installations", "Microsoft Windows Server 2003 Unsupported Installation Detection")
65
+ unsupported_os("Unsupported Windows 8 Installations", "Microsoft Windows 8 Unsupported Installation Detection")
65
66
 
66
67
  text "\n"
67
68
  end
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -171,6 +171,7 @@ module Risu
171
171
  item.port = 0
172
172
  item.severity = severity
173
173
  item.plugin_name = @info[:item_name]
174
+ item.rollup_finding = true
174
175
 
175
176
  item.save
176
177
  end
@@ -186,7 +187,7 @@ module Risu
186
187
 
187
188
  #
188
189
  def calculate_severity current_severity, severity
189
- if severity >= current_severity
190
+ if severity > current_severity
190
191
  return severity
191
192
  else
192
193
  return current_severity
@@ -204,15 +205,17 @@ module Risu
204
205
  create_plugin()
205
206
  end
206
207
 
208
+ finding_severity = 0
209
+
207
210
  Host.all.each do |host|
208
211
  if !has_host_findings(host.id)
209
212
  next
210
213
  end
211
214
 
212
- finding_severity = 0
213
-
215
+ # Downgrade Nessus findings to -1, to replace with rollup
214
216
  @info[:plugin_ids].each do |plugin_id|
215
217
  Item.where(:plugin_id => plugin_id).each do |item|
218
+
216
219
  severity = item.severity
217
220
  item.real_severity = severity
218
221
  item.severity = -1
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -65,7 +65,7 @@ module Risu
65
65
  create_table :hosts do |t|
66
66
  t.integer :report_id
67
67
  t.string :name
68
- t.string :os
68
+ t.text :os, limit: 4294967295
69
69
  t.text :mac, limit: 4294967295
70
70
  t.datetime :start
71
71
  t.datetime :end
@@ -106,10 +106,11 @@ module Risu
106
106
  t.text :cm_compliance_solution, limit: 4294967295
107
107
  t.integer :real_severity
108
108
  t.integer :risk_score
109
+ t.boolean :rollup_finding, :default => false
109
110
  end
110
111
 
111
112
  create_table :plugins do |t|
112
- t.string :plugin_name
113
+ t.text :plugin_name, limit: 4294967295
113
114
  t.string :family_name
114
115
  t.text :description, limit: 4294967295
115
116
  t.string :plugin_version
@@ -190,6 +191,11 @@ module Risu
190
191
  t.string :value
191
192
  end
192
193
 
194
+ create_table :nessus_plugin_metadata do |t|
195
+ t.integer :plugin_id
196
+ t.text :plugin_name, limit: 4294967295
197
+ end
198
+
193
199
  #Index's for speed increases, possibly have these apply after parsing @TODO
194
200
  add_index :items, :host_id
195
201
  add_index :items, :plugin_id
@@ -227,6 +233,7 @@ module Risu
227
233
  drop_table :patches
228
234
  drop_table :host_properties
229
235
  drop_table :attachments
236
+ drop_table :nessus_plugin_metadata
230
237
  end
231
238
  end
232
239
  end
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2010-2017 Jacob Hammack.
1
+ # Copyright (c) 2010-2020 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
@@ -134,7 +134,7 @@ module Risu
134
134
  exit
135
135
  rescue ActiveRecord::AdapterNotFound => anf
136
136
  puts "[!] Database adapter not found, please check your configuration file"
137
- puts "#{ans.message}\n #{ans.backtrace}" if @options[:debug]
137
+ puts "#{anf.message}\n #{anf.backtrace}" if @options[:debug]
138
138
  exit
139
139
  rescue => e
140
140
  puts "[!] Exception! #{e.message}"
@@ -175,10 +175,10 @@ module Risu
175
175
  puts "[!] Database not found. Please check your configuration file"
176
176
  puts "#{nde.message}\n #{nde.backtrace}" if @options[:debug]
177
177
  exit
178
- rescue Mysql2::Error => mse
179
- puts "[!] Unable to connect to MySQL. \"#{mse.message}\" Please check your configuration file"
180
- puts "#{mse.message}\n #{mse.backtrace}" if @options[:debug]
181
- exit
178
+ #rescue Mysql2::Error => mse
179
+ # puts "[!] Unable to connect to MySQL. \"#{mse.message}\" Please check your configuration file"
180
+ # puts "#{mse.message}\n #{mse.backtrace}" if @options[:debug]
181
+ # exit
182
182
  rescue SQLite3::Exception => se
183
183
  puts "[!] Unable to open database. Please check your configuration file"
184
184
  puts "#{se.message}\n #{se.backtrace}" if @options[:debug]
@@ -342,13 +342,13 @@ module Risu
342
342
  puts opts.to_s + "\n"
343
343
  exit
344
344
  end
345
- rescue OptionParser::AmbiguousOption => a
345
+ rescue OptionParser::AmbiguousOption
346
346
  puts opts.to_s + "\n"
347
347
  exit
348
- rescue OptionParser::MissingArgument => m
348
+ rescue OptionParser::MissingArgument
349
349
  puts opts.to_s + "\n"
350
350
  exit
351
- rescue OptionParser::InvalidOption => i
351
+ rescue OptionParser::InvalidOption
352
352
  puts opts.to_s + "\n"
353
353
  exit
354
354
  end
@@ -432,7 +432,7 @@ module Risu
432
432
  rescue Risu::Exceptions::InvalidDocument => id
433
433
  puts "[!] #{id.message}"
434
434
  next
435
- rescue ActiveRecord::StatementInvalid => si
435
+ rescue ActiveRecord::StatementInvalid
436
436
  puts "[!] Please run #{Risu::APP_NAME} --create-tables, to create the required database schema!"
437
437
  exit
438
438
  rescue => e
@@ -491,14 +491,14 @@ module Risu
491
491
 
492
492
  printf "[*] Finished parsing %s. Parse took %.02f seconds\n", file, Time.now - tstart
493
493
  puts nessus_doc.new_tags.uniq.join("\n") #@TODO add a verbose check
494
- rescue Interrupt => i
494
+ rescue Interrupt
495
495
  puts "[!] Parse canceled!"
496
496
  exit(1)
497
- rescue Mysql2::Error => m
498
- if m.errno == 1146
499
- puts "[!] Error: Tables were not created. Please run #{Risu::APP_NAME} --create-tables"
500
- exit(1)
501
- end
497
+ #rescue Mysql2::Error => m
498
+ # if m.errno == 1146
499
+ # puts "[!] Error: Tables were not created. Please run #{Risu::APP_NAME} --create-tables"
500
+ # exit(1)
501
+ # end
502
502
  rescue => e
503
503
  puts "[!] #{e.message}\n #{e.backtrace.join("\n")}\n"
504
504
  exit(1)