Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
4,42 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN I HỌC PHẦN: AN TỒN MẠNG NÂNG CAO BÀI BÁO CÁO TÌM HIỂU CƠNG CỤ FIMAP Giảng viên hướng dẫn TS Đặng Minh Tuấn Nhóm mơn học: 01 Sinh viên thực hiện: Bùi Khắc Ngọc Mã sinh viên: B18DCAT172 Hà Nội 2021 LỜI MỞ ĐẦU Công nghệ thông tin mang tới hướng phát triển giúp ích nhiều sống, với phát triển nhanh chóng cơng nghệ thơng tin, phần mềm đóng vai trị quan trọng nhiều khía cạnh sống kinh tế, quân sự, y tế, xã hội, … Cùng với gia tăng lớn số lượng ứng dụng web người dùng tăng lên đáng kể Do đó, nguy an tồn thơng tin cho phần mềm nói chung ứng dụng web nói riêng tăng theo Gây thiệt hại không nhỏ cho người sử dụng nhà phát triển Trong báo cáo này, em xin giới thiệu công cụ Fimap, cơng cụ Kali Linux giúp cho người sử dụng nhà phát triển kiểm tra bảo mật cho ứng dụng web Từ giảm thiểu nguy thiệt hại công mạng gây Do kiến thức em nhiều hạn chế khoảng thời gian hoàn thành báo cáo gấp, nên q trình viết có sai sót mong thầy góp ý để giúp báo cáo em hoàn thiện Em xin chân thành cảm ơn Thầy ạ! MỤC LỤC LỜI MỞ ĐẦU MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC CÁC TỪ NGỮ VÀ THUẬT NGỮ VIẾT TẮT CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG CỤ FIMAP 1.1 Lỗ hổng Local File Inclusion Remote File Inclusion 1.2 Công cụ Fimap: 1.3 Lịch sử phát triển: 1.4 Kết chương: 10 CHƯƠNG 2: CÁC TÍNH NĂNG VÀ CÀI ĐẶT 11 2.1 Các tính tổ chức danh mục 11 2.1.1 Các tính năng: 11 2.1.2 Tổ chức danh mục: 11 2.2 Cài đặt 15 2.2.1 Các yêu cầu hệ thống: 15 2.2.2 Cài đặt Fimap: 17 2.3 Kết chương: 19 CHƯƠNG 3: THỬ NGHIỆM CÔNG CỤ FIMAP 20 3.1 Môi trường thử nghiệm: 20 3.2 Thử nghiệm công: 21 3.3 Ưu điểm: 27 3.4 Nhược điểm: 27 3.5 So sánh với công cụ khác: 27 3.5.1 DirBuster: 27 3.5.2 Dirb: 28 3.6 Kết chương: 28 KẾT LUẬN 29 Tài liệu tham khảo 30 DANH MỤC HÌNH ẢNH Hình 1.1 Trang web sử dụng đường dẫn đến tệp làm tham số đầu vào Hình 1.2: Cách thức cơng LFI Hình 1.3: Giao diện Fimap Hình 2.1: Chế độ hoạt động 11 Hình 2.2: Các kỹ thuật công 12 Hình 2.3: Các biến 12 Hình 2.4: Các công cụ khai thác 12 Hình 2.5: Các lựa chọn khác 13 Hình 2.6: Thu thập từ URL 13 Hình 2.7: Nội dung file /home/kali/fimap/list.txt 14 Hình 2.8: Kiểm tra tất cẩ URL từ file 14 Hình 2.9: Kết sau kiểm tra tất URL 15 Hình 2.11: Cài đặt Python 16 Hình 2.12: Kiểm tra 16 Hình 2.13: Cài đặt ca-certificate 17 Hình 2.14: Cài đặt httplib2 17 Hình 2.15: Mã nguồn cỉa Fimap 18 Hình 2.16: Tải Fimap từ mã nguồn 18 Hình 2.17: Giao diện Fimap 19 Hình 3.1: Máy công 20 Hình 3.2: Máy nạn nhân 21 Hình 3.3: Xác định ỦRL mục tiêu 21 Hình 3.4: Kiểm tra URL với Fimap 22 Hình 3.5: Các lỗi URL 22 Hình 3.6:Danh sách tên miền có lỗ hổng 23 Hình 3.7: Chèn PHP code 23 Hình 3.8: Thơng báo Fimap 24 Hình 3.9: Thơng tin file /etc/passwd 25 Hình 3.10: Thơng tin hệ điều hành tiến trình chạy 25 Hình 3.11: Thực tải file từ internet máy chủ 26 Hình 3.12: Tải file thành cơng 26 Hình 3.13: Cây thư mục Dirbuster 27 Hình 3.14: Giao diện Dirb 28 DANH MỤC CÁC TỪ NGỮ VÀ THUẬT NGỮ VIẾT TẮT Ký hiệu DVWA CVE Tên Tiếng Anh Damn Vulnerable Web Application Common Vulnerabilities and Exposures Ý nghĩa Tiếng Việt Ứng web chứa lỗ hổng Các lỗ hổng phổ biến GUI Graphic User Interface Giao diện người dùng đồ họa LAN Local Area Network Mạng cục LFI Local File Inclusion Lỗ hổng thêm tệp tin cục RFI Remote File Inclusion Lỗ hổng thêm tệp tin từ xa SQL Structured Query Language Ngơn ngữ truy vấn có cấu trúc URL Uniform Resource Locator Bộ định vị tài nguyên đồng CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG CỤ FIMAP 1.1 Lỗ hổng Local File Inclusion Remote File Inclusion Lỗ hổng Local File Inclusion lỗ hổng xảy máy chủ web, lỗ hổng cho phép tin tặc truy cập trái phép vào tệp tin nhạy cảm máy chủ thực thi tệp tin độc hại cách sử dụng chức “include” Lỗ hổng xảy chế kiểm tra đầu vào không thực tốt, khiến tin tặc khai thác chèn dự liệu độc hại [1] Trước tìm hiểu chi tiết lỗ hổng LFI, cần hiểu lời gọi hàm “include()” Lệnh “include” giúp toàn nội dung tệp cụ thể chép vào tệp khác chứa lệnh “include” Phương thức sử dụng để tránh việc phải viết lại code sử dụng lúc Các lập trình viên thường sử dụng lệnh “include” để thêm liệu, mã nguồn dùng chung toàn chương trình Kẻ cơng sử dụng LFI để đánh lừa ứng dụng web để lộ chạy tệp máy chủ web Một công LFI dẫn đến rị rỉ thơng tin, thực thi mã từ xa,… Thông thường, LFI xảy ứng dụng sử dụng đường dẫn đến tệp làm tham số đầu vào ứng dụng coi đầu vào tin cậy [2] Hình 1.1 Trang web sử dụng đường dẫn đến tệp làm tham số đầu vào Lỗ hổng RFI tương tự LFI, thay thực thi tệp máy chủ thực thi tệp lưu trữ từ xa Kẻ công sử dụng RFI để chạy mã độc máy người dùng phía máy chủ Ảnh hưởng kiểu công thay đổi từ đánh cắp tạm thời session token liệu người dùng việc tải lên webshell, mã độc nhằm thực thi mã từ xa cuối xâm hại hoàn toàn hệ thống máy chủ LFI giống RFI, khác biệt LFI, kẻ công phải tải tập lệnh độc hại lên máy chủ đích để thực thi cục Hình 1.2: Cách thức cơng LFI LFI/RFI kiểu công nguy hiểm hàng năm, có nhiều CVE hai lỗ hổng cơng bố Tấn cơng File Inclusion nguy hiểm SQL Injection, nhà phát triển cần có biện pháp phù hợp để khắc phục lỗ hổng Biện pháp hiệu để giảm thiểu lỗ hổng dạng hạn chế cho phép thao tác đọc, ghi hệ thống file dựa tham số từ người dùng Trong trường hợp thực cần thiết cần thực biện pháp kiểm tra, lọc để loại bỏ chuỗi duyệt đường dẫn kiểu " \ \" " / /" khỏi tên file [3] 1.2 Công cụ Fimap: Fimap công cụ viết python, sử dụng thể tìm kiếm, chuẩn bị, kiểm tra khai thác cách tự động lỗi LFI RFI ứng dụng web Fimap giống sqlmap sử dụng cho lỗi LFI/RFI thay SQL Injection Nó phát triển sử dụng [1] Fimap giúp nâng cao tốc độ khả tăng hội việc tìm kiếm lỗ hổng Fimap tự đơng hóa q trình, có khả quét nhiều mục tiêu Chúng ta thu thập liệu từ trang web mục tiêu xuất thông tin dạng danh sách sử dụng sau để quét hàng loạt Ngồi ra, có khả cho phép tải lên lệnh shell để thực thi code từ xa Fimap có thẻ cài đặt Linux Windows chạy giao diện dịng lệnh Hình 1.3: Giao diện Fimap 1.3 Lịch sử phát triển: - Fimap phát triển lần vào tháng năm 2009 Iman Karim Người đóng vai trị trưởng dự án nhà phát triển Đây phiên 0.1 - Cũng vào tháng năm 2009, phiên 0.2 mắt, nâng cấp so với phiên cũ Hàng loạt tính cập nhật số tính dư thừa loại bỏ Như loại bỏ file setup.py, cho phép quét giao thức https, … - Cuối tháng năm 2009, nhà phát triển cho mắt phiên 0.3 Đã có thêm chế độ Crawl Logfile Injection - Vào tháng 10 năm 2009, Fimap phiên 0.5 chạy Windows hoạt động với Python 2.4 - Vào ngày tháng 11 năm 2009, phiên 0.7 phát hành - Vào ngày 22 tháng 12 năm 2009, phiên 0.8 phát hành cập nhật đầy đủ lỗi phiên trước - Tháng năm 2010 chế độ công lên Windows Server mắt với plugins - Vào ngày 22 tháng năm 2010, Fimap phát hành phiên 0.9 Cho phép chèn code vào Header Cookie - Vào tháng 10 năm 2011, phiên 1.0 phát hành - Tháng năm 2018, nâng cấp cập nhật dựa phiên 1.0 1.4 Kết chương: Chương giới thiệu tổng quan lỗ hổng LFI RFI máy chủ web công cụ Fimap Mặc dù phát triển từ lâu Fimap cơng cụ hữu ích giúp cho nhà phát triển chuyên gia bảo mật kiểm thử hai lỗ hổng RFI/LFI ứng dụng web Qua giúp giảm thiểu tối đa nguy bị trang web bị cơng 10 Hình 2.13: Cài đặt ca-certificate Bước 2: Tải cài đặt gói python-httplib2 Hình 2.14: Cài đặt httplib2 2.2.2 Cài đặt Fimap: Fimap dự án mã nguồn mở, ta tìm thấy mã nguồn github dễ dàng tải sử dụng Link: https://github.com/kurobeats/fimap 17 Hình 2.15: Mã nguồn cỉa Fimap Tải Fimap từ github Hình 2.16: Tải Fimap từ mã nguồn Sau tải về, ta di chuyển vào thư mục chứa Fimap thực thi lệnh /fimap.py -h để chạy chương trình 18 Hình 2.17: Giao diện Fimap 2.3 Kết chương: Trong chương trình bày cơng cụ Fimap, tính năng, cách thức hoạt động chi tiết cài đặt Kali Linux Qua có nhìn tổng quan công cụ Tiếp theo, chương em thực thử nghiệm công Fimap Kali Linux Qua đưa nhận xét ưu điểm, nhược điểm công cụ 19 CHƯƠNG 3: THỬ NGHIỆM CƠNG CỤ FIMAP 3.1 Mơi trường thử nghiệm: Hiện có nhiều trang web thiết kế với mục đích thử nghiệm cơng ứng dụng web nói chung cơng LFI/RFI nói riêng như: Hack the Box, CTF Learn, RootMe, DVWA, Portswigger, … Trong số có trang web truy cập online có trang web thực cài đặt cấu hình trực tiếp mạng LAN để sử dụng cục Trong trang web kể trên, em sử dụng DVWA làm môi trường thử nghiệm công chạy mạng cục DVWA có chứa nhiều lỗ hổng nhiều hạng mục nên không nên sử dụng công khai hệ thống cung cấp hosting hay chạy mạng Interter, dẫn đến nguy kẻ cơng xâm nhập trực tiếp vào hệ thống thông qua lỗ hổng Máy công: Hệ điều hành Kali Linux 2021.2, có cài đặt cơng cụ Fimap, địa IP 192.168.131.146 Hình 3.1: Máy cơng Máy nạn nhân: Hệ điều hành Kali Linux 2021.1, cài trang web DVWA, địa IP 192.168.131.150 20 Hình 3.2: Máy nạn nhân 3.2 Thử nghiệm công: Bước 1: Xác định mục tiêu Mục tiêu: http://192.168.131.150/dvwa/vulnerabilities/fi/?page=file1.php Hình 3.3: Xác định ỦRL mục tiêu Bước 2: Sau xác định mục tiêu, em sử dụng Fimap để kiểm tra lỗi với URL Lưu ý trang DVWA yêu cầu xác thực nên cần thêm biến cookie để gửi kèm với request 21 Hình 3.4: Kiểm tra URL với Fimap Sau kiểm tra xong, em thu kết có lỗ hổng File Inclusion với thông tin: - URL: http://192.168.126.135/DVWA/vulnerabilities/fi/?page=file1.php - Tham số bị lỗi: page - File đọc được: /etc/passwd Hình 3.5: Các lỗi URL Bước 3: Sau xác định lỗ hổng, em sử dụng lệnh /fimap.py -x để chuyển sang khai thác lỗ hổng Ở có danh sách tên miền có lỗ hổng mà Fimap vừa quét chọn tên miền muốn cơng 22 Hình 3.6: Danh sách tên miền có lỗ hổng Tiếp theo, Fimap liệt kê URL mà có lỗ hổng Chúng ta chọn URL theo ý muốn Fimap thực chèn code PHP vào lỗ hổng Hình 3.7: Chèn PHP code Nếu thành công, Fimap thơng báo chọn sử dụng shell code có sẵn Fimap tự tạo reverse shell Trong lab này, em sử dụng shell code Fimap 23 Hình 3.8: Thơng báo Fimap Shell code chèn thành công lên máy chủ Bây em thực lệnh shell để lấy thông tin quan trọng hệ thống như: - Phiên hệ điều hành - Đọc nội dung file /etc/passwd Đây file quan trọng trọng Linux - Xem tiến trình chạy máy chủ 24 Hình 3.9: Thơng tin file /etc/passwd Hình 3.10: Thơng tin hệ điều hành tiến trình chạy Bây kẻ cơng thực thi lệnh máy chủ Nếu kẻ công đủ khả tải mã độc lên máy chủ Trong lab này, em thử tải file từ mạng internet thực thi máy nạn nhân 25 Hình 3.11: Thực tải file từ internet máy chủ Hình 3.12: Tải file thành công 26 3.3 Ưu điểm: - Công cụ công khai thác LFI/RFI mạnh - Dễ dàng làm quen sử dụng - Hỗ trợ nhiều chức số công cụ loại 3.4 Nhược điểm: - Khơng có giao diện GUI - Được phát triển từ lâu cập nhật 3.5 So sánh với công cụ khác: 3.5.1 DirBuster: Dirbuster ứng dụng viết Java, thiết kế để brute-force đường dẫn thư mục máy chủ web, bao gồm đường dẫn thư mục ẩn Để sử dụng DirBuster, ta cần xác định server mục tiêu (có thể địa IP tên miền), cổng, sau thiết lập từ điển (có thể dùng từ điển có sẵn tool, tự tạo file từ điển) để brute-force DirBuster gửi hàng loạt GET HEAD request đến may chủ lắng nghe kết trả Dirbuster tích hợp sẵn Kali Linux, thiết kế để chạy đa luồng, có giao diện GUI dễ sử dụng, quét file đường dẫn Trong Fimap khơng có giao diện GUI, khơng có sẵn Kali Linux lại có chế độ khai thác lỗ hổng Hình 3.13: Cây thư mục Dirbuster 27 3.5.2 Dirb: Dirb cơng cụ qt nội dung web có sẵn phiên Kali Linux Về bản, hoạt động cách khởi chạy công dựa từ điển vào máy chủ web xử lý phản hồi Từ điển Dirb đa dạng lần quét cho phép sử dụng nhiều file từ điển khác Dirb khơng hỗ trợ đa luồng, gây nhiều khó khăn bất tiện cho người sử dụng Dirb hỗ trợ thu thập file ẩn, thư mục ẩn trang web không hỗ trợ việc khai thác trang web Hình 3.14: Giao diện Dirb 3.6 Kết chương: Chương trình bày chi tiết trình cài đặt môi trường thử nghiệm công cơng cụ Fimap Từ rút ưu điểm nhược điểm công cụ so với công cụ khác loại 28 KẾT LUẬN Lỗ hổng LFI RFI lỗ hổng nguy hiểm ứng dụng web Tùy vào mức độ nghiêm trọng lỗ hổng mà gây tổn hại khác Trong báo cáo trên, em thực tìm hiểu trình bày công cụ Fimap, công cụ giúp nhà phát triển chuyên gia bảo mật cho thể tìm kiếm, kiểm tra thử nghiệm khai thác hai lỗ hổng Qua giúp giảm thiểu khả bị cơng lên ứng dụng giúp an tồn cho người dùng an toàn cho nhà phát triển Mặc dù cố gắng để hoàn thiện thiện báo cáo này, trình làm báo cáo em tránh khỏi sai sót hạn chế, mong nhận đóng góp ý thầy bạn để báo cáo em hoàn thiện Em xin chân thành cảm ơn Thầy ạ! 29 Tài liệu tham khảo [1] Kali Tools, [Online] Available: https://tools.kali.org/tools-listing [2] Joseph Muniz, Aamir Lakhani, Web Penetration Testing with Kali Linux, 2013 [3] [Online] Available: https://www.security-audit.com/kali-tools-tutorials-forweb-app-testing/ [4] James Broad, Andrew Bindner, Hacking with Kali Practical Penetration Testing Techniques, 2014 30 HẾT 31 ... Linux Qua có nhìn tổng quan công cụ Tiếp theo, chương em thực thử nghiệm công Fimap Kali Linux Qua đưa nhận xét ưu điểm, nhược điểm công cụ 19 CHƯƠNG 3: THỬ NGHIỆM CƠNG CỤ FIMAP 3.1 Mơi trường thử... cụ Fimap, cơng cụ giúp nhà phát triển chuyên gia bảo mật cho thể tìm kiếm, kiểm tra thử nghiệm khai thác hai lỗ hổng Qua giúp giảm thiểu khả bị công lên ứng dụng giúp an toàn cho người dùng an. .. " " / /" khỏi tên file [3] 1.2 Công cụ Fimap: Fimap công cụ viết python, sử dụng thể tìm kiếm, chuẩn bị, kiểm tra khai thác cách tự động lỗi LFI RFI ứng dụng web Fimap giống sqlmap sử dụng cho