Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

31 26 0
Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Đ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

BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - BÁO CÁO TIỂU LUẬN MÔN AN TỒN MẠNG CHỦ ĐỀ: Tìm hiểu cơng cụ FFUF Giảng viên: TS Đặng Minh Tuấn Sinh viên: Nguyễn Trần Tuấn Dũng MSV: B18DCAT036 Nhóm mơn học: Nhóm Hà Nội, 2021 Mục lục DANH SÁCH THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT DANH MỤC HÌNH ẢNH LỜI NÓI ĐẦU .6 Giới thiệu, lịch sử hình thành Giới thiệu Lịch sử hình thành .7 Hướng dẫn cài đặt .7 Cài đặt FFUF máy Linux .7 Cài đặt FFUF máy Windows Các khái niệm Fuzzing .9 Wordlist .9 Hướng dẫn sử dụng 10 Các tùy chọn FFUF 10 Một số tùy chọn phổ biến, hay dùng 13 Các tùy chọn chung 13 Các tùy chọn HTTP 14 Các tùy chọn đầu vào 14 Các tùy chọn lọc kết 15 Các tùy chọn tìm kết trùng khớp với điều kiện đưa 15 Các cách sử dụng FFUF 16 Tìm kiếm files, thư mục ẩn web .16 Tìm kiếm thư mục web .16 Tìm kiếm files web 16 Tìm trang trang web .17 Tìm subdomain trang web .17 Recursive Fuzzing (Tìm kiếm đệ quy) .18 Tìm tham số PHP .19 GET Request Fuzzing 19 POST Request Fuzzing 19 Tìm kiếm giá trị tham số 20 Lab, kịch bản, demo 20 Tìm kiếm thư mục web 20 Tìm kiếm files web 21 Tìm subdomain trang web .23 Tìm kiếm duyệt đệ quy với FFUF .24 Tìm tên tham số với FFUF .25 So sánh 27 So sánh với DirBuster GoBuster 27 So sánh với Wfuzz 28 Kết luận 29 TÀI LIỆU THAM KHẢO 30 DANH MỤC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT Thuật ngữ tiếng Anh/Từ viết tắt Wordlist opensource Thread Request Tool File Bruteforce Extension Option IIS (Internet Information Services) Thuật ngữ tiếng Việt/ Giải thích Danh sách từ Mã nguồn mở Luồng Thông báo yêu cầu HTTP Công cụ Tập tin Một loại công mạng Phần đuôi tập tin Tùy chọn Phần mềm máy chủ web mở rộng tạo Microsoft DANH MỤC HÌNH ẢNH Hình Cài đặt golang máy Linux Hình Cài đặt FFUF thông qua go complier Hình Kiểm tra phiên FFUF máy Linux Hình Kiểm tra thơng tin phiên FFUF máy Windows Hình Repo SecLists Github .10 Hình Câu lệnh hiển thị option FFUF 10 Hình Các tùy chọn chung FFUF 13 Hình Các tùy chọn HTTP FFUF 14 Hình Các tùy chọn đầu vào FFUF 14 Hình 10 Các tùy chọn đầu FFUF 15 Hình 11 Các tùy chọn lọc kết FFUF .15 Hình 12 Các tùy chọn tìm kết trùng khớp 15 Hình 13 Sử dụng FFUF để tìm kiếm thư mục ẩn trang web 20 Hình 14 Kết tìm kiếm thư mục 21 Hình 15 Trang web khơng hiển thị truy cập thư mục 21 Hình 16 Sử dụng FFUF để tìm đuôi file khả dụng thư mục 22 Hình 17 Kết tìm kiếm file thư mục 23 Hình 18 Câu lệnh tìm subdomain trang web 23 Hình 19 Kết tìm kiếm subdomain .24 Hình 20 Tìm kiếm đệ quy với FFUF 24 Hình 21 Quá trình tìm kiếm đệ quy FFUF 25 Hình 22 Trang web thông báo không đủ quyền đọc liệu 25 Hình 23 Câu lệnh FFUF tìm kiếm tên tham số hợp lệ .26 Hình 24 Kết tìm kiếm tham số 26 Hình 25 Giao diện người dùng DirBuster 27 LỜI NÓI ĐẦU Trong thời đại cơng nghệ thơng tin có bước phát triển vũ bão lĩnh vực hoạt động khắp nơi toàn giới, hầu hết tổ chức, doanh nghiệp có cho Website để thông tin buôn bán sản phẩm – dịch vụ đến khách hàng Mỗi Website dù nhỏ dù to tồn điểm yếu bảo mật nghiêm trọng mà tin tặc khai thác để phá hoại Vì vậy, báo cáo này, em giới thiệu kĩ thuật Fuzzing công cụ FFUF cách sử dụng để tìm lỗ hổng bảo mật tồn website Giới thiệu, lịch sử hình thành Giới thiệu FFUF (Fuzz Faster U Fool) tool opensource viết ngơn ngữ lập trình Go, ffuf ngày phát triển tốc độ đáng kể nó, chạy 100 thread thực scan subdomains với wordlist khoảng 110 nghìn từ phút 50 giây, với số request trung bình giây 2000 Lịch sử hình thành FFUF dự án mã nguồn mở, trì cộng đồng, tạo joohoi ( https://github.com/joohoi ) vào ngày 11 tháng 11 năm 2019 Hướng dẫn cài đặt Cài đặt FFUF máy Linux o Cài đặt mơi trường Vì FFUF viết golang nên việc cần làm đặt golang sudo apt-get install golang Hình Cài đặt golang máy Linux o Cài đặt FFUF Nếu cài sẵn go compiler cần gõ lệnh go get github.com/ffuf/ffuf Hình Cài đặt FFUF thơng qua go complier Hoặc git clone cd ffuf go build Để kiểm tra việc cài đặt thành công hay chưa, kiểm tra cách kiểm tra phiên bản: ffuf –V Hình Kiểm tra phiên FFUF máy Linux Cài đặt FFUF máy Windows o Cài đặt Golang từ trang chủ https://go.dev/doc/install o Cài đặt FFUF thông qua Windows terminal tương tự máy Linux go get github.com/ffuf/ffuf Hoặc git clone cd ffuf go build o Kiểm tra phiên Hình Kiểm tra thơng tin phiên FFUF máy Windows Các khái niệm Fuzzing Fuzzing kỹ thuật phát lỗi phần mềm cách tự động bán tự động sử dụng phương pháp lặp lại thao tác sinh liệu sau chuyển cho hệ thống xử lý Nó cung cấp liệu đầu vào cho chương trình (là liệu không hợp lệ, liệu không mong đợi: giá trị vượt biên, giá trị đặc biệt có ảnh hưởng tới phần xử lý, hiển thị chương trình), sau theo dõi ghi lại lỗi, kết trả ứng dụng trình xử lý chương trình Fuzzing kỹ thuật kiểm thử hộp đen khơng địi hỏi quyền truy cập vào mã nguồn Do có khả tìm thấy lỗi cách nhanh chóng tránh việc phải xem mã nguồn Wordlist o Wordlist danh sách từ tệp văn bản, dòng chứa từ, thiết kế cho mục đích khác o Các wordlist tìm github, thông qua repo github tiếng SecLists SecLists tập hợp danh sách từ sử dụng trình đánh giá bảo mật Danh sách gồm nhiều mục username (tên đăng nhập), passwords (mật khẩu), v v Hình Repo github SecLists Hướng dẫn sử dụng Các tùy chọn FFUF Đầu tiên tìm hiểu tùy chọn mà FFUF hỗ trợ, giống tool khác, FFUF cung cấp tùy chọn -h để xem tùy chọn mà FFUF hỗ trợ Hình Câu lệnh hiển thị option FFUF Đầu cho thấy tùy chọn mà FFUF có hỗ trợ: Fuzz Faster U Fool - v1.3.1-dev HTTP OPTIONS: Các cách sử dụng FFUF Tìm kiếm files, thư mục ẩn web o Về cốt lõi, chức FFUF mà người thường sử dụng bruteforce để tìm thư mục ẩn trang web o Với việc phát triển web web thường phân quyền user nhiều lập trình viên vơ tình xác thực phân quyền sai dẫn đến việc truy cập khơng thể kiểm sốt Chính fuzz web để tìm kiếm thư mục bị ẩn hay file liệu nhạy cảm bị tiết lộ Tìm kiếm thư mục web Để tìm kiếm files, thư mục ẩn web với FFUF, cần sử dụng options để tìm kiếm thư mục -w -u với: o option -w xác định đường dẫn wordlist mà sử dụng o option -u xác định URL trang web Ví dụ: ffuf -u -w /usr/share/wordlists/dirbuster/directory-list-1.0.txt Với từ khóa FUZZ vị trí cần tìm, có vai trị placeholder, nghĩa từ wordlist thay cho từ khóa FUZZ Tìm kiếm files web Để sử dụng FFUF với mục đích tìm kiếm file với extensions khác ta sử dụng thêm option -e Ví dụ: ffuf -u -w /usr/share/wordlists/dirbuster/directory-list-1.0.txt -e html,.php,.txt Option -e xác định file (extension) cần tìm Tìm trang trang web Giả sử sử dụng FFUF tìm thư mục /blog trang web, truy cập vào URL **https://example.com/blog**, web không trả lại hiển thị trang Lúc này, sử dụng FFUF để tiếp tục kiểm tra thư mục /blog có chứa trang ẩn không Tuy nhiên, trước chúng bắt đầu, cần xác định loại trang tồn thư mục (Ví dụ html,.aspx,.php, ), cách kiểm tra máy chủ web (web server) Ví dụ, máy chủ apache, phần mở rộng php, máy chủ IIS, phần mở rộng aps aspx Chúng ta sử dụng wordlist web-extensions.txt repo github SecLists để tìm duyệt qua phần mở rộng, từ biết loại file chứa thư mục mà khơng cần biết web server Ví dụ: ffuf -w /opt/useful/SecLists/Discovery/WebContent/web-extensions.txt:FUZZ -u http://SERVER_IP:PORT/blog/indexFUZZ Trong ví dụ trên, tìm file cách duyệt qua từ wordlist web-extensions.txt Tìm subdomain trang web Subdomain hay miền phụ phần mở rộng tên miền Ví dụ, https://mail.google.com với mail subdomain google.com Để tìm subdomain trang web với FFUF, cần wordlist Trong repo SecLists đề cập trên, có wordlist dành riêng cho việc này, tìm thấy SecLists/Discovery/DNS/ Ví dụ: ffuf -w /opt/useful/SecLists/Discovery/DNS/subdomainstop1million-5000.txt:FUZZ -u Trong ví dụ nêu trên, FFUF thực tìm subdomain trang web example.com với wordlist subdomains-top1million-5000.txt Recursive Fuzzing (Tìm kiếm đệ quy) Đặt tình thư mục tìm với FFUF có thư mục tệp riêng, việc tìm kiếm files thư mục nhiều thời gian để hồn thành Khi đó, để tự động hóa việc tìm kiếm file thư mục trang web nhằm mục đích tiết kiệm thời gian sử dụng Recursive fuzzing FFUF Khi sử dụng option -recursive, FFUF tự động bắt đầu trình quét khác theo thư mục xác định duyệt qua tất thư mục Nghĩa là, FFUF tìm thư mục /folder1 trang web example.com, FFUF tự động tìm kiếm thư mục thư mục /folder1 tiếp tục lặp đệ quy Các option cần sử dụng để thực tìm kiếm đệ quy FFUF -recursive -recursive-depth o Option -recursive thông báo cho FFUF thực duyệt tìm kiếm đệ quy o Option -recursive-depth để xác định “độ sâu” duyệt tìm kiếm đệ quy, để giá trị 1, FFUF duyệt tìm kiếm thư mục thư mục trực tiếp chúng Ví dụ: ffuf -w /opt/useful/SecLists/Discovery/WebContent/directory-list-2.3-small.txt:FUZZ -u http://SERVER_IP:PORT/FUZZ -recursion -recursiondepth -e php -v Ở ví dụ trên, sử dụng thêm option -v để FFUF in URL đầy đủ thư mục tìm option -e để tìm kiếm file có php Tìm tham số PHP GET Request Fuzzing Giả sử muốn tìm kiếm tham số PHP, sử dụng FFUF để làm việc Một URL kèm tham số có dạng http://admin.example.com:PORT/admin/admin.php? param1=key Với param tên tham số truyền vào key giá trị tham số Vì vậy, tất cần làm thay param thành FUZZ để FFUF tìm kiếm tham số, ví dụ: ffuf -w /opt/useful/SecLists/Discovery/WebContent/burp-parameter-names.txt:FUZZ -u :PORT/admin/admin.php? FUZZ=key -fs xxx POST Request Fuzzing Tương tự với GET request kèm tham số, sử dụng FFUF với POST request Điểm khác biệt POST request không chuyển cách thêm ? tên tham số kèm giá trị vào URL Với FFUF, sử dụng option -d để xác định data cần gửi POST Request Ví dụ: ffuf -w /opt/useful/SecLists/Discovery/WebContent/burp-parameter-names.txt:FUZZ -u :PORT/admin/admin.php -X POST -d 'FUZZ=key' -H 'Content-Type: application/xwww-form-urlencoded' -fs xxx Tìm kiếm giá trị tham số Giả sử sử dụng FFUF để tìm tên tham số, cần thêm giá trị hợp lệ tham số đó, FFUF giúp làm việc này, cần chút thay đổi nhỏ câu lệnh, thay để FUZZ vào tên tham số, để vào phần giá trị tham số, chi tiết ví dụ dưới: ffuf -w ids.txt:FUZZ -u :PORT/admin/admin.php -X POST -d 'id=FUZZ' -H 'Content-Type: application/xwww-form-urlencoded' -fs xxx Câu lệnh duyệt giá trị wordlist để tìm giá trị tham số id Lab, kịch bản, demo Tìm kiếm thư mục web Demo tìm kiếm thư mục web trang web có URL http://167.99.202.131:32466/ Sử dụng câu lệnh ffuf với option -w để xác định wordlist sử dụng -u để xác định URL trang web cần tìm thư mục Hình 13 Sử dụng FFUF để tìm kiếm thư mục ẩn trang web Tìm thư mục trang web Hình 14 Kết tìm kiếm thư mục Với đường dẫn tương ứng **http://167.99.202.131:32466/forum** **http://167.99.202.131:32466/blog** Tìm kiếm files web Kịch bản: Chúng ta phát thư mục /blog, truy cập vào trang web khơng hiển thị Khi đó, sử dụng FFUF để tìm kiếm file thư mục web /blog Hình 15 Trang web khơng hiển thị truy cập thư mục Tìm file hợp lệ wordlist web-extensions.txt , ta thấy với đuôi file php, trang web trả status code 200, nghĩa là đuôi file hợp lệ Hình 16 Sử dụng FFUF để tìm file khả dụng thư mục Tiếp theo, tìm kiếm tên file hợp lệ, sử dụng wordlist directory-list2.3-medium.txt Ta tìm trang home.php index.php Hình 17 Kết tìm kiếm file thư mục Tìm subdomain trang web Demo dị tìm subdomain trang web sử dụng wordlist subdomainstop1million-5000.txt, trang web tiến hành dị tìm subdomain hackthebox.eu Hình 18 Câu lệnh tìm subdomain trang web Và kết tìm subdomain trang web hackthebox.eu: Hình 19 Kết tìm kiếm subdomain Tìm kiếm duyệt đệ quy với FFUF Sử dụng FFUF để tìm kiếm thư mục thư mục trực tiếp trang web Hình 20 Tìm kiếm đệ quy với FFUF Ta thấy phát thư mục mới, FFUF thêm task vào hàng chờ Hình 21 Quá trình tìm kiếm đệ quy FFUF Tìm tên tham số với FFUF Kịch bản: Tìm trang admin khơng thể đọc thơng tin nhạy cảm Khi đó, sử dụng FFUF để tìm tên tham số cần có để cấp quyền đọc thơng tin nhạy cảm trang admin Hình 22 Trang web thơng báo không đủ quyền đọc liệu Sử dụng FFUF với wordlist burp-parameter-names.txt Hình 23 Câu lệnh FFUF tìm kiếm tên tham số hợp lệ Kết tìm tên tham số user có kích thước response khác với giá trị cịn lại Hình 24 Kết tìm kiếm tham số So sánh So sánh với DirBuster GoBuster GoBuster DirBuster cơng cụ tìm files thư mục ẩn thơng qua hình thức cơng Bruteforce, Dirbuster cơng cụ miễn phí, có điều cơng cụ có giao diện người dùng giải vấn đề mà Gobuster khơng thể làm, recursive Nghĩa là, với Gobuster, tìm directory, in tên directory tiếp tục tìm directories khác dựa vào wordlists cung cấp, khơng vào bên directory tìm in nội dung nằm bên Dirbuster làm điều đó, bù lại Dirbuster khơng nhanh Gobuster dễ bị lỗi Gobuster Hình 25 Giao diện người dùng DirBuster Nhưng so với FFUF, DirBuster GoBuster có hạn chế định Trong DirBuster GoBuster dùng để tìm kiếm thư mục file ẩn trang web, FFUF đa dụng hơn, sử dụng với nhiều mục đích khác Ngồi ra, viết Go nên FFUF có hiệu suất cao so với DirBuster viết Java Thêm vào đó, việc cài đặt FFUF dễ dàng so với Dirbuster Gobuster So sánh với Wfuzz Về bản, FFUF Wfuzz có chức giống nhau, việc cài đặt sử dụng đơn giản FFUF đánh giá nhanh viết Go, Wfuzz viết Python FFUF viết năm 2019 ưa chuộng tốc độ mà mang lại Kết luận Bài báo cáo trình bày khái niệm tổng quan Fuzz testing, giới thiệu công cụ FFUF trình bày kịch bản, demo cách sử dụng FUFF Ngồi ra, qua tìm hiểu demo, thấy FFUF cơng cụ vơ mạnh mẽ hữu hiệu việc kiểm thử web application, giúp chuyên gia bảo mật chuyên viên kiểm thử nhanh chóng thu thập thơng tin trang web rút gọn thời gian tìm kiếm lỗ hổng bảo mật tính tự động hóa cơng cụ Hơn thế, cộng đồng bảo mật tồn giới khơng ngừng phát triển, bảo trì hồn thiện để tạo cơng cụ có hiệu cao TÀI LIỆU THAM KHẢO DDos (2015, 12 7) SecLists - Thứ bạn cần q trình PenTesting Retrieved from WhiteHat Hịa, V T (2020, 20 9) Fuzzing web với FFUF Retrieved from Viblo Skelton, M (2020, 17) Everything you need to know about FFUF Retrieved from Codingo Trang, T T (2017, 22) Tìm hiểu Fuzz Testing Retrieved from Viblo ... codes and ranges -fl Filter of line counts and ranges -fr Filter -fs Filter and ranges -ft Filter byte, either greater or less -fw Filter of word counts and ranges HTTP status codes from response... golang nên việc cần làm đặt golang sudo apt-get install golang Hình Cài đặt golang máy Linux o Cài đặt FFUF Nếu cài sẵn go compiler cần gõ lệnh go get github.com/ffuf/ffuf Hình Cài đặt FFUF thông. .. Việt/ Giải thích Danh sách từ Mã nguồn mở Luồng Thông báo yêu cầu HTTP Công cụ Tập tin Một loại công mạng Phần đuôi tập tin Tùy chọn Phần mềm máy chủ web mở rộng tạo Microsoft DANH MỤC HÌNH ẢNH

Ngày đăng: 08/01/2022, 11:13

Hình ảnh liên quan

DANH MỤC HÌNH ẢNH - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)
DANH MỤC HÌNH ẢNH Xem tại trang 4 của tài liệu.
Hình 1 Cài đặt golang trên máy Linux...........................................................................7 - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 1.

Cài đặt golang trên máy Linux...........................................................................7 Xem tại trang 4 của tài liệu.
Hình 5. Repo github SecLists - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 5..

Repo github SecLists Xem tại trang 10 của tài liệu.
Hình 7. Các tùy chọn chung của FFUF - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 7..

Các tùy chọn chung của FFUF Xem tại trang 13 của tài liệu.
Hình 14. Kết quả tìm kiếm thư mục - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 14..

Kết quả tìm kiếm thư mục Xem tại trang 22 của tài liệu.
Hình 17. Kết quả tìm kiếm file trong thư mục - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 17..

Kết quả tìm kiếm file trong thư mục Xem tại trang 24 của tài liệu.
Hình 18. Câu lệnh tìm subdomain của 1 trang web - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 18..

Câu lệnh tìm subdomain của 1 trang web Xem tại trang 25 của tài liệu.
Hình 20. Tìm kiếm đệ quy với FFUF - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 20..

Tìm kiếm đệ quy với FFUF Xem tại trang 26 của tài liệu.
Hình 22. Trang web thông báo không đủ quyền đọc dữ liệu - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 22..

Trang web thông báo không đủ quyền đọc dữ liệu Xem tại trang 27 của tài liệu.
Hình 25. Giao diện người dùng của DirBuster - Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (21)

