1. Trang chủ
  2. » Kỹ Năng Mềm

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

30 16 0

Đ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

Thông tin cơ bản

Tiêu đề Công Cụ Wordlister Trong Kali Linux Và Ứng Dụng Trong Bẻ Khoá Mật Khẩu
Tác giả Trần Anh Tú
Người hướng dẫn TS. Đặng Minh Tuấn
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành An toàn mạng
Thể loại bài báo cáo
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 30
Dung lượng 2,2 MB

Cấu trúc

  • Chương 1. Giới thiệu (7)
    • 1.1. Tổng quan về Wordlister (7)
    • 1.2. Tổng quan về bẻ khoá mật khẩu (Password Attacking/Cracking) (7)
  • Chương 2. (9)
    • 2.1. Cài đặt Wordlister (9)
    • 2.2. Sử dụng Wordlister để tạo ra danh sách từ (thư viện mật khẩu) (10)
  • Chương 3. Demo (15)
    • 3.1. Tấn công vét cạn (brute-force) mật khẩu wifi (15)
      • 3.1.1. Chuẩn bị (15)
      • 3.1.2. Demo tấn công (15)
    • 3.2. Tấn công vét cạn (brute-force) trang đăng nhập (18)
      • 3.2.1. Chuẩn bị (0)
      • 3.2.2: Demo tấn công (20)
  • Chương 4. So sánh và đánh giá (27)
    • 4.1. Một số phần mềm tạo thư viện mật khẩu hoặc danh sách từ khác (27)
      • 4.1.1. Crunch (27)
      • 4.1.2. CeWL (27)
    • 4.2. So sánh Wordlister với Crunch (28)
  • Chương 5. Kết luận (29)
  • TÀI LIỆU THAM KHẢO (30)

Nội dung

Giới thiệu

Tổng quan về Wordlister

Wordlister là một công cụ tạo và quản lý danh sách từ (wordlist) được phát triển bằng Python Nó nổi bật với khả năng tận dụng đa xử lý, giúp tăng tốc độ hoạt động Ngoài ra, Wordlister còn cung cấp nhiều tùy chọn hoán vị như trường từ vựng, chữ viết hoa, cũng như tính năng nối và thêm từ, mang lại sự linh hoạt cho người dùng.

Hình 1: Ảnh minh hoạ một worlist

Wordlister là một công cụ mã nguồn mở được tích hợp vào cơ sở dữ liệu của Kali Linux từ ngày 3/9/2019, với phiên bản mới nhất là 48.d63f5ab, được cập nhật vào ngày 6/1/2021 Hiện tại, Wordlister cũng có phiên bản ứng dụng web, nhưng báo cáo này sẽ tập trung vào phiên bản phổ biến chạy trên Kali Linux.

Tổng quan về bẻ khoá mật khẩu (Password Attacking/Cracking)

Tấn công password là ta tìm cách để có được password của một userID nào đó để xâm nhập vào hệ thống của họ

Một cách tổng quan, có 4 dạng tấn công mật khẩu là:

Cuộc tấn công thụ động trực tuyến, hay còn gọi là Passive Online, bao gồm các phương thức như nghe trộm (sniffing), tấn công trung gian (MITM), và tấn công lặp lại (replay attacks), cho phép kẻ tấn công theo dõi và ghi lại sự thay đổi mật khẩu trên mạng.

• Active Online: Đoán trước mật khẩu nguời quản trị Các cuộc tấn công trực tuyến bao gồm việc đoán password tự động

• Offline: Các kiểu tấn công như Dictionary, hybrid, và brute-force

• Non-Electronic: Các cuộc tấn công dựa vào yếu tố con người như Social engineering, Phishing… [2]

Chúng ta sẽ không phân tích chi tiết từng loại tấn công mà chỉ tập trung vào điểm chung là chúng đều sử dụng từ điển mật khẩu Vấn đề quan trọng nhất là tìm nguồn gốc của từ điển này, vì các tác vụ khác nhau yêu cầu các từ điển khác nhau.

