Tải bản đầy đủ (.pdf) (40 trang)

Bài tập lớn môn an toàn mạng (64)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.33 MB, 40 trang )

BỘ THÔNG TIN VÀ TRUYỂN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG

BÁO CÁO
KẾT THÚC MƠN HỌC
Mơn: An Tồn Mạng
Chủ đề: Tìm hiểu về cơng cụ Crunch
Giảng viên:

TS. Đặng Minh Tuấn

Nhóm mơn học:

Nhóm 02

Sinh viên thực hiện:

Hồng Mạnh Long

Mã Sinh viên:

B18DCAT139

Số điện thoại:

0976889231

1


LỜI MỞ ĐẦU


Trước khi trình bày nội dung chính bài báo cáo, Em xin chân thành cảm ơn thầy
TS. Đặng Minh Tuấn vì những bài học của thầy đã truyền cảm hứng cho em thêm u
thích mơn học và có hứng thú tìm hiểu về mơn học và áp dụng vào việc học tập của bạn
thân.
Trong thời đại ngày nay - thời đại của thông tin và nền kinh tế tri thức - đã tạo ra
những biến đổi to lớn trong mọi hoạt động của con người và xã hội. Hiện nay công nghệ
thông tin hầu như được áp dụng rộng rãi trên toàn cầu, phục vụ nhiều nhu cầu cho con
người như: kinh doanh, quản lý, mua sắm, đọc tin tức, giải trí,..Cùng với việc bùng nổ
Internet, an tồn thơng tin cũng là 1 vấn đề nóng của xã hội. Ngun nhân mất an tồn
thơng tin có nhiều ngun nhân, đối tượng tấn cơng đa dạng…mục đích là để khai thác
thông tin, dữ liệu của cá nhân, cơ quan, tổ chức nhằm thực hiện các hành vi phạm pháp.
Thiệt hại từ những vụ tấn công là rất lớn, đặc biệt trong lĩnh vực kinh tế, an ninh, quốc
phòng…
Sau khi được học mơn “An tồn mạng” do thầy TS. Đặng Minh Tuấn tận tình
giảng dạy, với mong muốn tìm hiểu sâu hơn về các kiến thức của môn học cũng như vận
dụng các kiến thức đã học vào thực tế. Em xin chọn chủ đề “Crunch”. Trong phần báo cáo
này em sẽ trình bày 1 số phương pháp tấn cơng mà Hacker sử dụng để tấn công vào mật
khẩu người dùng.

2


Mục lục
LỜI MỞ ĐẦU .................................................................................................................... 2
Danh sách hình ảnh.............................................................................................................. 5
Danh sách các thuật ngữ tiếng anh và viết tắt ..................................................................... 6
1

CHƯƠNG 1: TỔNG QUAN VỀ TẤN CÔNG MẬT KHẨU..................................... 7
1.1. Tấn cơng mật khẩu là gì ......................................................................................... 7

1.2. Cách phương thức tấn công mật khẩu.................................................................... 7
1.2.1.

Dictionary .................................................................................................... 7

1.2.2.

Hybrid .......................................................................................................... 7

1.2.3.

Brute Force .................................................................................................. 8

1.2.4.

Traffice Interception .................................................................................... 8

1.2.5.

Man In the Middle ....................................................................................... 8

1.2.6.

Social Engineering ....................................................................................... 9

1.2.7.

Rainbow Table ............................................................................................. 9

1.2.8.


Credential Stuffing ....................................................................................... 9

1.2.9.

Password Spraying ..................................................................................... 10

1.2.10.

Offline Detection ....................................................................................... 10

1.2.11.

Malware ..................................................................................................... 10

1.2.12.

Key logger.................................................................................................. 10

1.3. Cách để tự bảo vệ chính mình .............................................................................. 11

2

1.3.1.

Sử dụng ứng dụng tạo mật khẩu ngẫu nhiên ............................................. 11

1.3.2.

Hạn chế sử dụng lại mật khẩu .................................................................... 11


1.3.3.

Dùng ứng dụng quản lý mật khẩu .............................................................. 11

1.3.4.

Bật xác thực hai yếu tố .............................................................................. 12

1.3.5.

Sử dụng VPN khi kết nối với WiFi công cộng .......................................... 12

CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG CỤ CRUNCH ............................................ 12
2.1

Giới thiệu về crunch ............................................................................................. 12

2.2

Các tính năng, đặc trưng của crunch .................................................................... 12

2.3

Cài đặt Crunch ..................................................................................................... 13

2.4

Cách tạo danh sách tùy chỉnh bằng Crunch trên Kali .......................................... 13


2.5

Các tùy chọn Crunch ............................................................................................ 17
3


2.6

Tạo danh sách từ mà không sử dụng chuỗi ký tự ................................................ 19

2.7

Tạo danh sách từ bằng cách sử dụng chuỗi ký tự ................................................ 21

2.8

Tạo danh sách từ chữ số và chữ cái ..................................................................... 24

2.9

Sử dụng hoán vị để tạo danh sách từ ................................................................... 25

2.10

Tạo danh sách với các từ hạn chế ..................................................................... 25

2.11

Phân chia danh sách từ ..................................................................................... 27


