HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
Khoa cơng nghệ thơng tin
Học phần: An tồn mạng
Bài báo cáo:
(Tìm hiểu về cơng cụ Hashcat-Utils)
Giảng viên hướng dẫn:
Sinh viên thực hiện:
Nhóm lớp:
Mã sinh viên:
TS. Đặng Minh Tuấn
Vũ Tuấn Anh
01
B18DCAT015
Hà Nội – 12/2021
Mục Lục
LỜI MỞ ĐẦU ...................................................................................................................... 3
DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT ..................................... 4
DANH MỤC HÌNH VẼ ....................................................................................................... 5
Chương 1: Khái quát về Hashcat-Utils................................................................................. 6
1.1.
Giới thiệu về hashcat............................................................................................... 6
1.2.
Tổng quan về hashcat-utils ..................................................................................... 6
Chương 2: Danh sách các tiện ích trong Hashcat Utils ........................................................ 6
2.1.
Cap2hccapx ............................................................................................................. 6
2.2.
Cleanup-rules .......................................................................................................... 6
2.3.
Combinator ............................................................................................................. 6
2.4.
Combinator3 ........................................................................................................... 7
2.5.
Combipow ............................................................................................................... 7
2.6.
Ct3_to_ntlm ............................................................................................................ 8
2.7.
Cutb ......................................................................................................................... 8
2.8.
Deskey_to_ntlm .................................................................................................... 10
2.9.
Expander ............................................................................................................... 10
2.10.
Gate .................................................................................................................... 10
2.11.
Generate-rules .................................................................................................... 12
2.12.
Hcstatgen ........................................................................................................... 12
2.13.
Hcstat2gen ......................................................................................................... 12
2.14.
Keyspace ............................................................................................................ 13
2.15.
Len ..................................................................................................................... 13
2.16.
Mli2 ................................................................................................................... 14
2.17.
Morph ................................................................................................................ 15
1
2.18.
Permute .............................................................................................................. 15
2.19.
Permute_exist .................................................................................................... 15
2.20.
Prepare ............................................................................................................... 15
2.21.
Remaining .......................................................................................................... 16
2.23.
Req-include ........................................................................................................ 16
2.24.
Rli ...................................................................................................................... 16
2.25.
Rli2 .................................................................................................................... 17
2.26.
Rules_optimize .................................................................................................. 18
2.27.
Seprule ............................................................................................................... 18
2.28.
Splitlen ............................................................................................................... 18
2.29.
Strip-bsn............................................................................................................. 19
2.30.
Strip-bsr ............................................................................................................. 19
2.31.
Tmesis ................................................................................................................ 19
2.32.
Tmesis-dynamic................................................................................................. 20
2.33.
Topmorph .......................................................................................................... 21
Phần 3: Một số hạn chế của Hashcat-Utils ......................................................................... 21
Phần 4: Demo ..................................................................................................................... 21
4.1.
Combinator Attack to generate wordlist linux ...................................................... 21
4.1. Sử dụng cap2hccapx để chuyển đổi handshake mà thành hàm băm mà hashcat có
thể crack .......................................................................................................................... 25
Kết luận............................................................................................................................... 28
Tài liệu tham khảo .............................................................................................................. 29
2
LỜI MỞ ĐẦU
Trong lĩnh vực an tồn, an ninh thơng tin, cùng với việc đảm bảo an toàn vận hành
hệ thống là khả năng ứng phó và giải quyết sự cố xảy ra để đưa hệ thống trở về trạng thái
hoạt động bình thường trong thời gian nhanh nhất, giảm thiểu thiệt hại đến mức thấp nhất.
Quá trình xử lý sự cố, phục hồi chứng cứ và truy tìm dấu vết tội phạm có liên quan đến một
ngành khoa học máy tính là Computer forensics.[1]
Có thể chúng ta đã đọc được ở đâu đó về Hashcat Utils nhưng vẫn chưa có một hình
dung cụ thể về các khái niệm này. Thực tế thì Hashcat Utils khơng phải là khái niệm xa lạ
với người làm an tồn thơng tin, nhưng với số đơng mọi người thì có lẽ nó vẫn cịn là một
thứ khá mới mẻ.
Trong bài báo cáo này, chúng em hy vọng sẽ giúp các bạn hiểu hơn về Hashcat Utils
và huớng dẫn một số cơng cụ điển hình trong lĩnh vực này.
Em xin gửi lời cảm ơn đến TS. Đặng Minh Tuấn đã giúp đỡ em trong quá trình
nghiên cứu về cơng cụ tiện ích này.
Hà Nội, ngày 23 tháng 12 năm 2021
Sinh viên thực hiện
Vũ Tuấn Anh
3
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/giải thích
MIT
Massachusetts Institute of
Technology
WPA
Wi-Fi Protected Access
STDIN
STDOUT
MAX
MIN
Standard input
Standard output
Maximum
Minimum
4
Thuật ngữ tiếng việt/giải
thích
Viện cơng nghệ
Massachusetts
Giao thức an ninh trên
mạng không dây
Tiêu chuẩn đầu vào
Tiêu chuẩn đầu ra
Tối đa
Tối thiểu
DANH MỤC HÌNH VẼ
Hình 4.1: Tạo wordlist1 11 ................................................................................................. 21
Hình 4.2: Tạo wordlist2 2 ................................................................................................... 22
Hình 4.3: Combined wordlist 3 .......................................................................................... 23
Hình 4.3: Combinator Attack 2 từ điển 4 ........................................................................... 24
Hình 4.4: Combinator online 5 ........................................................................................... 25
5
Chương 1: Khái quát về Hashcat-Utils
1.1. Giới thiệu về hashcat
Hashcat là một cơng cụ khơi phục mật khẩu . Nó có cơ sở mã độc quyền cho đến
năm 2015, nhưng sau đó được phát hành dưới dạng phần mềm nguồn mở. Các phiên bản
có sẵn cho Linux, OS X và Windows. Ví dụ về các thuật tốn băm hỗ trợ hashcat là các
định dạng băm LM , MD4 , MD5 , SHA-family và Unix Crypt cũng như các thuật toán
được sử dụng trong MySQL và Cisco PIX .
Hashcat đã được cơng chúng chú ý vì những tối ưu hóa của nó; một phần dựa trên
các lỗ hổng trong phần mềm khác được phát hiện bởi người tạo ra hashcat. Một ví dụ là
một lỗ hổng trong lược đồ băm trình quản lý mật khẩu của 1Password . [1] Nó cũng đã được
so sánh với phần mềm tương tự trong một ấn phẩm của Usenix [2] và được mô tả
trên Arsosystemca
1.2. Tổng quan về hashcat-utils
Hashcat-Utils được biết đến như là một tập hợp các tiện ích nhỏ hữu ích trong việc
bẻ khóa mật khẩu nâng cao.
Trong Hashcat-Utils, tất cả đều được đóng gói thành nhiều tệp nhị phân độc lập.
Các utils này được thiết kế để chỉ thực thi một chức năng cụ thể
Hashcat Utils được phát hành dưới dạng phần mềm mã nguồn mở theo giấy phép
MIT.
Chương 2: Danh sách các tiện ích trong Hashcat Utils
2.1. Cap2hccapx
a. Định nghĩa
Cơng cụ được sử dụng để tạo tệp .hccapx từ tệp chụp mạng (.cap hoặc .pcap) để bẻ
khóa xác thực WPA / WPA2. Các tệp .hccapx được sử dụng làm đầu vào bởi loại
băm -m 2500 = WPA / WPA2.
b. Cách sử dụng
$ ./cap2hccapx.bin input.pcap output.hccapx [filter by essid] [mạng bổ sung essid:
bssid]
2.2. Cleanup-rules
a. Định nghĩa
là loại bỏ các quy tắc khỏi STDIN khơng tương thích với một nền tảng được chỉ
định
b. Cách sử dụng
chế độ ./cleanup-rules.bin
(Trong đó: chế độ là 1 = CPU, 2 = GPU)
2.3. Combinator
6
a. Định nghĩa
Chương trình này là một triển khai độc lập của Combinator Attrack
Mỗi từ trong file2 được nối với mỗi từ trong file1 và sau đó in ra STDOUT.
Vì chương trình được yêu cầu tua lại các tệp nhiều lần nên chương trình sẽ
khơng thẻ hoạt động với STDIN và yêu cầu các tệp thực.
Một tùy chọn khác sẽ là lưu trữ tất cả nội dung từ cả 2 tệp trong bộ nhớ. Tuy nhiên
trong hash-crack, yêu cầu kích thước của từng tệp rất quan trọng.
b. Cách sử dụng
$ ./combinator.bin : ./combinator.bin file1 file2
2.4. Combinator3
a. Định nghĩa
Giống như combinator nhưng sẽ được thực hiện nối với 3 tệp file1,file2,file3.
b. Cách sử dụng
$ ./combinator.bin : ./combinator.bin file1 file2 file3
2.5. Combipow
a. Định nghĩa và cách thức hoạt động
Được thực hiện để tạo ra tất cả các từ trong một danh sách đầu vào.
b. Cách sử dụng
$ cat wordlist
a
b
c
XYZ
123
$ combipow wordlist
a
b
ab
c
ac
bc
abc
XYZ
aXYZ
bXYZ
abXYZ
cXYZ
acXYZ
bcXYZ
abcXYZ
123
7
a123
b123
ab123
c123
ac123
bc123
abc123
XYZ123
aXYZ123
bXYZ123
abXYZ123
cXYZ123
acXYZ123
bcXYZ123
abcXYZ123
2.6. Ct3_to_ntlm
Nếu khơng có ESS:
NETNTLM_bs_fmt_plug.c: {"$ NETNTLM $ 1122334455667788 $
B2B2220790F40C88BCFF347C652F67A7C4A70D3BEBD70233", "cory21"},
Hoặc có thể sử dụng như này
./ct3_to_ntlm.bin C4A70D3BEBD70233 1122334455667788
51ad
Nếu có ESS
./ct3_to_ntlm.bin 7D01513435B36DCA 1122334455667788
1FA1B9C4ED8E5702000000000000000000000000000000
34d5
2.7. Cutb
a. Định nghĩa
Chương trình này (mới trong hashcat-utils-0.6) được thiết kế để cắt một danh sách từ
(đọc từ STDIN) để sử dụng trong cuộc tấn công Combinator . Giả sử bạn nhận thấy
8
rằng mật khẩu trong một kết xuất cụ thể có xu hướng có độ dài đệm chung ở đầu
hoặc cuối văn bản rõ, chương trình này sẽ cắt độ dài tiền tố hoặc hậu tố cụ thể khỏi
các từ hiện có trong danh sách và chuyển nó đến STDOUT.
b. Cách sử dụng
./cutb.bin offset [length] < infile > outfile
Ví dụ:
File đầu vào
$ cat wordlist
apple1234
theman
fastcars
Sau khi lấy ra các từ bắt đầu từ vị trí 0 và kết thúc vị trí 4
$ ./cutb.bin 0 4 < wordlist
appl
them
fast
Sau khi lấy ra các từ từ vị trí 4
$ ./cutb.bin 4 < wordlist
e1234
an
cars
Sau khi lấy ra 4 kí tự cuối của các từ
$ ./cutb.bin -4 < wordlist
1234
eman
cars
$ ./cutb.bin -5 3 < wordlist
e12
hem
tca
Đề suất sử dụng
1. Combinator attack (-a 1)
2. Hybrid attack (-a 6 or -a 7)
9
2.8. Deskey_to_ntlm
Cách sử dụng
./deskey_to_ntlm.pl 8-byte-key-in-hex
2.9. Expander
Cách sử dụng
• Mỗi từ đi vào STDIN được phân tích cú pháp và tách thành tất cả các ký tự đơn lẻ
của nó, được biến đổi và tái tạo, sau đó được gửi đến STDOUT.
• Có một số cấu trúc tạo lại tất cả các mẫu có thể có của từ đầu vào bằng cách áp dụng
các lần lặp sau:
▪ Tất cả độ dài có thể có của các mẫu trong phạm vi tối đa 4 (được xác định trong
macro LEN_MAX, bạn có thể tăng độ dài này trong nguồn).
▪ Tất cả các hiệu số có thể có của từ.
▪ Chuyển từ sang phải cho đến khi đủ chu kỳ.
▪ Chuyển từ sang trái cho đến khi đủ một chu kỳ.
$ echo pass1 | ./expander.bin | sort -u
1
1p
1pas
a
as
ass
ass1
p
pa
pas
pass
s
s1
s1p
s1pa
ss
ss1
ss1p
2.10. Gate
10
Cách sử dụng
Mỗi danh sách từ đi vào STDIN được phân tích cú pháp và chia thành các phần bằng
nhau và sau đó được chuyển đến STDOUT dựa trên số lượng bạn chỉ định. Lý do
chia tách là để phân phối khối lượng công việc được tạo ra
$ ./gate.bin
usage: ./gate.bin mod offset < infile > outfile
Trong đó hai tham số quan trọng là "mod" và "offset".
Mod: số lần bạn muốn tách từ điển của mình.
Offset: là phần tách đang nhận được nguồn cấp dữ liệu đó.
Ví dụ từ điển đầu vào
$ cat numbers
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sau khi tách từ điển trên thành 2 từ điển bằng nhau
$ ./gate.bin 2 1 < numbers
2
4
6
8
10
12
14
11
$ ./gate.bin 2 0 < numbers
1
3
5
7
9
11
13
2.11. Generate-rules
a. Định nghĩa
• Để tạo ra các chuỗi ngẫu nhiên.
b. Cách sử dụng
• Tạo 10 quy tắc ngẫu nhiên với đầu vào là “42”
./generate-rules.bin 10 42
$ $} z3
*61 t
l
o2*
L2
*6B *98 D1
x0A f x32
s^L
s[5 s'#
swU }
2.12. Hcstatgen
a. Định nghĩa
• Là một cơng cụ được sử dụng để tạo tệp .hcstat để sử dụng với –markovhcstat tham số của hashcat cũ hơn và với bộ xử lý statsprocessor .
LƯU Ý : Đầu ra do hcstatgen tạo ra khơng cịn được hỗ trợ bởi hashcat hiện tại và
không hỗ trợ mật khẩu dài hơn (tối đa là 256). Sử dụng hcstat2gen để thay thế.
b. Cách sử dụng
./hcstatgen.bin out.hcstat < infile
Mỗi tệp outfile sẽ có kích thước chính xác là 32,1MB.
2.13. Hcstat2gen
a. Định nghĩa
• Một cơng cụ để tạo thống kê Markov tùy chỉnh, để sử dụng (sau khi nén
LZMA) với tham số của hashcat --markov-hcstat(sắp có --markov-hcstat2)
12
• Hcstat2gen giống như người tiền nhiệm của nó hcstatgen, nhưng được cập
nhật đồng bộ với hashcat 4.0 để hỗ trợ độ dài mật khẩu tối đa lên đến 256 (và
cũng được thêm tiêu đề loại tệp).
b. Cách sử dụng
./hcstat2gen.bin hcstat2_output_raw.bin lzma --compress --format=raw --stdout -9e hcstat2_output_raw.bin >
output.hcstat2
• Mỗi tệp thơ phải có kích thước khoảng 132MB (với kích thước thay đổi sau khi nén).
• Lưu ý rằng định dạng mới hơn này chưa được statsprocessor hỗ trợ
2.14. Keyspace
Cách sử dụng
./keyspace.bin, tiện ích keyspace cho
hashcat Cách sử dụng: ./keyspace.bin [options] mask
Options
-m, --hash-type = NUM Hash-type
- -hex-charset Giả sử bộ ký tự được cung cấp dưới dạng hex
--markov-hcstat = FILE Chỉ định tệp hcstat để sử dụng, mặc định là hashcat.hcstat
-t, --markov-ngưỡng = NUM Ngưỡng cho markov-chain
-1, --custom- charset1 = CS Bộ mã do người dùng định nghĩa
-2, --custom-charset2 = CS Ví dụ:
-3, --custom-charset3 = CS --custom-charset3 =? dabcdef: đặt bộ mã? 3 thành
0123456789abcdef
-4, --custom -charset4 = CS --custom-charset4 =? l? u: đặt bộ ký tự? 4 cho tất cả các
chữ cái thường và chữ hoa
-h, --help Trợ giúp In
2.15. Len
a. Định nghĩa
• Mỗi từ đi vào STDIN được phân tích cú pháp theo độ dài của nó và được
chuyển tới STDOUT nếu nó khớp với một phạm vi độ dài từ được chỉ định.
b. Cách sử dụng
./len.bin min max <infile> outfile
Ví dụ: Từ điển đầu vào
$ cat dict
1
123
13
test
pass
hello
world
Từ điển đầu ra với các từ có độ dài 2 4
$ ./len.bin 2 4 < dict
123
test
pass
2.16. Mli2
a. Định nghĩa
• Được sử dụng để hợp nhất 2 danh sách
b. Cách sử dụng
./mli2.bin infile mergefile
Ví dụ
$ cat w1.txt
123
1234
999
aceofspades
cards
password
veryfast
$ cat w2.txt
123
1234
999
extra
$ mli2 w1.txt w2.txt
123
1234
999
aceofspades
14
cards
extra
password
veryfast
2.17. Morph
a. Định nghĩa
• Được sử dụng để chèn các chuỗi kí tự từ 1 vị trí xác định
b. Cách sử dụng
./morph.bin dictionary depth width pos_min pos_max
Dictionary: Danh sách từ dùng để phân tích tần số
Depth: Xác định chuỗi “đầu tiên” mà bạn muốn
Width: Chiều dài tối đa của chuỗi
Pos_min: Vị trí đầu nơi quy tắc chèn được tạo
Pos_max: Vị trí cuối nơi quy tắc chèn được tạo
2.18. Permute
a. Định nghĩa
• Được sử dụng với mục đích trong Permutation Attack.
b. Cách sử dụng
Ví dụ: Từ 1 chuỗi ABC ta có thể hoán vị ra để tạo ra nhiều chuỗi khác: ABC ACB
BCA BAC CAB CBA
2.19. Permute_exist
Cách sử dụng
./permute_exist.bin word < infile > outfile
2.20. Prepare
a. Định nghĩa
• Được tạo ra để tối ưu hóa cho Permutation Attack
b. Cách sử dụng
• Do bản chất của chính thuật tốn hốn vị, các từ đầu vào “BCA” và “CAB”
sẽ tạo ra các ứng cử viên mật khẩu giống hệt nhau.
$ echo BCA | ./permute.bin
BCA
CBA
ABC
BAC
CAB
ACB
$ echo CAB | ./permute.bin
CAB
15
ACB
BCA
CBA
ABC
BAC
Cách tốt nhất để loại bỏ những “lỗi sai” này là tạo lại từ đầu vào được sắp xếp lại
theo giá trị ASCII của mỗi ký tự của từ:
Đầu vào:
1. B ⇒ 0x42
2. C ⇒ 0x43
3. A ⇒ 0x41
Đầu ra: ABC
Đầu vào:
1. C ⇒ 0x43
2. A ⇒ 0x41
3. B ⇒ 0x42
Đầu ra: ABC
Sử dụng hàm prepare để sắp xếp lại
$ wc -l rockyou.txt
14344391 rockyou.txt
$ ./prepare.bin < rockyou.txt | sort -u > rockyou.txt.prep
$ wc -l rockyou.txt.prep
9375751 rockyou.txt.prep
2.21. Remaining
Cách sử dụng
./remaining.pl wordlist_base.txt wordlist_search.txt
2.22. Req-exclude
2.23. Req-include
2.24. Rli
a. Định nghĩa
• Được tạo ra để so sánh 1 tệp này với 1 tệp khác để loại bỏ tất cả các thành
phần trùng lặp
b. Cách sử dụng
rli infile outfile removefiles ...
16
Ví dụ: Tệp w1.txt
password
123
cards
999
aceofspades
1234
veryfast
Tệp w2.txt
123
999
1234
Sử dụng lệnh: rli w1.txt OUT_FiLE.txt w2.txt
OUT_FILE.txt
password
cards
aceofspades
veryfast
2.25. Rli2
a. Định nghĩa
• Khơng giống với rli thì rli2 khơng có giới hạn. Nhưng rli2 u cầu các file
đầu vào phải được sắp xếp theo thứ tự alphabet
b. Cách sử dụng
Ví dụ: Tệp w1.txt
password
123
cards
999
aceofspades
1234
veryfast
Tệp w2.txt
123
999
17
1234
Sử dụng lệnh này để sắp xếp theo thứ tự alphabet
sort w1.txt > w1su.txt
sort w2.txt > w2su.txt
Sử dụng lệnh: rli2 w1su.txt w2su.txt ta sẽ nhận được kết quả
aceofspades
cards
password
veryfast
2.26.
2.27.
2.28.
a.
Rules_optimize
Seprule
Splitlen
Định nghĩa
• Chương trình này được thiết kế để trở thành một trình tối ưu hóa từ điển cho
oclHashcat hiện khơng được dung nữa.
Lưu ý: hashcat hiện đại khơng cần tối ưu hóa này nữa .
• OclHashcat có một cách rất cụ thể để tải từ điển, không giống như CPU
hashcat. Cách tốt nhất để tổ chức từ điển của bạn để sử dụng với oclHashcat
là sắp xếp từng từ trong từ điển của bạn theo độ dài của nó thành các tệp cụ
thể, vào một thư mục cụ thể, sau đó chạy oclHashcat ở chế độ thư mục.
b. Cách sử dụng
$ ./splitlen.bin : ./splitlen.bin goneir
Tạo một thư mục mới, ví dụ như “ldicts”.
$ mkdir ldicts
$ ./splitlen.bin ldicts
Kết quả
$ ls -l ldicts /
tổng số 129460
-rw-r - r-- 1 root root 90 Oct 12 15:54 01
-rw-r - r-- 1 root root 1005 Oct 12 15:54 02
18
-rw-r --r-- 1 root root 9844 Oct 12 15:54 03
-rw-r - r-- 1 root root 89495 Oct 12 15:54 04
-rw-r - r-- 1 root root 1555014 Oct 12 15 : 54 05
-rw-r - r-- 1 root root 13634586 Oct 12 15:54 06
-rw-r - r-- 1 root root 20050168 Oct 12 15:54 07
-rw-r - r-- 1 root root 26694333 Oct 12 15:54 08
-rw-r - r-- 1 root root 21910390 Oct 12 15:54 09
-rw-r - r-- 1 root root 22150645 Oct 12 15:54 10
-rw -r - r-- 1 root root 10392420 Oct 12 15:54 11
-rw-r - r-- 1 root root 7219550 Oct 12 15:54 12
-rw-r - r-- 1 root root 5098436 Oct 12 15:54 13
-rw-r - r-- 1 root root 3727905 Oct 12 15:54 14
-rw-r - r-- 1 root root 0 Oct 12 15:54 15
2.29.
a.
2.30.
a.
2.31.
a.
b.
LƯU Ý: splitlen khơng nối thêm, nó ghi đè lên các tệp trong phần mở rộng. Đó là lý
do tại sao bạn nên sử dụng các thư mục trống.
Strip-bsn
Định nghĩa
• Được sử dụng để xóa \0 khỏi STDIN.
Strip-bsr
Định nghĩa
• Được sử dụng để xóa \r khỏi STDIN.
Tmesis
Định nghĩa
• Tmesis được tạo ra để lấy một danh sách từ và tạo ra các quy tắc chèn để chèn
từng từ trong danh sách từ vào các vị trí đặt trước.
Cách sử dụng
Ví dụ: Từ 'mật khẩu' sẽ tạo quy tắc chèn sẽ chèn 'mật khẩu' từ vị trí 0 đến vị
trí F (15) và sẽ thay đổi chuỗi '123456' như sau
password123456
1password23456
12password3456
123password456
1234password56
12345password6
123456password
• Sử dụng tmesis để tạo quy tắc tấn cơng danh sách băm đến từ nguồn. Chạy
phân tích ban đầu về mật khẩu đã bẻ khóa, thu thập 10-20 từ hàng đầu xuất
hiện trên mật khẩu và sử dụng tmesis để tạo quy tắc từ chúng.
• Sử dụng các quy tắc được tạo tmesis kết hợp với best64.rule.
• Tmesis khơng xử lý các ký tự unicode nhiều byte dưới dạng các ký tự đơn lẻ,
mà là các byte riêng lẻ. Điều này có nghĩa là nó cũng có thể được sử dụng để
chèn các ký tự nhiều byte.
19
2.32. Tmesis-dynamic
Cách sử dụng
• tmesis-dynamic sẽ lấy 2 danh sách từ và tạo một danh sách mới, sử dụng
chuỗi con do người dùng xác định làm “khóa”.
• Mỗi từ trong danh sách từ 1 khớp với chuỗi con do người dùng xác định sẽ
thay thế chuỗi con đó bằng mỗi từ trong danh sách từ 2.
Với 2 danh sách
Tạo ra danh sách các từ khóa với từ khóa chính “jack”
$ cat wordlist1.txt
isajack3935
jackysch_5131
HBjackas5
mom1jackhopes
$ cat wordlist2.txt
123456
password
jill
hashcat
$ ./tmesis-dynamic.pl jack wordlist1.txt wordlist2.txt
isa1234563935
isapassword3935
isajill3935
isahashcat3935
123456ysch_5131
passwordysch_5131
jillysch_5131
hashcatysch_5131
HB123456as5
HBpasswordas5
HBjillas5
HBhashcatas5
mom1123456hopes
mom1passwordhopes
mom1jillhopes
mom1hashcathopes
20
2.33. Topmorph
Cách sử dụng
./topmorph.pl dictionary depth width pos_min pos_max
Phần 3: Một số hạn chế của Hashcat-Utils
• Một số chương trình từ hashcat-utils có phạm vi độ dài từ tối thiểu và tối đa được
phép (như trong ví dụ “len”).
Ví dụ: xem splitlen.c:
#define LEN_MIN 1
#define LEN_MAX 64
• có thể thay đổi chúng và sau đó biên dịch lại hashcat-utils. Tuy nhiên, thường
khơng cần những từ đơn giản có độ dài lớn hơn để bẻ khóa mật khẩu.
Phần 4: Demo
4.1. Combinator Attack to generate wordlist linux
Hình 4.1: Tạo wordlist1 11
21
Hình 4.2: Tạo wordlist2 2
Tạo combined_wordlist.txt
Sử dụng lệnh: /usr/share/hashcat-utils/combinator.bin wordlist1.txt wordlist2.txt >
combined_wordlist.txt
Ta được file sau khi đã kết hợp từ 2 file cho trước
22
Hình 4.3: Combined wordlist 3
23
Hình 4.3: Combinator Attack 2 từ điển 4
24