ronin-exploits 1.0.0.beta3 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +14 -0
  3. data/.rubocop.yml +61 -0
  4. data/ChangeLog.md +13 -2
  5. data/Gemfile +5 -1
  6. data/README.md +26 -14
  7. data/Rakefile +3 -1
  8. data/bin/ronin-exploits +6 -7
  9. data/gemspec.yml +7 -7
  10. data/lib/ronin/exploits/advisory.rb +1 -0
  11. data/lib/ronin/exploits/cli/command.rb +1 -0
  12. data/lib/ronin/exploits/cli/commands/irb.rb +1 -0
  13. data/lib/ronin/exploits/cli/commands/list.rb +1 -0
  14. data/lib/ronin/exploits/cli/commands/new.rb +13 -2
  15. data/lib/ronin/exploits/cli/commands/run.rb +40 -21
  16. data/lib/ronin/exploits/cli/commands/show.rb +11 -8
  17. data/lib/ronin/exploits/cli/exploit_command.rb +4 -0
  18. data/lib/ronin/exploits/cli/exploit_methods.rb +4 -0
  19. data/lib/ronin/exploits/cli/ruby_shell.rb +1 -0
  20. data/lib/ronin/exploits/cli.rb +1 -0
  21. data/lib/ronin/exploits/client_side_web_vuln.rb +1 -0
  22. data/lib/ronin/exploits/exceptions.rb +1 -0
  23. data/lib/ronin/exploits/exploit.rb +27 -21
  24. data/lib/ronin/exploits/heap_overflow.rb +1 -0
  25. data/lib/ronin/exploits/lfi.rb +7 -7
  26. data/lib/ronin/exploits/loot/file.rb +2 -1
  27. data/lib/ronin/exploits/loot.rb +1 -0
  28. data/lib/ronin/exploits/memory_corruption.rb +1 -0
  29. data/lib/ronin/exploits/metadata/arch.rb +5 -1
  30. data/lib/ronin/exploits/metadata/cookie_param.rb +4 -0
  31. data/lib/ronin/exploits/metadata/default_filename.rb +5 -1
  32. data/lib/ronin/exploits/metadata/default_port.rb +5 -1
  33. data/lib/ronin/exploits/metadata/header_name.rb +4 -0
  34. data/lib/ronin/exploits/metadata/os.rb +4 -0
  35. data/lib/ronin/exploits/metadata/shouts.rb +17 -9
  36. data/lib/ronin/exploits/metadata/url_path.rb +4 -0
  37. data/lib/ronin/exploits/metadata/url_query_param.rb +4 -0
  38. data/lib/ronin/exploits/mixins/binary.rb +1 -0
  39. data/lib/ronin/exploits/mixins/file_builder.rb +5 -4
  40. data/lib/ronin/exploits/mixins/format_string.rb +4 -3
  41. data/lib/ronin/exploits/mixins/has_payload.rb +4 -3
  42. data/lib/ronin/exploits/mixins/has_targets.rb +1 -0
  43. data/lib/ronin/exploits/mixins/html.rb +4 -0
  44. data/lib/ronin/exploits/mixins/http.rb +24 -19
  45. data/lib/ronin/exploits/mixins/loot.rb +3 -2
  46. data/lib/ronin/exploits/mixins/nops.rb +5 -5
  47. data/lib/ronin/exploits/mixins/remote_tcp.rb +2 -1
  48. data/lib/ronin/exploits/mixins/remote_udp.rb +1 -0
  49. data/lib/ronin/exploits/mixins/seh.rb +1 -0
  50. data/lib/ronin/exploits/mixins/stack_overflow.rb +2 -1
  51. data/lib/ronin/exploits/mixins/text.rb +1 -0
  52. data/lib/ronin/exploits/mixins.rb +1 -0
  53. data/lib/ronin/exploits/open_redirect.rb +5 -4
  54. data/lib/ronin/exploits/params/base_url.rb +2 -1
  55. data/lib/ronin/exploits/params/bind_host.rb +1 -0
  56. data/lib/ronin/exploits/params/bind_port.rb +1 -0
  57. data/lib/ronin/exploits/params/filename.rb +3 -2
  58. data/lib/ronin/exploits/params/host.rb +1 -0
  59. data/lib/ronin/exploits/params/port.rb +3 -2
  60. data/lib/ronin/exploits/registry.rb +4 -0
  61. data/lib/ronin/exploits/rfi.rb +9 -6
  62. data/lib/ronin/exploits/root.rb +1 -0
  63. data/lib/ronin/exploits/seh_overflow.rb +9 -8
  64. data/lib/ronin/exploits/sqli.rb +11 -10
  65. data/lib/ronin/exploits/ssti.rb +5 -4
  66. data/lib/ronin/exploits/stack_overflow.rb +9 -8
  67. data/lib/ronin/exploits/target.rb +1 -0
  68. data/lib/ronin/exploits/test_result.rb +2 -1
  69. data/lib/ronin/exploits/use_after_free.rb +1 -0
  70. data/lib/ronin/exploits/version.rb +2 -1
  71. data/lib/ronin/exploits/web.rb +1 -0
  72. data/lib/ronin/exploits/web_vuln.rb +1 -0
  73. data/lib/ronin/exploits/xss.rb +5 -4
  74. data/lib/ronin/exploits.rb +1 -0
  75. data/man/ronin-exploits-irb.1 +1 -1
  76. data/man/ronin-exploits-irb.1.md +1 -1
  77. data/man/ronin-exploits-list.1 +1 -1
  78. data/man/ronin-exploits-list.1.md +1 -1
  79. data/man/ronin-exploits-new.1 +1 -1
  80. data/man/ronin-exploits-new.1.md +2 -2
  81. data/man/ronin-exploits-run.1 +1 -1
  82. data/man/ronin-exploits-run.1.md +1 -1
  83. data/man/ronin-exploits-show.1 +1 -1
  84. data/man/ronin-exploits-show.1.md +1 -1
  85. data/man/ronin-exploits.1 +1 -1
  86. data/man/ronin-exploits.1.md +1 -1
  87. data/ronin-exploits.gemspec +4 -3
  88. metadata +35 -16
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -102,7 +103,7 @@ module Ronin
102
103
  # @example