2.12

Nén danh sách từ đã tạo .................................................................................... 27

2.13

Tạo danh sách từ với mẫu cụ thể ...................................................................... 27

2.14

Tạo danh sách từ giới hạn ký tự trùng lặp ........................................................ 29

3
CHƯƠNG 3: CÀI ĐẶT, XÂY DỰNG KỊCH BẢN VÀ SỬ DỤNG CÔNG CỤ
CRUNCH........................................................................................................................... 30
3.1

Mục đích: ............................................................................................................. 30

3.2

Cài đặt cơng cụ Crunch ........................................................................................ 30

3.3

Tạo file từ điển theo quy định .............................................................................. 31

3.3.1

Kịch bản 1: .................................................................................................... 31


3.3.2

Kịch bản 2: .................................................................................................... 33

3.3.3

Kịch bản 3 ..................................................................................................... 35

3.3.4

Kịch bản 4: .................................................................................................... 36

4

Tổng kết ..................................................................................................................... 38

5

Danh mục tài liệu tham khảo ..................................................................................... 39

Lời cảm ơn ......................................................................................................................... 40

4


Danh sách hình ảnh
Hình 2.1: Cài đặt Crunch ................................................................................................... 13
Hình 2.2: Kiểm tra cài đặt ................................................................................................. 14
Hình 2.3: Xem hướng dẫn sử dụng Crunch và các tùy chọn có sẵn ................................. 14

Hình 2.4: Tạo danh sách từ đơn giản ................................................................................. 15
Hình 2.5: Sử dụng khi nắm được mật khẩu nạn nhân có 6-8 ký tự ................................... 16
Hình 2.6: Sử dụng khi nắm được mật khẩu nạn nhân có 8 ký tự và kết thúc là 1&2 ....... 17
Hình 2.7: Tạo danh sách khơng sử dụng chuỗi ký tự ........................................................ 20
Hình 2.8: Hiển thị nội dung tệp ......................................................................................... 21
Hình 2.9: Tạo danh sách sử dụng chuỗi ký tự ................................................................... 22
Hình 2.10: Đọc nội dung tệp ............................................................................................. 23
Hình 2.11: Tạo danh sách gồm chữ và số ......................................................................... 24
Hình 2.12: Kiểm tra nội dung tệp ...................................................................................... 24
Hình 2.13: Tạo danh sách từ với tùy chọn -p .................................................................... 25
Hình 2.14: Tạo danh sách với các từ hạn chế .................................................................... 26
Hình 2.15: Kiểm tra nội dung tệp ...................................................................................... 26
Hình 2.16: Phân chia danh sách từ .................................................................................... 27
Hình 2.17: Nén danh sách đã tạo ....................................................................................... 27
Hình 2.18: Tạo danh sách từ với mẫu cụ thể ..................................................................... 28
Hình 2.19: Kiểm tra nội dung tệp ...................................................................................... 28
Hình 2.20: Tạo danh sách giới hạn ký tự trùng lặp ........................................................... 29
Hình 2.21: Kiểm tra nội dung tệp ...................................................................................... 29
Hình 3.1: Cài đặt và giải nén cơng cụ Crunch ................................................................... 30
Hình 3.2: Kiểm tra phiên bản Crunch đã cài đặt ............................................................... 31
Hình 3.3: Tạo file từ điển [kịch bản 1] .............................................................................. 32
Hình 3.4: Kiểm tra các dịng đầu của file [kịch bản 1] ..................................................... 32
Hình 3.5: Kiểm tra chi tiết nội dung file [kịch bản 1] ....................................................... 33
Hình 3.6: Tạo file từ điển [kịch bản 2] .............................................................................. 34
Hình 3.7: Kiểm tra các dịng đầu của file [kịch bản 2] ..................................................... 34
Hình 3.8: Kiểm tra chi tiết nội dung file [kịch bản 2] ....................................................... 35
Hình 3.9: Tạo file từ điển [kịch bản 3] .............................................................................. 36
Hình 3.10: Tạo file từ điển [kịch bản 4] ............................................................................ 37

5



Danh sách các thuật ngữ tiếng anh và viết tắt
Từ viết tắt

Thuật ngữ tiếng anh

SSO

Single sign-on

MFA

Multi-factor authentication

VPN

Virtual Private Network

6

Thuật ngữ tiếng việt/Giải thích
là cơ chế cho phép người dùng có
thể truy cập nhiều trang web, ứng
dụng mà chỉ cần đăng nhập một
lần
là một hệ thống bảo mật yêu cầu
nhiều phương thức xác thực từ các
danh mục thông tin đăng nhập độc
lập để xác minh danh tính của

người dùng cho thơng tin đăng
nhập hoặc giao dịch khác.
là mạng riêng ảo, một cơng nghệ
mạng giúp tạo kết nối mạng an
tồn khi tham gia vào mạng công
cộng


1
1.1.

CHƯƠNG 1: TỔNG QUAN VỀ TẤN CƠNG MẬT KHẨU
Tấn cơng mật khẩu là gì

