aspisec 0.1.0 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dbe0a57b6f1c5229ff19e03f4ae88bcef292252d7d30e432bc7646827b494e8c
4
- data.tar.gz: 421810a0cb7d8de592762f67d32111b5be04daf0fbb9f463621f6b128ff17043
3
+ metadata.gz: db59ecafb7c102a11203455aa7f1d1ccbfac7596d0f1530b4557de21e8f5ad06
4
+ data.tar.gz: d6987cfe9b5ad9108923b9dedaf60269042b5759793ca9d5b23aa11a9a2463dd
5
5
  SHA512:
6
- metadata.gz: eb46440a53118318216e8f7bfde559ef8a0e4c40bbfa521dcd55cf02f9669d70aad647500d8faf0316f7d9dfb501cae163321526da9b6d6c39eac9c3d91a5583
7
- data.tar.gz: 2835003e81c3a953b2e000ae2551407aae665cf9802d26b02ef37f14a5b9ed17053df8ffbf3bc59be971d73f32bea04e24c3074576c56995104fef093da7f3fd
6
+ metadata.gz: 1365946eb9d604a9d360066ee78667e39098c462c82990130db80a799eeedb9044f6d0c5462d840458c2347a9b163ecf1fdb7b8e465d5cad6e38e45f51ac9a55
7
+ data.tar.gz: f9aab52c43bb87c353c914032333e86e5cee22649f0c7779d0592a21042ccc858f08cf070119b917f08db78947ef0945c06d688a85be3f499167d7161d52c6af
data/LICENSE CHANGED
@@ -1,5 +1,6 @@
1
1
  MIT License
2
2
 
3
+ Copyright (c) 2024 Alexandre ZANNI (independent)
3
4
  Copyright (c) 2024 Alexandre ZANNI at ACCEIS
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -18,4 +19,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
19
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
20
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
21
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
+ SOFTWARE.
data/bin-ruby/aspisec CHANGED
@@ -33,8 +33,8 @@ doc = <<~DOCOPT
33
33
  aspisec clean
34
34
 
35
35
  #{paint.decorate('Project:', :red)}
36
- #{paint.decorate('source', :underline)} (https://github.com/acceis/aspisec)
37
- #{paint.decorate('documentation', :underline)} (https://acceis.github.io/aspisec)
36
+ #{paint.decorate('source', :underline)} (https://github.com/noraj/aspisec)
37
+ #{paint.decorate('documentation', :underline)} (https://noraj.github.io/aspisec)
38
38
  DOCOPT
39
39
 
40
40
  begin
@@ -5,6 +5,7 @@ Dir[File.join(__dir__, 'configs', '*.rb')].each { |f| require(f) }
5
5
  # stdlib
6
6
  require 'yaml'
7
7
  # third-party
8
+ require 'fileutils'
8
9
  require 'sxdg'
9
10
  require 'tty-logger'
10
11
 
@@ -71,7 +72,8 @@ module Aspisec
71
72
  'ffuf' => Configs::FFUF,
72
73
  'recaf' => Configs::RECAF,
73
74
  'dbgate' => Configs::DBGATE,
74
- 'home-history-files' => Configs::HOME_HISTORY_FILES
75
+ 'home-history-files' => Configs::HOME_HISTORY_FILES,
76
+ 'filezilla' => Configs::FILEZILLA
75
77
  },
