ronin-exploits 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (187) hide show
  1. data.tar.gz.sig +0 -0
  2. data/History.txt +122 -0
  3. data/Manifest.txt +110 -20
  4. data/README.txt +112 -31
  5. data/Rakefile +12 -1
  6. data/bin/ronin-exploit +12 -0
  7. data/bin/ronin-exploits +1 -1
  8. data/bin/ronin-gen-binary-payload +12 -0
  9. data/bin/ronin-gen-exploit +12 -0
  10. data/bin/ronin-gen-ftp-exploit +12 -0
  11. data/bin/ronin-gen-http-exploit +12 -0
  12. data/bin/ronin-gen-local-exploit +12 -0
  13. data/bin/ronin-gen-nops +12 -0
  14. data/bin/ronin-gen-payload +12 -0
  15. data/bin/ronin-gen-remote-exploit +12 -0
  16. data/bin/ronin-gen-remote-tcp-exploit +12 -0
  17. data/bin/ronin-gen-remote-udp-exploit +12 -0
  18. data/bin/ronin-gen-shellcode +12 -0
  19. data/bin/ronin-gen-web-exploit +12 -0
  20. data/bin/ronin-payload +1 -1
  21. data/bin/ronin-payloads +1 -1
  22. data/lib/ronin/controls.rb +23 -0
  23. data/lib/ronin/controls/behaviors.rb +133 -0
  24. data/lib/ronin/{payloads/helpers → controls}/exceptions.rb +2 -4
  25. data/lib/ronin/{payloads/arch.rb → controls/exceptions/not_implemented.rb} +3 -8
  26. data/lib/ronin/controls/exceptions/program_not_found.rb +27 -0
  27. data/lib/ronin/controls/file_system.rb +145 -0
  28. data/lib/ronin/{exploits/os.rb → controls/helpers.rb} +12 -13
  29. data/lib/ronin/controls/helpers/command_exec.rb +143 -0
  30. data/lib/ronin/controls/helpers/dir_create.rb +42 -0
  31. data/lib/ronin/controls/helpers/dir_listing.rb +62 -0
  32. data/lib/ronin/controls/helpers/dir_remove.rb +42 -0
  33. data/lib/ronin/controls/helpers/file_ctime.rb +52 -0
  34. data/lib/ronin/controls/helpers/file_mtime.rb +53 -0
  35. data/lib/ronin/controls/helpers/file_ownership.rb +53 -0
  36. data/lib/ronin/controls/helpers/file_read.rb +62 -0
  37. data/lib/ronin/controls/helpers/file_remove.rb +51 -0
  38. data/lib/ronin/controls/helpers/file_write.rb +62 -0
  39. data/lib/ronin/controls/helpers/memory_read.rb +39 -0
  40. data/lib/ronin/controls/helpers/memory_write.rb +39 -0
  41. data/lib/ronin/exploits.rb +0 -2
  42. data/lib/ronin/exploits/{allow.rb → control.rb} +5 -9
  43. data/lib/ronin/exploits/exceptions.rb +1 -2
  44. data/lib/ronin/exploits/exceptions/exception.rb +27 -0
  45. data/lib/ronin/exploits/exceptions/exploit_not_built.rb +3 -3
  46. data/lib/ronin/exploits/exceptions/payload_size.rb +3 -3
  47. data/lib/ronin/exploits/exceptions/restricted_char.rb +3 -3
  48. data/lib/ronin/exploits/exceptions/target_data_missing.rb +3 -3
  49. data/lib/ronin/exploits/exceptions/target_unspecified.rb +3 -3
  50. data/lib/ronin/exploits/exceptions/unknown_helper.rb +3 -3
  51. data/lib/ronin/exploits/exploit.rb +449 -92
  52. data/lib/ronin/exploits/exploit_author.rb +2 -3
  53. data/lib/ronin/exploits/ftp.rb +7 -2
  54. data/lib/ronin/exploits/helpers.rb +0 -2
  55. data/lib/ronin/exploits/helpers/binary.rb +11 -5
  56. data/lib/ronin/exploits/helpers/buffer_overflow.rb +38 -25
  57. data/lib/ronin/exploits/helpers/file_based.rb +29 -30
  58. data/lib/ronin/exploits/helpers/format_string.rb +34 -24
  59. data/lib/ronin/exploits/helpers/padding.rb +33 -16
  60. data/lib/ronin/exploits/http.rb +9 -4
  61. data/lib/ronin/exploits/local.rb +8 -2
  62. data/lib/ronin/exploits/remote.rb +8 -2
  63. data/lib/ronin/exploits/remote_tcp.rb +26 -8
  64. data/lib/ronin/exploits/remote_udp.rb +26 -8
  65. data/lib/ronin/exploits/target.rb +41 -30
  66. data/lib/ronin/exploits/targets.rb +0 -2
  67. data/lib/ronin/exploits/targets/buffer_overflow.rb +0 -2
  68. data/lib/ronin/exploits/targets/format_string.rb +0 -2
  69. data/lib/ronin/exploits/verifiers.rb +45 -16
  70. data/lib/ronin/exploits/version.rb +1 -3
  71. data/lib/ronin/exploits/web.rb +18 -6
  72. data/lib/ronin/generators/exploits.rb +23 -0
  73. data/lib/ronin/generators/exploits/exploit.rb +70 -0
  74. data/lib/ronin/generators/exploits/ftp.rb +42 -0
  75. data/lib/ronin/generators/exploits/http.rb +42 -0
  76. data/lib/ronin/generators/exploits/local.rb +42 -0
  77. data/lib/ronin/generators/exploits/remote.rb +42 -0
  78. data/lib/ronin/generators/exploits/remote_tcp.rb +44 -0
  79. data/lib/ronin/generators/exploits/remote_udp.rb +44 -0
  80. data/lib/ronin/{exploits/arch.rb → generators/exploits/static.rb} +5 -9
  81. data/lib/ronin/generators/exploits/web.rb +45 -0
  82. data/lib/ronin/generators/payloads.rb +23 -0
  83. data/lib/ronin/generators/payloads/binary_payload.rb +42 -0
  84. data/lib/ronin/generators/payloads/nops.rb +42 -0
  85. data/lib/ronin/generators/payloads/payload.rb +66 -0
  86. data/lib/ronin/generators/payloads/shellcode.rb +42 -0
  87. data/lib/ronin/generators/payloads/static.rb +30 -0
  88. data/lib/ronin/model/has_default_port.rb +6 -6
  89. data/lib/ronin/model/targets_arch.rb +18 -7
  90. data/lib/ronin/model/targets_os.rb +18 -8
  91. data/lib/ronin/model/targets_product.rb +68 -0
  92. data/lib/ronin/payloads.rb +0 -2
  93. data/lib/ronin/payloads/asm_payload.rb +8 -2
  94. data/lib/ronin/payloads/binary_payload.rb +8 -2
  95. data/lib/ronin/payloads/control.rb +1 -5
  96. data/lib/ronin/payloads/encoders.rb +1 -2
  97. data/lib/ronin/payloads/encoders/encoder.rb +92 -0
  98. data/lib/ronin/payloads/encoders/xor.rb +4 -6
  99. data/lib/ronin/payloads/exceptions.rb +1 -2
  100. data/lib/ronin/payloads/{helpers/exceptions/not_implemented.rb → exceptions/exception.rb} +1 -5
  101. data/lib/ronin/payloads/{helpers/exceptions/program_not_found.rb → exceptions/not_implemented.rb} +3 -5
  102. data/lib/ronin/payloads/exceptions/unknown_helper.rb +3 -3
  103. data/lib/ronin/payloads/has_payload.rb +111 -0
  104. data/lib/ronin/payloads/helpers.rb +1 -4
  105. data/lib/ronin/payloads/helpers/chained.rb +61 -0
  106. data/lib/ronin/payloads/helpers/rpc.rb +31 -21
  107. data/lib/ronin/payloads/nops.rb +7 -2
  108. data/lib/ronin/payloads/payload.rb +144 -85
  109. data/lib/ronin/payloads/payload_author.rb +2 -3
  110. data/lib/ronin/payloads/shellcode.rb +8 -5
  111. data/lib/ronin/payloads/web_payload.rb +8 -2
  112. data/lib/ronin/ui/command_line/commands/exploit.rb +193 -0
  113. data/lib/ronin/ui/command_line/commands/exploits.rb +102 -25
  114. data/lib/ronin/ui/command_line/commands/gen_binary_payload.rb +34 -0
  115. data/lib/ronin/ui/command_line/commands/gen_exploit.rb +34 -0
  116. data/lib/ronin/ui/command_line/commands/gen_ftp_exploit.rb +34 -0
  117. data/lib/ronin/ui/command_line/commands/gen_http_exploit.rb +34 -0
  118. data/lib/ronin/ui/command_line/commands/gen_local_exploit.rb +34 -0
  119. data/lib/ronin/{exploits/license.rb → ui/command_line/commands/gen_nops.rb} +8 -8
  120. data/lib/ronin/ui/command_line/commands/gen_payload.rb +34 -0
  121. data/lib/ronin/ui/command_line/commands/gen_remote_exploit.rb +34 -0
  122. data/lib/ronin/ui/command_line/commands/gen_remote_tcp_exploit.rb +34 -0
  123. data/lib/ronin/ui/command_line/commands/gen_remote_udp_exploit.rb +34 -0
  124. data/lib/ronin/ui/command_line/commands/gen_shellcode.rb +34 -0
  125. data/lib/ronin/ui/command_line/commands/gen_web_exploit.rb +34 -0
  126. data/lib/ronin/ui/command_line/commands/payload.rb +73 -50
  127. data/lib/ronin/ui/command_line/commands/payloads.rb +78 -23
  128. data/lib/ronin/vuln/behavior.rb +101 -28
  129. data/spec/controls/behaviors_examples.rb +38 -0
  130. data/spec/exploits/exploit_spec.rb +177 -23
  131. data/spec/exploits/file_based_exploit_spec.rb +16 -7
  132. data/spec/exploits/remote_tcp_spec.rb +1 -1
  133. data/spec/exploits/remote_udp_spec.rb +1 -1
  134. data/spec/generators/exploits/exploit_examples.rb +24 -0
  135. data/spec/generators/exploits/exploit_spec.rb +42 -0
  136. data/spec/generators/exploits/ftp_spec.rb +42 -0
  137. data/spec/generators/exploits/http_spec.rb +42 -0
  138. data/spec/generators/exploits/local_spec.rb +42 -0
  139. data/spec/generators/exploits/remote_spec.rb +42 -0
  140. data/spec/generators/exploits/remote_tcp_spec.rb +47 -0
  141. data/spec/generators/exploits/remote_udp_spec.rb +47 -0
  142. data/spec/generators/exploits/web_spec.rb +52 -0
  143. data/spec/generators/payloads/binary_payload_spec.rb +31 -0
  144. data/spec/generators/payloads/nops_spec.rb +31 -0
  145. data/spec/generators/payloads/payload_examples.rb +16 -0
  146. data/spec/generators/payloads/payload_spec.rb +31 -0
  147. data/spec/generators/payloads/shellcode_spec.rb +31 -0
  148. data/spec/model/models/targets_product_model.rb +11 -0
  149. data/spec/model/targets_arch_spec.rb +11 -1
  150. data/spec/model/targets_os_spec.rb +11 -1
  151. data/spec/model/targets_product_spec.rb +35 -0
  152. data/spec/objects/exploits/{test.rb → simple.rb} +1 -1
  153. data/spec/objects/payloads/{test.rb → simple.rb} +6 -2
  154. data/spec/payloads/encoders/encoder_spec.rb +30 -0
  155. data/spec/payloads/encoders/xor_spec.rb +1 -1
  156. data/spec/payloads/payload_spec.rb +41 -43
  157. data/spec/spec_helper.rb +4 -1
  158. data/static/ronin/generators/exploits/_cache.erb +14 -0
  159. data/static/ronin/generators/exploits/_header.erb +1 -0
  160. data/static/ronin/generators/exploits/_helpers.erb +4 -0
  161. data/static/ronin/generators/exploits/exploit.erb +24 -0
  162. data/static/ronin/generators/exploits/ftp.erb +24 -0
  163. data/static/ronin/generators/exploits/http.erb +26 -0
  164. data/static/ronin/generators/exploits/local.erb +24 -0
  165. data/static/ronin/generators/exploits/remote.erb +24 -0
  166. data/static/ronin/generators/exploits/remote_tcp.erb +26 -0
  167. data/static/ronin/generators/exploits/remote_udp.erb +26 -0
  168. data/static/ronin/generators/exploits/web.erb +28 -0
  169. data/static/ronin/generators/payloads/_cache.erb +10 -0
  170. data/static/ronin/generators/payloads/_header.erb +1 -0
  171. data/static/ronin/generators/payloads/_helpers.erb +2 -0
  172. data/static/ronin/generators/payloads/binary_payload.erb +25 -0
  173. data/static/ronin/generators/payloads/nops.erb +19 -0
  174. data/static/ronin/generators/payloads/payload.erb +25 -0
  175. data/static/ronin/generators/payloads/shellcode.erb +25 -0
  176. data/tasks/spec.rb +1 -0
  177. data/tasks/yard.rb +13 -0
  178. metadata +162 -30
  179. metadata.gz.sig +0 -0
  180. data/TODO.txt +0 -22
  181. data/lib/ronin/exploits/product.rb +0 -34
  182. data/lib/ronin/payloads/encoder.rb +0 -84
  183. data/lib/ronin/payloads/helpers/file_system.rb +0 -187
  184. data/lib/ronin/payloads/helpers/shell.rb +0 -91
  185. data/lib/ronin/payloads/license.rb +0 -34
  186. data/lib/ronin/payloads/os.rb +0 -34
  187. data/spec/payloads/encoder_spec.rb +0 -30
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,12 @@
1
1
  require 'rubygems'
2
- gem 'rspec', '>=1.1.12'
2
+ gem 'rspec', '>=1.2.8'
3
3
  require 'spec'
4
4
 
5
5
  require 'ronin/exploits/version'
6
+ require 'ronin/ui/output'
6
7
 
7
8
  include Ronin
8
9
 
10
+ UI::Output.silent = true
11
+
9
12
  require 'helpers/database'
@@ -0,0 +1,14 @@
1
+ self.name = <%= options[:name].inspect %>
2
+ self.description = %{<%= options[:description] %>}
3
+
4
+ self.status = <%= options[:status].to_sym.inspect %>
5
+ self.disclosure = <%= options[:disclosure].map { |name| name.to_sym }.inspect %>
6
+ <% options[:authors].each do |author| %>
7
+ author(:name => <%= author.inspect %>)
8
+ <% end
9
+ unless options[:controls].empty? %>
10
+ control <%= options[:controls].map { |name| name.to_sym.inspect }.join(', ') %>
11
+ <% end %>
12
+ targeting do |target|
13
+ target.arch :i686
14
+ end
@@ -0,0 +1 @@
1
+ #!/usr/bin/ronin-exploit -f
@@ -0,0 +1,4 @@
1
+ <% unless options[:helpers].empty? %>
2
+ <% options[:helpers].each do |name| %> helper <%= name.to_sym.inspect %>
3
+ <% end
4
+ end %>
@@ -0,0 +1,24 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_exploit do
4
+ <%= template '_helpers.erb' %>
5
+ #
6
+ # Cacheable data.
7
+ #
8
+ cache do
9
+ <%= template '_cache.erb' %>
10
+ end
11
+
12
+ #
13
+ # Builds the exploit.
14
+ #
15
+ def build
16
+ end
17
+
18
+ #
19
+ # Deploys the built exploit.
20
+ #
21
+ def deploy
22
+ end
23
+
24
+ end
@@ -0,0 +1,24 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_ftp_exploit do
4
+ <%= template '_helpers.erb' %>
5
+ #
6
+ # Cacheable data.
7
+ #
8
+ cache do
9
+ <%= template '_cache.erb' %>
10
+ end
11
+
12
+ #
13
+ # Builds the FTP exploit.
14
+ #
15
+ def build
16
+ end
17
+
18
+ #
19
+ # Deploys the built FTP exploit.
20
+ #
21
+ def deploy
22
+ end
23
+
24
+ end
@@ -0,0 +1,26 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_http_exploit do
4
+ <%= template '_helpers.erb' %>
5
+ #
6
+ # Cacheable data.
7
+ #
8
+ cache do
9
+ <%= template '_cache.erb' %>
10
+ <% if options[:default_port] %>
11
+ self.default_port = <%= options[:default_port].inspect %><% end %>
12
+ end
13
+
14
+ #
15
+ # Builds the HTTP exploit.
16
+ #
17
+ def build
18
+ end
19
+
20
+ #
21
+ # Deploys the built HTTP exploit.
22
+ #
23
+ def deploy
24
+ end
25
+
26
+ end
@@ -0,0 +1,24 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_local_exploit do
4
+ <%= template '_helpers.erb' %>
5
+ #
6
+ # Cacheable data.
7
+ #
8
+ cache do
9
+ <%= template '_cache.erb' %>
10
+ end
11
+
12
+ #
13
+ # Builds the local exploit.
14
+ #
15
+ def build
16
+ end
17
+
18
+ #
19
+ # Deploys the built local exploit.
20
+ #
21
+ def deploy
22
+ end
23
+
24
+ end
@@ -0,0 +1,24 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_remote_exploit do
4
+ <%= template '_helpers.erb' %>
5
+ #
6
+ # Cacheable data.
7
+ #
8
+ cache do
9
+ <%= template '_cache.erb' %>
10
+ end
11
+
12
+ #
13
+ # Builds the remote exploit.
14
+ #
15
+ def build
16
+ end
17
+
18
+ #
19
+ # Deploys the built remote exploit.
20
+ #
21
+ def deploy
22
+ end
23
+
24
+ end
@@ -0,0 +1,26 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_remote_tcp_exploit do
4
+ <%= template '_helpers.erb' %>
5
+ #
6
+ # Cacheable data.
7
+ #
8
+ cache do
9
+ <%= template '_cache.erb' %>
10
+ <% if options[:default_port] %>
11
+ self.default_port = <%= options[:default_port].inspect %><% end %>
12
+ end
13
+
14
+ #
15
+ # Builds the remote tcp exploit.
16
+ #
17
+ def build
18
+ end
19
+
20
+ #
21
+ # Deploys the built remote tcp exploit.
22
+ #
23
+ def deploy
24
+ end
25
+
26
+ end
@@ -0,0 +1,26 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_remote_udp_exploit do
4
+ <%= template '_helpers.erb' %>
5
+ #
6
+ # Cacheable data.
7
+ #
8
+ cache do
9
+ <%= template '_cache.erb' %>
10
+ <% if options[:default_port] %>
11
+ self.default_port = <%= options[:default_port].inspect %><% end %>
12
+ end
13
+
14
+ #
15
+ # Builds the remote udp exploit.
16
+ #
17
+ def build
18
+ end
19
+
20
+ #
21
+ # Deploys the built remote udp exploit.
22
+ #
23
+ def deploy
24
+ end
25
+
26
+ end
@@ -0,0 +1,28 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_web_exploit do
4
+ <%= template '_helpers.erb' %>
5
+ #
6
+ # Cacheable data.
7
+ #
8
+ cache do
9
+ <%= template '_cache.erb' %>
10
+ <% if options[:url_path] %>
11
+ self.url_path = <%= options[:url_path].inspect %><% end
12
+ if options[:url_query] %>
13
+ self.url_query = <%= options[:url_query].inspect %><% end %>
14
+ end
15
+
16
+ #
17
+ # Builds the web exploit.
18
+ #
19
+ def build
20
+ end
21
+
22
+ #
23
+ # Deploys the built web exploit.
24
+ #
25
+ def deploy
26
+ end
27
+
28
+ end
@@ -0,0 +1,10 @@
1
+ self.name = <%= options[:name].inspect %>
2
+ self.version = <%= options[:version].inspect %>
3
+ self.description = %{<%= options[:description] %>}
4
+
5
+ <% options[:authors].each do |author| %>
6
+ author(:name => <%= author.inspect %>)
7
+ <% end
8
+ unless options[:controls].empty? %>
9
+ control <%= options[:controls].map { |name| name.to_sym.inspect }.join(', ') %>
10
+ <% end %>
@@ -0,0 +1 @@
1
+ #!/usr/bin/ronin-payload -f
@@ -0,0 +1,2 @@
1
+ <% options[:helpers].each do |name| %> helper <%= name.to_sym.inspect %>
2
+ <% end %>
@@ -0,0 +1,25 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_binary_payload do
4
+
5
+ <%= template '_helpers.erb' %>
6
+ #
7
+ # Cacheable data.
8
+ #
9
+ cache do
10
+ <%= template '_cache.erb' %>
11
+ end
12
+
13
+ #
14
+ # Builds the binary payload.
15
+ #
16
+ def build
17
+ end
18
+
19
+ #
20
+ # Deploys the binary payload.
21
+ #
22
+ def deploy
23
+ end
24
+
25
+ end
@@ -0,0 +1,19 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_nops do
4
+
5
+ <%= template '_helpers.erb' %>
6
+ #
7
+ # Cacheable data.
8
+ #
9
+ cache do
10
+ <%= template '_cache.erb' %>
11
+ end
12
+
13
+ #
14
+ # Builds the NOPs.
15
+ #
16
+ def build
17
+ end
18
+
19
+ end
@@ -0,0 +1,25 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_payload do
4
+
5
+ <%= template '_helpers.erb' %>
6
+ #
7
+ # Cacheable data.
8
+ #
9
+ cache do
10
+ <%= template '_cache.erb' %>
11
+ end
12
+
13
+ #
14
+ # Builds the payload.
15
+ #
16
+ def build
17
+ end
18
+
19
+ #
20
+ # Deploys the payload.
21
+ #
22
+ def deploy
23
+ end
24
+
25
+ end
@@ -0,0 +1,25 @@
1
+ <%= template '_header.erb' %>
2
+
3
+ ronin_shellcode do
4
+
5
+ <%= template '_helpers.erb' %>
6
+ #
7
+ # Cacheable data.
8
+ #
9
+ cache do
10
+ <%= template '_cache.erb' %>
11
+ end
12
+
13
+ #
14
+ # Builds the shellcode.
15
+ #
16
+ def build
17
+ end
18
+
19
+ #
20
+ # Deploys the shellcode.
21
+ #
22
+ def deploy
23
+ end
24
+
25
+ end
data/tasks/spec.rb CHANGED
@@ -6,4 +6,5 @@ Spec::Rake::SpecTask.new(:spec) do |t|
6
6
  t.spec_opts = ['--colour', '--format', 'specdoc']
7
7
  end
8
8
 
9
+ task :test => :spec
9
10
  task :default => :spec
data/tasks/yard.rb ADDED
@@ -0,0 +1,13 @@
1
+ require 'ronin/yard/handlers'
2
+
3
+ YARD::Rake::YardocTask.new do |t|
4
+ t.files = ['lib/**/*.rb']
5
+ t.options = [
6
+ '--protected',
7
+ '--files', 'History.txt',
8
+ '--title', 'Ronin Exploits',
9
+ '--quiet'
10
+ ]
11
+ end
12
+
13
+ task :docs => :yardoc
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin-exploits
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
@@ -30,7 +30,7 @@ cert_chain:
30
30
  pDj+ws7QjtH/Qcrr1l9jfN0ehDs=
31
31
  -----END CERTIFICATE-----
32
32
 
33
- date: 2009-07-08 00:00:00 -07:00
33
+ date: 2009-09-25 00:00:00 -07:00
34
34
  default_executable:
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
@@ -41,7 +41,37 @@ dependencies:
41
41
  requirements:
42
42
  - - ">="
43
43
  - !ruby/object:Gem::Version
44
- version: 0.2.4
44
+ version: 0.3.0
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: ronin-gen
48
+ type: :runtime
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.2.0
55
+ version:
56
+ - !ruby/object:Gem::Dependency
57
+ name: rspec
58
+ type: :development
59
+ version_requirement:
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.2.8
65
+ version:
66
+ - !ruby/object:Gem::Dependency
67
+ name: yard
68
+ type: :development
69
+ version_requirement:
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 0.2.3.5
45
75
  version:
46
76
  - !ruby/object:Gem::Dependency
47
77
  name: hoe
@@ -51,21 +81,34 @@ dependencies:
51
81
  requirements:
52
82
  - - ">="
53
83
  - !ruby/object:Gem::Version
54
- version: 2.3.2
84
+ version: 2.3.3
55
85
  version:
56
86
  description: |-
57
87
  Ronin Exploits is a Ruby library for Ronin that provides exploitation and
58
88
  payload crafting functionality.
59
89
 
60
- Ronin is a Ruby platform designed for information security and data
61
- exploration tasks. Ronin allows for the rapid development and distribution
62
- of code over many of the common Source-Code-Management (SCM) systems.
90
+ Ronin is a Ruby platform for exploit development and security research.
91
+ Ronin allows for the rapid development and distribution of code, exploits
92
+ or payloads over many common Source-Code-Management (SCM) systems.
63
93
  email:
64
94
  - postmodern.mod3@gmail.com
65
95
  executables:
66
96
  - ronin-payload
97
+ - ronin-exploit
67
98
  - ronin-payloads
68
99
  - ronin-exploits
100
+ - ronin-gen-exploit
101
+ - ronin-gen-local-exploit
102
+ - ronin-gen-remote-exploit
103
+ - ronin-gen-remote-tcp-exploit
104
+ - ronin-gen-remote-udp-exploit
105
+ - ronin-gen-http-exploit
106
+ - ronin-gen-ftp-exploit
107
+ - ronin-gen-web-exploit
108
+ - ronin-gen-payload
109
+ - ronin-gen-binary-payload
110
+ - ronin-gen-shellcode
111
+ - ronin-gen-nops
69
112
  extensions: []
70
113
 
71
114
  extra_rdoc_files:
@@ -73,33 +116,61 @@ extra_rdoc_files:
73
116
  - COPYING.txt
74
117
  - Manifest.txt
75
118
  - README.txt
76
- - TODO.txt
77
119
  files:
78
120
  - History.txt
79
121
  - COPYING.txt
80
122
  - Manifest.txt
81
123
  - README.txt
82
124
  - Rakefile
83
- - TODO.txt
84
125
  - bin/ronin-payload
126
+ - bin/ronin-exploit
85
127
  - bin/ronin-payloads
86
128
  - bin/ronin-exploits
129
+ - bin/ronin-gen-exploit
130
+ - bin/ronin-gen-local-exploit
131
+ - bin/ronin-gen-remote-exploit
132
+ - bin/ronin-gen-remote-tcp-exploit
133
+ - bin/ronin-gen-remote-udp-exploit
134
+ - bin/ronin-gen-http-exploit
135
+ - bin/ronin-gen-ftp-exploit
136
+ - bin/ronin-gen-web-exploit
137
+ - bin/ronin-gen-payload
138
+ - bin/ronin-gen-binary-payload
139
+ - bin/ronin-gen-shellcode
140
+ - bin/ronin-gen-nops
87
141
  - lib/ronin/model/has_default_port.rb
88
142
  - lib/ronin/model/targets_arch.rb
89
143
  - lib/ronin/model/targets_os.rb
144
+ - lib/ronin/model/targets_product.rb
90
145
  - lib/ronin/vuln/behavior.rb
146
+ - lib/ronin/controls.rb
147
+ - lib/ronin/controls/exceptions.rb
148
+ - lib/ronin/controls/exceptions/not_implemented.rb
149
+ - lib/ronin/controls/exceptions/program_not_found.rb
150
+ - lib/ronin/controls/behaviors.rb
151
+ - lib/ronin/controls/file_system.rb
152
+ - lib/ronin/controls/helpers.rb
153
+ - lib/ronin/controls/helpers/memory_read.rb
154
+ - lib/ronin/controls/helpers/memory_write.rb
155
+ - lib/ronin/controls/helpers/file_read.rb
156
+ - lib/ronin/controls/helpers/file_write.rb
157
+ - lib/ronin/controls/helpers/file_remove.rb
158
+ - lib/ronin/controls/helpers/file_ownership.rb
159
+ - lib/ronin/controls/helpers/file_mtime.rb
160
+ - lib/ronin/controls/helpers/file_ctime.rb
161
+ - lib/ronin/controls/helpers/dir_listing.rb
162
+ - lib/ronin/controls/helpers/dir_create.rb
163
+ - lib/ronin/controls/helpers/dir_remove.rb
164
+ - lib/ronin/controls/helpers/command_exec.rb
91
165
  - lib/ronin/exploits.rb
92
166
  - lib/ronin/exploits/exceptions.rb
167
+ - lib/ronin/exploits/exceptions/exception.rb
93
168
  - lib/ronin/exploits/exceptions/unknown_helper.rb
94
169
  - lib/ronin/exploits/exceptions/target_unspecified.rb
95
170
  - lib/ronin/exploits/exceptions/target_data_missing.rb
96
171
  - lib/ronin/exploits/exceptions/exploit_not_built.rb
97
172
  - lib/ronin/exploits/exceptions/restricted_char.rb
98
173
  - lib/ronin/exploits/exceptions/payload_size.rb
99
- - lib/ronin/exploits/arch.rb
100
- - lib/ronin/exploits/os.rb
101
- - lib/ronin/exploits/license.rb
102
- - lib/ronin/exploits/product.rb
103
174
  - lib/ronin/exploits/verifiers.rb
104
175
  - lib/ronin/exploits/helpers.rb
105
176
  - lib/ronin/exploits/helpers/file_based.rb
@@ -110,7 +181,7 @@ files:
110
181
  - lib/ronin/exploits/targets.rb
111
182
  - lib/ronin/exploits/targets/buffer_overflow.rb
112
183
  - lib/ronin/exploits/targets/format_string.rb
113
- - lib/ronin/exploits/allow.rb
184
+ - lib/ronin/exploits/control.rb
114
185
  - lib/ronin/exploits/target.rb
115
186
  - lib/ronin/exploits/exploit.rb
116
187
  - lib/ronin/exploits/exploit_author.rb
@@ -124,20 +195,16 @@ files:
124
195
  - lib/ronin/exploits/version.rb
125
196
  - lib/ronin/payloads.rb
126
197
  - lib/ronin/payloads/exceptions.rb
198
+ - lib/ronin/payloads/exceptions/exception.rb
127
199
  - lib/ronin/payloads/exceptions/unknown_helper.rb
128
- - lib/ronin/payloads/license.rb
129
- - lib/ronin/payloads/arch.rb
130
- - lib/ronin/payloads/os.rb
131
- - lib/ronin/payloads/encoder.rb
132
- - lib/ronin/payloads/encoders.rb
133
- - lib/ronin/payloads/encoders/xor.rb
200
+ - lib/ronin/payloads/exceptions/not_implemented.rb
134
201
  - lib/ronin/payloads/helpers.rb
135
- - lib/ronin/payloads/helpers/exceptions.rb
136
- - lib/ronin/payloads/helpers/exceptions/not_implemented.rb
137
- - lib/ronin/payloads/helpers/exceptions/program_not_found.rb
138
- - lib/ronin/payloads/helpers/file_system.rb
139
- - lib/ronin/payloads/helpers/shell.rb
202
+ - lib/ronin/payloads/helpers/chained.rb
140
203
  - lib/ronin/payloads/helpers/rpc.rb
204
+ - lib/ronin/payloads/encoders.rb
205
+ - lib/ronin/payloads/encoders/encoder.rb
206
+ - lib/ronin/payloads/encoders/xor.rb
207
+ - lib/ronin/payloads/has_payload.rb
141
208
  - lib/ronin/payloads/control.rb
142
209
  - lib/ronin/payloads/payload_author.rb
143
210
  - lib/ronin/payloads/payload.rb
@@ -146,25 +213,76 @@ files:
146
213
  - lib/ronin/payloads/nops.rb
147
214
  - lib/ronin/payloads/shellcode.rb
148
215
  - lib/ronin/payloads/web_payload.rb
216
+ - lib/ronin/generators/exploits.rb
217
+ - lib/ronin/generators/exploits/exploit.rb
218
+ - lib/ronin/generators/exploits/local.rb
219
+ - lib/ronin/generators/exploits/remote.rb
220
+ - lib/ronin/generators/exploits/remote_tcp.rb
221
+ - lib/ronin/generators/exploits/remote_udp.rb
222
+ - lib/ronin/generators/exploits/http.rb
223
+ - lib/ronin/generators/exploits/ftp.rb
224
+ - lib/ronin/generators/exploits/web.rb
225
+ - lib/ronin/generators/exploits/static.rb
226
+ - lib/ronin/generators/payloads.rb
227
+ - lib/ronin/generators/payloads/payload.rb
228
+ - lib/ronin/generators/payloads/binary_payload.rb
229
+ - lib/ronin/generators/payloads/shellcode.rb
230
+ - lib/ronin/generators/payloads/nops.rb
231
+ - lib/ronin/generators/payloads/static.rb
149
232
  - lib/ronin/ui/command_line/commands/payload.rb
233
+ - lib/ronin/ui/command_line/commands/exploit.rb
150
234
  - lib/ronin/ui/command_line/commands/payloads.rb
151
235
  - lib/ronin/ui/command_line/commands/exploits.rb
236
+ - lib/ronin/ui/command_line/commands/gen_exploit.rb
237
+ - lib/ronin/ui/command_line/commands/gen_local_exploit.rb
238
+ - lib/ronin/ui/command_line/commands/gen_remote_exploit.rb
239
+ - lib/ronin/ui/command_line/commands/gen_remote_tcp_exploit.rb
240
+ - lib/ronin/ui/command_line/commands/gen_remote_udp_exploit.rb
241
+ - lib/ronin/ui/command_line/commands/gen_http_exploit.rb
242
+ - lib/ronin/ui/command_line/commands/gen_ftp_exploit.rb
243
+ - lib/ronin/ui/command_line/commands/gen_web_exploit.rb
244
+ - lib/ronin/ui/command_line/commands/gen_payload.rb
245
+ - lib/ronin/ui/command_line/commands/gen_binary_payload.rb
246
+ - lib/ronin/ui/command_line/commands/gen_shellcode.rb
247
+ - lib/ronin/ui/command_line/commands/gen_nops.rb
152
248
  - tasks/spec.rb
249
+ - tasks/yard.rb
250
+ - static/ronin/generators/exploits/_header.erb
251
+ - static/ronin/generators/exploits/_helpers.erb
252
+ - static/ronin/generators/exploits/_cache.erb
253
+ - static/ronin/generators/exploits/exploit.erb
254
+ - static/ronin/generators/exploits/local.erb
255
+ - static/ronin/generators/exploits/remote.erb
256
+ - static/ronin/generators/exploits/remote_tcp.erb
257
+ - static/ronin/generators/exploits/remote_udp.erb
258
+ - static/ronin/generators/exploits/http.erb
259
+ - static/ronin/generators/exploits/ftp.erb
260
+ - static/ronin/generators/exploits/web.erb
261
+ - static/ronin/generators/payloads/_header.erb
262
+ - static/ronin/generators/payloads/_helpers.erb
263
+ - static/ronin/generators/payloads/_cache.erb
264
+ - static/ronin/generators/payloads/payload.erb
265
+ - static/ronin/generators/payloads/binary_payload.erb
266
+ - static/ronin/generators/payloads/shellcode.erb
267
+ - static/ronin/generators/payloads/nops.erb
153
268
  - spec/spec_helper.rb
154
269
  - spec/helpers/database.rb
155
270
  - spec/helpers/objects.rb
156
- - spec/objects/exploits/test.rb
271
+ - spec/objects/exploits/simple.rb
157
272
  - spec/objects/exploits/example.rb
158
- - spec/objects/payloads/test.rb
273
+ - spec/objects/payloads/simple.rb
159
274
  - spec/exploits_spec.rb
160
275
  - spec/model/models/default_port_model.rb
161
276
  - spec/model/models/non_default_port_model.rb
162
277
  - spec/model/models/targets_arch_model.rb
163
278
  - spec/model/models/targets_os_model.rb
279
+ - spec/model/models/targets_product_model.rb
164
280
  - spec/model/has_default_port_spec.rb
165
281
  - spec/model/targets_arch_spec.rb
166
282
  - spec/model/targets_os_spec.rb
283
+ - spec/model/targets_product_spec.rb
167
284
  - spec/vuln/behavior_spec.rb
285
+ - spec/controls/behaviors_examples.rb
168
286
  - spec/exploits/targets/buffer_overflow_spec.rb
169
287
  - spec/exploits/target_spec.rb
170
288
  - spec/exploits/exploit_spec.rb
@@ -178,10 +296,24 @@ files:
178
296
  - spec/exploits/padding_exploit_spec.rb
179
297
  - spec/exploits/buffer_overflow_exploit_spec.rb
180
298
  - spec/exploits/format_string_exploit_spec.rb
181
- - spec/payloads/encoder_spec.rb
299
+ - spec/payloads/encoders/encoder_spec.rb
182
300
  - spec/payloads/encoders/xor_spec.rb
183
301
  - spec/payloads/payload_spec.rb
184
- has_rdoc: true
302
+ - spec/generators/exploits/exploit_examples.rb
303
+ - spec/generators/exploits/exploit_spec.rb
304
+ - spec/generators/exploits/local_spec.rb
305
+ - spec/generators/exploits/remote_spec.rb
306
+ - spec/generators/exploits/remote_tcp_spec.rb
307
+ - spec/generators/exploits/remote_udp_spec.rb
308
+ - spec/generators/exploits/http_spec.rb
309
+ - spec/generators/exploits/ftp_spec.rb
310
+ - spec/generators/exploits/web_spec.rb
311
+ - spec/generators/payloads/payload_examples.rb
312
+ - spec/generators/payloads/payload_spec.rb
313
+ - spec/generators/payloads/binary_payload_spec.rb
314
+ - spec/generators/payloads/shellcode_spec.rb
315
+ - spec/generators/payloads/nops_spec.rb
316
+ has_rdoc: yard
185
317
  homepage: http://ronin.rubyforge.org/exploits/
186
318
  licenses: []
187
319
 
@@ -206,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
338
  requirements: []
207
339
 
208
340
  rubyforge_project: ronin
209
- rubygems_version: 1.3.4
341
+ rubygems_version: 1.3.5
210
342
  signing_key:
211
343
  specification_version: 3
212
344
  summary: Ronin Exploits is a Ruby library for Ronin that provides exploitation and payload crafting functionality