Khi đăng nhập vào dịch vụ từ xa, chúng ta không cần sử dụng những từ điển quá lớn, mà chỉ cần tập trung vào những tên người dùng và mật khẩu phổ biến nhất Hầu hết các dịch vụ mạng đều có chế độ bảo vệ tùy chỉnh, yêu cầu người dùng chờ một khoảng thời gian dài giữa các lần thử để tránh bị chặn IP bởi các tập lệnh tự động Do đó, việc bắt đầu với những bộ từ phổ biến sẽ tiết kiệm thời gian và tăng hiệu quả trong quá trình đăng nhập.

Để đảm bảo an toàn cho mạng Wi-Fi, việc sử dụng mật khẩu mạnh là rất cần thiết Chúng ta cần một từ điển chất lượng cao với các mật khẩu phổ biến, và kích thước của từ điển này càng lớn càng tốt, đặc biệt là khi bạn sở hữu phần cứng trung bình hoặc mạnh.

Để tối ưu hóa quản lý website, việc cung cấp địa chỉ khu vực quản trị, tên miền phụ, thư mục và tệp là bắt buộc Chúng ta cần một từ điển chuyên ngành để nắm rõ các địa chỉ phổ biến nhất trong lĩnh vực này.

Không thể có một từ điển hoàn hảo cho mọi tình huống, vì vậy việc sử dụng các công cụ tạo từ điển mật khẩu hoặc danh sách từ là lựa chọn tối ưu cho nhu cầu này.

Cài đặt Wordlister

Bài báo này chủ yếu nói về Kali Linux, nhưng bất kỳ bản phân phối Linux nào cũng có thể cài đặt Wordlister Để bắt đầu, người dùng cần tải Wordlister từ GitHub, có thể sử dụng lệnh git clone hoặc tiện ích wget, một phương pháp phổ biến cho mọi bản distro Lệnh wget để tải xuống là: wget https://raw.githubusercontent.com/4n4nk3/Wordlister/master/wordlister.py.

Hình 2: Tải xuống Wordlister từ GitHub

Sau đó mở worlister.py bằng câu lệnh của python 3:

Hình 3: Chạy file wordlister.py bằng python3

Wordlister cung cấp thông tin chi tiết về cách sử dụng và các đối số cần thiết Để xem hướng dẫn và thông số cụ thể, bạn có thể sử dụng cờ -h để mở menu trợ giúp của Wordlister.

Hình 4: Menu trợ giúp và các đối số của Wordlister

Sử dụng Wordlister để tạo ra danh sách từ (thư viện mật khẩu)

Để sử dụng Wordlister, trước tiên chúng ta cần một tệp đầu vào chứa danh sách các mật khẩu mà chúng ta muốn tạo hoán vị

Tạo một tệp văn bản chứa một vài mât khẩu phổ biến để làm cơ sở thực hiện list password

Hình 5: Tệp chứa danh sách password ban đầu

Khi có danh sách password ban đầu, để có thể sử dụng các câu lệnh với Wordlister, ta cần ghi nhớ các đối số bắt buộc của chúng:

- input = tên của tệp văn bản chứa danh sách mật khẩu

- perm = số lượng hoán vị trên cùng một dòng

- min = độ dài tối thiểu của một hoán vị

- max = độ dài tối đa của một hoán vị

Ví dụ ta sẽ thực hiện câu lệnh sau python3 wordlister.py input pass.txt perm 2 min 6 max 32

Hình 6: Thực hiện hoán vị mật khẩu

Kết quả được Wordlister tự động lưu vào file output.txt :

Hình 7: Kết quả sau khi hoán vị và kết hợp danh sách

Ta có thể tăng giảm số lượng mật khẩu được tạo ra bằng cách thay đổi giá trị của đối số perm:

Hình 8: Số lượng mật khẩu tăng lên sau khi thay đổi giá trị -perm

Wordlister cho phép người dùng kết hợp các mật khẩu đã cho để tạo ra tất cả các hoán vị có thể, đồng thời hỗ trợ nhiều tùy chọn bổ sung như leet, cap, up và append, giúp tăng cường tính linh hoạt trong việc tạo mật khẩu.

Chẳng hạn như tuỳ chọn leet sẽ làm thay đổi các ký tự chữ thành số tương ứng và ngược lại (leetspeak):

