1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận đề tài tìm hiểu về kỹ thuật crack password bằng phần mềm john the ripper

29 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

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 1

TRƯỜ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ÀNVÀ 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 : OvisLớp : 46K22.1Sinh 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 2

1.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 4

Save to a Studylist

Trang 5

CHƯƠ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 6

○ "bigcrypt"

○ DES-based mở rộng BSDI ○ FreeBSD MD5-based,

● Ngoài ra còn được hỗ trợ thêm các hàm Hash Kerberos / AFS vàWindows LM (dựa trên DES), cũng như các mã ba chân dựa trên DES.

1.2.Các cách thức tấn công:

Các công cụ bẻ khóa mật khẩu và phân tích mật mã thường hoạt động theo3 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ữ hoavà 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 7

■ 1.2.3 Tấn công bảng Rainbow

Tấn công bảng Rainbow là một phương pháp bẻ khóa mật khẩu sử dụngmột bảng đặc biệt (“bảng Rainbow”) để bẻ khóa các Hash mật khẩu trong cơ sởdữ liệu Sau khi người dùng nhập mật khẩu để đăng nhập, mật khẩu sẽ đượcchuyển đổi thành hàm Hash và kết quả được so sánh với các hàm Hash được lưutrữ trên máy chủ để tìm kiếm Hash trùng khớp Nếu khớp, người dùng được xácthực và có thể đăng nhập vào ứng dụng Bản thân bảng Rainbow đề cập đến mộtbảng được tính trước có chứa giá trị Hash mật khẩu cho mỗi ký tự văn bản thuầntúy được sử dụng trong quá trình xác thực Nếu tin tặc có quyền truy cập vàodanh sách Hash mật khẩu, chúng có thể bẻ khóa tất cả mật khẩu rất nhanh bằngbảng Rainbow

Ví 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ẩuvà 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ấtcả người dùng ứng dụng.

1.3 Các chế độ bẻ khóa:

■ 1.3.1 Chế độ Single Crack:

Chế độ Single Crack sử dụng thông tin từ các file mật khẩu UNIX như tênđầy đủ của người dùng, tên người dùng,… để đoán mật khẩu Điều này có thểhữu ích trong trường hợp người dùng đã đặt mật khẩu cho tài khoản dựa trênthông tin hoặc cụm từ thường có sẵn trong tên người dùng (ví dụ: user: User, an:An456).

■ 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 10

Hì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 11

Hình 2.1.2 Bẻ khóa mật khẩu của SHA1_test.txtKế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 filewordlisttest.txt

Trang 12

Hì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 13

Hì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 14

Hình 2.3.1 test1.txt

- Bước 2: Gõ lệnh: john –incremental=alpha –form=raw-md5 test1.txt với incremental=alpha giới hạn kết hợp các kí tự đến mức các chữ cái thường (form là dạng viết tắt của format)

Trang 15

Hình 2.3.2 Crack hash bằng chế độ IncrementalKế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 16

Hình 2.4.1 Sử dụng lệnh zip2john

- Bước 2: sử dụng từ điển có trong kali linux để crack dòng hash có trong ziptest.txt

Hình 2.4.2 Crack mật khẩu zip

Kết quả: ta được mật khẩu “password”, sử dụng mật khẩu này để mở file zip

Trang 17

Hì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 18

Hình 2.5.1 Sử dụng lệnh rar2john

- Bước 2: sử dụng từ điển có trong kali linux để crack dòng hash có trong rartest.txt

Hình 2.5.2 Crack mật khẩu rar

Kết quả: ta được mật khẩu “1234”, sử dụng mật khẩu này để mở file rar

Trang 19

Hì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 20

Hì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 21

Hì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 22

Hình 2.6.3 Crack mật khẩu pdf

Kết quả: crack được mật khẩu “qwerty”, dùng mật khẩu này để mở file pdf

Trang 23

Hì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 25

Kế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

● KẾT LUẬN

Từ khởi đầu của Internet đến nay, mật khẩu vẫn là phương tiện chính đểxác thực của các hệ thống máy tính Điều này rất quan trọng đối với các công ty,tổ chức vì cần phải đảm bảo rằng các mật khẩu yếu không an toàn ở mức tốithiểu để tăng tính bảo mật Để đảm bảo điều này, nhiều phương pháp đã đượcthực hiện, chẳng hạn như ra các chính sách đặt mật khẩu hơn và thực thi củng cốđộ 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

Ngày đăng: 04/06/2024, 10:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN