bảo mật mật khẩu

Bẻ khóa mật khẩu là một đặc sản của một số tin tặc và người ta thường nghĩ rằng sức mạnh tính toán thô vượt qua mọi thứ khác. Điều đó đúng trong một số trường hợp, nhưng đôi khi nó nói nhiều hơn về danh sách từ. Tạo một danh sách từ được nhắm mục tiêu tùy chỉnh có thể giảm thời gian bẻ khóa đáng kể và Wordlister có thể giúp với điều đó.

Wordlister vs Trình tạo danh sách từ khác

Wordlister là một trình tạo danh sách từ và trình quản lý văn bản được viết bằng Python có thể được sử dụng để tạo các kết hợp mật khẩu tùy chỉnh để bẻ khóa . Các tính năng chính của nó bao gồm đa xử lý cho tốc độ nhanh hơn và một số tùy chọn hoán vị hữu ích, bao gồm leetspeak, viết hoa và khả năng nối và thêm từ.

Crunch là một trình tạo danh sách từ phổ biến cũng tạo ra nhiều tổ hợp mật khẩu, nhưng nó phụ thuộc nhiều vào các mẫu và ký tự hơn là các tệp đầu vào. Ngoài ra, Crunch yêu cầu đặt cờ để hạn chế trùng lặp, điều mà Wordlister tự động xử lý.

CeWL là một trình tạo danh sách từ phổ biến khác, mặc dù nó là một con thú hoàn toàn khác. Công cụ này hoạt động bằng cách làm gián đoạn các trang web và sử dụng các từ từ đó để tạo danh sách mật khẩu tùy chỉnh. CeWL thực sự có thể là một đối tác hữu ích với Wordlister; bằng cách cung cấp cho Wordlister, đầu ra của CeWL đang quét một trang web, thậm chí nhiều danh sách mật khẩu được nhắm mục tiêu hơn có thể được tạo.

Sử dụng Wordlister & Tất cả các tùy chọn của nó

Sử dụng Wordlister & Tất cả các tùy chọn của nó

sẽ làm việc trên Kali Linux để thể hiện Wordlister, nhưng bất kỳ bản phân phối Linux nào khác cũng đủ.

Điều đầu tiên chúng ta cần làm là tải xuống Wordlister từ  GitHub . Chúng tôi có thể sử dụng tiện ích wget để truy xuất nó qua HTTP trực tiếp từ thiết bị đầu cuối của chúng tôi:

~# wget https://raw.githubusercontent.com/4n4nk3/Wordlister/master/wordlister.py

--2020-02-24 12:45:36--  https://raw.githubusercontent.com/4n4nk3/Wordlister/master/wordlister.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.148.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.148.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6195 (6.0K) [text/plain]
Saving to: ‘wordlister.py’

wordlister.py                                         100%[======================================================================================================================>]   6.05K  --.-KB/s    in 0s

2020-02-24 12:45:36 (18.5 MB/s) - ‘wordlister.py’ saved [6195/6195]

Kịch bản cần Python 3 để hoạt động chính xác, vì vậy nếu nó chưa được cài đặt, hãy thực hiện với lệnh sau:

~# apt-get install python3

Bây giờ chúng ta có thể chạy tập lệnh bằng lệnh python3 :

~# python3 wordlister.py

usage: wordlister.py [-h] --input INPUT --perm PERM --min MIN --max MAX
                     [--test TEST] [--cores CORES] [--leet] [--cap] [--up]
                     [--append APPEND] [--prepend PREPEND]
wordlister.py: error: the following arguments are required: --input, --perm, --min, --max

Điều đó cung cấp cho chúng tôi một số thông tin sử dụng và bao gồm các đối số được yêu cầu. Chúng ta có thể nối cờ -h để xem menu trợ giúp, có tổ chức và nhiều thông tin hơn một chút :

~# python3 wordlister.py -h

