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

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

35 15 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

Định dạng
Số trang 35
Dung lượng 2,66 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 HỌC PHẦN: AN TỒN MẠNG BÀI BÁO CÁO: CÔNG CỤ COMMIX Giảng viên hướng dẫn: Sinh viên thực hiện: Mã sinh viên: TS Đặng Minh Tuấn Nguyễn Tiến Anh B18DCAT008 Hà Nội, tháng 12 năm 2021 MỤC LỤC LỜI MỞ ĐẦU DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC BẢNG BIỂU DANH MỤC HÌNH VẼ CHƯƠNG GIỚI THIỆU VỀ CÔNG CỤ COMMIX 1.1 Khái quát công cụ 1.2 Các kỹ thuật công hỗ trợ 2.3 Lịch sử phát hành công cụ 2.4 Phương pháp cài đặt công cụ CHƯƠNG KIỂM THỬ VÀ KHAI THÁC THỰC TẾ 10 16 3.1 Môi trường thử nghiệm 16 3.2 Tấn công chèn lệnh dựa kết kiểu cổ điển (Classic results-based injection attack) 19 3.3 Tấn công chèn User-Agent HTTP Header 26 KẾT LUẬN 31 TÀI LIỆU THAM KHẢO 34 LỜI MỞ ĐẦU Công nghệ thông tin dần trở thành phần thiếu với đời sống người phát triển kinh tế quốc gia Mang sứ mệnh quan trọng vậy, trở thành điểm đáng quan tâm lớn với gần tất người: Chính phủ quan tâm bảo đảm bí mật quốc gia an tồn thơng tin cho người dân, người dân quan tâm đến bảo mật thơng tin mình, chí hacker xấu quan tâm để phá hoại, trục lợi, chống phá,… Môi trường mạng, vốn từ đầu thành phần nhạy cảm cơng nghệ thơng tin tính quan trọng tính dễ lợi dụng Một máy tính khơng kết nối mạng chưa hồn tồn an tồn, máy tính kết nối mạng chắn có nguy bị công, dù cách hay cách khác, nguồn liệu mạng trở thành phần tử công vào máy người dùng chúng khơng sử dụng kiểm sốt cách Vấn đề an tồn thơng tin với người dùng quan trọng, vấn đề an tồn thơng tin nhà cung cấp dịch vụ web người phát triển, kiểm thử web quan trọng nhiều, trang web đầu mối nhiều luồng thông tin đến Trong số nguy họ phải đối mặt nguy hậu công chèn lệnh (Injection Attack) coi cao nhất, nguy hiểm nhất, đến mức mà năm 2017, Dự án Bảo mật Ứng dụng Web Mở OWASP liệt dạng công vào loại cơng nguy hiểm thời diểm Nằm danh sách dạng công chèn mã, OS Command Injection (Tấn công chèn lệnh hệ điều hành) mang đặc tính nguy hiểm hậu tiềm ẩn Loại công sử dụng để khai thác trang web mang lại nhiều thơng tin thuận lợi cho kẻ công, kèm khả khai thác sâu với kỹ thuật tinh vi Một cơng cụ hỗ trợ q trình Commix Commix giới thiệu chi tiết báo cáo này, công cụ thuận tiện cho người kiểm thử kẻ công Để phát triển toàn tiền đề thành báo cáo hoàn thiện, sau qua tài liệu OS Command Injection, Commix kết luận sau thực báo cáo DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Từ đầy đủ Giải nghĩa bWAPP Extremely Buggy Web Application Ứng dụng web chứa lỗ hổng DVWA Damn Vulnerable Web Application Ứng dụng web chứa lỗ hổng HTTP Hypertext Transfer Protocol Giao thức Truyền tải Siêu Văn Bản ICMP Internet Control Message Protocol Giao thức Điều khiển Truyền Tín Mạng OS Operating System Hệ điều hành OWASP Open Web Application Security Project® Dự án Bảo mật Ứng dụng Web Mở PHP Hypertext Preprocessor Một loại ngôn ngữ kịch DANH MỤC BẢNG BIỂU Bảng 1 Danh sách phát hành công cụ Commix Bảng So sánh khả kiểm thử khai thác lỗ hổng Commix với số ứng dụng khác 32 DANH MỤC HÌNH VẼ Hình 1 Cơng cụ Commix Hình Clone Commix máy từ github Hình Chạy lệnh help cơng cụ commix Hình Phần General - Commix help Hình Phần Target - Commix help Hình Phần Request - Commix help Hình Phần Enumeration - Commix help Hình Phần File access - Commix help Hình Phần Modules - Commix help Hình 10 Phần Injection - Commix help Hình 11 Phần Injection - Commix help Hình 12 Phần Miscellaneous - Commix help 11 11 12 12 13 13 14 14 15 15 16 Hình Trang github Commix Testbed Hình 2 Hướng dẫn cài đặt Commix Testbed trang github Hình Trang docker Commix Testbed Hình Hướng dẫn cài đặt Commix Testbed trang docker Hình Khởi chạy Commix Testbed Kali Linux Hình mơi trường Commix Testbed Hình Giao diện trang Classic regular example GET Hình Đoạn code thực thi lệnh ping trang Classic regular example GET Hình Sử dụng Commix để công khai thác trang Classic regular example GET Hình 10 Các bước thực công cụ Commix với trang Classic regular example GET Hình 11 Tùy chọn sử dụng Pseudo-Terminal shell để thực chèn lệnh đến nạn nhân Hình 12 Các tùy chọn có sẵn sử dụng Pseudo-Terminal shell Hình 13 Tên người dùng máy nạn nhân Hình 14 Thơng số hệ điều hành máy nạn nhân Hình 15 Cấu hình mạng máy nạn nhân Hình 16 Thơng tin kết nối mạng máy nạn nhân Hình 17 Những tiến trình chạy máy nạn nhân Hình 18 Tồn file thư mục nạn nhân Hình 19 Vị trí thư mục tính từ thư mục gốc nạn nhân Hình 20 Báo cáo sử dụng dung lượng ổ cứng nạn nhân Hình 21 Thơng báo ghi file log Commix Hình 22 Sử dụng Commix kết hợp tham số để tăng thông tin thu thập từ nạn nhân Hình 23 Giao diện trang Testbed Classic user-agent-based example Hình 24 Đoạn code thực thi lệnh hiển thị User-Agent HTTP trang Classic user-agent-based example Hình 25 Sử dụng Commix để cơng khai thác trang Classic user-agent-based example Hình 26 Các bước thực công cụ Commix với trang Classic user-agent-based example Hình 27 Thơng số hệ điều hành máy nạn nhân Hình 28 Cấu hình mạng máy nạn nhân 17 17 18 18 18 19 20 21 21 22 22 22 23 23 23 23 24 24 24 24 24 25 26 27 27 28 28 29 Hình 29 Thơng tin kết nối mạng máy nạn nhân Hình 30 Những tiến trình chạy máy nạn nhân Hình 31 Toàn file thư mục nạn nhân Hình 32 Vị trí thư mục tính từ thư mục gốc nạn nhân Hình 33 Báo cáo sử dụng dung lượng ổ cứng nạn nhân 29 29 29 29 30 CHƯƠNG GIỚI THIỆU VỀ CÔNG CỤ COMMIX 1.1 Khái quát công cụ Commix (là từ viết tắt [Comm]and [i]njection e[x]ploiter - trình khai thác chèn lệnh) Đây là công cụ kiểm tra thâm nhập mã nguồn mở (open sourse pen-test tool), viết Anastasios Stasinopoulos, hỗ trợ việc tự động hóa việc phát khai thác lỗ hổng chèn lệnh Bản quyền công cụ từ năm 2014 đến thời điểm thuộc tác giả Anastasios Stasinopoulos Chương trình phần mềm miễn phí: người dùng phân phối lại / sửa đổi theo điều khoản Giấy phép Cơng cộng GNU Tổ chức Phần mềm Tự (Free Software Foundation) xuất bản, phiên Giấy phép phiên Những đặc tính bật (theo công bố trang chủ công cụ): Cơng cụ có số đặc tính bật với người sử dụng sau: ● Dễ sử dụng: Tự động hóa việc phát khai thác lỗ hổng chèn lệnh (các) tham số dễ bị cơng / HTTP header ● Tính động cao: Toàn thành phần cần thiết để thực công chèn lệnh chống lại nhiều loại hệ điều hành ứng dụng tích hợp cơng cụ ● Tính mơ-đun hóa: Người dùng phát triển dễ dàng nhập mơ-đun riêng để tăng khả cơng commix / điều chỉnh theo nhu cầu họ ● Tính tương thích chéo: Commix tương thích với nhiều cơng cụ kiểm tra thâm nhập khác như: Metasploit Framework, Burp-suite, SQLMap, v.v., tỷ lệ phát khai thác thành công tăng cao ● Tính đa tảng: Commix viết Python, yêu cầu Python để chạy tất tảng ● Miễn phí mã nguồn mở Trang chủ công cụ: https://commixproject.com/ Trang github cơng cụ: https://github.com/commixproject/commix Hình 1 Cơng cụ Commix 1.2 Các kỹ thuật công hỗ trợ Commix hỗ trợ phát khai thác dạng công chèn lệnh sau: ● Tấn công chèn lệnh dựa kết (Results-based): Trong công chèn lệnh dựa kết quả, kẻ cơng trực tiếp suy kết lệnh đưa vào thông qua phản hồi ứng dụng web Các công chèn lệnh dựa kết chia thành hai kỹ thuật: o Tấn công chèn lệnh dựa kết (cổ điển): Kỹ thuật cổ điển kiểu công đơn giản phổ biến Cụ thể hơn, kẻ công sử dụng số tốn tử phổ biến, ghép lệnh gốc ban đầu với lệnh đưa vào loại trừ lệnh gốc ban đầu thực lệnh đưa vào ▪ Shellshock: Lỗi Shellshock phát Bash, công cụ sử dụng rộng rãi hệ điều hành Unix nhiều biến thể nó, bao gồm phần mềm nguồn mở Linux OSX Apple ▪ Lọc ICMP (ICMP exfiltration) ▪ Lọc DNS o Kỹ thuật đánh giá mã động (Tấn công chèn lệnh dựa đánh giá): Việc chèn lệnh thông qua đánh giá mã động diễn ứng dụng dễ bị công sử dụng hàm eval(), hàm sử dụng để thực thi động mã chuyển (tới hàm eval ()) thời gian chạy Hàm eval () cung cấp nhiều ngôn ngữ thông dịch Java, Javascript, Python, Perl, PHP Ruby ● Tấn cơng chèn lệnh mù (Blind): Sự khác biệt công chèn lệnh dựa kết công chèn lệnh mù nằm cách liệu truy xuất sau thực lệnh shell đưa vào Cụ thể hơn, có trường hợp ứng dụng sau thực lệnh đưa vào không trả lại kết cho kẻ công Trong trường hợp này, kẻ cơng gián tiếp suy kết lệnh đưa vào cách sử dụng hai kỹ thuật sau: o Time-based (Blind): Dựa thời gian (Mù): Thông qua kỹ thuật này, kẻ công chèn thực lệnh để hiển thị độ trễ thời gian Bằng cách đo thời gian ứng dụng phản hồi, kẻ cơng xác định xem lệnh thực thi thành công hay thất bại Chức Bash shell giới thiệu độ trễ thời gian chế độ ngủ, đó, cách quan sát độ trễ thời gian, kẻ cơng suy kết lệnh đưa vào o File-based (SemiBlind): Dựa tập tin (Bán mù): Kỹ thuật dựa logic đơn giản: kẻ công quan sát kết thực lệnh đưa vào, kẻ cơng ghi chúng vào tệp mà truy cập 2.3 Lịch sử phát hành công cụ Từ phát hành (tháng 12 năm 2015) thời điểm (tháng năm 2021), công cụ cập nhật qua 33 cập nhật công bố Bản thời điểm v3.2-stable Danh sách công bố thời gian phát hành theo dõi qua bảng sau: Bảng 1 Danh sách phát hành công cụ Commix ST T 10 11 12 13 14 Bản công bố Thời điểm phát hành v0.3b-20151224 v0.3b-20151231 v0.3b-20160106 v0.3b-20160115 v0.4b-20160204 v0.4.1b-20160226 v0.5b-20160316 v0.6b-20160401 v0.7b-20160418 v0.8b-20160506 v0.9b-20160607 v1.0-stable v1.1-stable v1.2-stable 24/12/2015 31/12/2015 06/01/2016 15/01/2016 24/02/2016 26/02/2016 16/03/2016 01/04/2016 18/04/2016 06/05/2016 07/06/2016 14/06/2016 14/07/2016 12/08/2016 ● Tốn tử pipe “|” cho phép kẻ cơng xâu chuỗi nhiều lệnh, để chuyển hướng đầu lệnh thành lệnh ● Toán tử chấm phẩy “;” cho phép kẻ công xâu chuỗi dòng mã chuỗi nhiều lệnh OS tùy ý phân tách dấu chấm phẩy ● Các toán tử logic “||”, “&&” thực số phép toán logic liệu trước sau thực thi chúng dịng lệnh ● Các tốn tử thay “`”, “$ ()” sử dụng để đánh giá thực lệnh cung cấp kết làm đối số cho lệnh khác ● Ký hiệu dòng “\n”, “%0a” phân tách lệnh cho phép kẻ công xâu chuỗi nhiều lệnh Để thực thử nghiệm kiểu công môi trường Commix Testbed, ta click vào nút GET ô Classic regular example phần Regular (GET / POST): Hình Giao diện trang Classic regular example GET Trang hoạt động theo chế: người dùng nhập địa muốn ping vào thành địa click Submit!, trang web thực thi lệnh ping hiển thị kết hình Đoạn code thực thi viết sau: 20 Hình Đoạn code thực thi lệnh ping trang Classic regular example GET Vậy chế cụ thể sử dụng method GET, lấy địa truyền vào addr, kiểm tra hệ điều hành sử dụng thực thi lệnh ping lần với lệnh ping ứng với hệ điều hành đến địa gán vào $addr Lệnh echo giúp in kết thực thi lệnh exec hình Có thể thấy đoạn code trên, biến addr hoàn toàn bị thao túng người dùng mà khơng có chế xử lý từ phía trang web (GET trực tiếp addr để gán cho $addr), kẻ cơng hồn tồn cơng chèn lệnh lợi dụng điều này, ví dụ chèn lệnh phía sau dấu “;” sau địa IP nhập vào ô địa để ping Sau phát có lỗ hổng, ta thực công khai thác với công cụ Commix lệnh: python commix.py -url="http://localhost:3000/scenarios/regular/GET/classic.php?addr=INJECT" Hình Sử dụng Commix để công khai thác trang Classic regular example GET 21 Công cụ Commix phân giải tên miền (ở localhost), kiểm tra kết nối đến URL, thực kiểm tra nhận dạng URL mục tiêu, kiểm thử tham số addr GET, thử kỹ thuật chèn lệnh dựa kết kiểu cổ điển phân tích xác lỗi trang web, kèm với payload inject thành công: Hình 10 Các bước thực cơng cụ Commix với trang Classic regular example GET Tiếp theo, Commix hỏi người dùng lựa chọn sử dụng Pseudo-Terminal shell khơng, chọn Y (yes) người dùng chuyển sang chế độ chèn lệnh, lúc thực chèn mã vào để thu thập thông tin, khai thác tài nguyên từ nạn nhân Hình 11 Tùy chọn sử dụng Pseudo-Terminal shell để thực chèn lệnh đến nạn nhân Sau vào chế độ này, gõ “?” để xem tùy chọn chế độ: Hình 12 Các tùy chọn có sẵn sử dụng Pseudo-Terminal shell Các tùy chọn bao gồm: ● ● ● ● ● Gõ ‘?’ để xem tồn tùy chọn Gõ ‘back’ để Pseudo-Terminal shell Gõ ‘exit’ để thoát commix Gõ ‘reverse_tcp’ để nhận kết nối reverse TCP từ phía nạn nhân Gõ ‘bind’ TCP để tạo kết nối TCP đến nạn nhân 22 Sau xem tùy chọn kẻ cơng thực chèn lệnh hệ điều hành lên máy nạn nhân để máy thực hiện: ● Chạy lệnh whoami để xem tên người dùng máy nạn nhân: Hình 13 Tên người dùng máy nạn nhân ● Chạy lệnh uname -a để xem thông số hệ điều hành nạn nhân: Hình 14 Thơng số hệ điều hành máy nạn nhân ● Chạy lệnh ifconfig để hiển thị cấu hình mạng máy nạn nhân: Hình 15 Cấu hình mạng máy nạn nhân ● Chạy lệnh netstat -an để hiển thị thông tin kết nối mạng máy nạn nhân: Hình 16 Thơng tin kết nối mạng máy nạn nhân ● Chạy lệnh ps -ef để hiển thị tiến trình chạy máy nạn nhân: 23 Hình 17 Những tiến trình chạy máy nạn nhân ● Chạy lệnh ls để hiển thị toàn file thư mục nạn nhân: Hình 18 Toàn file thư mục nạn nhân ● Chạy lệnh pwd để hiển thị vị trí thư mục tính từ thư mục gốc: Hình 19 Vị trí thư mục tính từ thư mục gốc nạn nhân ● Chạy lệnh df để hiển thị báo cáo sử dụng dung lượng ổ cứng nạn nhân: Hình 20 Báo cáo sử dụng dung lượng ổ cứng nạn nhân ● Sau chạy lệnh quit để Commix tồn phiên làm việc ghi vào file log để đọc lại sau đó: Hình 21 Thơng báo ghi file log Commix Ngoài việc chạy lệnh với tham số đầu vào url, người dùng thực chạy với tham số khác lệnh: 24 python2 commix.py -url="http://localhost:3000/scenarios/regular/GET/classic.php?addr=INJECT" -current-user hostname is-root sys-info Với tham số current-user để hiển thị người dùng máy nạn nhân, tham số hostname để hiển thị tên máy chủ nạn nhân, tham số is-root để hiển thị cấp quyền hệ thống nạn nhân, tham số sys-info để hiển thị thơng tin hệ thống nạn nhân: Hình 22 Sử dụng Commix kết hợp tham số để tăng thông tin thu thập từ nạn nhân Kết luận: Sau sử dụng công cụ Commix công khai thác trang web chứa lỗ hổng OS Command Injection kỹ thuật Classic results-based injection, kẻ cơng thu thông tin sau: ● ● ● ● ● ● Hostname nạn nhân: 8463b00b5dcd Người dùng tại: www-data khơng có quyền admin hệ thống Hệ điều hành mục tiêu: Linux với nhân Ubuntu 14.04 Nền tảng phần cứng: x86_64 Những thông số khác hệ điều hành Cấu hình mạng 25 ● ● ● ● ● Thông tin kết nối mạng Tồn tiến trình chạy máy nạn nhân Nội dung thư mục Vị trí thư mục hệ thống Báo cáo sử dụng dung lượng ổ cứng Với nhiều thông tin chi tiết vậy, kẻ cơng hồn tồn sử dụng nhằm phục vụ cho công tiếp theo, ăn cắp thông tin từ máy nạn nhân cho hành vi phi pháp khác Qua đưa kết luận lỗ hổng vô nguy hiểm Commix thể ưu việt việc khai thác lỗ hổng 3.3 Tấn công chèn User-Agent HTTP Header Trên thực tế, có nhiều trang web sử dụng User-Agent HTTP Header người dùng để thực thao tác trang Trong lab này, trang Testbed Classic user-agent-based example lấy User-Agent HTTP Header hiển thị lên hình người dùng: Hình 23 Giao diện trang Testbed Classic user-agent-based example Cơ chế hoạt động trang sau: phần HTTP_USER_AGENT lấy từ biến $_SERVER gán cho biến $user_agent, cuối sử dụng lệnh echo để hiển thị biến $user_agent hình: 26 Hình 24 Đoạn code thực thi lệnh hiển thị User-Agent HTTP trang Classic user-agentbased example Trong đoạn code trên, thấy hồn tồn khơng có chế bảo vệ để chống lại việc người dùng sửa HTTP_USER_AGENT họ chèn payload độc hại vào nó cho phép chèn trực tiếp giá trị HTTP_USER_AGENT vào hàm thông qua lệnh gán Sau phát có lỗ hổng, ta thực cơng khai thác với công cụ Commix lệnh: python commix.py url="http://localhost:3000/scenarios/useragent/ua(classic).php" level=3 technique=="c" Hình 25 Sử dụng Commix để công khai thác trang Classic user-agent-based example 27 Trong có tham số để áp dụng riêng cho công level=3 technique=="c" với ý nghĩa sau: ● level=3 để cấu hình thử nghiệm cơng nhắm vào giá trị User Agent HTTP ( level=1 mặc định level=2 dùng để nhắm vào User Cookie) ● technique=="c" để định công thuộc kiểu Classic results based command injection Công cụ Commix phân giải tên miền (ở localhost), kiểm tra kết nối đến URL, thực kiểm tra nhận dạng URL mục tiêu, kiểm thử tham số HTTP hearder User-Agent, thử kỹ thuật chèn lệnh dựa kết kiểu cổ điển phân tích xác lỗi trang web, kèm với payload inject thành cơng: Hình 26 Các bước thực công cụ Commix với trang Classic user-agent-based example Tiếp theo, Commix hỏi người dùng lựa chọn sử dụng Pseudo-Terminal shell khơng, chọn Y (yes) người dùng chuyển sang chế độ chèn lệnh, lúc thực chèn mã vào để thu thập thông tin, khai thác tài nguyên từ nạn nhân (giống bước tùy chọn Pseudo-Terminal shell phần 3.2.) Sau phần này, phần công coi thành công bước đầu, từ kẻ công cần nhập lệnh hệ điều hành (OS Commands) thực thu thập thơng tin nạn nhân: ● Chạy lệnh uname -a để xem thông số hệ điều hành nạn nhân: Hình 27 Thơng số hệ điều hành máy nạn nhân ● Chạy lệnh ifconfig để hiển thị cấu hình mạng máy nạn nhân: 28 Hình 28 Cấu hình mạng máy nạn nhân ● Chạy lệnh netstat -an để hiển thị thông tin kết nối mạng máy nạn nhân: Hình 29 Thơng tin kết nối mạng máy nạn nhân ● Chạy lệnh ps -ef để hiển thị tiến trình chạy máy nạn nhân: Hình 30 Những tiến trình chạy máy nạn nhân ● Chạy lệnh ls để hiển thị toàn file thư mục nạn nhân: Hình 31 Tồn file thư mục nạn nhân ● Chạy lệnh pwd để hiển thị vị trí thư mục tính từ thư mục gốc: Hình 32 Vị trí thư mục tính từ thư mục gốc nạn nhân 29 ● Chạy lệnh df để hiển thị báo cáo sử dụng dung lượng ổ cứng nạn nhân: Hình 33 Báo cáo sử dụng dung lượng ổ cứng nạn nhân 30 KẾT LUẬN Thơng qua q trình thực nghiệm so sánh, ta rút số kết luận đây: ● Trong tài liệu [1], tác giả so sánh hiệu hoạt động việc kiểm thử khai thác lỗ hổng Commix với ứng dụng quét lỗ hổng web thương mại Netsparker (bản dùng thử 4.8.1.14376), Acunetix (bản dùng thử 11.0.171101535) ứng dụng quét lỗ hổng web mã nguồn mở Arachni (phiên 1.5.1-0.5.12) W3af (phiên 1.7.6) Với môi trường thử nghiệm tập lỗ hổng ứng dụng PHP lỗ hổng ứng dụng NET Cụ thể thông tin lỗ hổng sau: o classic.php thực thi in đầu lệnh ping tới địa IP cung cấp cho ứng dụng thông qua tham số GET addr o eval.php nhận giá trị tham số GET sử dụng làm đối số cho hàm eval () để in hình o blind.php lấy địa IP làm đối số, thông qua tham số GET addr thực lệnh ping với tham số cung cấp Trong trường hợp này, ứng dụng khơng trả kết thực lệnh ping mà thông báo cho biết lệnh ping thành công hay không o double_blind.php lấy địa IP làm đối số, thông qua tham số GET addr thực lệnh ping với tham số cung cấp khơng hiển thị q trình thực Ứng dụng khơng trả thông tin liên quan đến kết việc thực thi lệnh ping o cookie(classic).php thực thi in đầu lệnh ping lấy địa IP làm đối số, địa IP cung cấp cho ứng dụng thông qua giá trị cookie addr o referer(classic).php thực thi in đầu lệnh ping lấy địa IP làm đối số, địa IP cung cấp cho ứng dụng thông qua Referer HTTP Header o no_space.php thực thi in đầu lệnh ping địa IP cung cấp cho ứng dụng thông qua tham số POST addr Ứng dụng lưu trữ loại bỏ ký tự dấu cách () khỏi đầu vào người dùng o no_multiple_characters.php thực thi in đầu lệnh ping địa IP cung cấp cho ứng dụng thông qua tham số POST addr Ứng dụng định vị loại bỏ ký tự khoảng trắng, ký tự; , |, &, $ từ đầu vào người dùng 31 o classic.aspx ứng dụng ASP.NET tương đương classic.php o classic.aspx ứng dụng ASP.NET tương đương blind.php ● Tất ứng dụng web chứa lỗ hổng chứa lỗ hổng phát thực tế Mục đích việc đánh giá khơng tìm khả phát cơng cụ so sánh mà cịn khả khai thác chúng với lỗ hổng phát (nếu có) Kết so sánh tóm tắt sau (với dấu “X” Hỗ trợ tốt dấu “–“ Không hỗ trợ): Bảng So sánh khả kiểm thử khai thác lỗ hổng Commix với số ứng dụng khác W3a f Arachni Netsparker Acunetix Commi x Classic.php X X X X X Eval.php X X X X X Blind.php X X X X X Double_blind.php X X X X X cookie(classic).php X X X X X referer(classic).php X X X X X no_space.php X X X X X no_multiple_characters.ph p X X X X X Classic.aspx X X X X X Blind.aspx X X X X X - - - (Không hỗ trợ) (Không hỗ trợ) (Không hỗ trợ) Khả khai thác X X Từ kết phân tích này, suy Commix đạt kết phát tốt so với công cụ quét web tương tự với lỗ hổng chuyên biệt Tuy sở hữu điểm mạnh trên, Commix có điểm yếu thời gian quét dài 32 công cụ thực nhiều lần quét trước đưa kết luận xác, trái với tuyên bố tác giả Commix tốc độ quét nhanh Bên cạnh đó, Commix chưa hồn tồn lọc bỏ dự đoán sai lệnh trường hợp công liên quan đến thời gian bị ảnh hưởng độ trễ mạng (trường hợp coi bất khả kháng ngoại lệ vấn đề khó kiểm sốt) Tuy chứa điểm mạnh điểm yếu so sánh với công cụ khác mặt tổng thể Commix cơng cụ tốt, miễn phí, đủ mạnh tiện dụng cho nhà phát triển kiểm thử trang web, hay chí cho hacker nghiệp dư sử dụng để nâng cao kinh nghiệm làm việc Nó thể tính ưu việt nhiều trường hợp, với nhiều lỗ hổng trang web khác thực tế Sự xuất Commix mang lại cho nhà kiểm thử công cụ hỗ trợ tiện dụng đồng thời mang đến cho nhà phát triển trang web lời cảnh báo Lời cảnh báo đặc biệt có giá trị thời điểm tại, mà lỗ hổng bảo mật xuất ngày nhiều công cụ khai thác chúng ngày tinh vi, đại Hai lợi ích góp phần khơng nhỏ cho cộng đồng phát triển bảo mật toàn giới, giúp nâng cao chất lượng sản phẩm công nghệ nói chung sản phẩm mang tính bảo mật nói riêng, kéo theo phát triển tồn ngành kinh tế khác 33 TÀI LIỆU THAM KHẢO [1] C N C X Anastasios Stasinopoulos, Commix: Automating Evaluation and Exploitation of Command Injection Vulnerabilities in Web Applications, 2018 [2] commixproject, “Automated All-in-One OS Command Injection Exploitation Tool.,” Available: https://github.com/commixproject/commix [3] commixproject, “A collection of web pages, vulnerable to command injection flaws.,” Available: https://github.com/commixproject/commix-testbed [4] PortSwigger , “OS command injection,” Available: https://portswigger.net/web-security/os-commandinjection#:~:text=OS%20command%20injection%20(also%20known,application%20and%20all%20its%20data [5] A B., “35 Linux Basic Commands Every User Should Know,” Available: https://www.hostinger.com/tutorials/linux-commands [6] commixproject, “commixproject/commix-testbed,” Available: https://hub.docker.com/r/commixproject/commix-testbed [7] Cybr, “Automed Shell Injections with Commix and the Commix Testbed,” Available: https://www.youtube.com/watch?v=dN_PZ-AGDWE [8] Cybr, “Introduction to OS Command Injections - Full Course,” Available: https://www.youtube.com/watch?v=9XY2abdWADQ&t=2873s 34 ... tế quốc gia Mang sứ mệnh quan trọng vậy, trở thành điểm đáng quan tâm lớn với gần tất người: Chính phủ quan tâm bảo đảm bí mật quốc gia an tồn thơng tin cho người dân, người dân quan tâm đến bảo... quan tâm để phá hoại, trục lợi, chống phá,… Môi trường mạng, vốn từ đầu thành phần nhạy cảm cơng nghệ thơng tin tính quan trọng tính dễ lợi dụng Một máy tính khơng kết nối mạng chưa hồn tồn an. .. thời diểm Nằm danh sách dạng cơng chèn mã, OS Command Injection (Tấn công chèn lệnh hệ điều hành) mang đặc tính nguy hiểm hậu tiềm ẩn Loại công sử dụng để khai thác trang web mang lại nhiều thơng

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

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Công cụ Commix - Bài tập lớn môn an toàn mạng (15)
Hình 1.1. Công cụ Commix (Trang 9)
Bảng 1.1. Danh sách các bản phát hành của công cụ Commix - Bài tập lớn môn an toàn mạng (15)
Bảng 1.1. Danh sách các bản phát hành của công cụ Commix (Trang 10)
Hình 1. 3. Chạy lệnh help trên công cụ commix - Bài tập lớn môn an toàn mạng (15)
Hình 1. 3. Chạy lệnh help trên công cụ commix (Trang 12)
Hình 1.2. Clone Commix về máy từ github - Bài tập lớn môn an toàn mạng (15)
Hình 1.2. Clone Commix về máy từ github (Trang 12)
Hình 1. 4. Phần Genera l- Commix help - Bài tập lớn môn an toàn mạng (15)
Hình 1. 4. Phần Genera l- Commix help (Trang 13)
Hình 1.5. Phần Targe t- Commix help - Bài tập lớn môn an toàn mạng (15)
Hình 1.5. Phần Targe t- Commix help (Trang 13)
Hình 1.7. Phần Enumeratio n- Commix help - Bài tập lớn môn an toàn mạng (15)
Hình 1.7. Phần Enumeratio n- Commix help (Trang 14)
Hình 1. 6. Phần Reques t- Commix help - Bài tập lớn môn an toàn mạng (15)
Hình 1. 6. Phần Reques t- Commix help (Trang 14)
Hình 1. 10. Phần Injectio n- Commix help - Bài tập lớn môn an toàn mạng (15)
Hình 1. 10. Phần Injectio n- Commix help (Trang 16)
Hình 1. 12. Phần Miscellaneou s- Commix help - Bài tập lớn môn an toàn mạng (15)
Hình 1. 12. Phần Miscellaneou s- Commix help (Trang 17)
Hình 2. 1. Trang github của Commix Testbed - Bài tập lớn môn an toàn mạng (15)
Hình 2. 1. Trang github của Commix Testbed (Trang 18)
Hình 2.4. Hướng dẫn cài đặt Commix Testbed trên trang docker - Bài tập lớn môn an toàn mạng (15)
Hình 2.4. Hướng dẫn cài đặt Commix Testbed trên trang docker (Trang 19)
Hình 2.3. Trang docker của Commix Testbed - Bài tập lớn môn an toàn mạng (15)
Hình 2.3. Trang docker của Commix Testbed (Trang 19)
Hình 2. 6. môi trường Commix Testbed - Bài tập lớn môn an toàn mạng (15)
Hình 2. 6. môi trường Commix Testbed (Trang 20)
Hình 2. 7. Giao diện trang Classic regular example GET - Bài tập lớn môn an toàn mạng (15)
Hình 2. 7. Giao diện trang Classic regular example GET (Trang 21)
Hình 2. 9. Sử dụng Commix để tấn công khai thác trang Classic regular example GET - Bài tập lớn môn an toàn mạng (15)
Hình 2. 9. Sử dụng Commix để tấn công khai thác trang Classic regular example GET (Trang 22)
Hình 2. 8. Đoạn code thực thi lệnh ping trong trang Classic regular example GET - Bài tập lớn môn an toàn mạng (15)
Hình 2. 8. Đoạn code thực thi lệnh ping trong trang Classic regular example GET (Trang 22)
Hình 2. 10. Các bước thực hiện của công cụ Commix với trang Classic regular example GET - Bài tập lớn môn an toàn mạng (15)
Hình 2. 10. Các bước thực hiện của công cụ Commix với trang Classic regular example GET (Trang 23)
Hình 2. 17. Những tiến trình đang chạy trên máy nạn nhân 1 - Bài tập lớn môn an toàn mạng (15)
Hình 2. 17. Những tiến trình đang chạy trên máy nạn nhân 1 (Trang 25)
Hình 2. 22. Sử dụng Commix kết hợp tham số để tăng thông tin thu thập được từ nạn nhân 1 - Bài tập lớn môn an toàn mạng (15)
Hình 2. 22. Sử dụng Commix kết hợp tham số để tăng thông tin thu thập được từ nạn nhân 1 (Trang 26)
Hình 2. 23. Giao diện trang Testbed Classic user-agent-based example - Bài tập lớn môn an toàn mạng (15)
Hình 2. 23. Giao diện trang Testbed Classic user-agent-based example (Trang 27)
Hình 2. 25. Sử dụng Commix để tấn công khai thác trang Classic user-agent-based example - Bài tập lớn môn an toàn mạng (15)
Hình 2. 25. Sử dụng Commix để tấn công khai thác trang Classic user-agent-based example (Trang 28)
Hình 2. 24. Đoạn code thực thi lệnh hiển thị User-Agent HTTP trên trang Classic user-agent- user-agent-based example  - Bài tập lớn môn an toàn mạng (15)
Hình 2. 24. Đoạn code thực thi lệnh hiển thị User-Agent HTTP trên trang Classic user-agent- user-agent-based example (Trang 28)
Bảng 2. 1. So sánh khả năng kiểm thử và khai thác lỗ hổng của Commix với một số ứng dụng khác  - Bài tập lớn môn an toàn mạng (15)
Bảng 2. 1. So sánh khả năng kiểm thử và khai thác lỗ hổng của Commix với một số ứng dụng khác (Trang 33)

TỪ KHÓA LIÊN QUAN

w