ronin-exploits 0.2.0 → 0.2.1

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 (66) hide show
  1. data.tar.gz.sig +0 -0
  2. data/History.txt +27 -0
  3. data/Manifest.txt +21 -5
  4. data/README.txt +40 -3
  5. data/Rakefile +6 -6
  6. data/TODO.txt +12 -9
  7. data/lib/ronin/exploits/allow.rb +1 -1
  8. data/lib/ronin/{targeted_arch.rb → exploits/arch.rb} +1 -5
  9. data/lib/ronin/exploits/exploit.rb +59 -144
  10. data/lib/ronin/exploits/ftp.rb +4 -1
  11. data/lib/ronin/exploits/helpers.rb +1 -0
  12. data/lib/ronin/exploits/helpers/file_based.rb +113 -0
  13. data/lib/ronin/exploits/http.rb +10 -0
  14. data/lib/ronin/exploits/license.rb +34 -0
  15. data/lib/ronin/exploits/os.rb +34 -0
  16. data/lib/ronin/{targeted_product.rb → exploits/product.rb} +1 -1
  17. data/lib/ronin/exploits/remote_tcp.rb +2 -3
  18. data/lib/ronin/exploits/remote_udp.rb +2 -3
  19. data/lib/ronin/exploits/target.rb +8 -10
  20. data/lib/ronin/exploits/verifiers.rb +92 -0
  21. data/lib/ronin/exploits/version.rb +1 -1
  22. data/lib/ronin/exploits/web.rb +21 -1
  23. data/lib/ronin/model/has_default_port.rb +54 -0
  24. data/lib/ronin/model/targets_arch.rb +8 -10
  25. data/lib/ronin/model/targets_os.rb +9 -9
  26. data/lib/ronin/payloads.rb +1 -0
  27. data/lib/ronin/payloads/arch.rb +32 -0
  28. data/lib/ronin/payloads/asm_payload.rb +34 -0
  29. data/lib/ronin/payloads/encoder.rb +24 -18
  30. data/lib/ronin/payloads/helpers/exceptions.rb +2 -1
  31. data/lib/ronin/payloads/helpers/exceptions/{unimplemented.rb → not_implemented.rb} +1 -1
  32. data/lib/ronin/payloads/helpers/file_system.rb +12 -12
  33. data/lib/ronin/payloads/helpers/rpc.rb +7 -7
  34. data/lib/ronin/payloads/helpers/shell.rb +2 -2
  35. data/lib/ronin/payloads/license.rb +34 -0
  36. data/lib/ronin/payloads/nops.rb +3 -1
  37. data/lib/ronin/{targeted_os.rb → payloads/os.rb} +1 -5
  38. data/lib/ronin/payloads/payload.rb +89 -41
  39. data/lib/ronin/payloads/shellcode.rb +4 -1
  40. data/lib/ronin/ui/command_line/commands/exploits.rb +1 -1
  41. data/lib/ronin/ui/command_line/commands/payload.rb +2 -2
  42. data/lib/ronin/ui/command_line/commands/payloads.rb +1 -1
  43. data/spec/exploits/exploit_spec.rb +12 -30
  44. data/spec/exploits/file_based_exploit_spec.rb +39 -0
  45. data/spec/exploits/ftp_spec.rb +1 -5
  46. data/spec/exploits/http_spec.rb +4 -4
  47. data/spec/exploits/remote_tcp_spec.rb +7 -3
  48. data/spec/exploits/remote_udp_spec.rb +7 -3
  49. data/spec/exploits/target_spec.rb +9 -2
  50. data/spec/exploits/targets/buffer_overflow_spec.rb +6 -2
  51. data/spec/exploits/web_spec.rb +6 -0
  52. data/spec/model/has_default_port_spec.rb +27 -0
  53. data/spec/model/models/default_port_model.rb +13 -0
  54. data/spec/model/models/non_default_port_model.rb +11 -0
  55. data/spec/model/models/targets_arch_model.rb +11 -0
  56. data/spec/model/models/targets_os_model.rb +11 -0
  57. data/spec/model/targets_arch_spec.rb +22 -0
  58. data/spec/model/targets_os_spec.rb +23 -0
  59. data/spec/objects/exploits/example.rb +25 -0
  60. data/spec/objects/exploits/test.rb +0 -4
  61. data/spec/objects/payloads/test.rb +5 -1
  62. data/spec/payloads/encoder_spec.rb +5 -1
  63. data/spec/payloads/payload_spec.rb +77 -14
  64. metadata +58 -13
  65. metadata.gz.sig +0 -0
  66. data/spec/objects/payloads/example.rb +0 -19
metadata CHANGED
@@ -1,15 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin-exploits
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain: []
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDQDCCAiigAwIBAgIBADANBgkqhkiG9w0BAQUFADBGMRgwFgYDVQQDDA9wb3N0
14
+ bW9kZXJuLm1vZDMxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixk
15
+ ARkWA2NvbTAeFw0wOTA2MDMwNDU5MDNaFw0xMDA2MDMwNDU5MDNaMEYxGDAWBgNV
16
+ BAMMD3Bvc3Rtb2Rlcm4ubW9kMzEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYK
17
+ CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
18
+ 1wvANkTDHFgVih5XLjuTwTZjgBq1lBGybXJiH6Id1lY2JOMqM5FB1DDHVvvij94i
19
+ mJabN0zkzu6VKWC70y0IwOxY7CPokr0eFdK/D0y7mCq1P8QITv76i2YqAl0eYqIt
20
+ W+IhIkANQ7E6uMZIZcdnfadC6lPAtlKkqtd9crvRbFgr6e3kyflmohbRnTEJHoRd
21
+ 7SHHsybE6DSn7oTDs6XBTNrNIn5VfZA0z01eeos/+zBm1zKJOK2+/7xtLLDuDU9G
22
+ +Rd+ltUBbvxUrMNZmDG29pnmN2xTRH+Q8HxD2AxlvM5SRpK6OeZaHV7PaCCAVZ4L
23
+ T9BFl1sfMvRlABeGEkSyuQIDAQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE
24
+ sDAdBgNVHQ4EFgQUKwsd+PqEYmBvyaTyoL+uRuk+PhEwDQYJKoZIhvcNAQEFBQAD
25
+ ggEBAB4TvHsrlbcXcKg6gX5BIb9tI+zGkpzo0Z7jnxMEcNO7NGGwmzafDBI/xZYv
26
+ xkRH3/HXbGGYDOi6Q6gWt5GujSx0bOImDtYTJTH8jnzN92HzEK5WdScm1QpZKF1e
27
+ cezArMbxbSPaosxTCtG6LQTkE28lFQsmFZ5xzouugS4h5+LVJiVMmiP+l3EfkjFa
28
+ GOURU+rNEMPWo8MCWivGW7jes6BMzWHcW7DQ0scNVmIcCIgdyMmpscuAEOSeghy9
29
+ /fFs57Ey2OXBL55nDOyvN/ZQ2Vab05UH4t+GCxjAPeirzL/29FBtePT6VD44c38j
30
+ pDj+ws7QjtH/Qcrr1l9jfN0ehDs=
31
+ -----END CERTIFICATE-----
11
32
 
12
- date: 2009-05-11 00:00:00 -07:00
33
+ date: 2009-07-08 00:00:00 -07:00
13
34
  default_executable:
14
35
  dependencies:
15
36
  - !ruby/object:Gem::Dependency
@@ -20,7 +41,7 @@ dependencies:
20
41
  requirements:
21
42
  - - ">="
22
43
  - !ruby/object:Gem::Version
23
- version: 0.2.3
44
+ version: 0.2.4
24
45
  version:
25
46
  - !ruby/object:Gem::Dependency
26
47
  name: hoe
@@ -30,9 +51,15 @@ dependencies:
30
51
  requirements:
31
52
  - - ">="
32
53
  - !ruby/object:Gem::Version
33
- version: 1.12.2
54
+ version: 2.3.2
34
55
  version:
35
- description: Ronin Exploits is a Ruby library for Ronin that provides exploitation and payload crafting functionality. Ronin is a Ruby platform designed for information security and data exploration tasks. Ronin allows for the rapid development and distribution of code over many of the common Source-Code-Management (SCM) systems.
56
+ description: |-
57
+ Ronin Exploits is a Ruby library for Ronin that provides exploitation and
58
+ payload crafting functionality.
59
+
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.
36
63
  email:
37
64
  - postmodern.mod3@gmail.com
38
65
  executables:
@@ -57,9 +84,7 @@ files:
57
84
  - bin/ronin-payload
58
85
  - bin/ronin-payloads
59
86
  - bin/ronin-exploits
60
- - lib/ronin/targeted_arch.rb
61
- - lib/ronin/targeted_os.rb
62
- - lib/ronin/targeted_product.rb
87
+ - lib/ronin/model/has_default_port.rb
63
88
  - lib/ronin/model/targets_arch.rb
64
89
  - lib/ronin/model/targets_os.rb
65
90
  - lib/ronin/vuln/behavior.rb
@@ -71,7 +96,13 @@ files:
71
96
  - lib/ronin/exploits/exceptions/exploit_not_built.rb
72
97
  - lib/ronin/exploits/exceptions/restricted_char.rb
73
98
  - 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
+ - lib/ronin/exploits/verifiers.rb
74
104
  - lib/ronin/exploits/helpers.rb
105
+ - lib/ronin/exploits/helpers/file_based.rb
75
106
  - lib/ronin/exploits/helpers/binary.rb
76
107
  - lib/ronin/exploits/helpers/padding.rb
77
108
  - lib/ronin/exploits/helpers/buffer_overflow.rb
@@ -94,12 +125,15 @@ files:
94
125
  - lib/ronin/payloads.rb
95
126
  - lib/ronin/payloads/exceptions.rb
96
127
  - 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
97
131
  - lib/ronin/payloads/encoder.rb
98
132
  - lib/ronin/payloads/encoders.rb
99
133
  - lib/ronin/payloads/encoders/xor.rb
100
134
  - lib/ronin/payloads/helpers.rb
101
135
  - lib/ronin/payloads/helpers/exceptions.rb
102
- - lib/ronin/payloads/helpers/exceptions/unimplemented.rb
136
+ - lib/ronin/payloads/helpers/exceptions/not_implemented.rb
103
137
  - lib/ronin/payloads/helpers/exceptions/program_not_found.rb
104
138
  - lib/ronin/payloads/helpers/file_system.rb
105
139
  - lib/ronin/payloads/helpers/shell.rb
@@ -108,6 +142,7 @@ files:
108
142
  - lib/ronin/payloads/payload_author.rb
109
143
  - lib/ronin/payloads/payload.rb
110
144
  - lib/ronin/payloads/binary_payload.rb
145
+ - lib/ronin/payloads/asm_payload.rb
111
146
  - lib/ronin/payloads/nops.rb
112
147
  - lib/ronin/payloads/shellcode.rb
113
148
  - lib/ronin/payloads/web_payload.rb
@@ -119,9 +154,16 @@ files:
119
154
  - spec/helpers/database.rb
120
155
  - spec/helpers/objects.rb
121
156
  - spec/objects/exploits/test.rb
157
+ - spec/objects/exploits/example.rb
122
158
  - spec/objects/payloads/test.rb
123
- - spec/objects/payloads/example.rb
124
159
  - spec/exploits_spec.rb
160
+ - spec/model/models/default_port_model.rb
161
+ - spec/model/models/non_default_port_model.rb
162
+ - spec/model/models/targets_arch_model.rb
163
+ - spec/model/models/targets_os_model.rb
164
+ - spec/model/has_default_port_spec.rb
165
+ - spec/model/targets_arch_spec.rb
166
+ - spec/model/targets_os_spec.rb
125
167
  - spec/vuln/behavior_spec.rb
126
168
  - spec/exploits/targets/buffer_overflow_spec.rb
127
169
  - spec/exploits/target_spec.rb
@@ -131,6 +173,7 @@ files:
131
173
  - spec/exploits/ftp_spec.rb
132
174
  - spec/exploits/http_spec.rb
133
175
  - spec/exploits/web_spec.rb
176
+ - spec/exploits/file_based_exploit_spec.rb
134
177
  - spec/exploits/binary_exploit_spec.rb
135
178
  - spec/exploits/padding_exploit_spec.rb
136
179
  - spec/exploits/buffer_overflow_exploit_spec.rb
@@ -140,6 +183,8 @@ files:
140
183
  - spec/payloads/payload_spec.rb
141
184
  has_rdoc: true
142
185
  homepage: http://ronin.rubyforge.org/exploits/
186
+ licenses: []
187
+
143
188
  post_install_message:
144
189
  rdoc_options:
145
190
  - --main
@@ -161,9 +206,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
206
  requirements: []
162
207
 
163
208
  rubyforge_project: ronin
164
- rubygems_version: 1.3.1
209
+ rubygems_version: 1.3.4
165
210
  signing_key:
166
- specification_version: 2
211
+ specification_version: 3
167
212
  summary: Ronin Exploits is a Ruby library for Ronin that provides exploitation and payload crafting functionality
168
213
  test_files: []
169
214
 
Binary file
@@ -1,19 +0,0 @@
1
- ronin_payload do
2
- parameter :var,
3
- :value => 'usual',
4
- :description => 'Parameter set by an exploit'
5
-
6
- cache do
7
- self.name = 'example'
8
- self.version = '0.2'
9
-
10
- arch :i686
11
- os :name => 'Linux'
12
-
13
- author :name => 'Anonymous', :email => 'anonymous@example.com'
14
- end
15
-
16
- def build
17
- @payload = "data/#{@var}"
18
- end
19
- end