bqm 1.2.0 → 1.3.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.
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
  - - ">="