ronin 2.0.2 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31356f467f009277f4c840fb645f3f64bfba3c6d9e1cf1b1bef2dee177dc4b96
4
- data.tar.gz: 4cce57a146892ac6b05bf6a41aa35467d50e307c74ed6150cfdf05234aa177f2
3
+ metadata.gz: 18a3d5cc32bca9292acddc0c00ed1114bc8c8cd406c014c7053143fc3eea7cce
4
+ data.tar.gz: 81baac7a55017d8086a3dff34a808910a735547468a98bf8f86b7269ce8ec8f2
5
5
  SHA512:
6
- metadata.gz: 244f986f64b8ee769769ca050321ff3ad6ebe4de5ea7c9f7f509514e32e02d580fbd391bf65c1a35238f2b42825050082fd0a1a06c491e447462a603b7a3c9de
7
- data.tar.gz: 312f52036a301608b240fd91a26f2d3632eafd1f0c193ef6127851eb43e69840c443a8f3f9608ab7ad8d522e7fb58d96e45e8e32cdfac00a59e931ed636b7d48
6
+ metadata.gz: 5066a3912ddb0da16d305ba983f8a346196a50496e2ebb95bb5a3550b7cb03d868550550aab3c27a4b13ae399af452cf923bf54ab2d1faf44279de6736ecac30
7
+ data.tar.gz: 92cbf11e7b07149825cf1e97ed5fd153ae2e77ea1f1fc4092120b1a57b2beea7e79648d7eea111abd8a467db2c8968ad4d808643b5594e6529c9e6ddbbb700c7
data/ChangeLog.md CHANGED
@@ -1,3 +1,30 @@
1
+ ### 2.0.4 / 2023-07-18
2
+
3
+ * Require [wordlist] ~> 1.0, >= 1.0.2 for bug fixes.
4
+ * Require [ronin-core] ~> 0.1, >= 0.1.2 for bug fixes to `ronin irb`.
5
+ * This fixes an issue with defining and then calling methods inside of the
6
+ `ronin irb` Ruby shell.
7
+
8
+ #### CLI
9
+
10
+ * Fixed the `ronin typosquat` command to accept multiple domain arguments.
11
+ * Added missing `usage` string to the `ronin typosquat` command.
12
+ * Added missing `-f`,`--file` option to the `ronin typosquat` command.
13
+ * Fixed a bug in the `ronin host` command where the `-t`,`--query` option was
14
+ not being honored.
15
+ * Added missing `--file` option to the `ronin bitflip` man-page and docs.
16
+
17
+ ### 2.0.3 / 2023-06-12
18
+
19
+ * Extend `Ronin::Support` into {Ronin} in order to make their Mixin instance
20
+ methods accessible to the `ronin irb` command which spawns an IRB session
21
+ within the `Ronin` namespace.
22
+
23
+ #### CLI
24
+
25
+ * Fixed a regression in the `ronin irb` command where the `ronin-support` Mixin
26
+ methods (ex: `http_get`) were missing from the `ronin irb` shell.
27
+
1
28
  ### 2.0.2 / 2023-06-09
2
29
 
3
30
  * Documentation fixes and improvements.
data/README.md CHANGED
@@ -801,9 +801,9 @@ $ ronin url --file urls.txt --status
801
801
  * [open_namespace] ~> 0.4
802
802
  * [rouge] ~> 3.0
803
803
  * [async-io] ~> 1.0
804
- * [wordlist] ~> 1.0
804
+ * [wordlist] ~> 1.0, >= 1.0.2
805
805
  * [ronin-support] ~> 1.0
806
- * [ronin-core] ~> 0.1
806
+ * [ronin-core] ~> 0.1, >= 0.1.2
807
807
  * [ronin-repos] ~> 0.1
808
808
  * [ronin-db] ~> 0.1
809
809
  * [ronin-fuzzer] ~> 0.1
data/gemspec.yml CHANGED
@@ -94,10 +94,10 @@ dependencies:
94
94
  open_namespace: ~> 0.4
95
95
  rouge: ~> 3.0
96
96
  async-io: ~> 1.0
97
- wordlist: ~> 1.0
97
+ wordlist: ~> 1.0, >= 1.0.2
98
98
  # Ronin dependencies:
99
99
  ronin-support: ~> 1.0, >= 1.0.1
100
- ronin-core: ~> 0.1, >= 0.1.1
100
+ ronin-core: ~> 0.1, >= 0.1.2
101
101
  ronin-repos: ~> 0.1
102
102
  ronin-db: ~> 0.1
103
103
  ronin-fuzzer: ~> 0.1
@@ -35,6 +35,7 @@ module Ronin
35
35
  #
36
36
  # ## Options
37
37
  #
38
+ # -f, --file FILE Optional file to read values from
38
39
  # -N, --numeric Searches for numeric characters (0-9)
39
40
  # -O, --octal Searches for octal characters (0-7)
