pass-station 1.3.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/bin/pass-station +21 -12
- data/data/DefaultCreds-Cheat-Sheet.csv +377 -58
- data/data/many-passwords.csv +358 -58
- data/lib/pass_station/source.rb +3 -3
- data/lib/pass_station/version.rb +1 -1
- metadata +8 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4efd8c7e41726625f3d899f50e045e8492502506f3868c97dccf176fe7e676a0
|
4
|
+
data.tar.gz: 6eec1f4dfad4f9f146df669c4c3f99577fc0551029c101c718087f8e6e9f27ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a3bdebaf3d6c3c587378ae0b047edbc597b4217d4035b61e8091ddab3bc173e2fb384145361e3a9e79deffbdc49d708ddd4a610926bf6c79d1cd0132b9c1212
|
7
|
+
data.tar.gz: a2ed0c157c67250638c4583671c9bf278e0e8f051f30195dcc06e98573618b66994524fc0eccfe160f670220498339a87e838aaf1d55781cd5cd147b26c78807
|
data/LICENSE
CHANGED
data/bin/pass-station
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# Ruby internal
|
5
|
-
require 'pp'
|
6
5
|
# Project internal
|
7
6
|
require 'pass_station'
|
8
7
|
require 'pass_station/output'
|
@@ -11,41 +10,51 @@ require 'docopt'
|
|
11
10
|
require 'paint'
|
12
11
|
|
13
12
|
doc = <<~DOCOPT
|
14
|
-
Pass Station v#{PassStation::VERSION}
|
13
|
+
#{Paint['Pass Station', :bold, '#2db453']} v#{Paint[PassStation::VERSION, :bold]}
|
15
14
|
|
16
|
-
Usage:
|
15
|
+
#{Paint['Usage:', '#2db453']}
|
17
16
|
pass-station list [--sort <col> --output <format>] [--source <id> --debug]
|
18
17
|
pass-station search <term> [--field <col> --sort <col> --sensitive --output <format>] [--source <id> --no-color --debug]
|
19
18
|
pass-station update ([--force] <path> | --check) [--debug]
|
20
19
|
pass-station -h | --help
|
21
20
|
pass-station --version
|
22
21
|
|
23
|
-
List options: list all default credentials
|
22
|
+
#{Paint['List options:', '#2db453']} #{Paint['list all default credentials', :underline]}
|
24
23
|
|
25
|
-
Output options: can be used with list and search commands
|
24
|
+
#{Paint['Output options:', '#2db453']} #{Paint['can be used with list and search commands', :underline]}
|
26
25
|
-o <format>, --output <format> Output format: JSON, CSV, YAML, table, pretty-table [default: pretty-table]
|
27
26
|
-s <col>, --sort <col> Sort by column (see documentation, columns depends on the database source)
|
28
27
|
|
29
|
-
Search options:
|
28
|
+
#{Paint['Search options:', '#2db453']} #{Paint['search for default credentials', :underline]}
|
30
29
|
--field <col> Search in column: column name (see documentation, columns depends on the database source) or all
|
31
30
|
--sensitive Search is case sensitive (case insensitive by default)
|
32
31
|
|
33
|
-
Update options: update the password database (replace Pass Station DB with upstream DB, use with care)
|
32
|
+
#{Paint['Update options:', '#2db453']} #{Paint['update the password database (replace Pass Station DB with upstream DB, use with care)', :underline]}
|
34
33
|
-f, --force Bypass hash checking
|
35
34
|
-c, --check Check for possible update
|
36
35
|
|
37
|
-
Other options:
|
36
|
+
#{Paint['Other options:', '#2db453']}
|
38
37
|
--source <id> Credentials source database: 1 (Default Credentials Cheat Sheet), 2 (Many passwords) [default: 1]
|
39
38
|
--no-color Disable colorized output
|
40
39
|
--debug Display arguments
|
41
40
|
-h, --help Show this screen
|
42
41
|
--version Show version
|
42
|
+
|
43
|
+
#{Paint['Examples:', '#2db453']}
|
44
|
+
pass-station search WEBLOGIC --field username --sensitive
|
45
|
+
pass-station search 'admin[0-9]+' --field all
|
46
|
+
pass-station list --sort username --output json
|
47
|
+
|
48
|
+
#{Paint['Project:', '#2db453']}
|
49
|
+
#{Paint['author', :underline]} (https://pwn.by/noraj / https://x.com/noraj_rawsec)
|
50
|
+
#{Paint['source', :underline]} (https://github.com/noraj/pass-station)
|
51
|
+
#{Paint['documentation', :underline]} (https://noraj.github.io/pass-station)
|
43
52
|
DOCOPT
|
44
53
|
|
45
54
|
begin
|
46
55
|
args = Docopt.docopt(doc, version: PassStation::VERSION)
|
47
56
|
Paint.mode = 0 if args['--no-color']
|
48
|
-
|
57
|
+
puts args if args['--debug']
|
49
58
|
if args['update']
|
50
59
|
if args['<path>']
|
51
60
|
PassStation::DB::UPSTREAM_DATABASE[:MAPPING].each do |k, v|
|
@@ -68,15 +77,15 @@ begin
|
|
68
77
|
end
|
69
78
|
end
|
70
79
|
elsif args['list']
|
71
|
-
db = args['--source']
|
80
|
+
db = args['--source']&.to_i
|
72
81
|
ps = PassStation::DB.new(db)
|
73
82
|
args['--sort'].nil? ? ps.parse : ps.parse(args['--sort'].to_sym)
|
74
83
|
puts ps.output_list(args['--output'])
|
75
84
|
elsif args['search']
|
76
|
-
db = args['--source']
|
85
|
+
db = args['--source']&.to_i
|
77
86
|
ps = PassStation::DB.new(db)
|
78
87
|
args['--sort'].nil? ? ps.parse : ps.parse(args['--sort'].to_sym)
|
79
|
-
field = args['--field']
|
88
|
+
field = args['--field']&.to_sym
|
80
89
|
ps.search(args['<term>'], field, sensitive: args['--sensitive'])
|
81
90
|
output = ps.output_search(args['--output'])
|
82
91
|
puts '[-] No result' if output.empty?
|