103
104
  # ebp = 0x06eb9090 # short jump 6 bytes
104
105
  # eip = 0x1001ae86 # pop pop ret 1001AE86 SSLEAY32.DLL
105
- #
106
+ #
106
107
  # buffer = buffer_overflow(length: 1024, nops: 16, payload: payload, bp: ebp, ip: eip)
107
108
  #
108
109
  def buffer_overflow(length: , nops: nil, payload: , bp: , ip: )
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -34,16 +35,16 @@ module Ronin
34
35
  # ## Example
35
36
  #
36
37
  # require 'ronin/exploits/open_redirect'
37
- #
38
+ #
38
39
  # module Ronin
39
40
  # module Exploits
40
41
  # class MyExploit < OpenRedirect
41
- #
42
+ #
42
43
  # register 'my_exploit'
43
- #
44
+ #
44
45
  # base_path '/path/to/page.php'
45
46
  # query_param 'url'
46
- #
47
+ #
47
48
  # end
48
49
  # end
49
50
  # end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -64,7 +65,7 @@ module Ronin
64
65
  end
65
66
 
66
67
  #
67
- # Expands the URL or path into a fully qualitifed URL.
68
+ # Expands the URL or path into a fully qualified URL.
68
69
  #
69
70
  # @param [String] path
70
71
  # The URL or path to expand.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -33,7 +34,7 @@ module Ronin
33
34
  # Setting the default port value:
34
35
  #
35
36
  # include Params::Filename
36
- #
37
+ #
37
38
  # default_filename 'exploit.docx'
38
39
  #
39
40
  # @api public
@@ -53,7 +54,7 @@ module Ronin
53
54
  def self.included(exploit)
54
55
  exploit.include Metadata::DefaultFilename
55
56
  exploit.param :filename, String, required: true,
56
- default: ->{ exploit.default_filename },
57
+ default: -> { exploit.default_filename },
57
58
  desc: 'The filename for the exploit'
58
59
  end
59
60
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -33,7 +34,7 @@ module Ronin
33
34
  # Setting the default port value:
34
35
  #
35
36
  # include Params::Port
36
- #
37
+ #
37
38
  # default_port 143
38
39
  #
39
40
  # @api public
@@ -53,7 +54,7 @@ module Ronin
53
54
  def self.included(exploit)
54
55
  exploit.include Metadata::DefaultPort
