ronin-scanners 0.1.4 → 1.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +4 -0
- data/.gemtest +0 -0
- data/.gitignore +11 -0
- data/.rspec +1 -0
- data/.yardopts +2 -0
- data/COPYING.txt +339 -0
- data/{History.txt → ChangeLog.md} +7 -7
- data/Gemfile +45 -0
- data/README.md +125 -0
- data/Rakefile +39 -14
- data/bin/ronin-scan-dork +20 -0
- data/bin/ronin-scan-nmap +20 -0
- data/bin/ronin-scan-proxies +20 -0
- data/bin/ronin-scan-spider +20 -0
- data/bin/ronin-scanner +20 -0
- data/bin/ronin-scanners +13 -5
- data/gemspec.yml +31 -0
- data/lib/ronin/database/migrations/scanners.rb +25 -0
- data/lib/ronin/database/migrations/scanners/1.0.0.rb +51 -0
- data/lib/ronin/scanners.rb +7 -5
- data/lib/ronin/scanners/dork.rb +173 -0
- data/lib/ronin/scanners/host_name_scanner.rb +67 -0
- data/lib/ronin/scanners/http_scanner.rb +195 -0
- data/lib/ronin/scanners/ip_scanner.rb +75 -0
- data/lib/ronin/scanners/nmap.rb +303 -5
- data/lib/ronin/scanners/{nikto/nikto.rb → proxies.rb} +11 -26
- data/lib/ronin/scanners/resolv_scanner.rb +73 -0
- data/lib/ronin/scanners/reverse_lookup_scanner.rb +76 -0
- data/lib/ronin/scanners/scanner.rb +371 -0
- data/lib/ronin/scanners/{nikto.rb → scanners.rb} +8 -5
- data/lib/ronin/scanners/site_map.rb +62 -0
- data/lib/ronin/scanners/spider.rb +117 -0
- data/lib/ronin/scanners/tcp_port_scanner.rb +72 -0
- data/lib/ronin/scanners/udp_port_scanner.rb +72 -0
- data/lib/ronin/scanners/url_scanner.rb +79 -0
- data/lib/ronin/scanners/version.rb +3 -4
- data/lib/ronin/ui/cli/commands/scan/dork.rb +39 -0
- data/lib/ronin/ui/cli/commands/scan/nmap.rb +105 -0
- data/lib/ronin/ui/cli/commands/scan/proxies.rb +82 -0
- data/lib/ronin/ui/cli/commands/scan/spider.rb +71 -0
- data/lib/ronin/ui/cli/commands/scanner.rb +43 -0
- data/lib/ronin/ui/cli/scanner_command.rb +118 -0
- data/ronin-scanners.gemspec +60 -0
- data/spec/scanners/host_name_scanner_spec.rb +24 -0
- data/spec/scanners/ip_scanner_spec.rb +24 -0
- data/spec/scanners/resolv_scanner_spec.rb +26 -0
- data/spec/scanners/reverse_lookup_scanner_spec.rb +26 -0
- data/spec/scanners/scanner_spec.rb +89 -0
- data/spec/scanners/scanners_spec.rb +9 -0
- data/spec/scanners/tcp_port_scanner_spec.rb +27 -0
- data/spec/scanners/udp_port_scanner_spec.rb +27 -0
- data/spec/scanners/url_scanner_spec.rb +37 -0
- data/spec/spec_helper.rb +4 -3
- metadata +261 -116
- data.tar.gz.sig +0 -1
- data/Manifest.txt +0 -16
- data/README.txt +0 -106
- data/lib/ronin/scanners/nikto/nikto_task.rb +0 -183
- data/lib/ronin/scanners/nmap/nmap.rb +0 -74
- data/lib/ronin/scanners/nmap/nmap_task.rb +0 -290
- data/spec/scanners_spec.rb +0 -11
- data/tasks/spec.rb +0 -9
- metadata.gz.sig +0 -0
@@ -0,0 +1,60 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gemspec = YAML.load_file('gemspec.yml')
|
7
|
+
|
8
|
+
gem.name = gemspec.fetch('name')
|
9
|
+
gem.version = gemspec.fetch('version') do
|
10
|
+
lib_dir = File.join(File.dirname(__FILE__),'lib')
|
11
|
+
$LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
|
12
|
+
|
13
|
+
require 'ronin/scanners/version'
|
14
|
+
Ronin::Scanners::VERSION
|
15
|
+
end
|
16
|
+
|
17
|
+
gem.summary = gemspec['summary']
|
18
|
+
gem.description = gemspec['description']
|
19
|
+
gem.licenses = Array(gemspec['license'])
|
20
|
+
gem.authors = Array(gemspec['authors'])
|
21
|
+
gem.email = gemspec['email']
|
22
|
+
gem.homepage = gemspec['homepage']
|
23
|
+
|
24
|
+
glob = lambda { |patterns| gem.files & Dir[*patterns] }
|
25
|
+
|
26
|
+
gem.files = `git ls-files`.split($/)
|
27
|
+
gem.files = glob[gemspec['files']] if gemspec['files']
|
28
|
+
|
29
|
+
gem.executables = gemspec.fetch('executables') do
|
30
|
+
glob['bin/*'].map { |path| File.basename(path) }
|
31
|
+
end
|
32
|
+
gem.default_executable = gem.executables.first if Gem::VERSION < '1.7.'
|
33
|
+
|
34
|
+
gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
|
35
|
+
gem.test_files = glob[gemspec['test_files'] || '{test/{**/}*_test.rb']
|
36
|
+
gem.extra_rdoc_files = glob[gemspec['extra_doc_files'] || '*.{txt,md}']
|
37
|
+
|
38
|
+
gem.require_paths = Array(gemspec.fetch('require_paths') {
|
39
|
+
%w[ext lib].select { |dir| File.directory?(dir) }
|
40
|
+
})
|
41
|
+
|
42
|
+
gem.requirements = gemspec['requirements']
|
43
|
+
gem.required_ruby_version = gemspec['required_ruby_version']
|
44
|
+
gem.required_rubygems_version = gemspec['required_rubygems_version']
|
45
|
+
gem.post_install_message = gemspec['post_install_message']
|
46
|
+
|
47
|
+
split = lambda { |string| string.split(/,\s*/) }
|
48
|
+
|
49
|
+
if gemspec['dependencies']
|
50
|
+
gemspec['dependencies'].each do |name,versions|
|
51
|
+
gem.add_dependency(name,split[versions])
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
if gemspec['development_dependencies']
|
56
|
+
gemspec['development_dependencies'].each do |name,versions|
|
57
|
+
gem.add_development_dependency(name,split[versions])
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'ronin/scanners/host_name_scanner'
|
4
|
+
|
5
|
+
describe Scanners::HostNameScanner do
|
6
|
+
subject do
|
7
|
+
described_class.object do
|
8
|
+
def scan
|
9
|
+
yield 'www.example.com'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should normalize results into Strings" do
|
15
|
+
subject.first.should == 'www.example.com'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should convert results into HostName resources" do
|
19
|
+
resource = subject.each_resource.first
|
20
|
+
|
21
|
+
resource.class.should == HostName
|
22
|
+
resource.address.should == 'www.example.com'
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'ronin/scanners/ip_scanner'
|
4
|
+
|
5
|
+
describe Scanners::IPScanner do
|
6
|
+
subject do
|
7
|
+
described_class.object do
|
8
|
+
def scan
|
9
|
+
yield '127.0.0.1'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should normalize results to IPAddr objects" do
|
15
|
+
subject.first.should == IPAddr.new('127.0.0.1')
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should convert results into IpAddress resources" do
|
19
|
+
resource = subject.each_resource.first
|
20
|
+
|
21
|
+
resource.class.should == IPAddress
|
22
|
+
resource.address.should == '127.0.0.1'
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'ronin/scanners/resolv_scanner'
|
3
|
+
|
4
|
+
describe Scanners::ResolvScanner do
|
5
|
+
let(:host) { 'localhost' }
|
6
|
+
let(:ip) { IPAddr.new('127.0.0.1') }
|
7
|
+
|
8
|
+
subject { Scanners::ResolvScanner.new(:host => host) }
|
9
|
+
|
10
|
+
it "should resolv hostnames to IP addresses" do
|
11
|
+
subject.each.to_a.should == [ip]
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should convert IP addresses to IpAddress resources" do
|
15
|
+
resource = subject.each_resource.first
|
16
|
+
|
17
|
+
resource.class.should == IPAddress
|
18
|
+
resource.address.should == ip
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should associate IpAddress resources with HostNames" do
|
22
|
+
resource = subject.each_resource.first
|
23
|
+
|
24
|
+
resource.host_names[0].address.should == host
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'ronin/scanners/reverse_lookup_scanner'
|
3
|
+
|
4
|
+
describe Scanners::ReverseLookupScanner do
|
5
|
+
let(:ip) { '192.0.32.10' }
|
6
|
+
let(:host) { 'www.example.com' }
|
7
|
+
|
8
|
+
subject { Scanners::ReverseLookupScanner.new(:host => ip) }
|
9
|
+
|
10
|
+
it "should perform reverse lookups on IP addresses" do
|
11
|
+
subject.each.to_a.should == [host]
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should convert host names to HostName resources" do
|
15
|
+
resource = subject.each_resource.first
|
16
|
+
|
17
|
+
resource.class.should == HostName
|
18
|
+
resource.address.should == host
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should associate HostName resources with the queried IpAddress" do
|
22
|
+
resource = subject.each_resource.first
|
23
|
+
|
24
|
+
resource.ip_addresses[0].address.should == ip
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'ronin/scanners/scanner'
|
4
|
+
|
5
|
+
describe Scanners::Scanner do
|
6
|
+
subject { Scanners::Scanner }
|
7
|
+
|
8
|
+
it "should be cacheable" do
|
9
|
+
should < Script
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should be Enumerable" do
|
13
|
+
should < Enumerable
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "#each" do
|
17
|
+
subject do
|
18
|
+
described_class.object do
|
19
|
+
def scan
|
20
|
+
yield 1
|
21
|
+
yield 3
|
22
|
+
yield 11
|
23
|
+
yield nil
|
24
|
+
end
|
25
|
+
|
26
|
+
def normalize_result(result)
|
27
|
+
if result < 10
|
28
|
+
result * 2
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should skip nil results" do
|
35
|
+
results = []
|
36
|
+
|
37
|
+
subject.each { |i| results << i }
|
38
|
+
|
39
|
+
results.should_not include(nil)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should normalize the results" do
|
43
|
+
results = []
|
44
|
+
|
45
|
+
subject.each { |i| results << i }
|
46
|
+
|
47
|
+
results.should_not include(1)
|
48
|
+
results.should_not include(3)
|
49
|
+
results.should_not include(11)
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should skip normalized results which are nil" do
|
53
|
+
results = []
|
54
|
+
|
55
|
+
subject.each { |i| results << i }
|
56
|
+
|
57
|
+
results.should_not include(22)
|
58
|
+
results.should_not include(nil)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should return an Enumerator if no block is given" do
|
62
|
+
subject.each.class.should == Enumerator
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should enumerate over Ruby primitives" do
|
66
|
+
results = []
|
67
|
+
|
68
|
+
subject.each { |i| results << i }
|
69
|
+
|
70
|
+
results.should == [2, 6]
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe "#each_resource" do
|
75
|
+
subject { described_class.new }
|
76
|
+
|
77
|
+
it "should return an Enumerator if no block is given" do
|
78
|
+
subject.each_resource.class.should == Enumerator
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe "#import" do
|
83
|
+
subject { described_class.new }
|
84
|
+
|
85
|
+
it "should return an Enumerator if no block is given" do
|
86
|
+
subject.import.class.should == Enumerator
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'ronin/scanners/tcp_port_scanner'
|
4
|
+
|
5
|
+
describe Scanners::TCPPortScanner do
|
6
|
+
let(:port) { 80 }
|
7
|
+
|
8
|
+
subject do
|
9
|
+
described_class.object do
|
10
|
+
def scan
|
11
|
+
yield '80'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should normalize results into Integers" do
|
17
|
+
subject.first.should == port
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should convert results into OpenPort resources" do
|
21
|
+
resource = subject.each_resource.first
|
22
|
+
|
23
|
+
resource.class.should == OpenPort
|
24
|
+
resource.port.protocol.should == 'tcp'
|
25
|
+
resource.port.number.should == port
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'ronin/scanners/udp_port_scanner'
|
4
|
+
|
5
|
+
describe Scanners::UDPPortScanner do
|
6
|
+
let(:port) { 135 }
|
7
|
+
|
8
|
+
subject do
|
9
|
+
described_class.object do
|
10
|
+
def scan
|
11
|
+
yield '135'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should normalize results into Integers" do
|
17
|
+
subject.first.should == port
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should convert results into OpenPort resources" do
|
21
|
+
resource = subject.each_resource.first
|
22
|
+
|
23
|
+
resource.class.should == OpenPort
|
24
|
+
resource.port.protocol.should == 'udp'
|
25
|
+
resource.port.number.should == port
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'ronin/scanners/url_scanner'
|
4
|
+
|
5
|
+
describe Scanners::URLScanner do
|
6
|
+
let(:url) { URI('http://www.example.com/path?bla=1') }
|
7
|
+
|
8
|
+
subject do
|
9
|
+
described_class.object do
|
10
|
+
def scan
|
11
|
+
yield 'http://www.example.com/path?bla=1'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should normalize results into URI objects" do
|
17
|
+
result = subject.first
|
18
|
+
|
19
|
+
result.class.should == URI::HTTP
|
20
|
+
result.scheme.should == url.scheme
|
21
|
+
result.host.should == url.host
|
22
|
+
result.port.should == url.port
|
23
|
+
result.path.should == url.path
|
24
|
+
result.query.should == url.query
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should convert results into Url resources" do
|
28
|
+
resource = subject.each_resource.first
|
29
|
+
|
30
|
+
resource.class.should == URL
|
31
|
+
resource.scheme.name.should == url.scheme
|
32
|
+
resource.host_name.address.should == url.host
|
33
|
+
resource.port.number.should == url.port
|
34
|
+
resource.path.should == url.path
|
35
|
+
resource.query_string.should == url.query
|
36
|
+
end
|
37
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,140 +1,285 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ronin-scanners
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0.pre1
|
5
|
+
prerelease: 6
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
+
authors:
|
7
8
|
- Postmodern
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
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-----
|
32
|
-
|
33
|
-
date: 2009-07-08 00:00:00 -07:00
|
34
|
-
default_executable:
|
35
|
-
dependencies:
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: scandb
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-10-08 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: open_namespace
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.3'
|
38
22
|
type: :runtime
|
39
|
-
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.3'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: ruby-nmap
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0.5'
|
48
38
|
type: :runtime
|
49
|
-
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
- !ruby/object:Gem::Dependency
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0.5'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: net-http-persistent
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: nokogiri
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.4'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.4'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: spidr
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0.3'
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0.3'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: gscraper
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0.4'
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0.4'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: ronin-support
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.5'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0.5'
|
126
|
+
- !ruby/object:Gem::Dependency
|
57
127
|
name: ronin
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '1.5'
|
58
134
|
type: :runtime
|
59
|
-
|
60
|
-
version_requirements: !ruby/object:Gem::Requirement
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name:
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '1.5'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: bundler
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '1.0'
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '1.0'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: yard
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0.7'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.7'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: yard-parameters
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ~>
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0.1'
|
68
182
|
type: :development
|
69
|
-
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
description:
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
-
|
85
|
-
executables:
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ~>
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0.1'
|
190
|
+
description: Ronin Scanners is a Ruby library for Ronin that provides Ruby interfaces
|
191
|
+
to various third-party security scanners.
|
192
|
+
email: postmodern.mod3@gmail.com
|
193
|
+
executables:
|
194
|
+
- ronin-scan-dork
|
195
|
+
- ronin-scan-nmap
|
196
|
+
- ronin-scan-proxies
|
197
|
+
- ronin-scan-spider
|
198
|
+
- ronin-scanner
|
86
199
|
- ronin-scanners
|
87
200
|
extensions: []
|
88
|
-
|
89
|
-
|
90
|
-
-
|
91
|
-
-
|
92
|
-
|
93
|
-
|
94
|
-
-
|
95
|
-
-
|
96
|
-
-
|
201
|
+
extra_rdoc_files:
|
202
|
+
- COPYING.txt
|
203
|
+
- ChangeLog.md
|
204
|
+
- README.md
|
205
|
+
files:
|
206
|
+
- .document
|
207
|
+
- .gemtest
|
208
|
+
- .gitignore
|
209
|
+
- .rspec
|
210
|
+
- .yardopts
|
211
|
+
- COPYING.txt
|
212
|
+
- ChangeLog.md
|
213
|
+
- Gemfile
|
214
|
+
- README.md
|
97
215
|
- Rakefile
|
216
|
+
- bin/ronin-scan-dork
|
217
|
+
- bin/ronin-scan-nmap
|
218
|
+
- bin/ronin-scan-proxies
|
219
|
+
- bin/ronin-scan-spider
|
220
|
+
- bin/ronin-scanner
|
98
221
|
- bin/ronin-scanners
|
222
|
+
- gemspec.yml
|
223
|
+
- lib/ronin/database/migrations/scanners.rb
|
224
|
+
- lib/ronin/database/migrations/scanners/1.0.0.rb
|
99
225
|
- lib/ronin/scanners.rb
|
226
|
+
- lib/ronin/scanners/dork.rb
|
227
|
+
- lib/ronin/scanners/host_name_scanner.rb
|
228
|
+
- lib/ronin/scanners/http_scanner.rb
|
229
|
+
- lib/ronin/scanners/ip_scanner.rb
|
100
230
|
- lib/ronin/scanners/nmap.rb
|
101
|
-
- lib/ronin/scanners/
|
102
|
-
- lib/ronin/scanners/
|
103
|
-
- lib/ronin/scanners/
|
104
|
-
- lib/ronin/scanners/
|
105
|
-
- lib/ronin/scanners/
|
231
|
+
- lib/ronin/scanners/proxies.rb
|
232
|
+
- lib/ronin/scanners/resolv_scanner.rb
|
233
|
+
- lib/ronin/scanners/reverse_lookup_scanner.rb
|
234
|
+
- lib/ronin/scanners/scanner.rb
|
235
|
+
- lib/ronin/scanners/scanners.rb
|
236
|
+
- lib/ronin/scanners/site_map.rb
|
237
|
+
- lib/ronin/scanners/spider.rb
|
238
|
+
- lib/ronin/scanners/tcp_port_scanner.rb
|
239
|
+
- lib/ronin/scanners/udp_port_scanner.rb
|
240
|
+
- lib/ronin/scanners/url_scanner.rb
|
106
241
|
- lib/ronin/scanners/version.rb
|
107
|
-
-
|
242
|
+
- lib/ronin/ui/cli/commands/scan/dork.rb
|
243
|
+
- lib/ronin/ui/cli/commands/scan/nmap.rb
|
244
|
+
- lib/ronin/ui/cli/commands/scan/proxies.rb
|
245
|
+
- lib/ronin/ui/cli/commands/scan/spider.rb
|
246
|
+
- lib/ronin/ui/cli/commands/scanner.rb
|
247
|
+
- lib/ronin/ui/cli/scanner_command.rb
|
248
|
+
- ronin-scanners.gemspec
|
249
|
+
- spec/scanners/host_name_scanner_spec.rb
|
250
|
+
- spec/scanners/ip_scanner_spec.rb
|
251
|
+
- spec/scanners/resolv_scanner_spec.rb
|
252
|
+
- spec/scanners/reverse_lookup_scanner_spec.rb
|
253
|
+
- spec/scanners/scanner_spec.rb
|
254
|
+
- spec/scanners/scanners_spec.rb
|
255
|
+
- spec/scanners/tcp_port_scanner_spec.rb
|
256
|
+
- spec/scanners/udp_port_scanner_spec.rb
|
257
|
+
- spec/scanners/url_scanner_spec.rb
|
108
258
|
- spec/spec_helper.rb
|
109
|
-
-
|
110
|
-
|
111
|
-
|
112
|
-
licenses: []
|
113
|
-
|
259
|
+
homepage: http://ronin-ruby.github.com/scanners/
|
260
|
+
licenses:
|
261
|
+
- GPL-2
|
114
262
|
post_install_message:
|
115
|
-
rdoc_options:
|
116
|
-
|
117
|
-
- README.txt
|
118
|
-
require_paths:
|
263
|
+
rdoc_options: []
|
264
|
+
require_paths:
|
119
265
|
- lib
|
120
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
266
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
267
|
+
none: false
|
268
|
+
requirements:
|
269
|
+
- - ! '>='
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
273
|
+
none: false
|
274
|
+
requirements:
|
275
|
+
- - ! '>='
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: '0'
|
132
278
|
requirements: []
|
133
|
-
|
134
|
-
|
135
|
-
rubygems_version: 1.3.4
|
279
|
+
rubyforge_project:
|
280
|
+
rubygems_version: 1.8.24
|
136
281
|
signing_key:
|
137
282
|
specification_version: 3
|
138
|
-
summary:
|
283
|
+
summary: A Ruby library for Ronin that provides Ruby interfaces to various third-party
|
284
|
+
security scanners.
|
139
285
|
test_files: []
|
140
|
-
|