76
78
  'audit' => {
77
79
  'enabled' => false,
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aspisec
4
+ class Config
5
+ module Configs
6
+ FILEZILLA = {
7
+ 'enabled' => true,
8
+ 'location' => {
9
+ 'base' => '$XDG_CONFIG_HOME/filezilla', # ~/.config/filezilla
10
+ 'connexions' => {
11
+ 'path' => '<base>/sitemanager.xml',
12
+ 'description' => 'Saved connexions settings including passwords.'
13
+ },
14
+ 'config' => {
15
+ 'enabled' => false,
16
+ 'path' => '<base>/filezilla.xml',
17
+ 'description' => 'Global configuration, contains site names.'
18
+ },
19
+ 'queue' => {
20
+ 'enabled' => false,
21
+ 'path' => '<base>/queue.sqlite3',
22
+ 'description' => 'Queue of files not downloaded/uploaded yet.'
23
+ }
24
+ }
25
+ }.freeze
26
+ end
27
+ end
28
+ end
@@ -7,8 +7,6 @@ module Aspisec
7
7
  'enabled' => true,
8
8
  'location' => {
9
9
  'base' => '$HOME/.john', # ~/.john
10
- #
11
- #
12
10
  'logs' => {
13
11
  'path' => '<base>/john.log',
14
12
  'description' => "File containing the logs of the commands launched.\n" \
@@ -7,8 +7,6 @@ module Aspisec
7
7
  'enabled' => true,
8
8
  'location' => {
9
9
  'base' => '$HOME/.msf4', # ~/.msf4
10
- #
11
- #
12
10
  'history' => {
13
11
  'path' => '<base>/history',
14
12
  'description' => "File containing the history of commands used in msf shell.\n" \
@@ -7,7 +7,6 @@ module Aspisec
7
7
  'enabled' => true,
8
8
  'location' => {
9
9
  'base' => '$XDG_DATA_HOME/theHarvester', # ~/.local/share/theHarvester
10
- #
11
10
  'stash' => {
12
11
  'path' => '<base>/stash.sqlite',
13
12
  'description' => 'File (SQLite DB) containing all the harvested addresses.'
@@ -55,7 +55,7 @@ module Aspisec
55
55
  def check_config
56
56
  return unless @conf.nil?
57
57
 
58
- message = "Configuration for module #{@name} is missing." \
58
+ message = "Configuration for module #{@name} is missing. " \
59
59
  'You may use an old version of the configuration file.'
60
60
  @logger.error(message, app: @name)
61
61
  raise 'Missing configuration for the current module.'
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aspisec/module'
4
+
5
+ module Aspisec
6
+ module Modules
7
+ # FileZilla module.
8
+ # Inherits {Aspisec::Module}.
9
+ # For more examples of methods, see {Aspisec::Modules::Sqlmap}.
10
+ # @see https://filezilla-project.org
11
+ # @example
12
+ # # Get the global config
13
+ # conf = Aspisec::Config.new.conf
14
+ # # Create a Filezilla module instance
15
+ # fzl = Aspisec::Modules::Filezilla.new(conf)
16
+ # # Locations available
17
+ # fzl.locations_list # => ["connexions", "config", "queue"]
18
+ class Filezilla < Aspisec::Module
19
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
20
+ # @return [Location]
21
+ attr_reader :connexions
22
+
23
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
24
+ # @return [Location]
25
+ attr_reader :config
26
+
27
+ # see {Aspisec::Config::DEFAULT_CONFIG} or call {Aspisec::Module::Location#description}.
28
+ # @return [Location]
29
+ attr_reader :queue
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, 'filezilla', logger:)
36
+ @connexions = Location.new(@conf, 'connexions')
37
+ @config = Location.new(@conf, 'config')
38
+ @queue = Location.new(@conf, 'queue')
39
+ @locations_list = %w[connexions config queue]
40
+ end
41
+ end
42
+ end
43
+ end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Aspisec
4
4
  # Version of aspisec library and app
5
- VERSION = '0.1.0'
5
+ VERSION = '0.2.0'
6
6
  end
metadata CHANGED
@@ -1,35 +1,34 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aspisec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre ZANNI
8
- autorequire:
9
8
  bindir: bin-ruby
10
9
  cert_chain: []
11
- date: 2024-05-13 00:00:00.000000000 Z
10
+ date: 2025-03-23 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '7.1'
20
16
  - - ">="
21
17
  - !ruby/object:Gem::Version
22
18
  version: 7.1.3.2
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '9.0'
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
26
25
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '7.1'
30
26
  - - ">="
31
27
  - !ruby/object:Gem::Version
32
28
  version: 7.1.3.2
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '9.0'
33
32
  - !ruby/object:Gem::Dependency
34
33
  name: docopt
35
34
  requirement: !ruby/object:Gem::Requirement
@@ -119,6 +118,7 @@ files:
119
118
  - lib-ruby/aspisec/configs/crackmapexec.rb
120
119
  - lib-ruby/aspisec/configs/dbgate.rb
121
120
  - lib-ruby/aspisec/configs/ffuf.rb
121
+ - lib-ruby/aspisec/configs/filezilla.rb
122
122
  - lib-ruby/aspisec/configs/hashcat.rb
123
123
  - lib-ruby/aspisec/configs/home_history_files.rb
124
124
  - lib-ruby/aspisec/configs/john.rb
@@ -147,6 +147,7 @@ files:
147
147
  - lib-ruby/aspisec/modules/crackmapexec.rb
148
148
  - lib-ruby/aspisec/modules/dbgate.rb
149
149
  - lib-ruby/aspisec/modules/ffuf.rb
150
+ - lib-ruby/aspisec/modules/filezilla.rb
150
151
  - lib-ruby/aspisec/modules/hashcat.rb
151
152
  - lib-ruby/aspisec/modules/home_history_files.rb
152
153
  - lib-ruby/aspisec/modules/john.rb
@@ -168,18 +169,17 @@ files:
168
169
  - lib-ruby/aspisec/modules/weevely.rb
169
170
  - lib-ruby/aspisec/modules/whatwaf.rb
170
171
  - lib-ruby/aspisec/version.rb
171
- homepage: https://acceis.github.io/aspisec/
172
+ homepage: https://noraj.github.io/aspisec/
172
173
  licenses:
173
174
  - MIT
174
175
  metadata:
175
176
  yard.run: yard
176
- bug_tracker_uri: https://github.com/acceis/aspisec/issues
177
- changelog_uri: https://github.com/acceis/aspisec/blob/master/docs/CHANGELOG.md
178
- documentation_uri: https://acceis.github.io/aspisec/ruby/Aspisec
179
- homepage_uri: https://acceis.github.io/aspisec/
180
- source_code_uri: https://github.com/acceis/aspisec/
177
+ bug_tracker_uri: https://github.com/noraj/aspisec/issues
178
+ changelog_uri: https://github.com/noraj/aspisec/blob/master/docs/CHANGELOG.md
179
+ documentation_uri: https://noraj.github.io/aspisec/ruby/Aspisec
180
+ homepage_uri: https://noraj.github.io/aspisec/
181
+ source_code_uri: https://github.com/noraj/aspisec/
181
182
  rubygems_mfa_required: 'true'
182
- post_install_message:
183
183
  rdoc_options: []
184
184
  require_paths:
185
185
  - lib-ruby
@@ -197,8 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  - !ruby/object:Gem::Version
198
198
  version: '0'
199
199
  requirements: []
200
- rubygems_version: 3.5.3
201
- signing_key:
200
+ rubygems_version: 3.6.2
202
201
  specification_version: 4
203
202
  summary: Removes the traces left by offensive security tools.
204
203
  test_files: []