Hình 9: Tạo mật khẩu với tuỳ chọn -leet cap sẽ viết hoa chữ cái đầu tiên của mật khẩu:

Hình 10: Tạo mật khẩu với tuỳ chọn cap

Hay như up sẽ thay đổi một ký tự trước khi hoán vị thành chữ in hoa

Hình 11: Tạo mật khẩu với tuỳ chọn –up

13 append sẽ thêm bất kì chuỗi nào mà ta muốn vào sau các hoán vị:

Hình 12: Tạo mật khẩu với tuỳ chọn append

Demo

Tấn công vét cạn (brute-force) mật khẩu wifi

Mục tiêu tấn công: Wifi

Công cụ sử dụng: Wordlister (tạo danh sách mật khẩu) và Aircrack-ng

Bước 1: Tạo danh sách mật khẩu với Wordlister

Bằng các câu lệnh và thao tác đơn giản sử dụng các từ khoá phổ biến trong mật khẩu wifi ta tạo được một wordlist như hình

Hình 13: Wordlist được chuẩn bị sẵn

Bước 2: Bắt đầu thực hiện các lệnh để sử dụng chức năng của Aircrack-ng, đảm bảo rằng tất cả các lệnh phải được chạy với quyền root Hãy nhập lệnh đầu tiên để tiến hành.

“airmon-ng check kill” Lệnh này chạy để dừng tất cả các tiến trình khác đang sử dụng interface của wifi

Hình 14: Dừng tiến trình đang sử dụng wlan0

Bước 3: Ta chạy lệnh “airmon-ng start wlan0” Lệnh này giúp ta khởi động chạy chế độ giám sát wlan0 (interface wifi được lựa chọn để tấn công)

Hình 15: Khởi động chế độ giám sát wlan0

Bước 4: Ta chạy lệnh “airodump-ng wlan0mon” Lệnh này được thực hiện ở bước

Kiểm thử dò quét hệ thống để biết các thông tin liên quan đến wifi và các thông tin cần thiết cho cuộc tấn công

Hình 16: Các mạng wifi được quét thấy Ở bước này ta xác định được mục tiêu cần tấn công với các thông tin như sau:

Sau khi đã có các thông tin đó thì ta chỉ cần theo dõi cái AP mà ta tấn công như sau

“airodump-ng bssid [nhập bssid của mục tiêu] -c [channel của mục tiêu] -w [tên file muốn viết].txt [wireless adapter]mon”

Hình 17: Theo dõi AP mục tiêu

Để đảm bảo quá trình nghe lén thành công, mở một terminal khác và nhập lệnh để ngắt kết nối các client đang kết nối với AP Khi đó, các client sẽ thực hiện lại 4-way handshake, giúp ta bắt được gói tin cần thiết.

“aireplay-ng deauth [số khung bỏ xác thực , giá trị bằng 0 thì là liên tục] -a [BSSID] [wireless adapter]mon”

Hình 18: Gửi các yêu cầu DeAuth để ngắt kết nối dịch vụ

Bước 7: Wordlist attack Ở bước này ta sẽ sử dụng bộ danh sách từ đã tạo sẵn trước đó bằng Wordlister

Sử dụng câu lệnh sau:

17 aircrack-ng [file cap đã bắt được] -w [file wordlist đã chuẩn bị]

Lệnh này sẽ tiến hành tạo mã hash cho mỗi password trong wordlist và tiến hành so sánh với password đã hash bắt được trong file cap

Hình 19: So sánh mã hash của handshake và wordlist

Bước 8: Đến khi thấy xuất hiện “KEY FOUND” là ta đã tìm được mật khẩu wifi

Hình 20: Thành công tìm được mật khẩu wifi

Tấn công vét cạn (brute-force) trang đăng nhập

Mục tiêu tấn công: dieutrathuysan.gso.gov.vn

Hệ thống thử nghiệm của ứng dụng Quản lý & Điều tra Thủy sản của Tổng cục Thống kê cho phép khai thác dữ liệu với quyền hạn nhất định, chỉ dành cho người làm báo cáo được phép.

Công cụ sử dụng: Wordlister (tạo danh sách mật khẩu) và Burp Suite (thực hiện tấn công)

