aspisec 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/bin-ruby/aspisec +5 -5
  3. data/lib-ruby/aspisec/clean.rb +31 -11
  4. data/lib-ruby/aspisec/config.rb +60 -160
  5. data/lib-ruby/aspisec/configs/amass.rb +22 -0
  6. data/lib-ruby/aspisec/configs/bloodhound.rb +27 -0
  7. data/lib-ruby/aspisec/configs/crackmapexec.rb +28 -0
  8. data/lib-ruby/aspisec/configs/dbgate.rb +25 -0
  9. data/lib-ruby/aspisec/configs/ffuf.rb +19 -0
  10. data/lib-ruby/aspisec/configs/hashcat.rb +33 -0
  11. data/lib-ruby/aspisec/configs/home_history_files.rb +59 -0
  12. data/lib-ruby/aspisec/configs/john.rb +26 -0
  13. data/lib-ruby/aspisec/configs/jwt_tool.rb +19 -0
  14. data/lib-ruby/aspisec/configs/lsassy.rb +22 -0
  15. data/lib-ruby/aspisec/configs/manspider.rb +25 -0
  16. data/lib-ruby/aspisec/configs/metasploit.rb +38 -0
  17. data/lib-ruby/aspisec/configs/mobsf.rb +30 -0
  18. data/lib-ruby/aspisec/configs/mongodb_compass.rb +19 -0
  19. data/lib-ruby/aspisec/configs/mongodb_mongosh.rb +24 -0
  20. data/lib-ruby/aspisec/configs/ncrack.rb +19 -0
  21. data/lib-ruby/aspisec/configs/netexec.rb +28 -0
  22. data/lib-ruby/aspisec/configs/recaf.rb +24 -0
  23. data/lib-ruby/aspisec/configs/remmina.rb +20 -0
  24. data/lib-ruby/aspisec/configs/semgrep.rb +22 -0
  25. data/lib-ruby/aspisec/configs/spiderfoot.rb +24 -0
  26. data/lib-ruby/aspisec/configs/sqlmap.rb +27 -0
  27. data/lib-ruby/aspisec/configs/theharvester.rb +19 -0
  28. data/lib-ruby/aspisec/configs/weevely.rb +31 -0
  29. data/lib-ruby/aspisec/configs/whatwaf.rb +18 -0
  30. data/lib-ruby/aspisec/module.rb +35 -0
  31. data/lib-ruby/aspisec/modules/amass.rb +38 -0
  32. data/lib-ruby/aspisec/modules/bloodhound.rb +38 -0
  33. data/lib-ruby/aspisec/modules/dbgate.rb +38 -0
  34. data/lib-ruby/aspisec/modules/ffuf.rb +33 -0
  35. data/lib-ruby/aspisec/modules/home_history_files.rb +67 -0
  36. data/lib-ruby/aspisec/modules/jwt_tool.rb +33 -0
  37. data/lib-ruby/aspisec/modules/lsassy.rb +38 -0
  38. data/lib-ruby/aspisec/modules/manspider.rb +38 -0
  39. data/lib-ruby/aspisec/modules/mobsf.rb +49 -0
  40. data/lib-ruby/aspisec/modules/mongodb_compass.rb +33 -0
  41. data/lib-ruby/aspisec/modules/mongodb_mongosh.rb +38 -0
  42. data/lib-ruby/aspisec/modules/ncrack.rb +33 -0
  43. data/lib-ruby/aspisec/modules/recaf.rb +38 -0
  44. data/lib-ruby/aspisec/modules/remmina.rb +34 -0
  45. data/lib-ruby/aspisec/modules/semgrep.rb +38 -0
  46. data/lib-ruby/aspisec/modules/spiderfoot.rb +38 -0
  47. data/lib-ruby/aspisec/modules/weevely.rb +43 -0
  48. data/lib-ruby/aspisec/modules/whatwaf.rb +33 -0
  49. data/lib-ruby/aspisec/version.rb +1 -1
  50. metadata +55 -12
@@ -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.1'
5
+ VERSION = '0.1.0'
6
6
  end