Cơ chế được sử dụng rộng rãi nhất để xác thực người dùng là mật khẩu. Do đó, tấn
cơng vào mật khẩu là một cuộc tấn cơng phổ biến và hiệu quả.
Phần lớn các vụ đánh cắp thông tin liên quan đến quyền truy cập tài khoản. Ngay
cả thơng tin xác thực của người dùng bình thường rơi vào tay kẻ xấu cũng có thể biến
thành vũ khí tàn phá tồn bộ hệ thống.
Mật khẩu có thể khó nhớ, đặc biệt nếu người dùng tuân theo các quy tắc để tạo
một mật khẩu mạnh. Khi nhập mật khẩu cũng khá tốn thời gian, đặc biệt là trên các thiết
bị di động với bàn phím nhỏ. Khi cố gắng để sử dụng các mật khẩu khác nhau cho mỗi tài
khoản cũng gây bất tiện và mất thời gian. Tuy nhiên, nếu hacker muốn tấn công vào mật
khẩu của người dùng thì thời gian mất sẽ rất nhiều nếu người dùng sử dụng mật khẩu
mạnh.

1.2.

Cách phương thức tấn công mật khẩu


Hacker sở hữu một số phương thức tấn công mật khẩu để phá vỡ xác thực người
dùng. Các phương tiện truyền thông bàn tán về vi phạm bảo mật với hàng triệu thông tin
người dùng và mật khẩu được rao bán, do vậy người dùng nên hiểu rõ hơn về cách các
cuộc tấn công như vậy xảy ra để bảo vệ chính mình.
Dưới đây là các phương thức phổ biến nhất:
1.2.1. Dictionary
Sử dụng dictionary attack là hình thức tấn công bằng cách thử qua nhiều mật khẩu
tiềm năng để tìm ra mật khẩu đúng. Danh sách các mật khẩu tiềm năng được lấy trong từ
điển và có thể liên quan đến tên người dùng, sinh nhật, sở thích... hay các đơn giản là các
từ phổ biến như "password"...
Tất nhiên, điều này khơng được làm thủ cơng. Một chương trình máy tính có thể
chạy qua hàng triệu từ trong vài giờ.
Kết hợp ngẫu nhiên các từ trong từ điển với nhau sẽ không cứu người dùng khỏi
cuộc tấn công này nhưng có thể làm thời gian để bẻ khóa mật khẩu lâu hơn.
Từ điển thường là kỹ thuật đầu tiên hacker sử dụng khi cố gắng bẻ khóa.
1.2.2. Hybrid
Bằng cách kết hợp các từ trong từ điển với các số và ký tự (ví dụ: p@$$w0rd123)
có thể thốt khỏi dictionary attack nhưng lại rơi vào một cuộc tấn công khác.
7


Hybrid attack sử dụng kết hợp các từ trong từ điển với các số đứng trước và theo
sau chúng, thay thế các chữ cái bằng các số và ký tự đặc biệt.
1.2.3. Brute Force
Brute force là một trong những hình thức phổ biến nhất của password attack và dễ
dàng nhất để thực hiện. Brute force thường là biện pháp cuối cùng của hacker nếu các kỹ
thuật trước đó thất bại đơn giản vì đây là cơng cụ tốn nhiều thời gian nhất.
Brute force, hacker sử dụng chương trình máy tính để đăng nhập vào tài khoản của
người dùng với tất cả các kết hợp mật khẩu có thể. Các cuộc tấn công thường sẽ bắt đầu
bằng với các từ đơn giản, sau đó là các hỗn hợp số, chữ cái và các ký tự bàn phím khác.

Có các tập lệnh và ứng dụng được viết riêng cho mục đích này.
Brute force khơng phải là một q trình nhanh chóng. Càng nhiều ký tự trong mật
khẩu, thời gian bẻ khóa càng lâu.
Một website sử dụng mật khẩu đơn giản với giới hạn 5 ký tự. Sử dụng Crunch để
tạo danh sách mật khẩu chỉ với chữ cái, có 12.356.630 giá trị được tạo ra và mất 70 MB
để lưu trữ. Nếu thêm các ký tự đặc biệt và chữ số vào hỗn hợp và nó đã tăng kích thước
của danh sách từ lên 62 GB.
Với mật khẩu từ 8 đến 12 ký tự, danh sách này có 99.246.106.575.066.880 giá trị,
gấp khoảng 8 tỷ lần số so với danh sách trước; mất 1.169.818 TB để lưu trữ. Thêm các
chữ số và ký tự đặc biệt vào hỗn hợp, kích thước danh sách tăng khoảng 10 lần.
1.2.4. Traffice Interception
Trong cuộc tấn công này, các công cụ monitor network traffic được sử dụng để
chặn mật khẩu khi chúng được truyền qua mạng ở dạng văn bản. Ngay cả mật khẩu được
mã hóa cũng có thể được giải mã, tùy thuộc vào độ mạnh của phương thức mã hóa được
sử dụng.
1.2.5. Man In the Middle
Trong cuộc tấn cơng này, hacker chủ động chèn chính nó vào giữa tương tác,
thường là bằng cách mạo danh một website hoặc ứng dụng. Điều này cho phép họ nắm
bắt thông tin đăng nhập của người dùng và các thông tin nhạy cảm khác.
Các mạng WiFi mở thường không được mã hóa. Với sự trợ giúp của phần mềm
miễn phí và có sẵn rộng rãi, hacker có thể dễ dàng theo dõi lưu lượng truy cập Internet
của người dùng khi lướt web trên WiFi công cộng.
Hacker sẽ chặn lưu lượng giữa thiết bị của nạn nhân và máy chủ. Mỗi trang nạn
nhân truy cập, tin nhắn gửi và mật khẩu nhập sẽ chuyển thẳng đến hacker thay vì nhà
cung cấp WiFi hợp pháp. Không chỉ mật khẩu mà cả chi tiết thẻ tín dụng và thơng tin
nhạy cảm khác cũng có thể bị đánh cắp theo cách này.
8