3.2.1.1 Giới thiệu về Burp Suite

Burp Suite là một công cụ quét bảo mật hàng đầu, nổi bật với nhiều tính năng mạnh mẽ và khả năng tích hợp các phần mềm mở rộng tùy chọn Công cụ này cho phép kiểm tra tính bảo mật của ứng dụng web cũng như các thành phần khác trên trang web, giúp người dùng phát hiện và khắc phục các lỗ hổng bảo mật hiệu quả.

Burp Suite hỗ trợ người dùng trong việc đánh giá các tiêu chí bảo mật quan trọng, bao gồm kiểm tra các vấn đề liên quan đến phiên bản người dùng, thực hiện kiểm tra cơ chế xác thực, cũng như liệt kê và đánh giá các tham số đầu vào của ứng dụng.

Burp Suite có các chức năng chính như sau:

Decoder là công cụ giúp giải mã và mã hóa các chuỗi dữ liệu theo nhiều định dạng khác nhau Để sử dụng tính năng Decoder, bạn chỉ cần truy cập vào tab decoder và nhập dữ liệu mà bạn muốn giải mã hoặc mã hóa.

Proxy Server được sử dụng để tiếp nhận và chỉnh sửa các yêu cầu trước khi gửi đến máy chủ Để sử dụng tính năng này, người dùng cần mở Burp Suite, vào tab proxy và đánh dấu vào ô Running.

Chức năng Repeater cho phép người dùng tùy chỉnh và sửa đổi nhanh chóng nội dung của các yêu cầu gửi đến máy chủ, giúp thực hiện nhiều lần khác nhau một cách linh hoạt.

Tính năng so sánh giúp phân biệt rõ ràng sự khác biệt giữa các yêu cầu và phản hồi, đồng thời cho phép người dùng dễ dàng so sánh các tệp tin và dữ liệu lớn.

Web spider là công cụ duyệt web tự động giúp xác định cấu trúc trang web Để sử dụng tính năng này, bạn cần truy cập vào tab Sitemap và Target, sau đó nhấn chuột phải vào mục tiêu và chọn tùy chọn spider cho máy chủ.

Intruder là công cụ tự động hóa các cuộc tấn công tùy chỉnh nhằm vào ứng dụng Web, bao gồm bốn panel chính: mục tiêu, vị trí, tải trọng và các tùy chọn.

Hình 21: Cửa sổ Burp Intruder

Bước 1: Chuẩn bị danh sách mật khẩu cơ sở

Thông tin được biết trước về một tài khoản với chức danh Giám sát tỉnh như sau:

Tài khoản: Gst22001 – Mật khẩu: a@

Kẻ tấn công đã do thám thông tin từ một tài khoản có chức danh nhất định, với mục tiêu tìm kiếm tài khoản và mật khẩu của cá nhân có quyền truy cập cao hơn Điều này cho phép kẻ tấn công thực hiện nhiều chức năng hơn trên ứng dụng.

Chúng tôi sẽ tạo một tệp tài khoản dựa trên các chức danh viết tắt như gsv (Giám sát vụ), gsc (Giám sát cục), gsh (Giám sát huyện) và các mã tỉnh tương ứng từ 01 đến 64, cùng với các số từ 001 đến 009.

Hình 22: Tệp chứa danh sách tài khoản cơ sở

Bước 2: Sử dụng Wordlister để tạo danh sách tài khoản theo định dạng

Hình 23: Danh sách tài khoản được tạo bởi Wordlister

Bước 3: Áp dụng logic trên tương tự với quy trình tạo danh sách mật khẩu với các ký tự: 1, 2, 3, a, b, c, @

Hình 24: Danh sách mật khẩu tạo bởi Wordlister

Bước 3: Sử dụng Proxy mode của Burp Suite để truy cập vào URL cần tấn công với tuỳ chọn “Intercept is on”

Hình 25:Truy cập login page trong proxy mode

Bước 4: Nhập một tài khoản và mật khẩu bất kỳ để Burp Suite bắt request chứa tham số truyền vào

Hình 26: Request chứa tham số TaiKhoan và MatKhau

Bước 5: Gửi request này đến Intruder để thực hiện tấn công vét cạn