40
41
  # -X, --upper-hex Searches for uppercase hexadecimal (0-9, A-F)
@@ -50,22 +50,7 @@ module Ronin
50
50
 
51
51
  option :type, short: '-t',
52
52
  value: {
53
- type: {
54
- A: :a,
55
- AAAA: :aaaa,
56
- ANY: :any,
57
- CNAME: :cname,
58
- HINFO: :hinfo,
59
- LOC: :loc,
60
- MINFO: :minfo,
61
- MX: :mx,
62
- NS: :ns,
63
- PTR: :ptr,
64
- SOA: :soa,
65
- SRV: :srv,
66
- TXT: :txt,
67
- WKS: :wks
68
- }
53
+ type: RECORD_TYPES
69
54
  },
70
55
  desc: 'Queries a specific type of DNS record'
71
56
 
@@ -85,6 +70,23 @@ module Ronin
85
70
  print_records(query_records(host))
86
71
  end
87
72
 
73
+ #
74
+ # Queries the records for the given host name.
75
+ #
76
+ # @param [String] host
77
+ # The host name to query.
78
+ #
79
+ # @return [Array<Resolv::DNS::Resource>]
80
+ # The returned DNS resource records.
81
+ #
82
+ def query_records(host)
83
+ if options[:type]
84
+ resolver.get_records(host,options[:type].downcase)
85
+ else
86
+ resolver.get_a_records(host) + resolver.get_aaaa_records(host)
87
+ end
88
+ end
89
+
88
90
  end
89
91
  end
90
92
  end
@@ -116,28 +116,13 @@ module Ronin
116
116
 
117
117
  option :has_records, short: '-H',
118
118
  value: {
119
- type: {
120
- A: :a,
121
- AAAA: :aaaa,
122
- ANY: :any,
123
- CNAME: :cname,
124
- HINFO: :hinfo,
125
- LOC: :loc,
126
- MINFO: :minfo,
127
- MX: :mx,
128
- NS: :ns,
129
- PTR: :ptr,
130
- SOA: :soa,
131
- SRV: :srv,
132
- TXT: :txt,
133
- WKS: :wks
134
- }
119
+ type: RECORD_TYPES
135
120
  },
136
121
  desc: 'Filters hostnames that have a certain DNS record type'
137
122
 
138
123
  option :query, short: '-t',
139
124
  value: {
140
- type: [:A, :AAAA, :ANY, :CNAME, :HINFO, :LOC, :MINFO, :MX, :NS, :PTR, :SOA, :SRV, :TXT, :WKS]
125
+ type: RECORD_TYPES
141
126
  },
142
127
  desc: 'Queries a specific type of DNS record'
143
128
 
@@ -211,7 +196,7 @@ module Ronin
211
196
 
212
197
  puts host unless records.empty?
213
198
  elsif options[:query]
214
- print_records(query_records(host))
199
+ print_records(host.get_records(options[:query]))
215
200
  else
216
201
  puts host.name
217
202
  end
@@ -29,10 +29,11 @@ module Ronin
29
29
  #
30
30
  # ## Usage
31
31
  #
32
- # ronin typosquat [options] DOMAIN
32
+ # ronin typosquat [options] [DOMAIN ...]
33
33
  #
34
34
  # ## Options
35
35
  #
36
+ # -f, --file FILE Optional file to read values from
36
37
  # --omit-chars Toggles whether to omit repeated characters
37
38
  # --repeat-chars Toggles whether to repeat single characters
38
39
  # --swap-chars Toggles whether to swap certain common character pairs
@@ -50,6 +51,8 @@ module Ronin
50
51
 
51
52
  include TypoOptions
52
53
 
54
+ usage '[options] [DOMAIN ...]'
55
+
53
56
  option :has_addresses, desc: 'Print typo squat domains with addresses'
54
57
 
55
58
  option :registered, desc: 'Print typo squat domains that are already registered'
@@ -69,7 +72,7 @@ module Ronin
69
72
  # @param [String] domain
70
73
  # A word argument to typo.
71
74
  #
72
- def run(domain)
75
+ def process_value(domain)
73
76
  if options[:has_addresses]
74
77
  each_typo_squat(domain) do |typo_domain|
75
78
  if typo_domain.has_addresses?
data/lib/ronin/cli/dns.rb CHANGED
@@ -24,6 +24,24 @@ module Ronin
24
24
  # Mixin for adding DNS support to commands.
25
25
  #
26
26
  module DNS
27
+ # Mapping of DNS record types and lowercase versions.
28
+ RECORD_TYPES = {
29
+ A: :a,
30
+ AAAA: :aaaa,
31
+ ANY: :any,
32
+ CNAME: :cname,
33
+ HINFO: :hinfo,
34
+ LOC: :loc,
35
+ MINFO: :minfo,
36
+ MX: :mx,
37
+ NS: :ns,
38
+ PTR: :ptr,
39
+ SOA: :soa,
40
+ SRV: :srv,
41
+ TXT: :txt,
42
+ WKS: :wks
43
+ }
44
+
27
45
  #