1.2.6. Social Engineering

Social engineering attack đề cập đến một loạt các phương pháp để có được thơng
tin từ người dùng. Các chiến thuật được sử dụng là:
• Phishing - Emails, văn bản... được gửi để đánh lừa người dùng cung cấp thông tin
đăng nhập của họ, nhấp vào liên kết cài đặt phần mềm độc hại hoặc truy cập
website giả mạo.
• Spear phishing -Tương tự như phishing nhưng với các email/văn bản được thiết kế
tốt hơn, được tùy chỉnh dựa trên thơng tin đã được thu thập về người dùng.
• Baiting - Hacker để lại USB hoặc các thiết bị khác bị nhiễm virut hoặc các phần
mềm đôc hại ở các địa điểm công cộng với hy vọng chúng sẽ được người dùng tái
sử dụng.
• Quid quo pro - Hacker mạo danh ai đó, như nhân viên trợ giúp và tương tác với
người dùng sau đó u cầu lấy thơng tin từ họ.
Social engineering khai thác dựa vào sự cả tin của con người.
1.2.7. Rainbow Table
Hầu hết các hệ thống hiện đại lưu trữ mật khẩu trong một hash. Hash sử dụng cơng
thức tốn học để tạo ra một chuỗi ngẫu nhiên, khác hoàn toàn với chuỗi đầu vào. Nếu
một hacker nào đó truy cập vào database lưu trữ mật khẩu, thì họ sẽ có thể lấy được mật
khẩu được mã hóa dưới dạng hash, hacker khơng thể đọc được mật khẩu, họ cũng sẽ
không thể lạm dụng chúng.
Hash vẫn có điểm yếu. Một chiến lược đơn giản để tấn công là hash tất cả các từ
trong từ điển và tham chiếu chéo chúng với các mật khẩu được mã hóa. Nếu có một từ
khớp, khả năng rất cao đó chính là mật khẩu. Đây chính là hình thức rainbow table
attack.
1.2.8. Credential Stuffing
Các password attack khác đều đề cập đến việc hacker chưa sở hữu mật khẩu của
người dùng. Tuy nhiên, với credential stuffing thì khác.
Trong một credential stuffing attack, hacker sử dụng tên và mật khẩu bị đánh cắp
của một tài khoản trước đó rồi thử trên các tài khoản khác của người dùng.
Credential stuffing nhằm vào xu hướng sử dụng chung mật khẩu cho nhiều tài
khoản của người dùng, nếu thành cơng thì thường đem lại hiệu quả rất lớn. Đây là lý do

tại sao việc sử dụng các mật khẩu khác nhau cho mỗi tài khoản và dịch vụ là rất quan
trọng. Trong trường hợp một trong số chúng bị xâm phạm và bị rò rỉ, rủi ro đối với bất kỳ
tài khoản nào khác sẽ được giảm thiểu.
Credential stuffing attack có cách gọi khác là credential reuse attack.
9


1.2.9. Password Spraying
Khá giống với hình thức brute force nhưng không được xem là brute force,
password spraying thử hàng ngàn có thể là hàng triệu tài khoản cùng một lúc với một vài
mật khẩu thường được sử dụng. Trong số đó nếu có một người dùng có mật khẩu yếu,
tồn bộ hệ thống có thể gặp rủi ro.
Brute force tập trung vào một vài tài khoản. Ngược lại, password spraying sẽ mở
rộng các mục tiêu theo cấp số nhân. Do đó, nó giúp hacker tránh phương thức bảo mật
khóa tài khoản khi đăng nhập sai nhiều lần.
Password spraying đặc biệt nguy hiểm đối với các cổng xác thực đăng nhập một
lần.
1.2.10. Offline Detection
Việc thu thập thông tin người dùng từ máy tính bị vứt bỏ, thùng rác...; nghe lén
khi người dùng chia sẻ mật khẩu của họ với người khác bằng lời nói; đọc ghi chú kẹp trên
màn hình máy tính; lướt qua khi người dùng nhập mật khẩu... có thể giúp hacker có được
mật khẩu và thơng tin đăng nhập người dùng
1.2.11. Malware
Malware khiến người dùng tải xuống hoặc vơ tình bị lây nhiễm phần mềm độc hại
từ các chương trình có vẻ hợp pháp hóa ra là một cái bẫy. Các phần mềm độc hại này
thường được ẩn trong các ứng dụng giả mạo: trò chơi di động, ứng dụng thể dục... Chúng
thường hoạt động khá tốt, không có dấu hiệu nhận biết rõ ràng khiến người dùng không
nghi ngờ.
1.2.12. Key logger
Hacker cài đặt phần mềm theo dõi tổ hợp phím của người dùng, cho phép hacker