Hình 27: Tuỳ chọn Send to Intruder

In Step 6 of using Intruder, navigate to the Positions tab and sequentially remove the existing payload positions by clicking the "Clear" button Then, insert the parameter values for "username" and "password" by selecting them and using the "Add" button Finally, change the Attack type to Cluster bomb.

Hình 28: Chỉnh sửa các vị trí đầu vào cho payloads và chọn hình thức tấn công phù hợp

Bước 7: Chuyển đến tab Payloads và chọn danh sách từ đã tạo làm các payload Để thực hiện, hãy chọn payload set = “1” và thêm tệp chứa danh sách tài khoản trong mục Payload Options [Simple list].

Hình 29: Thêm danh sách tài khoản từ tệp output.txt vào payload list

Bước 8: Làm tương tự với danh sách mật khẩu, với tuỳ chọn Payload set = “2”

Hình 30: Đưa danh sách tài khoản từ tệp output2.txt vào payload list 2

Bước 9: Chọn Start Attack để bắt đầu tấn công vét cạn

Hình 31: Giao diện Intruder Attack – quá trình tấn công đang diễn ra

Bước 10: Quan sát Response trả về với từng cặp Payload để xác định tài khoản và mật khẩu đúng

Hình 32: Response cho biết chưa đúng tài khoản & mật khẩu

Hình 33: Response có khả năng đã đúng tài khoản & mật khẩu

Bước 11: Kiểm tra kết quả bằng cách đăng nhập với tài khoản và mật khẩu đã tìm được Đến bước này, quá trình tấn công vào trang đăng nhập đã hoàn tất.

Hình 34: Đăng nhập thành công với tài khoản và mật khẩu

So sánh và đánh giá

Một số phần mềm tạo thư viện mật khẩu hoặc danh sách từ khác

Crunch là một công cụ tạo danh sách từ nổi bật, có khả năng tạo ra nhiều tổ hợp mật khẩu, nhưng chủ yếu dựa vào các mẫu và ký tự thay vì tệp đầu vào Đặc biệt, Crunch cần một cờ để hạn chế trùng lặp, trong khi Wordlister tự động xử lý vấn đề này.

Cú pháp cơ bản của Crunch:

#crunch [chiều dài của mật khẩu ngắn nhất] [chiều dài ký tự lớn nhất] [mẫu muốn chọn] > [out file.txt]

Hình 35: Cú pháp cơ bản để tạo mật khẩu với Crunch

CeWL là một ứng dụng viết bằng Ruby, có khả năng thu thập thông tin từ một URL nhất định và cung cấp danh sách từ để hỗ trợ các trình bẻ khoá mật khẩu như John the Ripper hay hashcat Ngoài ra, CeWL còn tạo danh sách các địa chỉ email từ các liên kết mailto, giúp người dùng có thể sử dụng những địa chỉ này làm username trong các cuộc tấn công vét cạn.

Hình 36: Giao diện dòng lệnh của CeWL trên Kali Linux

So sánh Wordlister với Crunch

Tên công cụ Điểm chung Điểm riêng

Crunch Đều tạo thư viện mật khẩu theo cách kết hợp và tạo hoán vị Đều hỗ trợ chữ hoa và chữ thường riêng biệt Tốc độ nhanh

Tự động xử lý khi trùng lặp Đổi chữ cái thành số

Nối thêm từ vào trước sau mật khẩu

Yêu cầu 1 cờ để hạn chế trùng lặp

Tự động xử lý khi trùng lặp Đổi chữ cái thành số Nối thêm từ vào trước sau mật khẩu

Bảng 1 So sánh đặc điểm Wordlister và Crunch

