
Script em Go que analisa uma lista de senhas com base na sua entropia e senhas fracas de um dicionário. Útil para testes de penetração e campanhas de phishing.
Script em Go que analisa uma lista de senhas.
Você pode baixar o binário diretamente dos releases. Se preferir compilar manualmente, considere os seguintes passos.
git clone https://github.com/am0nt31r0/Password-Analysis.git
cd Password-Analysis
go build -ldflags "-w -s" -o pwdAnalysis
└─$ tree go
go/
├── bin
│ ├── pwdAnalysis
├── src
| ├── github.com
│ └── Xe
│ └── x
│ └── entropy
│ ├── doc.go
│ ├── shannon.go
│ └── shannon_test.go
| ├── Password Analysis
| ├── pw_analysis.go
O script requer dois arquivos txt para ser executado com sucesso. O primeiro contém as senhas a serem analisadas - uma senha por linha - e o segundo deve ser um dicionário de senhas fracas, como rockyou.txt.
A pontuação de entropia usada para classificar as senhas é a mesma usada pelo KeePassXC: https://keepassxc.org/blog/2020-08-15-keepassxc-password-healthcheck/
Baixe o código-fonte da entropia para o seu diretório src:
└─$ tree src
src
├── github.com
│ └── Xe
│ └── x
│ └── entropy
│ ├── doc.go
│ ├── shannon.go
│ └── shannon_test.go
pwdAnalysis pwds.txt rockyou.txt
[+] Password Analysis Software
Starting password analysis of: pwds.txt
Using rockyou.txt as dictionary of comparison.
PASSWORD LENGTH ENTROPY STRENGTH
12345 a 7 21 Poor
user123 7 21 Bad - Dictionary
passwordstrong 14 56 Weak
thisIsit? 9 27 Poor
saQWE1 6 18 Poor
sa#X#2 34 9 27 Poor
QWE123!"# $sds1 15 60 Weak
123456789 9 36 Bad - Dictionary
QWE123!"# $sds1zxczxc4"3r1 a 28 140 Excelent
C3kGUJeV98c234_34 17 68 Strong
Statistics:
- Total passwords analysed: 10.
- Number of excelent passwords: 1.
- Number of strong passwords: 1.
- Number of weak passwords: 2.
- Number of poor passwords: 4.
- Number of bad passwords: 0.
- Number of bad passwords contained in the dictionary: 2.
- The smaller password has the size of 6 characters.
- The biggest password has the size of 28 characters.
- The average size is 12.