thu thập không chỉ tên người dùng và mật khẩu cho tài khoản mà cịn có website hoặc
ứng dụng mà người dùng đã đăng nhập. Kiểu tấn công này xảy ra sau khi cuộc malware
attack được thực hiện.
Key logger attack cài đặt một chương trình trên thiết bị của người dùng để theo
dõi tất cả các lần nhấn phím của người dùng. Vì vậy, khi người dùng nhập tên người
dùng và mật khẩu của họ, hacker thu thập chúng và sử dụng.
Phương thức này thường triển khai trong một cuộc tấn công hàng loạt nhắm vào
toàn bộ tổ chức, nhiều mật khẩu và thơng tin đăng nhập của người dùng có thể được thu
thập để sử dụng sau.

10


1.3.

Cách để tự bảo vệ chính mình

Mật khẩu mạnh là sự bảo vệ đầu tiên chống lại các password attack. Kết hợp các
ký tự viết hoa và viết thường, số và ký tự đặc biệt; tránh sử dụng các từ và cụm từ phổ
biến; tránh các từ dành riêng cho website (như tên của website); kiểm tra mật khẩu với từ
điển các mật khẩu kém; chúng nên được thay đổi thường xuyên và khác nhau cho mỗi tài
khoản.
Giáo dục cũng rất quan trọng. Một trong những biện pháp phòng vệ tốt nhất là dạy
cho người dùng cách nhận biết và ngăn chặn các kỹ thuật mà hacker sử dụng.
Tuy nhiên mật khẩu mạnh mẽ và giáo dục thực sự chưa đủ. Sức mạnh tính tốn
cho phép hacker chạy các chương trình tinh vi để có thể thử số lượng lớn thông tin đăng
nhập, nên áp dụng thêm các công cụ như: single sign-on (SSO), multi-factor
authentication (MFA).
Dưới đây là các quy tắc cơ bản để giữ an toàn.
1.3.1. Sử dụng ứng dụng tạo mật khẩu ngẫu nhiên

Dictionary attack là một kỹ thuật password attack phổ biến và hiệu quả. Do con
người không dễ dàng ghi nhớ các chuỗi ký tự ngẫu nhiên.
Khi người dùng tạo một loạt các mật khẩu mặc dù có đảm bảo về độ dài, kết hợp
các ký tự khác nhau nhưng chúng lại thường được tạo theo một quy luật nhất định, điều
này thật nguy hiểm nếu hacker tìm ra nó.
Thay vì làm thủ cơng thì có thể nhờ công nghệ, chúng sẽ thay người dùng làm tất
cả. Có rất nhiều ứng dụng tạo mật khẩu ngẫu nhiên miễn phí, chỉ cần chọn độ dài của mật
khẩu hay bất kỳ yêu cầu đặc biệt nào đó, một mật khẩu mạnh mẽ sẽ được tạo ra.
1.3.2. Hạn chế sử dụng lại mật khẩu
Thông tin đăng nhập của người dùng là mục tiêu hàng đầu của hacker. Vì họ biết
rất rõ rằng người dùng có thể tái chế mật khẩu và tệ hơn là chỉ sử dụng một mật khẩu cho
tất cả các tài khoản.
Hãy làm theo lời khuyên phía trên trước và người dùng sẽ có một ứng dụng tạo
mật khẩu ngẫu nhiên, lúc này sẽ khơng có lý do gì để người dùng sử dụng một mật khẩu
duy nhất. Ứng dụng tạo mật khẩu ngẫu nhiên sẽ giúp người dùng tạo thật nhiều mật khẩu
mạnh mẽ và duy nhất.
1.3.3. Dùng ứng dụng quản lý mật khẩu
Một người trung bình dùng 20 đến 40 mật khẩu. Rất khó khăn để có thể nhớ hàng
chục mật khẩu khác nhau, nếu chúng rất dài và vơ nghĩa thì việc này lại càng khó. Người
dùng cần một ứng dụng quản lý mật khẩu.
11


Ứng dụng quản lý mật khẩu là một chương trình lưu giữ tất cả thông tin đăng
nhập. Người dùng chỉ cần nhớ là master key để mở khóa các mật khẩu.
1.3.4. Bật xác thực hai yếu tố
Mật khẩu dễ bị tổn thương đối với các phương thức password attack và có thể trở
thành nạn nhân của một cuộc tấn cơng.
Cách tốt nhất để giữ an toàn là thêm một lớp bảo mật bổ sung - xác thực đa yếu tố
(MFA). Xác thực đa yếu tố là sự kết hợp của mật khẩu và điện thoại hoặc email.

