haiti-hash 1.4.1 → 1.5.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: c8666ca33015b9d177521ed2dbf2c57cf4d5d368916448acae67b0709b08e54d
4
- data.tar.gz: 6c623a158e316ecdb438d8e470614dbd152e59620954ca697d8e74681095b0e5
3
+ metadata.gz: fd592c70589060103cc205f32fadb24e09c5aa21467bc43f37c9ec6c10f543df
4
+ data.tar.gz: 3062b9c1a82699502a94349404a62af27667f8456c7c6549ac7b2e00f7b5e363
5
5
  SHA512:
6
- metadata.gz: e668334fd140646b1a64df1ecec7353a5111d8fa9873888bbad88f8420fbeda50b08abb97ef53ac901c6bf3c0d6a87d1171df32d12b1b4869e20c5a94d9a92fc
7
- data.tar.gz: 36eba5ecad7673002acc91d1c3230ecca973bf1257a1aa3e2932433fd1cc83ac7fc574bc132e6818c7c6e2ca84069fee03b6fae22d59d84b120e2cc712f86aeb
6
+ metadata.gz: f0508b249173ece824297cd7fd89464b94a51d4927121cf46c71c76f5d00af92aacb5ef1dee85e5c6495ed838fb33be6cd58ebc0b6654466dc9974a31e633b47
7
+ data.tar.gz: abbaab41b018f76f45685f18c7b809c74a1e96c569c46eeccc0ec98c9ad771b7d0128c2566854b7fa51abaacef30ca490e06269553cbe87563c8c30fed9cd2f7
data/bin/haiti 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 'haiti'
8
7
  # External
@@ -10,43 +9,50 @@ require 'docopt'
10
9
  require 'paint'
11
10
 
12
11
  doc = <<~DOCOPT
13
- HAITI (HAsh IdenTifIer) v#{HashIdentifier::VERSION}
12
+ #{Paint['HAITI (HAsh IdenTifIer)', '#FF69B4']} v#{Paint[HashIdentifier::VERSION, :bold]}
14
13
 
15
- Usage:
14
+ #{Paint['Usage:', '#00FFFF']}
16
15
  haiti [options] <hash>
17
16
  haiti samples (<ref> | <name>)
17
+ haiti --ascii-art
18
18
  haiti -h | --help
19
19
  haiti --version
20
20
 
21
- Commands:
21
+ #{Paint['Commands:', '#00FFFF']}
22
22
  samples Display hash samples for the given type
23
23
 
24
- Parameters:
24
+ #{Paint['Parameters:', '#00FFFF']}
25
25
  <hash> Hash string to identify, read from STDIN if equal to "-"
26
26
  <ref> hashcat or john the ripper reference
27
27
  <name> Hash type name
28
28
 
29
- Options:
30
- --no-color Disable colorized output
29
+ #{Paint['Options:', '#00FFFF']}
30
+ --no-color Disable colorized output (NO_COLOR environment variable is respected too)
31
31
  -e, --extended List all possible hash algorithms including ones using salt
32
32
  --short Display in a short format: do not display hashcat and john the ripper references
33
33
  --hashcat-only Show only hashcat references
34
34
  --john-only Show only john the ripper references
35
+ --ascii-art Display the logo in colored ascii-art
35
36
  --debug Display arguments
36
37
  -h, --help Show this screen
37
38
  --version Show version
38
39
 
39
- Examples:
40
+ #{Paint['Examples:', '#00FFFF']}
40
41
  haiti -e d41d8cd98f00b204e9800998ecf8427e
41
42
  haiti --no-color --short d41d8cd98f00b204e9800998ecf8427e
42
43
  b2sum /etc/os-release | awk '{print $1}' | haiti -
43
44
  haiti samples crc32
45
+
46
+ #{Paint['Project:', '#00FFFF']}
47
+ #{Paint['author', :underline]} (https://pwn.by/noraj / https://twitter.com/noraj_rawsec)
48
+ #{Paint['source', :underline]} (https://github.com/noraj/haiti)
49
+ #{Paint['documentation', :underline]} (https://noraj.github.io/haiti)
44
50
  DOCOPT
45
51
 
46
52
  begin
47
53
  args = Docopt.docopt(doc, version: HashIdentifier::VERSION)
48
54
  Paint.mode = 0 if args['--no-color']
49
- pp args if args['--debug']
55
+ puts args if args['--debug']
50
56
  # use case 1, using the tool
51
57
  if args['<hash>']
52
58
  args['<hash>'] = $stdin.read.chomp if args['<hash>'] == '-'
@@ -59,8 +65,10 @@ begin
59
65
  next if type.extended && !args['--extended']
60
66
 
61
67
  print Paint[type.name, :bold]
62
- print Paint[" [HC: #{type.hashcat}]", :blue] unless type.hashcat.nil? || args['--short'] || args['--john-only']
63
- print Paint[" [JtR: #{type.john}]", :green] unless type.john.nil? || args['--short'] || args['--hashcat-only']
68
+ unless type.hashcat.nil? || args['--short'] || args['--john-only']
69
+ print Paint[" [HC: #{type.hashcat}]", '#00FFFF']
70
+ end
71
+ print Paint[" [JtR: #{type.john}]", '#FF69B4'] unless type.john.nil? || args['--short'] || args['--hashcat-only']
64
72
  puts
65
73
  end
66
74
  elsif args['samples']
@@ -69,6 +77,8 @@ begin
69
77
  samples.each do |sample|
70
78
  puts sample
71
79
  end
80
+ elsif args['--ascii-art']
81
+ puts File.read(File.join(__dir__, '../docs/_media/logo.ascii'))
72
82
  end
73
83
  # use case 2, help: already handled by docopt
74
84
  # use case 3, version: already handled by docopt
data/data/commons.json CHANGED
@@ -5,6 +5,7 @@
5
5
  "SHA-512",
6
6
  "bcrypt",
7
7
  "NTLM",
8
+ "NT",
8
9
  "NetNTLMv2",
9
10
  "NetNTLMv1-VANILLA / NetNTLMv1+ESS",
10
11
  "BLAKE2-512",