Tấn công từ điển:Đây là cuộc tấn công phổ biến và dễ sử dụng nhất trong công cụ bẻ khóamật khẩu JtR, sử dụng một từ đã được xác định trước hoặc danh sách các từ cóthể được sử dụng để bẻ
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA THƯƠNG MẠI ĐIỆN TỬ
–––––––––––––––––––––––––––––––
BÁO CÁO THUYẾT TRÌNH HỌC PHẦN AN TOÀN
VÀ BẢO MẬT THÔNG TIN
HỆ THỐNG THÔNG TIN QUẢN LÝ
ĐỀ TÀI: Tìm hiểu về kỹ thuật Crack password bằng
phần mềm John the Ripper
Tên Nhóm : Ovis
Lớp : 46K22.1
Sinh viên thực hiện : Lê Ngọc Thế Dân
Nguyễn Tiến ĐạtNguyễn Trần Minh MinhHoàng Ngọc Thành Lee Junho
Giảng viên hướng dẫn : Trần Thị Thu Thảo
Trang 21.1 Giới thiệu tổng quan: 2Giới thiệu phần mềm John the Ripper: 2Các tính năng của John the Ripper: 2
2.7 Crack mật khẩu của người dùng kali linux 20
Trang 3● DANH MỤC HÌNH ẢNH
Hình 1.1 Ngôn ngữ lập trình Python 2
Trang 4Save to a Studylist
Trang 5CHƯƠNG 1 TỔNG QUAN VỀ JOHN THE RIPPER
○ 1.1 Giới thiệu tổng quan:
1.1.1 Giới thiệu phần mềm John the Ripper:
Hình 1.1 Phần mềm John the Ripper
John the Ripper là một công cụ bẻ khóa mật khẩu nhanh chóng, hiện tại nó
có sẵn trong các phiên bản phân phối Unix, Windows, DOS, BeOS vàOpenVMS Mục đích chính của nó là phát hiện những điểm yếu của mật khẩuUnixx Bên cạnh đó là một vài loại hash phổ biến được tìm thấy trong các phiênbản Unix, hỗ trợ một vài dạng khác như Kerberos/AFS và Windows LM hashes
1.1.2 Các tính năng của John the Ripper:
● John the Ripper được thiết kế để vừa nhanh vừa hiệu quả
● Nó kết hợp nhiều chế độ bẻ khóa trong một chương trình và có thể cấuhình đầy đủ cho các nhu cầu cụ thể của người sử dụng
● John có thể được sử dụng trên nhiều nền tảng khác nhau cho phép ngườidùng sử dụng cùng một trình bẻ khóa ở mọi nơi
● Hỗ trợ (và tự động phát hiện) các loại Hash Unix crypt (3) sau:
○ DES-based truyền thống
Trang 6Các công cụ bẻ khóa mật khẩu và phân tích mật mã thường hoạt động theo
3 cách khác nhau Mục tiêu chung của cả 3 là đoán chính xác (hay còn gọi gọi là
“bẻ khóa”) một mật khẩu
■ 1.2.1 Tấn công từ điển:
Đây là cuộc tấn công phổ biến và dễ sử dụng nhất trong công cụ bẻ khóamật khẩu JtR, sử dụng một từ đã được xác định trước hoặc danh sách các từ cóthể được sử dụng để bẻ khóa mật khẩu Cuộc tấn công này sử dụng các từ trongdanh sách (Một tệp văn bản có các từ được xác định trước) và thử mọi từ trongdanh sách theo trình tự để bẻ khóa
■ 1.2.2 Tấn công brute-force
Nếu đang sử dụng kiểu tấn công này thì phải thực hiện cấu hình mật khẩutrước khi sử dụng nó, như xác định độ dài tối thiểu và tối đa của mật khẩu, xácđịnh các ký tự muốn kiểm tra trong quá trình bẻ khóa như (ký tự đặc biệt, bảngchữ cái và số)
Ví dụ: Chuỗi đang sử dụng để bẻ khóa mật khẩu phải bao gồm bảng chữcái viết hoa, ký tự đặc biệt và số như ABC32 @ $
Người dùng vẫn nhận được mật khẩu khi kết hợp thành công, nhưng quátrình hiệu quả này diễn ra rất chậm ví dụ: mật khẩu 10 ký tự bao gồm cả chữ hoa
và chữ thường cùng với số và các ký tự đặc biệt sẽ mất hơn 10 năm để máy tínhđoán được
Trang 7Ví dụ: Một kẻ tấn công phát hiện một ứng dụng web có kỹ thuật Hash mậtkhẩu lỗi thời và bảo mật tổng thể yếu Kẻ tấn công đánh cắp các hash mật khẩu
và bằng cách sử dụng bảng cầu vồng kẻ tấn công có thể giải mã mật khẩu của tất
■ 1.3.2 Chế độ Wordlist:
Đây là chế độ bẻ khóa đơn giản nhất của JtR Giống tấn công từ điển, chế
độ này dựa vào một file văn bản lưu danh sách từ được người dùng cung cấp vớimột từ trên mỗi dòng JtR không sắp xếp lại các mật khẩu danh sách Tuy nhiên,vẫn có thể thực hiện bởi người dùng nếu cần Lệnh được đề xuất để sắp xếp danhsách từ là: tr A-Z a-z < SOURCE | sort -u > TARGET
Trang 8■ 1.3.3 Chế độ Incremental:
Tương đương với quét cạn, chế độ Incremental của JtR là chế độ bẻ khóa mạnhnhất, nhưng tốn thời gian đối với mật khẩu đủ phức tạp Chế độ này có thể khôngbao giờ hoàn thành trong thời gian thực tế hay không bao giờ kết thúc Theohướng dẫn sử dụng của Openwall: "Có rủi ro việc bẻ khóa bằng chế độ này sẽkhông bao giờ kết thúc do số lượng kết hợp quá lớn (trên thực tế, chương trình sẽkết thúc nếu người dùng đặt giới hạn độ dài mật khẩu thấp hoặc sử dụng một bộ
ký tự nhỏ), và người dùng sẽ phải làm gián đoạn nó ngắt quãng
○ 1.4 Biện pháp phòng tránh việc mật khẩu bị bẻ khóa:
- Bật chế độ xác thực 2 yếu tố khi đăng nhập ở 1 thiết bị khác
- Thay đổi mật khẩu định kỳ
- Đặt mật khẩu phức tạp bao gồm chữ in hoa, số, ký tự đặc biệt
- Đối với cá nhân thì cần cẩn thận và chú ý, chỉ nhập thông tin vào những website có HTTPS Khi truy cập vào 1 điểm wifi công cộng, cần dùng VPN
- Đối với công ty và doanh nghiệp, cần tránh những giao thức thiếu an toàn như HTTP, FTP và Telnet và thay vào đó bằng SSH, HTTPS, SFTP Tất
cả các dữ liệu gửi ra ngoài cần được mã hoá, nhiều doanh nghiệp họ triển khai thêm VPN để tăng thêm 1 lớp bảo mật nữa
- Sử dụng Salting: Salting là một kỹ thuật hiện đại được sử dụng để ngăn chặn các cuộc tấn công bằng bảng Rainbow Nó thêm một giá trị ngẫu nhiên bổ sung vào mỗi mật khẩu được Hash để tạo ra một giá trị Hash khác Hầu hết các hệ thống xác thực mật khẩu hiện đại đều bao gồm Salting, điều này đã làm giảm đáng kể số lượng các cuộc tấn công bảng Rainbow thành công
Trang 9Được sử dụng hiệu quả trong việc phục hồi mật khẩu bị mất.
Có nhiều tùy chọn nâng cao có sẵn trong phần mềm JtR sẽ thuận tiện cho ngườidùng nâng cao
■ 1.5.1 Nhược điểm:
Khá phức tạp: JtR không có UI mà sử dụng các dạng lệnh Người dùngbình thường không đủ hiểu biết về phần mềm sẽ cảm thấy khó khăn khi sử dụng Nhược điểm khác của JtR là người dùng cần phải đăng nhập vào tài khoảnroot để cài đặt phần mềm ,sử dụng và khôi phục
CHƯƠNG 2 DEMO
2.1 Crack mật khẩu đã được mã hóa thành hash
- Bước 1: Lưu một dòng hash (trong trường hợp này, hash có dạng SHA1)vào file SHA1_test.txt
Trang 10Hình 2.1.1 Tệp SHA1_test.txt
- Bước 2: Tiến hành bẻ khóa dòng hash của file SHA1_test.txt Ta dùng lệnh: john –format=raw-sha1 SHA1_test.txt (raw-sha1 định dạng loại hash có trong file SHA1_test.txt)
Trang 11Hình 2.1.2 Bẻ khóa mật khẩu của SHA1_test.txt
Kết quả: mật khẩu được mã hóa thành dạng hash là “cook123”
○ 2.2 Crack mật khẩu bằng chế độ wordlist
- Bước 1: Lưu dòng hash (trong trường hợp này, hash có dạng md5) vào file
wordlisttest.txt
Trang 12Hình 2.2.1 File wordlisttest.txt-Bước 2: Trên john ta thực hiện lệnh: john
–wordlist=/usr/share/wordlists/rockyou.txt –format=raw-md5 wordlisttest.txt với
=/usr/share/wordlists/rockyou.txt là địa chỉ của từ điển (rockyou.txt là một từ điển có sẵn trong máy ảo kali linux)
Lưu ý: rockyou.txt phải được giải nén từ rockyou.txt.gz mới có thể sử dụng được
Trang 13Hình 2.2.2 Crack hash sử dụng wordlist
Kết quả: chế độ wordlist đã crack được mật khẩu là “sunny” từ username
“praisethesun”
○ 2.3 Crack mật khẩu bằng chế độ Incremental
- Bước 1: Lưu dòng hash (trong trường hợp này, hash có dạng md5) vào file test1.txt
Trang 15Hình 2.3.2 Crack hash bằng chế độ Incremental
Kết quả: Crack dòng hash thành công, mật khẩu của username
“incremental_crack” là “lethedan”
○ 2.4 Crack mật khẩu của file zip
- Bước 1: lấy mã hash của file zip rồi lưu vào file ziptest.txt bằng lệnh: zip2john ziptest.zip > ziptest.txt
Trang 17Hình 2.4.3 Giải nén file zip thành công
○ 2.5 Crack mật khẩu file rar
- Bước 1: lấy mã hash của file rar rồi lưu vào file rartest.txt bằng lệnh: rar2john test.rar > rartest.txt
Trang 19Hình 2.5.3 Giải nén file rar thành công
○ 2.6 Crack mật khẩu file pdf
- Bước 1: Sử dụng công cụ pdf2john.pl để tạo tệp hash pdf Ta tìm địa chỉ câu lệnh pdf2john bằng cách: locate pdf2john
Trang 20Hình 2.6.1 locate pdf2john
- Bước 2: Copy địa chỉ của pdf2john.pl Lấy mã hash của file pdf rồi lưu vào file pdftest.txt bằng lệnh: /usr/share/john/pdf2john.pl test.pdf > pdftest.txt
Trang 21Hình 2.6.2 Pdf2john
- Bước 3: sử dụng từ điển có trong kali linux để crack dòng hash có trong pdftest.txt
Trang 22Hình 2.6.3 Crack mật khẩu pdfKết quả: crack được mật khẩu “qwerty”, dùng mật khẩu này để mở file pdf
Trang 23Hình 2.6.4 Mở thành công file pdf
○ 2.7 Crack mật khẩu của người dùng kali linux
- Bước 1: Sử dụng lệnh: sudo unshadow /etc/passwd /etc/shadow > kalicrack.txtTrong đó: + /etc/passwd là một file dạng plain text chứa danh sách các tài khoản của hệ thống, cung cấp cho mỗi tài khoản một số thông tin hữu ích như ID người dùng, ID nhóm, thư mục chính, shell,…
+ /etc/shadow cung cấp cơ chế xác thực nâng cao cho hệ thống Linux bằng cách thắt chặt quyền truy cập ở cấp tài khoản Tệp văn bản này lưu trữ các mật khẩu thực ở dạng hash, cùng với thông tin bổ sung liên quan đến các mật khẩu này
Trang 24+ Để sử dụng câu lệnh này thì cần phải có đặc quyền của tài khoản root hoặc lệnhsudo
Hình 2.7.1 File kalicrack.txt chứa mật khẩu dạng hash của user trong máy kali
- Bước 2: Dùng lệnh: john –wordlist=/usr/share/wordlists/rockyou.txt –format=crypt kalicrack.txt để tiến hành bẻ khóa các mật khẩu có trong
kalicrack.txt
Trang 25Kết quả:
Hình 2.7.2 Danh sách các user và mật khẩu đã được crack của chúng
●
Trang 26độ mạnh của mật khẩu thường xuyên Bằng cách sử dụng các tiện ích bẻ khóamật khẩu, chẳng hạn như John the Ripper, các tổ chức có thể tư vấn cho ngườidùng về mật khẩu yếu và do đó đảm bảo họ tuân thủ chính sách Mặc dù loạikiểm toán này có thể từng được coi là không bắt buộc, vì lý do thời gian hoặc chiphí nhưng giờ đây nó có thể được coi là một biện pháp bảo mật hợp lý bằng cáchtận dụng lại các hệ thống máy tính cũ hoặc thực hiện thủ tục bẻ khóa mật khẩutheo từng nhóm trong thời gian ngắn.
Trang 27● TÀI LIỆU THAM KHẢO
1 https://www.openwall.com/john/
2 https://www.openwall.com/john/doc/
3 https://www.openwall.com/john/doc/MODES.shtml
4 essential-password-cracker-for-your-hacker-toolkit.html
https://www.csoonline.com/article/3564153/john-the-ripper-explained-an-5 https://infosecaddicts.com/john-ripper/
6 essential-password-cracker-for-your-hacker-toolkit.html
https://www.csoonline.com/article/3564153/john-the-ripper-explained-an-7 https://miloserdov.org/?p=4961
8 What is a shadow password file? (techtarget.com)
9 Understanding /etc/passwd File Format - nixCraft (cyberciti.biz)
Trang 28● PHỤ LỤC