28
46
  # Adds the `-N,--nameserver HOST|IP` option to the command which is
29
47
  # including {DNS}.
@@ -72,23 +90,6 @@ module Ronin
72
90
  end
73
91
  end
74
92
 
75
- #
76
- # Queries the records for the given host name.
77
- #
78
- # @param [String] host
79
- # The host name to query.
80
- #
81
- # @return [Array<Resolv::DNS::Resource>]
82
- # The returned DNS resource records.
83
- #
84
- def query_records(host)
85
- if options[:type]
86
- resolver.get_records(host,options[:type].downcase)
87
- else
88
- resolver.get_a_records(host) + resolver.get_aaaa_records(host)
89
- end
90
- end
91
-
92
93
  #
93
94
  # Prints multiple DNS records.
94
95
  #
data/lib/ronin/version.rb CHANGED
@@ -18,5 +18,5 @@
18
18
 
19
19
  module Ronin
20
20
  # ronin version
21
- VERSION = '2.0.2'
21
+ VERSION = '2.0.4'
22
22
  end
data/man/ronin-bitflip.1 CHANGED
@@ -21,6 +21,10 @@ A string value to print all of the bit\-flips of\.
21
21
  .SH OPTIONS
22
22
  .LP
23
23
  .TP
24
+ \fB-f\fR, \fB--file\fR \fIFILE\fP
25
+ Optional file to read values from\.
26
+ .LP
27
+ .TP
24
28
  \fB-N\fR, \fB--numeric\fR
25
29
  Searches for numeric characters (0\-9)\.
26
30
  .LP
@@ -15,6 +15,9 @@ Prints every bit-flip of the given string(s).
15
15
 
16
16
  ## OPTIONS
17
17
 
18
+ `-f`, `--file` *FILE*
19
+ Optional file to read values from.
20
+
18
21
  `-N`, `--numeric`
19
22
  Searches for numeric characters (0-9).
20
23
 
@@ -5,7 +5,7 @@
5
5
  .SH SYNOPSIS
6
6
  .LP
7
7
  .HP
8
- \fBronin typosquat\fR \[lB]\fIoptions\fP\[rB] DOMAIN
8
+ \fBronin typosquat\fR \[lB]\fIoptions\fP\[rB] \[lB]DOMAIN \.\.\.\[rB]
9
9
  .LP
10
10
  .SH DESCRIPTION
11
11
  .LP
@@ -16,11 +16,15 @@ Finds typo squatted domains\.
16
16
  .LP
17
17
  .TP
18
18
  \fIDOMAIN\fP
19
- The domain to typo squat\.
19
+ A domain to check for typo squats\.
20
20
  .LP
21
21
  .SH OPTIONS
22
22
  .LP
23
23
  .TP
24
+ \fB-f\fR, \fB--file\fR \fIFILE\fP
25
+ Optional file to read domains from\.
26
+ .LP
27
+ .TP
24
28
  \fB--omit-chars\fR
25
29
  Toggles whether to omit repeated characters\.
26
30
  .LP
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## SYNOPSIS
4
4
 
5
- `ronin typosquat` [*options*] DOMAIN
5
+ `ronin typosquat` [*options*] [DOMAIN ...]
6
6
 
7
7
  ## DESCRIPTION
8
8
 
@@ -11,10 +11,13 @@ Finds typo squatted domains.
11
11
  ## ARGUMENTS
12
12
 
13
13
  *DOMAIN*
14
- The domain to typo squat.
14
+ A domain to check for typo squats.
15
15
 
16
16
  ## OPTIONS
17
17
 
18
+ `-f`, `--file` *FILE*
19
+ Optional file to read domains from.
20
+
18
21
  `--omit-chars`
19
22
  Toggles whether to omit repeated characters.
20
23
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-09 00:00:00.000000000 Z
11
+ date: 2023-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: open_namespace
@@ -59,6 +59,9 @@ dependencies:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.0'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.0.2
62
65
  type: :runtime
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -66,6 +69,9 @@ dependencies:
66
69
  - - "~>"
67
70
  - !ruby/object:Gem::Version
68
71
  version: '1.0'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.0.2
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: ronin-support
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +101,7 @@ dependencies:
95
101
  version: '0.1'
96
102
  - - ">="
97
103
  - !ruby/object:Gem::Version
98
- version: 0.1.1
104
+ version: 0.1.2
99
105
  type: :runtime
100
106
  prerelease: false
101
107
  version_requirements: !ruby/object:Gem::Requirement
@@ -105,7 +111,7 @@ dependencies:
105
111
  version: '0.1'
106
112
  - - ">="
107
113
  - !ruby/object:Gem::Version
108
- version: 0.1.1
114
+ version: 0.1.2
109
115
  - !ruby/object:Gem::Dependency
110
116
  name: ronin-repos
111
117
  requirement: !ruby/object:Gem::Requirement