Đặt tin nhắn SMS làm bước xác thực thứ hai được sử dụng phổ biến nhất.
Xác thực đa yếu tố làm giảm hiệu quả của các phương thức password attack. Nó
khơng hồn tồn ngăn chặn được tất cả các cuộc tấn cơng, nhưng nó ngăn chặn được các
cuộc tấn công hàng loạt.
Ngay cả khi mật khẩu của một cá nhân bị đánh cắp, hacker sẽ phải đối mặt với
một thách thức khó khăn hơn nhiều trong việc vượt qua lớp xác thực thứ 2 để sở hữu
quyền truy cập của người dùng. Đồng thời lúc này người dùng cũng nhận được cảnh báo
tài khoản có dấu hiệu bị xâm phạm.
1.3.5. Sử dụng VPN khi kết nối với WiFi công cộng
Hạn chế sử dụng WiFi cơng cộng. Tuy nhiên, nếu dùng thì người dùng nên tải
VPN về thiết bị và dùng chúng khi truy cập Internet. VPN sẽ mã hóa lưu lượng truy cập
Internet để các bên thứ ba không thể theo dõi các hoạt động trực tuyến của người dùng,
mật khẩu và dữ liệu cá nhân của người dùng sẽ vẫn an toàn.

2

CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG CỤ CRUNCH

2.1 Giới thiệu về crunch
Crunch là một trình tạo danh sách ký tự, nới có thể chỉ định một bộ ký tự tiêu
chuẩn hoặc một bộ ký tự được chỉ định sẵn. Crunch có thể tạo ra tất cả các tổ hợp và
hoán vị ký tự có thể có theo các tiêu chí đã cho. Dữ liệu mà đầu ra Crunch có thể được
hiển thị trên màn hình, được lưu vào một tệp hoặc được chuyển đến một chương trình
khác.

2.2 Các tính năng, đặc trưng của crunch
• Crunch tạo danh sách ký tự theo cách tổ hợp và hoán vị các ký tự
12












Nó có thể chia nhỏ đầu ra theo số dịng hoặc kích thước tệp
Hiện nay vẫn tiếp tục được hỗ trợ
Công cụ hỗ trợ cả số và ký tự đặc biệt
Hỗ trợ các ký tự viết hoa và viết thường riêng biệt
Thêm báo cáo trạng thái khi tạo nhiều tệp
new -l là tùy chọn hỗ trợ của @,^%
new -d là tùy chọn để hạn chế các ký tự trùng lặp
Hiện đã hỗ trợ unicode

2.3 Cài đặt Crunch
Đầu tiên sử dụng lệnh
• $ sudo apt-get install crunch

Hình 2.1: Cài đặt Crunch

2.4 Cách tạo danh sách tùy chỉnh bằng Crunch trên Kali
Danh sách từ là một phần quan trọng của các cuộc tấn công mật khẩu brute force .
Cuộc tấn công bằng mật khẩu brute force là cuộc tấn cơng trong đó kẻ tấn công sử dụng
một đoạn mã để cố gắng đăng nhập vào tài khoản lặp đi lặp lại cho đến khi họ nhận được
kết quả trùng khớp. Các cuộc tấn công bạo lực là khá rõ ràng và nếu một máy chủ được
thiết kế tốt sẽ chặn được kẻ tấn công hoặc địa chỉ IP của chúng.

Đây là lý do tại sao điều quan trọng là phải kiểm tra tính bảo mật của hệ thống
đăng nhập theo cách này. Những kẻ tấn công thực hiện các cuộc tấn công này sẽ bị cấm
và lưu lượng bổ sung phải được báo cáo cho máy chủ. Mật khẩu phải an toàn hơn đối với
người dùng. Để thiết lập và thực thi một chính sách mật khẩu mạnh, điều quan trọng là
phải hiểu cách thức tấn công được thực hiện.
Kali Linux bao gồm một công cụ tiện dụng để tạo danh sách từ có độ dài tùy ý.
Crunch là một cơng cụ đơn giản. Nó sử dụng cú pháp đơn giản và có thể dễ dàng được
tùy chỉnh để đáp ứng các yêu cầu. Tuy nhiên, hãy lưu ý rằng những danh sách này có thể
phát triển khá lớn và nhanh chóng chiếm toàn bộ ổ cứng.
13


Các bước để tạo danh sách từ:
Bước 1: Để tạo danh sách từ tùy chỉnh , trước tiên cần phải khởi động Kali Linux,
mở terminal, sau đó gõ Crunch để kiểm tra xem Crunch đã được cài đặt hay chưa và đó là
phiên bản mới nhất hay chưa
• $ crunch

Hình 2.2: Kiểm tra cài đặt

Bước 2: Sử dụng lệnh command man để xem hướng dẫn sử dụng crunch và các
tùy chọn có sẵn.
• $ crunch man

Hình 2.3: Xem hướng dẫn sử dụng Crunch và các tùy chọn có sẵn

Bước 3: Crunch có cú pháp cơ bản sau:
• Kali > crunch < min > max < max > < characteret > -t < pattern > -o < output
filename >
o min = Độ dài mật khẩu tối thiểu.

o max= Độ dài mật khẩu tối đa.
o Charactet = Đây là ký tự được sử dụng để tạo mật khẩu.
o -t = Mẫu mật khẩu đã tạo được chỉ định. Từ này tạo mật khẩu có
độ dài lên đến 11 ký tự (7 biến, 4 cố định), tất cả đều kết thúc bằng 0728.
o -o <outputfile> = Đây là tệp để danh sách từ mới tạo được ghi vào.