Hình 25..

Giao diện người dùng của DirBuster Xem tại trang 29 của tài liệu.

Mục lục

  • DANH MỤC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT

  • DANH MỤC HÌNH ẢNH

  • LỜI NÓI ĐẦU

  • Giới thiệu, lịch sử hình thành

    • Giới thiệu

    • Lịch sử hình thành

    • Hướng dẫn cài đặt

      • 1. Cài đặt FFUF trên các máy Linux

      • 2. Cài đặt FFUF trên các máy Windows

      • Các khái niệm cơ bản

        • 1. Fuzzing

        • 2. Wordlist

        • Hướng dẫn sử dụng

          • Các tùy chọn của FFUF

          • Một số tùy chọn phổ biến, hay dùng

          • 1. Các tùy chọn chung

          • 2. Các tùy chọn HTTP

          • 3. Các tùy chọn đầu vào

          • 5. Các tùy chọn lọc kết quả

          • 6. Các tùy chọn tìm kết quả trùng khớp với điều kiện đưa ra

          • Các cách sử dụng FFUF

            • 1. Tìm kiếm các files, thư mục ẩn trên web

              • Tìm kiếm thư mục trên web

              • Tìm kiếm files trên web

              • 2. Tìm các trang trong trang web

              • 3. Tìm subdomain của trang web

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan