ronin-scanners 0.1.0

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.
data/History.txt ADDED
@@ -0,0 +1,6 @@
1
+ === 0.1.0 / 2009-01-08
2
+
3
+ * Initial release.
4
+ * Provides a Rubyful interface to Nmap.
5
+ * Allows for the recording of Nmap scan results using ScanDB.
6
+
data/Manifest.txt ADDED
@@ -0,0 +1,11 @@
1
+ History.txt
2
+ Manifest.txt
3
+ README.txt
4
+ Rakefile
5
+ lib/ronin/scanners.rb
6
+ lib/ronin/scanners/nmap.rb
7
+ lib/ronin/scanners/nmap_task.rb
8
+ lib/ronin/scanners/version.rb
9
+ tasks/spec.rb
10
+ spec/spec_helper.rb
11
+ spec/scanners_spec.rb
data/README.txt ADDED
@@ -0,0 +1,74 @@
1
+ = Ronin Scanners
2
+
3
+ * http://ronin.rubyforge.org/scanners/
4
+ * http://github.com/postmodern/ronin-scanners
5
+ * irc.freenode.net ##ronin
6
+ * Postmodern (postmodern.mod3 at gmail.com)
7
+
8
+ == DESCRIPTION:
9
+
10
+ Ronin Scanners is a Ruby library for Ronin that provides Ruby interfaces to
11
+ various third-party security scanners.
12
+
13
+ Ronin is a Ruby platform designed for information security and data
14
+ exploration tasks. Ronin allows for the rapid development and distribution
15
+ of code over many of the common Source-Code-Management (SCM) systems.
16
+
17
+ === Free
18
+
19
+ All source code within Ronin is licensed under the GPL-2, therefore no user
20
+ will ever have to pay for Ronin or updates to Ronin. Not only is the
21
+ source code free, the Ronin project will not sell enterprise grade security
22
+ snake-oil solutions, give private training classes or later turn Ronin into
23
+ commercial software.
24
+
25
+ === Modular
26
+
27
+ Ronin was not designed as one monolithic framework but instead as a
28
+ collection of libraries which can be individually installed. This allows
29
+ users to pick and choose what functionality they want in Ronin.
30
+
31
+ === Decentralized
32
+
33
+ Ronin does not have a central repository of exploits and payloads which
34
+ all developers contribute to. Instead Ronin has Overlays, repositories of
35
+ code that can be hosted on any CVS/SVN/Git/Rsync server. Users can then use
36
+ Ronin to quickly install or update Overlays. This allows developers and
37
+ users to form their own communities, independent of the main developers
38
+ of Ronin.
39
+
40
+ == FEATURES/PROBLEMS:
41
+
42
+ * Provides a Rubyful interface to Nmap.
43
+ * Allows for recording of Nmap scan results using ScanDB.
44
+
45
+ == REQUIREMENTS:
46
+
47
+ * Scandb
48
+ * RProgram >= 0.1.4
49
+ * Ronin >= 0.1.2
50
+
51
+ == INSTALL:
52
+
53
+ $ sudo gem install ronin-scanners
54
+
55
+ == LICENSE:
56
+
57
+ Ronin Scanners - A Ruby library for Ronin that provides Ruby interfaces to
58
+ various third-party security scanners.
59
+
60
+ Copyright (c) 2008-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
61
+
62
+ This program is free software; you can redistribute it and/or modify
63
+ it under the terms of the GNU General Public License as published by
64
+ the Free Software Foundation; either version 2 of the License, or
65
+ (at your option) any later version.
66
+
67
+ This program is distributed in the hope that it will be useful,
68
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
69
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
70
+ GNU General Public License for more details.
71
+
72
+ You should have received a copy of the GNU General Public License
73
+ along with this program; if not, write to the Free Software
74
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
data/Rakefile ADDED
@@ -0,0 +1,19 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+ require './tasks/spec.rb'
6
+ require './lib/ronin/scanners/version.rb'
7
+
8
+ Hoe.new('ronin-scanners', Ronin::Scanners::VERSION) do |p|
9
+ p.rubyforge_name = 'ronin'
10
+ p.developer('Postmodern', 'postmodern.mod3@gmail.com')
11
+ p.remote_rdoc_dir = 'docs/ronin-scanners'
12
+ p.extra_deps = [
13
+ 'scandb',
14
+ ['rprogram', '>=0.1.4'],
15
+ ['ronin', '>=0.1.2']
16
+ ]
17
+ end
18
+
19
+ # vim: syntax=Ruby
@@ -0,0 +1,24 @@
1
+ #
2
+ #--
3
+ # Ronin Scanners - A Ruby library for Ronin that provides Ruby interfaces to
4
+ # various third-party security scanners.
5
+ #
6
+ # Copyright (c) 2008-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ #
8
+ # This program is free software; you can redistribute it and/or modify
9
+ # it under the terms of the GNU General Public License as published by
10
+ # the Free Software Foundation; either version 2 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ # GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with this program; if not, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
+ #++
22
+ #
23
+
24
+ require 'ronin/scanners/version'
@@ -0,0 +1,70 @@
1
+ #
2
+ #--
3
+ # Ronin Scanners - A Ruby library for Ronin that provides Ruby interfaces to
4
+ # various third-party security scanners.
5
+ #
6
+ # Copyright (c) 2008-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ #
8
+ # This program is free software; you can redistribute it and/or modify
9
+ # it under the terms of the GNU General Public License as published by
10
+ # the Free Software Foundation; either version 2 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ # GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with this program; if not, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
+ #++
22
+ #
23
+
24
+ require 'ronin/scanners/nmap_task'
25
+
26
+ require 'rprogram/program'
27
+ require 'scandb'
28
+ require 'tempfile'
29
+
30
+ module Ronin
31
+ module Scanners
32
+ class Nmap < RProgram::Program
33
+
34
+ name_program 'nmap'
35
+
36
+ #
37
+ # Perform an Nmap scan using the given _options_ and _block_.
38
+ #
39
+ def self.scan(options={},&block)
40
+ self.find.scan(options,&block)
41
+ end
42
+
43
+ #
44
+ # Perform an Nmap scan using the given _options_ and _block_.
45
+ #
46
+ def scan(options={},&block)
47
+ run_task(NmapTask.new(options,&block))
48
+ end
49
+
50
+ #
51
+ # Perform an Nmap scan using the given _options_ and save
52
+ # the resulting scan information into ScanDB. If a _block_ is given,
53
+ # it will be passed each ScanDB::Host object from the scan.
54
+ #
55
+ def import_scan(options={},&block)
56
+ file = Tempfile.new('nmap',Config::TMP_DIR)
57
+
58
+ # perform the scan
59
+ scan(options.merge(:xml => file))
60
+
61
+ # import the xml file into ScanDB
62
+ hosts = ScanDB::Nmap.import_xml(file,&block)
63
+
64
+ file.delete
65
+ return hosts
66
+ end
67
+
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,290 @@
1
+ #
2
+ #--
3
+ # Ronin Scanners - A Ruby library for Ronin that provides Ruby interfaces to
4
+ # various third-party security scanners.
5
+ #
6
+ # Copyright (c) 2008-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ #
8
+ # This program is free software; you can redistribute it and/or modify
9
+ # it under the terms of the GNU General Public License as published by
10
+ # the Free Software Foundation; either version 2 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ # GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with this program; if not, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
+ #++
22
+ #
23
+
24
+ require 'rprogram/task'
25
+
26
+ module Ronin
27
+ module Scanners
28
+ #
29
+ # == Nmap options:
30
+ #
31
+ # === Target Specifications:
32
+ #
33
+ # <tt>-iL</tt>:: <tt>nmap.target_file</tt>
34
+ # <tt>-iR</tt>:: <tt>nmap.random_targets</tt>
35
+ # <tt>--exclude</tt>:: <tt>nmap.exclude</tt>
36
+ # <tt>--excludefile</tt>:: <tt>nmap.exclude_file</tt>
37
+ #
38
+ # === Host Discovery:
39
+ #
40
+ # <tt>-sL</tt>:: <tt>nmap.list</tt>
41
+ # <tt>-sP</tt>:: <tt>nmap.ping</tt>
42
+ # <tt>-PN</tt>:: <tt>nmap.skip_discovery</tt>
43
+ # <tt>-PS</tt>:: <tt>nmap.syn_discovery</tt>
44
+ # <tt>-PA</tt>:: <tt>nmap.ack_discovery</tt>
45
+ # <tt>-PU</tt>:: <tt>nmap.udp_discovery</tt>
46
+ # <tt>-PE</tt>:: <tt>nmap.icmp_echo_discovery</tt>
47
+ # <tt>-PP</tt>:: <tt>nmap.icmp_timestamp_discovery</tt>
48
+ # <tt>-PM</tt>:: <tt>nmap.icmp_netmask_discovery</tt>
49
+ # <tt>-PO</tt>:: <tt>nmap.ip_ping</tt>
50
+ # <tt>-n</tt>:: <tt>nmap.disable_dns</tt>
51
+ # <tt>-R</tt>:: <tt>nmap.enable_dns</tt>
52
+ # <tt>--dns-servers</tt>:: <tt>nmap.dns_servers</tt>
53
+ # <tt>--systems-dns</tt>:: <tt>nmap.systems_dns</tt>
54
+ #
55
+ # === Scan Techniques:
56
+ #
57
+ # <tt>-sS</tt>:: <tt>nmap.syn_scan</tt>
58
+ # <tt>-sT</tt>:: <tt>nmap.connect_scan</tt>
59
+ # <tt>-sA</tt>:: <tt>nmap.ack_scan</tt>
60
+ # <tt>-sW</tt>:: <tt>nmap.window_scan</tt>
61
+ # <tt>-sM</tt>:: <tt>nmap.maimon_scan</tt>
62
+ # <tt>-sU</tt>:: <tt>nmap.udp_scan</tt>
63
+ # <tt>-sN</tt>:: <tt>nmap.null_scan</tt>
64
+ # <tt>-sF</tt>:: <tt>nmap.fin_scan</tt>
65
+ # <tt>-sX</tt>:: <tt>nmap.xmas_scan</tt>
66
+ # <tt>--scanflags</tt>:: <tt>nmap.tcp_scan_flags</tt>
67
+ # <tt>-sI</tt>:: <tt>nmap.idle_scan</tt>
68
+ # <tt>-s0</tt>:: <tt>nmap.ip_scan</tt>
69
+ # <tt>-b</tt>:: <tt>nmap.ftp_bounce_scan</tt>
70
+ # <tt>--traceroute</tt>:: <tt>nmap.traceroute</tt>
71
+ # <tt>--reason</tt>:: <tt>nmap.show_reason</tt>
72
+ #
73
+ # === Port Specification and Scan Order:
74
+ #
75
+ # <tt>-p</tt>:: <tt>nmap.ports</tt>
76
+ # <tt>-F</tt>:: <tt>nmap.fast</tt>
77
+ # <tt>-r</tt>:: <tt>nmap.consecutively</tt>
78
+ # <tt>--top-ports</tt>:: <tt>nmap.top_ports</tt>
79
+ # <tt>--port-ratio</tt>:: <tt>nmap.port_ratio</tt>
80
+ #
81
+ # === Service/Version Detection:
82
+ #
83
+ # <tt>-sV</tt>:: <tt>nmap.service_scan</tt>
84
+ # <tt>--version-intensity</tt>:: <tt>nmap.version_intensity</tt>
85
+ # <tt>--version-light</tt>:: <tt>nmap.version_light</tt>
86
+ # <tt>--version-all</tt>:: <tt>nmap.version_all</tt>
87
+ # <tt>--version-trace</tt>:: <tt>nmap.version_trace</tt>
88
+ #
89
+ # === Script Scan:
90
+ #
91
+ # <tt>-sC</tt>:: <tt>nmap.default_script</tt>
92
+ # <tt>--script</tt>:: <tt>nmap.script</tt>
93
+ # <tt>--script-args</tt>:: <tt>nmap.script_params</tt>
94
+ # <tt>--script-trace</tt>:: <tt>nmap.script_trace</tt>
95
+ # <tt>--script-updatedb</tt>:: <tt>nmap.update_scriptdb</tt>
96
+ #
97
+ # === OS Detection:
98
+ #
99
+ # <tt>-O</tt>:: <tt>nmap.os_fingerprint</tt>
100
+ # <tt>--osscan_limit</tt>:: <tt>nmap.limit_os_scan</tt>
101
+ # <tt>--osscan_guess</tt>:: <tt>nmap.max_os_scan</tt>
102
+ #
103
+ # === Timing and Performance:
104
+ #
105
+ # <tt>--min-hostgroup</tt>:: <tt>nmap.min_host_group</tt>
106
+ # <tt>--max-hostgroup</tt>:: <tt>nmap.max_host_group</tt>
107
+ # <tt>--min-parallelism</tt>:: <tt>nmap.min_parallelism</tt>
108
+ # <tt>--max-parallelism</tt>:: <tt>nmap.max_parallelism</tt>
109
+ # <tt>--min-rtt-timeout</tt>:: <tt>nmap.min_rtt_timeout</tt>
110
+ # <tt>--max-rtt-timeout</tt>:: <tt>nmap.max_rtt_timeout</tt>
111
+ # <tt>--max-retries</tt>:: <tt>nmap.max_retries</tt>
112
+ # <tt>--host-timeout</tt>:: <tt>nmap.host_timeout</tt>
113
+ # <tt>--scan-delay</tt>:: <tt>nmap.scan_delay</tt>
114
+ # <tt>--max-scan-delay</tt>:: <tt>nmap.max_scan_delay</tt>
115
+ # <tt>--min-rate</tt>:: <tt>nmap.min_rate</tt>
116
+ # <tt>--max-rate</tt>:: <tt>nmap.max_rate</tt>
117
+ #
118
+ # === Firewall/IDS Evasion and Spoofing:
119
+ #
120
+ # <tt>-f</tt>:: <tt>nmap.packet_fragments</tt>
121
+ # <tt>--mtu</tt>:: <tt>nmap.mtu</tt>
122
+ # <tt>-D</tt>:: <tt>nmap.decoys</tt>
123
+ # <tt>-S</tt>:: <tt>nmap.spoof</tt>
124
+ # <tt>-e</tt>:: <tt>nmap.interface</tt>
125
+ # <tt>-g</tt>:: <tt>nmap.source_port</tt>
126
+ # <tt>--data-length</tt>:: <tt>nmap.data_length</tt>
127
+ # <tt>--ip-options</tt>:: <tt>nmap.ip_options</tt>
128
+ # <tt>--ttl</tt>:: <tt>nmap.ttl</tt>
129
+ # <tt>--spoof-mac</tt>:: <tt>nmap.spoof_mac</tt>
130
+ # <tt>--badsum</tt>:: <tt>nmap.bad_checksum</tt>
131
+ #
132
+ # === Output:
133
+ #
134
+ # <tt>-oN</tt>:: <tt>nmap.save</tt>
135
+ # <tt>-oX</tt>:: <tt>nmap.xml</tt>
136
+ # <tt>-oS</tt>:: <tt>nmap.skiddie</tt>
137
+ # <tt>-oG</tt>:: <tt>nmap.grepable</tt>
138
+ # <tt>-v</tt>:: <tt>nmap.verbose</tt>
139
+ # <tt>--open</tt>:: <tt>nmap.show_open_ports</tt>
140
+ # <tt>--packet-trace</tt>:: <tt>nmap.show_packets</tt>
141
+ # <tt>--iflist</tt>:: <tt>nmap.show_interfaces</tt>
142
+ # <tt>--log-errors</tt>:: <tt>nmap.show_log_errors</tt>
143
+ # <tt>--append-output</tt>:: <tt>nmap.append</tt>
144
+ # <tt>--resume</tt>:: <tt>nmap.resume</tt>
145
+ # <tt>--stylesheet</tt>:: <tt>nmap.stylesheet</tt>
146
+ # <tt>--webxml</tt>:: <tt>nmap.nmap_stylesheet</tt>
147
+ # <tt>--no-stylesheet</tt>:: <tt>nmap.disable_stylesheet</tt>
148
+ #
149
+ # === Misc:
150
+ #
151
+ # <tt>-6</tt>:: <tt>nmap.ipv6</tt>
152
+ # <tt>-A</tt>:: <tt>nmap.all</tt>
153
+ # <tt>--datadir</tt>:: <tt>nmap.nmap_datadir</tt>
154
+ # <tt>--send-eth</tt>:: <tt>nmap.raw_ethernet</tt>
155
+ # <tt>--send-ip</tt>:: <tt>nmap.raw_ip</tt>
156
+ # <tt>--privledged</tt>:: <tt>nmap.privledged</tt>
157
+ # <tt>--unprivledged</tt>:: <tt>nmap.unprivledged</tt>
158
+ # <tt>-V</tt>:: <tt>nmap.version</tt>
159
+ # <tt>-h</tt>:: <tt>nmap.help</tt>
160
+ #
161
+ # <tt>{target specification}</tt>:: <tt>nmap.targets</tt>
162
+ #
163
+ class NmapTask < RProgram::Task
164
+
165
+ # TARGET SPECIFICATIONS:
166
+ short_option :flag => '-iL', :name => :target_file
167
+ short_option :flag => '-iR', :name => :random_targets
168
+ long_option :flag => '--exclude', :name => :exclude, :separator => ','
169
+ long_option :flag => '--excludefile', :name => :exclude_file
170
+
171
+ # HOST DISCOVERY:
172
+ short_option :flag => '-sL', :name => :list
173
+ short_option :flag => '-sP', :name => :ping
174
+ short_option :flag => '-PN', :name => :skip_discovery
175
+ short_option :flag => '-PS', :name => :syn_discovery
176
+ short_option :flag => '-PA', :name => :ack_discovery
177
+ short_option :flag => '-PU', :name => :udp_discovery
178
+ short_option :flag => '-PE', :name => :icmp_echo_discovery
179
+ short_option :flag => '-PP', :name => :icmp_timestamp_discovery
180
+ short_option :flag => '-PM', :name => :icmp_netmask_discovery
181
+ short_option :flag => '-PO', :name => :ip_ping
182
+ short_option :flag => '-n', :name => :disable_dns
183
+ short_option :flag => '-R', :name => :enable_dns
184
+ long_option :flag => '--dns-servers', :separator => ','
185
+ long_option :flag => '--system-dns'
186
+
187
+ # SCAN TECHNIQUES:
188
+ short_option :flag => '-sS', :name => :syn_scan
189
+ short_option :flag => '-sT', :name => :connect_scan
190
+ short_option :flag => '-sA', :name => :ack_scan
191
+ short_option :flag => '-sW', :name => :window_scan
192
+ short_option :flag => '-sM', :name => :maimon_scan
193
+ short_option :flag => '-sU', :name => :udp_scan
194
+ short_option :flag => '-sN', :name => :null_scan
195
+ short_option :flag => '-sF', :name => :fin_scan
196
+ short_option :flag => '-sX', :name => :xmas_scan
197
+ long_option :flag => '--scanflags', :name => :tcp_scan_flags
198
+ short_option :flag => '-sI', :name => :idle_scan
199
+ short_option :flag => '-s0', :name => :ip_scan
200
+ short_option :flag => '-b', :name => :ftp_bounce_scan
201
+ long_option :flag => '--traceroute', :name => :traceroute
202
+ long_option :flag => '--reason', :name => :show_reason
203
+
204
+ # PORT SPECIFICATION AND SCAN ORDER:
205
+ short_option :flag => '-p', :name => :ports
206
+ short_option :flag => '-F', :name => :fast
207
+ short_option :flag => '-r', :name => :consecutively
208
+ long_option :flag => '--top-ports'
209
+ long_option :flag => '--port-ratio'
210
+
211
+ # SERVICE/VERSION DETECTION:
212
+ short_option :flag => '-sV', :name => :service_scan
213
+ long_option :flag => '--version-intensity'
214
+ long_option :flag => '--version-light'
215
+ long_option :flag => '--version-all'
216
+ long_option :flag => '--version-trace'
217
+
218
+ # SCRIPT SCAN:
219
+ short_option :flag => '-sC', :name => :default_script
220
+ long_option :flag => '--script'
221
+ long_option :flag => '--script-args',
222
+ :name => :script_params,
223
+ :separator => ','
224
+ long_option :flag => '--script-trace'
225
+ long_option :flag => '--script-updatedb', :name => :update_scriptdb
226
+
227
+ # OS DETECTION:
228
+ short_option :flag => '-O', :name => :os_fingerprint
229
+ long_option :flag => '--osscan_limit', :name => :limit_os_scan
230
+ long_option :flag => '--osscan_guess', :name => :max_os_scan
231
+
232
+ # TIMING AND PERFORMANCE:
233
+ long_option :flag => '--min-hostgroup', :name => :min_host_group
234
+ long_option :flag => '--max-hostgroup', :name => :max_host_group
235
+ long_option :flag => '--min-parallelism'
236
+ long_option :flag => '--max-parallelism'
237
+ long_option :flag => '--min-rtt-timeout'
238
+ long_option :flag => '--max-rtt-timeout'
239
+ long_option :flag => '--max-retries'
240
+ long_option :flag => '--host-timeout'
241
+ long_option :flag => '--scan-delay'
242
+ long_option :flag => '--max-scan-delay'
243
+ long_option :flag => '--min-rate'
244
+ long_option :flag => '--max-rate'
245
+
246
+ # FIREWALL/IDS EVASION AND SPOOFING:
247
+ short_option :flag => '-f', :name => :packet_fragments
248
+ long_option :flag => '--mtu'
249
+ short_option :flag => '-D', :name => :decoys
250
+ short_option :flag => '-S', :name => :spoof
251
+ short_option :flag => '-e', :name => :interface
252
+ short_option :flag => '-g', :name => :source_port
253
+ long_option :flag => '--data-length'
254
+ long_option :flag => '--ip-options'
255
+ long_option :flag => '--ttl'
256
+ long_option :flag => '--spoof-mac'
257
+ long_option :flag => '--badsum', :name => :bad_checksum
258
+
259
+ # OUTPUT:
260
+ short_option :flag => '-oN', :name => :save
261
+ short_option :flag => '-oX', :name => :xml
262
+ short_option :flag => '-oS', :name => :skiddie
263
+ short_option :flag => '-oG', :name => :grepable
264
+ short_option :flag => '-v', :name => :verbose
265
+ long_option :flag => '--open', :name => :show_open_ports
266
+ long_option :flag => '--packet-trace', :name => :show_packets
267
+ long_option :flag => '--iflist', :name => :show_interfaces
268
+ long_option :flag => '--log-errors', :name => :show_log_errors
269
+ long_option :flag => '--append-output', :name => :append
270
+ long_option :flag => '--resume'
271
+ long_option :flag => '--stylesheet'
272
+ long_option :flag => '--webxml', :name => :nmap_stylesheet
273
+ long_option :flag => '--no-stylesheet', :name => :disable_stylesheet
274
+
275
+ # MISC:
276
+ short_option :flag => '-6', :name => :ipv6
277
+ short_option :flag => '-A', :name => :all
278
+ long_option :flag => '--datadir', :name => :nmap_datadir
279
+ long_option :flag => '--send-eth', :name => :raw_ethernet
280
+ long_option :flag => '--send-ip', :name => :raw_ip
281
+ long_option :flag => '--privledged'
282
+ long_option :flag => '--unprivleged'
283
+ short_option :flag => '-V', :name => :version
284
+ short_option :flag => '-h', :name => :help
285
+
286
+ non_option :tailing => true, :name => :targets
287
+
288
+ end
289
+ end
290
+ end
@@ -0,0 +1,28 @@
1
+ #
2
+ #--
3
+ # Ronin Scanners - A Ruby library for Ronin that provides Ruby interfaces to
4
+ # various third-party security scanners.
5
+ #
6
+ # Copyright (c) 2008-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ #
8
+ # This program is free software; you can redistribute it and/or modify
9
+ # it under the terms of the GNU General Public License as published by
10
+ # the Free Software Foundation; either version 2 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ # GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with this program; if not, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
+ #++
22
+ #
23
+
24
+ module Ronin
25
+ module Scanners
26
+ VERSION = '0.1.0'
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ require 'ronin/scanners/version'
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Ronin do
6
+ it "should have a version" do
7
+ @version = Ronin::Scanners.const_get('VERSION')
8
+ @version.should_not be_nil
9
+ @version.should_not be_empty
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ require 'rubygems'
2
+ gem 'rspec', '>=1.1.3'
3
+ require 'spec'
4
+
5
+ include Ronin
data/tasks/spec.rb ADDED
@@ -0,0 +1,9 @@
1
+ require 'spec/rake/spectask'
2
+
3
+ desc "Run all specifications"
4
+ Spec::Rake::SpecTask.new(:spec) do |t|
5
+ t.libs += ['lib', 'spec']
6
+ t.spec_opts = ['--colour', '--format', 'specdoc']
7
+ end
8
+
9
+ task :default => :spec
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ronin-scanners
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Postmodern
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-01-08 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: scandb
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rprogram
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.4
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: ronin
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.1.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: hoe
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.8.2
54
+ version:
55
+ description: Ronin Scanners is a Ruby library for Ronin that provides Ruby interfaces to various third-party security scanners. 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
+ email:
57
+ - postmodern.mod3@gmail.com
58
+ executables: []
59
+
60
+ extensions: []
61
+
62
+ extra_rdoc_files:
63
+ - History.txt
64
+ - Manifest.txt
65
+ - README.txt
66
+ files:
67
+ - History.txt
68
+ - Manifest.txt
69
+ - README.txt
70
+ - Rakefile
71
+ - lib/ronin/scanners.rb
72
+ - lib/ronin/scanners/nmap.rb
73
+ - lib/ronin/scanners/nmap_task.rb
74
+ - lib/ronin/scanners/version.rb
75
+ - tasks/spec.rb
76
+ - spec/spec_helper.rb
77
+ - spec/scanners_spec.rb
78
+ has_rdoc: true
79
+ homepage: http://ronin.rubyforge.org/scanners/
80
+ post_install_message:
81
+ rdoc_options:
82
+ - --main
83
+ - README.txt
84
+ require_paths:
85
+ - lib
86
+ required_ruby_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: "0"
91
+ version:
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: "0"
97
+ version:
98
+ requirements: []
99
+
100
+ rubyforge_project: ronin
101
+ rubygems_version: 1.3.1
102
+ signing_key:
103
+ specification_version: 2
104
+ summary: Ronin Scanners is a Ruby library for Ronin that provides Ruby interfaces to various third-party security scanners
105
+ test_files: []
106
+