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 toàn mạng Bài báo cáo Pydictor Giảng viên hướng dẫn TS Đặng Minh Tuấn 1 Mục lục DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VI[.]
Trang 1HỌ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 toàn mạng Bài báo cáo: Pydictor
Trang 2
Mục lục
DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT 2
LỜI MỞ ĐẦU 3
Chương 1: Khái quát về Pydictor 4
1.1 Dictionary Attack là gì? 4
1.2 Wordlist là gì? 5
1.3 Giới thiệu sơ lược về công cụ Pydictor 6
1.4 Chức năng của Pydictor 7
Chương 2: Hướng dẫn cài đặt, sử dụng Pydictor 9
2.1 Hướng dẫn cài đặt Pydictor 9
2.2 Hướng dẫn sử dụng Pydictor 11
Chương 3: Demo 12
3.1 Login Dictionary Attack 12
3.1.1 Kịch bản demo 12
3.2.2 Phương thức tấn công 12
3.2 Hashed Password Dictionary Builder 17
3.2.1 Kịch bản demo 17
3.2.1 Phương thức tấn công 17
Kết luận 19
Tài liệu tham khảo 20
Pydictor 20
Comprehensive Guide on Pydictor – A wordlist Generating Tool 20
Trang 3DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT
Trang 4Có rất nhiều công cụ hỗ trợ tạo wordlist hiệu quả, có tính tùy biến cao Trong bài báo cáo này, chúng ta sẽ đi tìm hiểu công cụ Pydictor, một phần mềm tạo wordlist vô cùng hiệu quả
Trang 5Chương 1: Khái quát về Pydictor 1.1 Dictionary Attack là gì?
Một cuộc tấn công từ điển là một kỹ thuật hay phương pháp được sử dụng để tấn công
sự bảo mật máy tính của một máy được bảo vệ bằng mật khẩu hoặc máy chủ Dictionary Attack nỗ lực tấn công để vượt qua cơ chế xác thực bằng cách thử từng giá trị trong một danh sách được tạo ra bởi kẻ tấn công như một mật khẩu hoặc cố gắng để xác định khóa giải mã của một thông điệp được mã hóa hoặc tài liệu Các cuộc tấn công từ điển thường thành công vì nhiều người sử dụng và các doanh nghiệp sử dụng các từ thông thường như mật khẩu Những lời nói bình thường có thể dễ dàng tìm thấy
Trang 61.2 Wordlist là gì?
Wordlist hiểu đơn giản là một danh sách mật khẩu được cấu tạo từ những luật khác nhau Danh sách trên được tổng hợp từ rất nhiều nguồn, có thể là những mật khẩu mà được sử dụng phổ biến nhất trên Internet, hay chúng cũng có thể là những đoạn text ngắn được kẻ tấn công tạo ra nhờ những đặc điểm có thể đoán được của tài khoản mà
họ muốn tấn công như: tên, email, ngày sinh, địa chỉ … Mục đích chung của Wordlist
là để phục vụ cho việc tấn công từ điển của hacker, danh sách wordlist càng nhiều và càng gần với nạn nhân bị tấn công thì tỉ lên thành công của hacker càng cao
Trang 71.3 Giới thiệu sơ lược về công cụ Pydictor
Pydictor là một công cụ mã nguồn mở cung cấp các phương thức giúp tạo ra các
wordlist một các nhanh chóng và hiệu quả Với tính tùy chỉnh cao, ta hoàn toàn có thể tạo ra những wordlist phù hợp với từng trường hợp cụ thể mà ta mong muốn
Hình 1: Options Pydictor
Trang 81.4 Chức năng của Pydictor
Như đã trình bày ở trên, chức năng chính của Pydictor tạo các wordlist với độ tùy
biến cao Pydictor gồm 14 phương thức tạo wordlist được liệt kê ở ảnh dưới:
Hình 2: Options tạo wordlist Pydictor
Trang 9Bên cạnh đó, Pydictor cũng cung cấp cho chúng ta rất nhiều hàm cũng như phương thức để hoàn toàn làm chủ wordlist của mình, có thể kể đến như:
Hình 3: Hàm tạo wordlist Pydictor
Trang 10Chương 2: Hướng dẫn cài đặt, sử dụng Pydictor 2.1 Hướng dẫn cài đặt Pydictor
Trước khi cài đặt Pydictor, hãy đảm bảo bạn đáp ứng đủ các yêu cầu sau:
• Có một bản phân phối Linux (Arch Linux, Manjaro, Kali Linux, Parrot
Security OS, BlackArch…)
• Đã cài đặt Python3
• Đã cài đặt Git
Việc cài đặt Pydictor cũng rất đơn giản
• Chạy lệnh: git clone depth=1 branch=master
https://www.github.com/landgrey/pydictor.git
• Sau khi tải package về, chúng ta truy cập vào thư mục pydictor cd /pydictor
• Chạy lệnh python pydictor.py, cửa sổ xuất hiện hình bên dưới tức là chúng ta
đã cài pydictor thành công và sẵn sàng được sử dụng
Trang 11Hình 4: Cài đặt Pydictor
Trang 122.2Hướng dẫn sử dụng Pydictor
- Tạo một wordlist cơ bản với chuỗi sô gồm 4 đơn vị
python pydictor.py -base d len 4 4 output D:\exits\or\not\dict.txt
- Tạo encode wordlist
python pydictor.py -base c len 1 3 encode b64
- Sử dụng những kí tự khác nhau để tạo wordlist
python pydictor.py -char "abc123._@ " len 1 3 tail @site
- Tạo những wordlist tổ hợp hay hoán vị
python pydictor.py -chunk abc ABC 666 _ @ "'" head a tail 123 encode md5
- Mở rộng wordlist dựa trên những luật cá nhân
Ta hoàn toàn có thể tạo ra wordlist cho cá nhân từ những wordlist có sẵn, pydictor
sẽ có những cơ chế để tạo ra những từ phù hợp nhất cho wordlist
Ví dụ: Wordlist sẵn có nằm trong file /names.txt : [liwell, shel, lybianjiw,
ebzhang]
Sử dụng câu lệnh dưới để tạo ra wordlist từ wordlist trên
python pydictor.py -extend /names.txt leet 0 1 2 11 21 level 1 len 4 16 occur "<=10" ">0" "<=2" -o /possbile/wordlist.lst
Trang 13Chương 3: Demo 3.1 Login Dictionary Attack
3.1.1 Kịch bản demo
Một trang web cho phép người dùng đăng nhập thông qua tài khoản và mật khẩu Trang web có cơ chế khi người dùng cố gắng đăng nhập với một tài khoản sai quá 5 lần, ip của người dùng sẽ bị khóa
Hình 5: Website demo
Giả sử, kẻ tấn công biết tài khoản của admin (Quan-ly-cua-hang@gmail.com
), hacker sẽ cố gắng sử dụng Dictionary Attack đẻ khai thác được mật khẩu của admin
3.2.2 Phương thức tấn công
- Đầu tiên hacker tạo một tài khoản user (Nhan-vien-ban-hang@gmail.com)
- Hacker sử dụng Pydictor để tạo một wordlist mật khẩu với một vài thông tin mà hacker đã biết
- Sử dụng Chức năng SEDB trong pydictor, hacker có thể tạo ra những mật khẩu với tính cá nhân hóa cao, phù hợp thông tin của hacker đã biết
Trang 14Hình 5: Social Engineering Dictionary Builder
- Các trường có thể sử dụng
Trang 15Hình 6: Các trường được sử dụng
- Các rules mà hacker đã thêm vào
Hình 6: Các rules hacker thêm
- File wordlist được tạo với 4902 kết quả
Trang 16Hình 7: Wordlist được tạo
- Sử dụng tài khoản của mình để vượt qua cơ chế khóa ip sau 5 lần nhập sai mật khẩu, Hacker thực hiện sửa payload tài khoản mật khẩu đúng sau 3 lần tấn công bằng Dictionary Attack
Kết quả: Tìm được mật khẩu của tài khoản admin
Trang 17Hình 7: Dictionary Attack với Burp Suite
Trang 183.2 Hashed Password Dictionary Builder
Trang 19- Kết quả
Hình 9: Hash Wordlist được tạo
Trang 20Kết luận
Pydictor là một công cụ tuyệt vời để tạo ra những wordlist vô cùng đơn giản mà hiệu quả Việc tạo ra những wordlist này có thể giúp những nhà phát triển ứng dụng cũng như các hacker có thể dễ dàng tạo ra những wordlist của riêng mình Dictionary Attack không đơn thuần là xấu, nó cũng là một trong những các giúp những nhà phát triển, các chuyên gia kiểm thử kiểm tra cũng như rà soát lỗi cho ứng dụng của mình để đảm bảo an toàn cho
hệ thống cũng khách hang sử dụng sản phẩm
Trang 21Tài liệu tham khảo