usage: wordlister.py [-h] --input INPUT --perm PERM --min MIN --max MAX
                     [--test TEST] [--cores CORES] [--leet] [--cap] [--up]
                     [--append APPEND] [--prepend PREPEND]

A simple wordlist generator and mangler written in python.

optional arguments:
  -h, --help         show this help message and exit
  --test TEST        Output first N iterations (single process/core)
  --cores CORES      Manually specify processes/cores pool that you want to
                     use
  --leet             Activate l33t mutagen
  --cap              Activate capitalize mutagen
  --up               Activate uppercase mutagen
  --append APPEND    Append chosen word (append 'word' to all passwords)
  --prepend PREPEND  Append chosen word (prepend 'word' to all passwords)

required arguments:
  --input INPUT      Input file name
  --perm PERM        Max number of words to be combined on the same line
  --min MIN          Minimum generated password length
  --max MAX          Maximum generated password length

Để sử dụng Wordlister, trước tiên chúng tôi cần một tệp đầu vào chứa danh sách mật khẩu mà chúng tôi muốn tạo hoán vị cho và mangle.

Sử dụng trình soạn thảo văn bản yêu thích của bạn , tạo một tệp văn bản chứa một vài mật khẩu phổ biến (Tôi chỉ sử dụng một số lượng nhỏ mật khẩu ở đây cho mục đích trình diễn vì các hoán vị có thể khá lớn). Đây là những gì của tôi trông như:

~# cat list.txt

password
hunter2
secret
iloveyou

Bây giờ, chúng tôi đã sẵn sàng để chạy tập lệnh. Dưới đây là các đối số bắt buộc:

  • input = tên của tệp văn bản chứa mật khẩu
  • perm = số lượng hoán vị được kết hợp trên cùng một dòng
  • min = độ dài tối thiểu của bất kỳ mật khẩu được tạo
  • max = độ dài tối đa của bất kỳ mật khẩu được tạo

Đây là lệnh đầy đủ và đầu ra của nó:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32

secret
password
hunter2
iloveyou
secretpassword
secrethunter2
secretiloveyou
passwordsecret
passwordhunter2
passwordiloveyou
hunter2password
hunter2iloveyou
iloveyousecret
hunter2secret
iloveyoupassword
iloveyouhunter2

Chúng ta có thể thấy rằng nó chỉ đơn thuần kết hợp các mật khẩu đã cho vào tất cả các hoán vị có thể.

Wordlister cũng chứa một số đối số hữu ích là tùy chọn. Các bổ sung thêm các tùy chọn sẽ làm thay đổi bất kỳ chữ thành số sử dụng leetspeak:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --leet

iloveyou
1l0v3y0u
hunter2
hunt3r2
password
p455w0rd
secret
53cr3t
iloveyouhunter2
iloveyoupassword
1l0v3y0uhunt3r2
1l0v3y0up455w0rd
iloveyousecret
1l0v3y0u53cr3t
hunter2iloveyou
hunt3r21l0v3y0u
hunter2password
hunt3r2p455w0rd
passwordiloveyou
p455w0rd1l0v3y0u
passwordhunter2
p455w0rdhunt3r2
hunter2secret
passwordsecret
p455w0rd53cr3t
secretiloveyou
hunt3r253cr3t
53cr3t1l0v3y0u
secrethunter2
53cr3thunt3r2
secretpassword
53cr3tp455w0rd

Các nắp tùy chọn sẽ tận dụng các chữ cái đầu tiên của mỗi mật khẩu:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --cap

Iloveyou
Secret
Hunter2
password
iloveyou
hunter2
secret
Password
IloveyouSecret
Iloveyouhunter2
Iloveyoupassword
IloveyouHunter2
Iloveyousecret
IloveyouPassword
SecretIloveyou
Secretpassword
Secretiloveyou
SecretHunter2
Secrethunter2
passwordiloveyou
passwordHunter2
iloveyouSecret
passwordhunter2
iloveyoupassword
passwordsecret
iloveyouHunter2
iloveyouhunter2
SecretPassword
iloveyousecret
iloveyouPassword
passwordIloveyou
passwordSecret
Hunter2Iloveyou
Hunter2Secret
Hunter2password
Hunter2secret
Hunter2iloveyou
Hunter2Password
hunter2Secret
hunter2Iloveyou
hunter2password
hunter2iloveyou
hunter2secret
secretPassword
PasswordIloveyou
hunter2Password
PasswordSecret
Passwordiloveyou
secretpassword
secretIloveyou
PasswordHunter2
Passwordhunter2
secretiloveyou
Passwordsecret
secretHunter2
secrethunter2

Các lên tùy chọn sẽ làm thay đổi tất cả các ký tự trong một từ vào chữ hoa:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --up

SECRET
secret
hunter2
HUNTER2
ILOVEYOU
password
PASSWORD
iloveyou
SECREThunter2
SECRETpassword
SECRETHUNTER2
SECRETILOVEYOU
SECRETPASSWORD
SECRETiloveyou
secrethunter2
secretpassword
secretHUNTER2
secretILOVEYOU
hunter2password
hunter2iloveyou
hunter2ILOVEYOU
hunter2PASSWORD
passwordSECRET
passwordHUNTER2
passwordsecret
passwordILOVEYOU
passwordhunter2
passwordiloveyou
HUNTER2SECRET
HUNTER2secret
HUNTER2ILOVEYOU
HUNTER2PASSWORD
HUNTER2password
HUNTER2iloveyou
ILOVEYOUsecret
ILOVEYOUSECRET
ILOVEYOUhunter2
ILOVEYOUpassword
secretPASSWORD
ILOVEYOUHUNTER2
secretiloveyou
hunter2SECRET
hunter2secret
ILOVEYOUPASSWORD
PASSWORDhunter2
PASSWORDSECRET
PASSWORDHUNTER2
PASSWORDsecret
PASSWORDILOVEYOU
PASSWORDiloveyou
iloveyouSECRET
iloveyousecret
iloveyouhunter2
iloveyoupassword
iloveyouHUNTER2
iloveyouPASSWORD

Các append tùy chọn sẽ nối bất kỳ từ nào dành cho tất cả mật khẩu:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --append 1969

secret
secret1969
password
password1969
iloveyou
iloveyou1969
hunter2
hunter21969
secretpassword
secretpassword1969
secretiloveyou
secretiloveyou1969
secrethunter2
secrethunter21969
passwordsecret
passwordsecret1969
passwordiloveyou
passwordiloveyou1969
passwordhunter2
passwordhunter21969
iloveyousecret
iloveyousecret1969
iloveyoupassword
iloveyoupassword1969
iloveyouhunter2
iloveyouhunter21969
hunter2secret
hunter2secret1969
hunter2password
hunter2password1969
hunter2iloveyou
hunter2iloveyou1969

Các thêm vào trước tùy chọn sẽ thêm vào trước bất kỳ từ nào dành cho tất cả mật khẩu:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --prepend Dave

secret
Davesecret
iloveyou
Daveiloveyou
password
Davepassword
hunter2
Davehunter2
secretiloveyou
Davesecretiloveyou
secretpassword
Davesecretpassword
secrethunter2
Davesecrethunter2
iloveyoupassword
iloveyouhunter2
Daveiloveyouhunter2
Daveiloveyoupassword
passwordsecret
Davepasswordsecret
iloveyousecret
Daveiloveyousecret
passwordiloveyou
Davepasswordiloveyou
passwordhunter2
Davepasswordhunter2
hunter2secret
Davehunter2secret
hunter2iloveyou
Davehunter2iloveyou
hunter2password
Davehunter2password

Và, tất nhiên, bất kỳ tùy chọn nào trong số này có thể được kết hợp với số lượng mật khẩu tiềm năng lớn hơn:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --leet --cap --append 1969

