aspisec 0.0.2 → 0.2.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +2 -1
  3. data/bin-ruby/aspisec +7 -7
  4. data/lib-ruby/aspisec/clean.rb +31 -11
  5. data/lib-ruby/aspisec/config.rb +57 -146
  6. data/lib-ruby/aspisec/configs/amass.rb +22 -0
  7. data/lib-ruby/aspisec/configs/bloodhound.rb +27 -0
  8. data/lib-ruby/aspisec/configs/crackmapexec.rb +28 -0
  9. data/lib-ruby/aspisec/configs/dbgate.rb +25 -0
  10. data/lib-ruby/aspisec/configs/ffuf.rb +19 -0
  11. data/lib-ruby/aspisec/configs/filezilla.rb +28 -0
  12. data/lib-ruby/aspisec/configs/hashcat.rb +33 -0
  13. data/lib-ruby/aspisec/configs/home_history_files.rb +59 -0
  14. data/lib-ruby/aspisec/configs/john.rb +24 -0
  15. data/lib-ruby/aspisec/configs/jwt_tool.rb +19 -0
  16. data/lib-ruby/aspisec/configs/lsassy.rb +22 -0
  17. data/lib-ruby/aspisec/configs/manspider.rb +25 -0
  18. data/lib-ruby/aspisec/configs/metasploit.rb +36 -0
  19. data/lib-ruby/aspisec/configs/mobsf.rb +30 -0
  20. data/lib-ruby/aspisec/configs/mongodb_compass.rb +19 -0
  21. data/lib-ruby/aspisec/configs/mongodb_mongosh.rb +24 -0
  22. data/lib-ruby/aspisec/configs/ncrack.rb +19 -0
  23. data/lib-ruby/aspisec/configs/netexec.rb +28 -0
  24. data/lib-ruby/aspisec/configs/recaf.rb +24 -0
  25. data/lib-ruby/aspisec/configs/remmina.rb +20 -0
  26. data/lib-ruby/aspisec/configs/semgrep.rb +22 -0
  27. data/lib-ruby/aspisec/configs/spiderfoot.rb +24 -0
  28. data/lib-ruby/aspisec/configs/sqlmap.rb +27 -0
  29. data/lib-ruby/aspisec/configs/theharvester.rb +18 -0
  30. data/lib-ruby/aspisec/configs/weevely.rb +31 -0
  31. data/lib-ruby/aspisec/configs/whatwaf.rb +18 -0
  32. data/lib-ruby/aspisec/module.rb +35 -0
  33. data/lib-ruby/aspisec/modules/amass.rb +38 -0
  34. data/lib-ruby/aspisec/modules/bloodhound.rb +38 -0
  35. data/lib-ruby/aspisec/modules/dbgate.rb +38 -0
  36. data/lib-ruby/aspisec/modules/ffuf.rb +33 -0
  37. data/lib-ruby/aspisec/modules/filezilla.rb +43 -0
  38. data/lib-ruby/aspisec/modules/home_history_files.rb +67 -0
  39. data/lib-ruby/aspisec/modules/jwt_tool.rb +33 -0
  40. data/lib-ruby/aspisec/modules/lsassy.rb +38 -0
  41. data/lib-ruby/aspisec/modules/manspider.rb +38 -0
  42. data/lib-ruby/aspisec/modules/mobsf.rb +49 -0
  43. data/lib-ruby/aspisec/modules/mongodb_compass.rb +33 -0
  44. data/lib-ruby/aspisec/modules/mongodb_mongosh.rb +38 -0
  45. data/lib-ruby/aspisec/modules/ncrack.rb +33 -0
  46. data/lib-ruby/aspisec/modules/recaf.rb +38 -0
  47. data/lib-ruby/aspisec/modules/remmina.rb +34 -0
  48. data/lib-ruby/aspisec/modules/semgrep.rb +38 -0
  49. data/lib-ruby/aspisec/modules/spiderfoot.rb +38 -0
  50. data/lib-ruby/aspisec/modules/weevely.rb +43 -0
  51. data/lib-ruby/aspisec/modules/whatwaf.rb +33 -0
  52. data/lib-ruby/aspisec/version.rb +1 -1
  53. metadata +60 -18
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # Module for various history files stored in the user home directory.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @example
11
+ # # Get the global config
12
+ # conf = Aspisec::Config.new.conf
13
+ # # Create a HomeHistoryFiles module instance
14
+ # hhf = Aspisec::Modules::HomeHistoryFiles.new(conf)
15
+ # # Locations available
16
+ # hhf.locations_list # => ["python", "postgresql", "ruby_irb", "ruby_rdbg", "redis_cli", "bash", "zsh", "zsh_alt"]
17
+ class HomeHistoryFiles < Aspisec::Module
18
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
19
+ # @return [Location]
20
+ attr_reader :python
21
+
22
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
23
+ # @return [Location]
24
+ attr_reader :postgresql
25
+
26
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
27
+ # @return [Location]
28
+ attr_reader :ruby_irb
29
+
30
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
31
+ # @return [Location]
32
+ attr_reader :ruby_rdbg
33
+
34
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
35
+ # @return [Location]
36
+ attr_reader :redis_cli
37
+
38
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
39
+ # @return [Location]
40
+ attr_reader :bash
41
+
42
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
43
+ # @return [Location]
44
+ attr_reader :zsh
45
+
46
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
47
+ # @return [Location]
48
+ attr_reader :zsh_alt
49
+
50
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
51
+ # `tool_name` is hardcoded for each module.
52
+ # @param conf [Aspisec::Config] an instance of the global configuration
53
+ def initialize(conf, logger: nil)
54
+ super(conf, 'home-history-files', logger:)
55
+ @python = Location.new(@conf, 'python')
56
+ @postgresql = Location.new(@conf, 'postgresql')
57
+ @ruby_irb = Location.new(@conf, 'ruby-irb')
58
+ @ruby_rdbg = Location.new(@conf, 'ruby-rdbg')
59
+ @redis_cli = Location.new(@conf, 'redis-cli')
60
+ @bash = Location.new(@conf, 'bash')
61
+ @zsh = Location.new(@conf, 'zsh')
62
+ @zsh_alt = Location.new(@conf, 'zsh-alt')
63
+ @locations_list = %w[python postgresql ruby_irb ruby_rdbg redis_cli bash zsh zsh_alt]
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # jwt_tool module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/ticarpi/jwt_tool
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a JwtTool module instance
15
+ # jwt = Aspisec::Modules::JwtTool.new(conf)
16
+ # # Locations available
17
+ # jwt.locations_list # => ["logs"]
18
+ class JwtTool < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :logs
22
+
23
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
24
+ # `tool_name` is hardcoded for each module.
25
+ # @param conf [Aspisec::Config] an instance of the global configuration
26
+ def initialize(conf, logger: nil)
27
+ super(conf, 'jwt_tool', logger:)
28
+ @logs = Location.new(@conf, 'logs')
29
+ @locations_list = %w[logs]
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # lsassy module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/Hackndo/lsassy
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Lsassy module instance
15
+ # lsa = Aspisec::Modules::Lsassy.new(conf)
16
+ # # Locations available
17
+ # lsa.locations_list # => ["masterkeys", "tickets"]
18
+ class Lsassy < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :masterkeys
22
+
23
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
24
+ # @return [Location]
25
+ attr_reader :tickets
26
+
27
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
28
+ # `tool_name` is hardcoded for each module.
29
+ # @param conf [Aspisec::Config] an instance of the global configuration
30
+ def initialize(conf, logger: nil)
31
+ super(conf, 'lsassy', logger:)
32
+ @masterkeys = Location.new(@conf, 'masterkeys')
33
+ @tickets = Location.new(@conf, 'tickets')
34
+ @locations_list = %w[masterkeys tickets]
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # MANSPIDER module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/blacklanternsecurity/MANSPIDER
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Manspider module instance
15
+ # ms = Aspisec::Modules::Manspider.new(conf)
16
+ # # Locations available
17
+ # ms.locations_list # => ["logs", "loot"]
18
+ class Manspider < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :logs
22
+
23
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
24
+ # @return [Location]
25
+ attr_reader :loot
26
+
27
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
28
+ # `tool_name` is hardcoded for each module.
29
+ # @param conf [Aspisec::Config] an instance of the global configuration
30
+ def initialize(conf, logger: nil)
31
+ super(conf, 'manspider', logger:)
32
+ @logs = Location.new(@conf, 'logs')
33
+ @loot = Location.new(@conf, 'loot')
34
+ @locations_list = %w[logs loot]
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # MobSF module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://mobsf.github.io/docs/
11
+ # @see https://github.com/MobSF/Mobile-Security-Framework-MobSF
12
+ # @example
13
+ # # Get the global config
14
+ # conf = Aspisec::Config.new.conf
15
+ # # Create a Mobsf module instance
16
+ # mob = Aspisec::Modules::Mobsf.new(conf)
17
+ # # Locations available
18
+ # mob.locations_list # => ["logs", "downloads", "uploads", "database"]
19
+ class Mobsf < Aspisec::Module
20
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
21
+ # @return [Location]
22
+ attr_reader :logs
23
+
24
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
25
+ # @return [Location]
26
+ attr_reader :downloads
27
+
28
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
29
+ # @return [Location]
30
+ attr_reader :uploads
31
+
32
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
33
+ # @return [Location]
34
+ attr_reader :database
35
+
36
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
37
+ # `tool_name` is hardcoded for each module.
38
+ # @param conf [Aspisec::Config] an instance of the global configuration
39
+ def initialize(conf, logger: nil)
40
+ super(conf, 'mobsf', logger:)
41
+ @logs = Location.new(@conf, 'logs')
42
+ @downloads = Location.new(@conf, 'downloads')
43
+ @uploads = Location.new(@conf, 'uploads')
44
+ @database = Location.new(@conf, 'database')
45
+ @locations_list = %w[logs downloads uploads database]
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # MongoDB Compass module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://www.mongodb.com/products/tools/compass
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a MongodbCompass module instance
15
+ # mdc = Aspisec::Modules::MongodbCompass.new(conf)
16
+ # # Locations available
17
+ # mdc.locations_list # => ["logs"]
18
+ class MongodbCompass < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :logs
22
+
23
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
24
+ # `tool_name` is hardcoded for each module.
25
+ # @param conf [Aspisec::Config] an instance of the global configuration
26
+ def initialize(conf, logger: nil)
27
+ super(conf, 'mongodb-compass', logger:)
28
+ @logs = Location.new(@conf, 'logs')
29
+ @locations_list = %w[logs]
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # MongoDB Shell (mongosh) module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://www.mongodb.com/docs/mongodb-shell/
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a MongodbMongosh module instance
15
+ # msh = Aspisec::Modules::MongodbMongosh.new(conf)
16
+ # # Locations available
17
+ # msh.locations_list # => ["logs", "history"]
18
+ class MongodbMongosh < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :logs
22
+
23
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
24
+ # @return [Location]
25
+ attr_reader :history
26
+
27
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
28
+ # `tool_name` is hardcoded for each module.
29
+ # @param conf [Aspisec::Config] an instance of the global configuration
30
+ def initialize(conf, logger: nil)
31
+ super(conf, 'mongodb-mongosh', logger:)
32
+ @logs = Location.new(@conf, 'logs')
33
+ @history = Location.new(@conf, 'history')
34
+ @locations_list = %w[logs history]
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # ncrack module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/nmap/ncrack
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Ncrack module instance
15
+ # ncr = Aspisec::Modules::Ncrack.new(conf)
16
+ # # Locations available
17
+ # ncr.locations_list # => ["restore"]
18
+ class Ncrack < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :restore
22
+
23
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
24
+ # `tool_name` is hardcoded for each module.
25
+ # @param conf [Aspisec::Config] an instance of the global configuration
26
+ def initialize(conf, logger: nil)
27
+ super(conf, 'ncrack', logger:)
28
+ @restore = Location.new(@conf, 'restore')
29
+ @locations_list = %w[restore]
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # Recaf module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/Col-E/Recaf
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Recaf module instance
15
+ # rec = Aspisec::Modules::Recaf.new(conf)
16
+ # # Locations available
17
+ # rec.locations_list # => ["classpath", "logs"]
18
+ class Recaf < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :classpath
22
+
23
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
24
+ # @return [Location]
25
+ attr_reader :logs
26
+
27
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
28
+ # `tool_name` is hardcoded for each module.
29
+ # @param conf [Aspisec::Config] an instance of the global configuration
30
+ def initialize(conf, logger: nil)
31
+ super(conf, 'recaf', logger:)
32
+ @classpath = Location.new(@conf, 'classpath')
33
+ @logs = Location.new(@conf, 'logs')
34
+ @locations_list = %w[classpath logs]
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # Remmina module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://remmina.org
11
+ # @see https://gitlab.com/Remmina/Remmina
12
+ # @example
13
+ # # Get the global config
14
+ # conf = Aspisec::Config.new.conf
15
+ # # Create a Remmina module instance
16
+ # rem = Aspisec::Modules::Remmina.new(conf)
17
+ # # Locations available
18
+ # rem.locations_list # => ["configs"]
19
+ class Remmina < Aspisec::Module
20
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
21
+ # @return [Location]
22
+ attr_reader :configs
23
+
24
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
25
+ # `tool_name` is hardcoded for each module.
26
+ # @param conf [Aspisec::Config] an instance of the global configuration
27
+ def initialize(conf, logger: nil)
28
+ super(conf, 'remmina', logger:)
29
+ @configs = Location.new(@conf, 'configs')
30
+ @locations_list = %w[configs]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # Semgrep module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/returntocorp/semgrep
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Semgrep module instance
15
+ # smg = Aspisec::Modules::Semgrep.new(conf)
16
+ # # Locations available
17
+ # smg.locations_list # => ["logs1", "logs2"]
18
+ class Semgrep < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :logs1
22
+
23
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
24
+ # @return [Location]
25
+ attr_reader :logs2
26
+
27
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
28
+ # `tool_name` is hardcoded for each module.
29
+ # @param conf [Aspisec::Config] an instance of the global configuration
30
+ def initialize(conf, logger: nil)
31
+ super(conf, 'semgrep', logger:)
32
+ @logs1 = Location.new(@conf, 'logs1')
33
+ @logs2 = Location.new(@conf, 'logs2')
34
+ @locations_list = %w[logs1 logs2]
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # Spiderfoot module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/smicallef/spiderfoot
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Spiderfoot module instance
15
+ # spf = Aspisec::Modules::Spiderfoot.new(conf)
16
+ # # Locations available
17
+ # spf.locations_list # => ["database", "logs"]
18
+ class Spiderfoot < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :database
22
+
23
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
24
+ # @return [Location]
25
+ attr_reader :logs
26
+
27
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
28
+ # `tool_name` is hardcoded for each module.
29
+ # @param conf [Aspisec::Config] an instance of the global configuration
30
+ def initialize(conf, logger: nil)
31
+ super(conf, 'spiderfoot', logger:)
32
+ @database = Location.new(@conf, 'database')
33
+ @logs = Location.new(@conf, 'logs')
34
+ @locations_list = %w[database logs]
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # weevely module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/epinna/weevely3
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Weevely module instance
15
+ # wvl = Aspisec::Modules::Weevely.new(conf)
16
+ # # Locations available
17
+ # wvl.locations_list # => ["history", "sessions", "logs"]
18
+ class Weevely < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :history
22
+
23
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
24
+ # @return [Location]
25
+ attr_reader :sessions
26
+
27
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
28
+ # @return [Location]
29
+ attr_reader :logs
30
+
31
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
32
+ # `tool_name` is hardcoded for each module.
33
+ # @param conf [Aspisec::Config] an instance of the global configuration
34
+ def initialize(conf, logger: nil)
35
+ super(conf, 'weevely', logger:)
36
+ @history = Location.new(@conf, 'history')
37
+ @sessions = Location.new(@conf, 'sessions')
38
+ @logs = Location.new(@conf, 'logs')
39
+ @locations_list = %w[history sessions logs]
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # WhatWaf module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://github.com/Ekultek/WhatWaf
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Whatwaf module instance
15
+ # whw = Aspisec::Modules::Whatwaf.new(conf)
16
+ # # Locations available
17
+ # whw.locations_list # => ["database"]
18
+ class Whatwaf < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :database
22
+
23
+ # Inherits from {Aspisec::Module} but has only the `conf` argument,
24
+ # `tool_name` is hardcoded for each module.
25
+ # @param conf [Aspisec::Config] an instance of the global configuration
26
+ def initialize(conf, logger: nil)
27
+ super(conf, 'whatwaf', logger:)
28
+ @database = Location.new(@conf, 'database')
29
+ @locations_list = %w[database]
30
+ end
31
+ end
32
+ end
33
+ end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Aspisec
4
4
  # Version of aspisec library and app
5
- VERSION = '0.0.2'
5
+ VERSION = '0.2.0'
6
6
  end