Ngày đăng: 08/01/2022, 10:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] T. Luân, "Lượng người dùng internet trên toàn thế giới đạt 4,66 tỉ," VOV, 2021 Sách, tạp chí
Tiêu đề: Lượng người dùng internet trên toàn thế giới đạt 4,66 tỉ
[3] Wdchocopie, "AnonyViet.com," 18 07 2021. [Online]. Available: https://anonyviet.com/huong-dan-dung-aircrack-ng-de-hack-password-wifi-wpa-wpa2/ Sách, tạp chí
Tiêu đề: AnonyViet.com
[4] DRD_, "WONDER Howto," 05 05 2020. [Online]. Available: https://null- byte.wonderhowto.com/how-to/use-wordlister-create-custom-password-combinations-for-cracking-0206006/ Sách, tạp chí
Tiêu đề: WONDER Howto
[5] "PortSwigger," 2021. [Online]. Available: https://portswigger.net/support/using-burp-to-brute-force-a-login-page Sách, tạp chí
Tiêu đề: PortSwigger
[6] T. Nguyễn, "123doc," 2020. [Online]. Available: https://123docz.net/document/1795343-tai-lieu-tin-hoc-qua-trinh-tan-cong-he-thong-bao-mat-thong-tin.htm Sách, tạp chí
Tiêu đề: 123doc

HÌNH ẢNH LIÊN QUAN

Hình 1: Ảnh minh hoạ một worlist - Bài tập lớn môn an toàn mạng (5)
Hình 1 Ảnh minh hoạ một worlist (Trang 7)
Hình 4: Menu trợ giúp và các đối số của Wordlister - Bài tập lớn môn an toàn mạng (5)
Hình 4 Menu trợ giúp và các đối số của Wordlister (Trang 10)
Hình 8: Số lượng mật khẩu tăng lên sau khi thay đổi giá trị -perm - Bài tập lớn môn an toàn mạng (5)
Hình 8 Số lượng mật khẩu tăng lên sau khi thay đổi giá trị -perm (Trang 12)
Hình 10: Tạo mật khẩu với tuỳ chọn --cap - Bài tập lớn môn an toàn mạng (5)
Hình 10 Tạo mật khẩu với tuỳ chọn --cap (Trang 13)
Hình 15: Khởi động chế độ giám sát wlan0 - Bài tập lớn môn an toàn mạng (5)
Hình 15 Khởi động chế độ giám sát wlan0 (Trang 16)
Hình 18: Gửi các yêu cầu DeAuth để ngắt kết nối dịch vụ - Bài tập lớn môn an toàn mạng (5)
Hình 18 Gửi các yêu cầu DeAuth để ngắt kết nối dịch vụ (Trang 17)
Hình 20: Thành công tìm được mật khẩu wifi - Bài tập lớn môn an toàn mạng (5)
Hình 20 Thành công tìm được mật khẩu wifi (Trang 18)
Hình 19: So sánh mã hash của handshake và wordlist - Bài tập lớn môn an toàn mạng (5)
Hình 19 So sánh mã hash của handshake và wordlist (Trang 18)
Hình 21: Cửa sổ Burp Intruder - Bài tập lớn môn an toàn mạng (5)
Hình 21 Cửa sổ Burp Intruder (Trang 20)
Hình 23: Danh sách tài khoản được tạo bởi Wordlister - Bài tập lớn môn an toàn mạng (5)
Hình 23 Danh sách tài khoản được tạo bởi Wordlister (Trang 21)
Hình 25:Truy cập login page trong proxy mode - Bài tập lớn môn an toàn mạng (5)
Hình 25 Truy cập login page trong proxy mode (Trang 22)
Hình 26: Request chứa tham số TaiKhoan và MatKhau - Bài tập lớn môn an toàn mạng (5)
Hình 26 Request chứa tham số TaiKhoan và MatKhau (Trang 22)
Hình 27: Tuỳ chọn Send to Intruder - Bài tập lớn môn an toàn mạng (5)
Hình 27 Tuỳ chọn Send to Intruder (Trang 22)
Hình 28: Chỉnh sửa các vị trí đầu vào cho payloads và chọn hình thức tấn công phù hợp - Bài tập lớn môn an toàn mạng (5)
Hình 28 Chỉnh sửa các vị trí đầu vào cho payloads và chọn hình thức tấn công phù hợp (Trang 23)
Hình 29: Thêm danh sách tài khoản từ tệp output.txt vào payload list - Bài tập lớn môn an toàn mạng (5)
Hình 29 Thêm danh sách tài khoản từ tệp output.txt vào payload list (Trang 24)

TỪ KHÓA LIÊN QUAN

w