55
56
  exploit.param :port, Integer, required: true,
56
- default: ->{ exploit.default_port },
57
+ default: -> { exploit.default_port },
57
58
  desc: 'Remote port to connect to'
58
59
  end
59
60
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -22,6 +23,9 @@ require 'ronin/core/class_registry'
22
23
  require 'ronin/repos/class_dir'
23
24
 
24
25
  module Ronin
26
+ #
27
+ # Namespace for `ronin-exploits`.
28
+ #
25
29
  module Exploits
26
30
  include Core::ClassRegistry
27
31
  include Repos::ClassDir
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -34,16 +35,16 @@ module Ronin
34
35
  # ## Example
35
36
  #
36
37
  # require 'ronin/exploits/rfi'
37
- #
38
+ #
38
39
  # module Ronin
39
40
  # module Exploits
40
41
  # class MyExploit < RFI
41
- #
42
+ #
42
43
  # register 'my_exploit'
43
- #
44
+ #
44
45
  # base_path '/path/to/page.php'
45
46
  # query_param 'template'
46
- #
47
+ #
47
48
  # end
48
49
  # end
49
50
  # end
@@ -64,8 +65,10 @@ module Ronin
64
65
 
65
66
  param :test_script_url, String, desc: 'The URL for the RFI test script'
66
67
 
67
- param :filter_bypass, Enum[:null_byte, :double_encode],
68
- desc: 'Optional filter bypass strategy'
68
+ param :filter_bypass, Enum[
69
+ :null_byte,
70
+ :double_encode
71
+ ], desc: 'Optional filter bypass strategy'
69
72
 
70
73
  #
71
74
  # Returns the type or kind of exploit.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -30,26 +31,26 @@ module Ronin
30
31
  #
31
32
  # require 'ronin/exploits/seh_overflow'
32
33
  # require 'ronin/exploits/mixins/remote_tcp'
33
- #
34
+ #
34
35
  # module Ronin
35
36
  # module Exploits
36
37
  # class MyExploit < SEHOverflow
37
- #
38
+ #
38
39
  # register 'my_exploit'
39
- #
40
+ #
40
41
  # include Mixins::RemoteTCP
41
- #
42
+ #
42
43
  # def build
43
44
  # nseh = 0x06eb9090 # short jump 6 bytes
44
45
  # seh = 0x1001ae86 # pop pop ret 1001AE86 SSLEAY32.DLL
45
- #
46
+ #
46
47
  # @buffer = seh_buffer_overflow(length: 1024, nops: 16, payload: payload, nseh: nseh, seh: seh)
47
48
  # end
48
- #
49
+ #
49
50
  # def launch
50
51
  # tcp_send "USER #{@buffer}"
51
52
  # end
52
- #
53
+ #
53
54
  # end
54
55
  # end
55
56
  # end
@@ -59,7 +60,7 @@ module Ronin
59
60
  # def build
60
61
  # nseh = 0x06eb9090 # short jump 6 bytes
61
62
  # seh = 0x1001ae86 # pop pop ret 1001AE86 SSLEAY32.DLL
62
- #
63
+ #
63
64
  # @buffer = junk(1024) + seh_record(nseh,seh) + nops(16) + payload
64
65
  # end
65
66
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -34,17 +35,17 @@ module Ronin
34
35
  # ## Example
35
36
  #
36
37
  # require 'ronin/exploits/sqli'
37
- #
38
+ #
38
39
  # module Ronin
39
40
  # module Exploits
40
41
  # class MyExploit < SQLI
41
- #
42
+ #
42
43
  # register 'my_exploit'
43
- #
44
+ #
44
45
  # base_path '/path/to/page.php'
45
46
  # query_param 'id'
46
47
  # escape_quote true
47
- #
48
+ #
48
49
  # end
49
50
  # end
50
51
  # end
@@ -87,10 +88,10 @@ module Ronin
87
88
  # Specifies whether to escape quotation marks.
88
89
  #
89
90
  def self.escape_quote(new_escape_quote=nil)
90
- if new_escape_quote != nil
91
+ if !new_escape_quote.nil?
91
92
  @escape_quote = new_escape_quote
92
93
  else
93
- if @escape_quote != nil
94
+ if !@escape_quote.nil?
94
95
  @escape_quote
95
96
  elsif superclass < SQLI
96
97
  superclass.escape_quote
@@ -110,10 +111,10 @@ module Ronin
110
111
  # Specifies whether to escape parenthesis.
111
112
  #
112
113
  def self.escape_parens(new_escape_parens=nil)
113
- if new_escape_parens != nil
114
+ if !new_escape_parens.nil?
114
115
  @escape_parens = new_escape_parens
115
116
  else
116
- if @escape_parens != nil
117
+ if !@escape_parens.nil?
117
118
  @escape_parens
118
119
  elsif superclass < SQLI
119
120
  superclass.escape_parens
@@ -133,10 +134,10 @@ module Ronin
133
134
  # Specifies whether to terminate the injected SQL expression.
134
135
  #
135
136
  def self.terminate(new_terminate=nil)
136
- if new_terminate != nil
137
+ if !new_terminate.nil?
137
138
  @terminate = new_terminate
138
139
  else
139
- if @terminate != nil
140
+ if !@terminate.nil?
140
141
  @terminate
141
142
  elsif superclass < SQLI
142
143
  superclass.terminate
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -32,17 +33,17 @@ module Ronin
32
33
  # ## Example
33
34
  #
34
35
  # require 'ronin/exploits/ssti'
35
- #
36
+ #
36
37
  # module Ronin
37
38
  # module Exploits
38
39
  # class MyExploit < SSTI
39
- #
40
+ #
40
41
  # register 'my_exploit'
41
- #
42
+ #
42
43
  # base_path '/path/to/page.php'
43
44
  # query_param 'name'
44
45
  # escape_expr ->(expr) { "${{#{expr}}}" }
45
- #
46
+ #
46
47
  # end
47
48
  # end
48
49
  # end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -30,26 +31,26 @@ module Ronin
30
31
  #
31
32
  # require 'ronin/exploits/stack_overflow'
32
33
  # require 'ronin/exploits/mixins/remote_tcp'
33
- #
34
+ #
34
35
  # module Ronin
35
36
  # module Exploits
36
37
  # class MyExploit < StackOverflow
37
- #
38
+ #
38
39
  # register 'my_exploit'
39
- #
40
+ #
40
41
  # include Mixins::RemoteTCP
41
- #
42
+ #
42
43
  # def build
43
44
  # ebp = 0x06eb9090
44
45
  # eip = 0x1001ae86
45
- #
46
+ #
46
47
  # @buffer = buffer_overflow(length: 1024, nops: 16, payload: payload, bp: ebp, ip: eip)
47
48
  # end
48
- #
49
+ #
49
50
  # def launch
50
51
  # tcp_send "USER #{@buffer}"
51
52
  # end
52
- #
53
+ #
53
54
  # end
54
55
  # end
55
56
  # end
@@ -59,7 +60,7 @@ module Ronin
59
60
  # def build
60
61
  # ebp = 0x06eb9090
61
62
  # eip = 0x1001ae86
62
- #
63
+ #
63
64
  # @buffer = junk(1024) + nops(16) + payload + stack_frame(ebp,eip)
64
65
  # end
65
66
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -30,7 +31,7 @@ module Ronin
30
31
  class TestResult
31
32
 
32
33
  # The descriptive message of the test result.
33
- #
34
+ #
34
35
  # @api public
35
36
  attr_reader :message
36
37
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -21,6 +22,6 @@
21
22
  module Ronin
22
23
  module Exploits
23
24
  # ronin-exploits version
24
- VERSION = '1.0.0.beta3'
25
+ VERSION = '1.0.1'
25
26
  end
26
27
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -35,16 +36,16 @@ module Ronin
35
36
  # ## Example
36
37
  #
37
38
  # require 'ronin/exploits/xss'
38
- #
39
+ #
39
40
  # module Ronin
40
41
  # module Exploits
41
42
  # class MyExploit < XSS
42
- #
43
+ #
43
44
  # register 'my_exploit'
44
- #
45
+ #
45
46
  # base_path '/path/to/page.php'
46
47
  # query_param 'title'
47
- #
48
+ #
48
49
  # end
49
50
  # end
50
51
  # end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  #
2
3
  # ronin-exploits - A Ruby library for ronin-rb that provides exploitation and
3
4
  # payload crafting functionality.
@@ -1,6 +1,6 @@
1
1
  .\" Generated by kramdown-man 0.1.8
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
- .TH ronin-exploits-irb 1 "May 2022" Ronin "User Manuals"
3
+ .TH ronin-exploits-irb 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
@@ -1,4 +1,4 @@
1
- # ronin-exploits-irb 1 "May 2022" Ronin "User Manuals"
1
+ # ronin-exploits-irb 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
3
  ## SYNOPSIS
4
4
 
@@ -1,6 +1,6 @@
1
1
  .\" Generated by kramdown-man 0.1.8
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
- .TH ronin-exploits-list 1 "May 2022" Ronin "User Manuals"
3
+ .TH ronin-exploits-list 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
@@ -1,4 +1,4 @@
1
- # ronin-exploits-list 1 "May 2022" Ronin "User Manuals"
1
+ # ronin-exploits-list 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
3
  ## SYNOPSIS
4
4
 
@@ -1,6 +1,6 @@
1
1
  .\" Generated by kramdown-man 0.1.8
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
- .TH ronin-exploits-new 1 "May 2022" Ronin "User Manuals"
3
+ .TH ronin-exploits-new 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
@@ -1,4 +1,4 @@
1
- # ronin-exploits-new 1 "May 2022" Ronin "User Manuals"
1
+ # ronin-exploits-new 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
3
  ## SYNOPSIS
4
4
 
@@ -57,7 +57,7 @@ Creates a new exploit file.
57
57
 
58
58
  `-V`, `--software-version` *VERSION*
59
59
  The software version to target.
60
-
60
+
61
61
  `-L`, `--loot`
62
62
  Adds the loot mixin.
63
63
 
@@ -1,6 +1,6 @@
1
1
  .\" Generated by kramdown-man 0.1.8
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
- .TH ronin-exploits-run 1 "May 2022" Ronin "User Manuals"
3
+ .TH ronin-exploits-run 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
@@ -1,4 +1,4 @@
1
- # ronin-exploits-run 1 "May 2022" Ronin "User Manuals"
1
+ # ronin-exploits-run 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
3
  ## SYNOPSIS
4
4
 
@@ -1,6 +1,6 @@
1
1
  .\" Generated by kramdown-man 0.1.8
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
- .TH ronin-exploits-show 1 "May 2022" Ronin "User Manuals"
3
+ .TH ronin-exploits-show 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
@@ -1,4 +1,4 @@
1
- # ronin-exploits-show 1 "May 2022" Ronin "User Manuals"
1
+ # ronin-exploits-show 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
3
  ## SYNOPSIS
4
4
 
data/man/ronin-exploits.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .\" Generated by kramdown-man 0.1.8
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
- .TH ronin-exploits 1 "May 2022" Ronin "User Manuals"
3
+ .TH ronin-exploits 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
@@ -1,4 +1,4 @@
1
- # ronin-exploits 1 "May 2022" Ronin "User Manuals"
1
+ # ronin-exploits 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
3
  ## SYNOPSIS
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  require 'yaml'
4
4
 
@@ -22,7 +22,7 @@ Gem::Specification.new do |gem|
22
22
  gem.homepage = gemspec['homepage']
23
23
  gem.metadata = gemspec['metadata'] if gemspec['metadata']
24
24
 
25
- glob = lambda { |patterns| gem.files & Dir[*patterns] }
25
+ glob = ->(patterns) { gem.files & Dir[*patterns] }
26
26
 
27
27
  gem.files = `git ls-files`.split($/)
28
28
  gem.files = glob[gemspec['files']] if gemspec['files']
@@ -33,6 +33,7 @@ Gem::Specification.new do |gem|
33
33
  gem.executables = gemspec.fetch('executables') do
34
34
  glob['bin/*'].map { |path| File.basename(path) }
35
35
  end
36
+
36
37
  gem.default_executable = gem.executables.first if Gem::VERSION < '1.7.'
37
38
 
38
39
  gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
@@ -47,7 +48,7 @@ Gem::Specification.new do |gem|
47
48
  gem.required_rubygems_version = gemspec['required_rubygems_version']
48
49
  gem.post_install_message = gemspec['post_install_message']
49
50
 
50
- split = lambda { |string| string.split(/,\s*/) }
51
+ split = ->(string) { string.split(/,\s*/) }
51
52
 
52
53
  if gemspec['dependencies']
53
54
  gemspec['dependencies'].each do |name,versions|