14


Bước 4: Để tạo danh sách từ đơn giản, ta phải gõ crunch <min> max <max>
Ví dụ:
• $ crunch 8 10
Khi thực hiện lệnh này, crunch sẽ đánh giá kích thước của tệp (1463 TB) và sau đó
bắt đầu tạo danh sách.

Hình 2.4: Tạo danh sách từ đơn giản

Điều gì sẽ xảy ra nếu những kẻ tấn công biết mục tiêu luôn sử dụng mật khẩu số từ
6 đến 8 ký tự? Chúng có thể nhận được một danh sách đầy đủ các lựa chọn thay thế mật
khẩu đáp ứng các điều kiện này. Và gửi chúng đến một tệp trong thư mục của người dùng
có tên là number8.lst bằng cách nhập:
• $ crunch 6 8 1234567890 -o numericwordlist.lst

15


Hình 2.5: Sử dụng khi nắm được mật khẩu nạn nhân có 6-8 ký tự

Bước 5: Chúng ta có thể sử dụng lệnh sau nếu chúng ta biết mật khẩu của mục
tiêu dài 8 ký tự và kết thúc bằng 1 & 2:

• $ crunch 8 8 -t @@@@@@ 12 -o pass.lst

16


Hình 2.6: Sử dụng khi nắm được mật khẩu nạn nhân có 8 ký tự và kết thúc là 1&2

2.5 Các tùy chọn Crunch
-b number[type]
Nó chỉ định kích thước của tệp đầu ra và nó chỉ hoạt động nếu sử dụng -o START
nghĩa là 60MB. Các tệp đầu ra sẽ có định dạng bắt đầu bằng ký tự kết thúc bằng
chữ cái, ví dụ:
• ./crunch 4 5 -b 20min -o START
Lệnh này sẽ tạo ra 4 tệp: aaaa-gvfed, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu
zzzzz.txt. Giá trị hợp lệ cho kiểu là kb, mb, gb, kib, mib và gib. Ba danh mục đầu
tiên dựa trên 1000, trong khi ba danh mục sau dựa trên 1024.
-c number
Tùy chọn này sẽ chỉ định số dòng để ghi vào tệp đầu ra; nó sẽ chỉ hoạt động nếu -o
START được sử dụng, tức là 60 tệp đầu ra sẽ có định dạng là ký tự kết thúc bằng
chữ cái đầu, ví dụ:

17


• ./crunch 1 1 -f /pentest/password/crunch/charset.lst mixalpha-numeric-all-space -o
START -c 60
Sẽ tạo ra hai tập tin: 1-7.txt và 8-.txt / lý do cho dấu gạch chéo trong tên tập tin thứ
hai là ký tự cuối cùng là một khoảng trắng, mà ls phải thoát ra trước khi in. Chúng
ta phải đặt \ khi chỉ định tên tệp vì ký tự cuối cùng là khoảng trắng.
-d numbersymbol

Tùy chọn này sẽ giới hạn số lượng ký tự trùng lặp. -d 2 @ giới hạn đầu ra bằng
chữ cái thường như aab và aac. Vì aaa được tạo thành từ ba chữ cái liên tiếp của
bảng chữ cái nên nó sẽ khơng được tạo ra. Định dạng là số sau đó là ký hiệu trong
đó số là số ký tự liên tiếp tối đa và ký hiệu là ký hiệu của bộ ký tự mà chúng ta cần
giới hạn, ví dụ: @ phần trăm.
-e string
Tùy chọn này sẽ chỉ định xem liệu có nên dừng sớm hay không.
-f / path / to / charset.lst charset-name
Chỉ định một bộ ký tự từ characteret.lst.
-i
Đảo ngược đầu ra để thay vì aaa, aab, aac, aad, v.v. , chúng ta nhận được aaa, bca,
caa, daa, aba, bba, v.v.
-l
Nếu chúng ta sử dụng tùy chọn -t thì tùy chọn này cho crunch biết rằng các ký
hiệu phải được coi là các ký tự. Do đó, có thể sử dụng trình giữ chỗ dưới dạng các
chữ cái trong mẫu. Các -I và -t tùy chọn cả hai phải ở trong cùng độ dài.
-m
Tùy chọn này sẽ được hợp nhất với -p. Vui lòng sử dụng -p để thay thế.
-o wordlist.txt
Chỉ định tệp để ghi đầu ra, ví dụ: wordlist.txt.
-p charset OR -p word1 word2?
Tùy chọn này để tạo các từ khơng có ký tự lặp lại.
-q filename.txt
Tùy chọn này u cầu crunch đọc filename.txt và sắp xếp những gì đã đọc. Điều
này tương tự với tùy chọn -p , nhưng đầu vào đến từ filename.txt.
18


-r
Tùy chọn này yêu cầu crunch tiếp tục tạo các từ từ nơi nó đã dừng lại. Tùy chọn