secret
secret1969
hunter2
53cr3t
53cr3t1969
hunter21969
hunt3r2
hunt3r21969
Password
Password1969
P455w0rd
P455w0rd1969
Iloveyou
Iloveyou1969
iloveyou
1l0v3y0u
iloveyou1969
1l0v3y0u1969
Secret
Secret1969
1l0v3y0u
53cr3t
1l0v3y0u1969
53cr3t1969
password
password1969
p455w0rd
p455w0rd1969
Hunter2
Hunter21969
Hunt3r2
Hunt3r21969
secrethunter2
secrethunter21969
secretpassword
secretpassword1969
53cr3thunt3r2
53cr3thunt3r21969
secretPassword
53cr3tp455w0rd
secretPassword1969
53cr3tp455w0rd1969
53cr3tP455w0rd

...

Danh sách này có thể phát triển khá dài chỉ từ một vài mật khẩu ban đầu, vì vậy nó có thể thuận lợi khi tạo danh sách từ tùy chỉnh cho việc bẻ khóa mật khẩu được nhắm mục tiêu.

Thay vì in kết quả ra màn hình thiết bị đầu cuối, chúng ta có thể hướng đầu ra đến một tệp văn bản có thể được sử dụng để bẻ khóa sau:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --leet --cap --append 1969 > mywordlist.txt

Wordlister có một tính năng sẽ chỉ xuất ra số lần lặp được chỉ định, trong trường hợp chúng tôi muốn kiểm soát độ dài của danh sách của chúng tôi tốt hơn một chút. Sử dụng tùy chọn kiểm tra để làm như vậy:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --test 10

password
secret
iloveyou
hunter2
passwordsecret
passwordiloveyou
passwordhunter2
secretpassword
secretiloveyou
secrethunter2

Chúng ta cũng có thể chỉ định thủ công số lượng lõi sẽ sử dụng với tùy chọn lõi . Nó có thể hữu ích khi chúng ta không muốn tất cả tài nguyên của mình bị ăn cắp cùng một lúc:

~# python3 wordlister.py --input list.txt --perm 2 --min 6 --max 32 --cores 1

hunter2
password
secret
iloveyou
hunter2password
hunter2secret
hunter2iloveyou
passwordhunter2
passwordsecret
passwordiloveyou
secrethunter2
secretpassword
secretiloveyou
iloveyouhunter2
iloveyoupassword
iloveyousecret

Như chúng ta có thể thấy, công cụ đơn giản này có thể cực kỳ mạnh mẽ khi tạo danh sách từ được nhắm mục tiêu.

Lỗi mật khẩu thường gặp

Thông thường, mật khẩu bị xâm nhập là tất cả tin tặc cần để có quyền truy cập vào hệ thống. Mật khẩu mạnh phải là một trong những khía cạnh quan trọng nhất của việc duy trì một tư thế bảo mật thích hợp, nhưng rất nhiều sai lầm đã xảy ra khi nói đến nguyên tắc đơn giản này.

Mật khẩu quá ngắn và mật khẩu chỉ bao gồm các chữ cái là không đáng kể để bẻ khóa với bất kỳ máy tính hiện đại nào. Tương tự, thay đổi mật khẩu chỉ bằng một chữ cái hoặc sử dụng số thay vì chữ cái (leetspeak), là điều mà hầu hết các phần mềm bẻ khóa đều tính đến.

Sử dụng một mật khẩu quá cũ và sử dụng cùng một mật khẩu ở mọi nơi khiến nó có nhiều khả năng bị xâm phạm theo thời gian. Mật khẩu được tạo bằng các chi tiết cá nhân cũng là điều không nên bởi vì bất kỳ hacker nào cũng có thể tìm ra thông tin cụ thể khiến những mật khẩu này dễ bị bẻ khóa.

Giữ bí mật mật khẩu của bạn cũng là điều cần thiết. Điều đó có nghĩa là không chia sẻ nó với bất kỳ ai và không viết nó lên các ghi chú dán bên cạnh máy tính của bạn,

Để lại một bình luận