bqm 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bqm +18 -1
  3. data/data/query-sets.json +2 -1
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28bbff6c42f4653702f6e091868d7b54e83b461c3501a5eeffd5d423a04445e2
4
- data.tar.gz: dc65921e523353a6ab7ae6be055e901c9cb8d83c4fb1f2c7483e8029d2408903
3
+ metadata.gz: 0d78da6d030479d62b8fc734bde08fddc8ff97ca4502855287cb543b1d5f50fd
4
+ data.tar.gz: 836675f08cab5fe97744eae3c4f53182e2bbc9928f099540e94c36af576f3b56
5
5
  SHA512:
6
- metadata.gz: 2fe4cc56dd34eed52c1d817867bad75399a4df798a66f87d897141441fee53418e3d1e3d33818efb97c49c928156db66ff0874215977ec6c1972d43b4d2e6a9e
7
- data.tar.gz: 57b22d6b6724487fb7316b746c3fb6c3d0236de816a057cfafefb09e7321a80b27d5df77cd51b0f474a525ed62830486c7e1e478acaf7c5fdc4fd394478aecff
6
+ metadata.gz: 8d3f43f194866b90855ec27c36dfecdd3ba5131b424616f08eaf7ac0f75c02975d92553ae02f0f807246cfe61fd198ee2da06f6068b0e3d0e9c284f57ec41eca
7
+ data.tar.gz: fa5e9708365a8ac529c0a67b8c46bbc3aa901c91dac6d01b706d390c1211a534887eedcfaf31cfcbe0fd3350e4f5d9b1d1047fb6303e1543c7a4ec38d9b9079b
data/bin/bqm CHANGED
@@ -59,7 +59,8 @@ def pretty_link(lst)
59
59
  end
60
60
 
61
61
  def get_datasets(source)
62
- begin # ruby 3.0+
62
+ # ruby 3.0+
63
+ begin
63
64
  src = JSON.load_file(source)
64
65
  rescue NoMethodError # ruby 2.7 retro-compatibility
65
66
  src = JSON.parse(File.read(source))
@@ -89,8 +90,24 @@ if __FILE__ == $PROGRAM_NAME
89
90
  puts l
90
91
  end
91
92
  elsif out
93
+ flags = {}
94
+ flags[:merge_actual] = false
95
+ if File.file?(out) && File.readable?(out)
96
+ puts "[+] The output path #{out} already exists"
97
+ puts '[?] Do you want to overwrite it? [y/n]'
98
+ if gets.chomp == 'y'
99
+ puts '[?] What to do with the existing queries? (merge / discard) [m/d]'
100
+ flags[:merge_actual] = true if gets.chomp == 'm'
101
+ else
102
+ exit
103
+ end
104
+ end
92
105
  puts '[+] Fetching and merging datasets'
93
106
  data = merge(source)
107
+ if flags[:merge_actual]
108
+ puts '[+] Merging your existing queries'
109
+ data += JSON.parse(File.read(out))['queries']
110
+ end
94
111
  puts '[+] Removing duplicates'
95
112
  queries = deduplicate(data).map(&:data)
96
113
 
data/data/query-sets.json CHANGED
@@ -11,6 +11,7 @@
11
11
  "https://raw.githubusercontent.com/zeronetworks/BloodHound-Tools/main/CustomQueries/customqueries.json",
12
12
  "https://raw.githubusercontent.com/egypt/customqueries/master/customqueries.json",
13
13
  "https://raw.githubusercontent.com/trustedsec/CrackHound/main/customqueries.json",
14
- "https://raw.githubusercontent.com/aress31/bloodhound-utils/main/customqueries.json"
14
+ "https://raw.githubusercontent.com/aress31/bloodhound-utils/main/customqueries.json",
15
+ "https://raw.githubusercontent.com/ThePorgs/Exegol-images/main/sources/bloodhound/customqueries.json"
15
16
  ]
16
17
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bqm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre ZANNI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-26 00:00:00.000000000 Z
11
+ date: 2023-02-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Deduplicate custom BloudHound queries from different datasets and merge
14
14
  them in one customqueries.json file.
@@ -40,7 +40,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
40
40
  version: 2.6.0
41
41
  - - "<"
42
42
  - !ruby/object:Gem::Version
43
- version: '3.3'
43
+ version: '4.0'
44
44
  required_rubygems_version: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="