này chỉ hoạt động nếu sử dụng nó với -o. Nên sử dụng lệnh tương tự với lệnh ban
đầu mà đã sử dụng để tạo các từ. Tùy chọn -s là ngoại lệ duy nhất đối với tùy chọn
-s này. Nếu đã sử dụng tùy chọn -s trong lệnh ban đầu thì nên xóa nó trước khi tiếp
tục phiên. Chỉ cần thêm -r vào cuối lệnh.
-s startblock
Tùy chọn này sẽ chỉ định chuỗi bắt đầu. Ví dụ: 03god22fs.
-t @,% ^
Tùy chọn này sẽ chỉ định mẫu. Ví dụ: @@ abc @ @@ trong đó chỉ các ký tự @
's,' s,% 's và ^ mới thay đổi.

o
o
o
o

@ sẽ chèn các ký tự viết thường
, sẽ chèn các ký tự viết hoa
% sẽ chèn các số
^ sẽ chèn các ký tự đặc biệt

-u
Tỷ lệ in bị vơ hiệu hóa bởi tùy chọn -u. Đây phải là tùy chọn cuối cùng.

2.6 Tạo danh sách từ mà không sử dụng chuỗi ký tự
Thực hiện lệnh dưới đây để tạo từ điển có tối thiểu 2 và tối đa 3 ký tự bằng cách
sử dụng các bộ ký tự mặc định. Nó sẽ bắt đầu bằng chữ aa và kết thúc bằng chữ zzz.
• $ Crunch 2 3 -o Desktop0.text
Để tạo từ điển, ta sử dụng các tham số sau:

o Min_len: 2 cho hai ký tự

o Max_len: 3 cho ba ký tự
o -o: - Tùy chọn này được sử dụng để biểu thị đường dẫn để lưu kết quả đầu
ra trong tệp văn bản.
Chúng ta có thể thấy từ hình ảnh bên dưới rằng nó đã tạo ra 18252 dòng và lưu
chúng trong tệp 0.text .

19


Hình 2.7: Tạo danh sách khơng sử dụng chuỗi ký tự

Bây giờ, ở đây chúng ta đã sử dụng lệnh cat để đọc nội dung bên trong tệp 0.text

20


• $ cat Desktop0.text

Hình 2.8: Hiển thị nội dung tệp

2.7 Tạo danh sách từ bằng cách sử dụng chuỗi ký tự
Chạy lệnh sau để tạo một từ điển chứa ít nhất 3 ký tự chữ cái và tối đa 4 ký tự ký
tự. Nó cũng sẽ bắt đầu bằng sss và nnnn.
• $ crunch 3 4 sun -o Desktop1.text
21


Ta có thể thấy từ hình ảnh bên dưới rằng nó đã tạo ra 108 dịng và lưu chúng trong
tệp 1.text .


Hình 2.9: Tạo danh sách sử dụng chuỗi ký tự

Sử dụng lệnh cat để đọc nội dung của tệp 1.text từ bên trong và chúng ta có thể
thấy rằng nó bắt đầu bằng sss và kết thúc bằng nnnn.

22


• $ cat Desktop1.text

Hình 2.10: Đọc nội dung tệp

23


2.8 Tạo danh sách từ chữ số và chữ cái
Có thể tạo danh sách từ gồm chữ và số bằng cách sử dụng lệnh bên dưới, lệnh này
sẽ tạo một từ điển có ít nhất 2 và tối đa 3 ký tự ký tự bằng cách sử dụng "sun123" làm
chuỗi được chỉ định.
Có thể tùy chỉnh độ dài của danh sách từ của mình bằng cách đặt độ dài tối thiểu
và tối đa.
• $ crunch 2 3 sun123 -o Desktop3.text

Hình 2.11: Tạo danh sách gồm chữ và số

Sử dụng lệnh cat để đọc nội dung tệp 3.text
• $ cat Desktop3.text

Hình 2.12: Kiểm tra nội dung tệp


24


2.9 Sử dụng hoán vị để tạo danh sách từ
Nếu muốn sử dụng hoán vị để tạo danh sách từ, thì phải sử dụng tùy chọn -p . Khi
sử dụng có thể bỏ qua độ dài tối thiểu và tối đa của chuỗi ký tự. Hơn nữa, như đã thấy
bên dưới, có thể sử dụng nó với một từ đơn hoặc một chuỗi nhiều từ.
• $ crunch 6 8 -p preeti singh javatpoint
Từ hình ảnh dưới đây, ta có thể phân tích kết quả đầu ra và nhận được số lượng
lớn nhất nếu hốn vị được tạo ra.

Hình 2.13: Tạo danh sách từ với tùy chọn -p

2.10 Tạo danh sách với các từ hạn chế
Nếu ta nhìn vào kết quả đầu ra ở trên, chúng ta sẽ nhận thấy rằng crunch đã tạo
một từ điển và hiển thị số dòng cho mỗi từ điển. Ví dụ: tệp văn bản 0.text bao gồm 18252
số dòng và mỗi dòng chỉ bao gồm một từ.
Vì vậy, chúng ta có thể thực hiện lệnh sau nếu chúng ta muốn đặt bộ lọc cho một
số dịng cụ thể.
• $ crunch 5 5 IGNITE -c 25 -o Desktop8.txt

25


×