1. Trang chủ
  2. » Thể loại khác

Pentest Methodology part 1

52 13 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 đề Phương Pháp Pentest
Thể loại tài liệu
Định dạng
Số trang 52
Dung lượng 545,71 KB

Nội dung

Chương 21 Phương pháp Pentest Chương này trình bày phương pháp chi tiết từng bước phương pháp tấn công một ứng dụng web, gồm các loại lỗ hổng và kỹ thuật tấn công được trình bày trong các chương trước[.]

Chương 21 Phương pháp Pentest Chương trình bày phương pháp chi tiết bước phương pháp công ứng dụng web, gồm loại lỗ hổng kỹ thuật cơng trình bày chương trước Tuy phương pháp khơng giúp tìm tất lỗ hổng ứng dụng định đảm bảo kiểm thử tất khu vực cần thiết ứng dụng đảm bảo tìm thấy nhiều vấn đề với tài ngun có Hình minh họa cơng việc mà phương pháp luận mô tả Chương bám sát sơ đồ chia nhỏ nhiệm vụ liên quan Số thứ tự tương ứng sơ đồ thứ tự bước phương pháp luận Phương pháp luận trình bày dạng chuỗi nhiệm vụ tổ chức xếp phụ thuộc lẫn Trong phương pháp, phụ thuộc nêu mô tả nhiệm vụ Tuy nhiên thực tế, người kiểm thử thường xuyên phải đưa định hướng đánh giá theo trường hợp cụ thể Ví dụ: - Thơng tin thu thập thời điểm khiến bạn quay lại bước trước để hình thành cơng tập trung Ví dụ: lỗi kiểm soát truy cập cho phép liệt kê danh sách người dùng để thực công chức xác thực - Việc phát lỗ hổng chức ứng dụng giúp bỏ qua một vài giai đoạn kiểm tra chức khác Ví dụ: lỗ hổng lộ mã nguồn chương trình cho phép đánh giá chức ứng dụng theo hướng white box thay black box thường lệ - Kết kiểm tra chức giúp phát lỗ hổng định chức khác để chuyển hướng kiểm thử Ví dụ: lỗi chung xác thực đầu vào giúp việc tìm cách bỏ qua biện pháp phịng thủ ứng dụng nhanh chóng Hình 1.0 Các cơng việc phương pháp luận Quy trình phương pháp luận giúp cho cơng việc kiểm thử tránh khỏi sơ suất khơng đáng có, không bắt buộc tuân thủ cứng nhắc Các nhiệm vụ mô tả phương pháp luận phần lớn tiêu chuẩn thống, cơng khơng có Hướng dẫn chung Khi thực kiểm thử ứng dụng web, người kiểm thử cần tuân thủ số lưu ý chung, áp dụng cho tất khu vực, chức khác ký thuật cần thực Một số ký tự coi đặc biệt HTTP request encode Khi sửa đổi nội dung request, cần sử dụng URL encode ký tự để đảm bảo chúng diễn giải ý nghĩa: - & dùng để phân tách tham số chuỗi truy vấn URL nội dung message Để chèn ký tự & cần encode thành %26 - = dùng để phân tách tên giá trị tham số chuỗi truy vấn nội dung message Để chèn ký tự = cần encode thành %3d - ? dùng để đánh dấu bắt đầu chuỗi truy vấn URL Để chèn ký tự ? cần encode thành %3f - Khoảng trắng (space) dùng để đánh dấu kết thúc URL request cho biết phần cuối giá trị cookie Cookie Header Để chèn khoảng trắng cần encode thành %20 + - + encode khoảng trắng nên để chèn ký tự + cần encode thành %2b - ; dùng để tách cookie riêng lẻ Cookie header Để chèn ký tự ; cần encode thành %3b - # dùng để đánh dấu phân đoạn URL Nếu nhập ký tự vào URL, giúp cắt bớt URL gửi đến máy chủ Để chèn ký tự # cần encode thành %23 - % dùng làm tiền tố giá trị mã URL Để chèn ký tự % cần encode thành %25 - Mọi ký tự null byte enter phải encode URL thành %00 %0a tương ứng Hơn nữa, việc nhập liệu URL encode vào form khiến trình duyệt thực lớp encode khác Ví dụ, gửi %00 form kết encode cuối thành %2500 gửi đến máy chủ Vì lý này, thông thường nên sử dụng proxy chặn bắt request Trong nhiều trường hợp kiểm thử, người kiểm thử cần thực gửi chuỗi tạo thủ công, theo dõi phàn hồi ứng dụng để tìm điểm bất thường từ phát lõ hổng bảo mật Trong số trường hợp, phản hồi ứng dụng với request cụ thể chứa dấu hiệu lỗ hổng lỗ hổng kích hoạt hay chưa Trong trường hợp đầu vào cụ thể dẫn đến hành vi bất thường, cần kiểm tra lại xem việc gửi request lành tính có gây kết tương tự hay khơng Nếu có, khơng thể kết luận lỗ hổng bảo mật Các ứng dụng thường tích lũy trạng thái từ request trước gây ảnh hưởng đến việc phản hồi request khác Đôi khi, muốn khai thác lỗ hổng dự kiến xác định nguyên nhân hành vi bất thường cần phải loại bỏ ảnh hưởng trạng thái tích lũy Để làm điều đó, thơng thường cần bắt đầu phiên làm việc mới, điều hướng đến điểm bất thường request lành tính sau khai thác thác lại Thơng thường, lặp lại bước refresh cách điều chỉnh phần cookie request container thông tin nhớ đệm ngồi ra, sử dụng cơng cụ Burp Repeater để cô lập request, thực điều chỉnh gửi lại request nhiều lần Một số ứng dụng sử dụng cân tải HTTP request liên tiếp xử lý máy chủ khác Các máy chủ có khác biệt nhỏ nội dung cấu hình ảnh hưởng đến kết khai thác Ngoài ra, số công thành công dẫn đến thay đổi trạng thái máy chủ chẳng hạn tạo file Để phân biệt ảnh hưởng, người kiểm thử phải thực gửi liên tiếp request giống hệt nhau, kiểm tra kết request nhận kết từ máy chủ liên quan Khi triển khai kiểm thử ứng dụng web, người kiểm thử phải xác định xác tên máy chủ, URL, chức sử dụng hạn chế đội ngũ kiểm thử Người kiểm thử cần cho chủ sở hữu nhận thức xác rủi ro liên quan đến việc thực kiểm thử xâm nhập Khuyên chủ sở hữu lưu liệu quan trọng trước bắt đầu công việc Xác định chức ứng dụng Hình 1.1 Xác định chức ứng dụng 1.1 Xác định chức hiển thị (Explore Visible Content) Cấu hình để trình duyệt sử dụng proxy / spidering tool Cả Burp WebScarab sử dụng để giám sát phân tích nội dung trang web đươc chặn pproxy Có thể cấu hình trình duyệt sử dụng tiện ích mở rộng IEWatch để theo dõi phân tích nội dung HTTP va HTML trình duyệt xử lý Sử dụng ứng dụng bình thường, truy cập liên kết URL, hoàn thành tất form chức nhiều bước Thử với JavaScript cho phép chặn cookie cho phép chặn nhiều ứng dụng xử lý cấu hình trình duyệt khác nhau, người dùng truy cập nội dung đường dẫn mã nguồn khác ứng dụng Nếu ứng dụng sử dụng xác thực, yêu cầu chủ sở hữu cung cấp tài khoản tạo tài khoản, sử dụng tài khoản để truy cập chức bảo vệ Khi kiểm tra, theo dõi request response bị proxy chặn lại để hiểu liệu trao đổi cách ứng dụng phía client sử dụng để kiểm sốt hành vi ứng dụng phía máy chủ Kiểm tra lại kiến trúc trang web tạo công cụ spider xác định nội dung chức chưa dùng (kiểm tra) qua Từ kiến trúc trang web xác định vị trí chức chưa kiểm tra (ví dụ: Burp Spider, kiểm tra Linked From details) Truy cập chức trình duyệt để spider phân tích cú pháp phản hồi máy chủ để xác định thành phần khác Lặp lại bước không xuất thành phần chức khác Khi duyệt web theo cách thủ cơng thụ động, người kiểm thử chủ động thu thập thông tin ứng dụng công cụ quét với URL biết bước làm xuất nội dung bổ sung thu thập thông tin theo cách thủ công Trước thực thu thập thông tin thủ công, cần xác định URL phá vỡ phiên ứng dụng, loại chúng khỏi phạm vi kiểm tra 1.2 Consult Public Resources (sử dụng nguồn công khai) Sử dụng công cụ tìm kiếm internet (như Wayback Machine) để xác định nội dung công khai đối tượng Sử dụng tùy chọn tìm kiếm nâng cao để cải thiện hiệu kiểm tra Ví dụ: Google, dùng site: để truy xuất tất kết cho đối tượng, link: truy xuất trang khác liên kết đến đối tượng Nếu kết tìm kiếm khơng cịn xuất ứng dụng xem cache cơng cụ tìm kiếm nội dung chứa liên kết đến tài ngun bổ sung chưa bị xóa Thực tìm kiếm tên, địa email xuất nội dung ứng dụng, chẳng hạn thông tin liên hệ bao gồm thông tin không hiển thị HTML comment Ngồi ra, cần tìm kiếm nhóm kênh tin tức tìm kiếm chi tiết kỹ thuật liên quan đến mục tiêu sở hạ tầng hỗ trợ đăng tải diễn đàn Xem lại tệp WSDL (Web Service Description Language) để tạo danh sách hàm tham số mà ứng dụng sử dụng 1.3 Tìm kiếm chức ẩn (Discover Hidden Content) Xác định cách ứng dụng xử lý request liên quan đến mục không tồn thực số request thủ công tài nguyên hợp lệ không hợp lệ, so sánh response máy chủ để xác định đối tượng không tồn Xác định danh sách thư mục, file phổ biến phần mở rộng tên tệp phổ biến thêm vào danh sách tên tồn tên suy Xác định quy ước đặt tên nhà phát triển ví dụ: có trang AddDocument.jsp ViewDocument.jsp có trang EditDocument.jsp RemoveDocument.jsp Kiểm tra code phía client để xác định manh mối chức ẩn máy chủ HTML comment hay thành phần form bị vô hiệu hóa Sử dụng kỹ thuật tự động hóa mô tả chương 14, thực hàng loạt request với thư mục, file phần mở rộng file, theo dõi phản hồi máy chủ để xác định thư mục/file tồn có khả truy cập Thực lặp lại bước thu thập thông tin với chức khác 1.4 Tìm kiếm thành phần mặc định Chạy Nikto để xác định nội dung mặc định Sử dụng tùy chọn Nikto để tối đa hóa hiệu Ví dụ: sử dụng –root để định thư mục/khu vực kiểm tra nội dung mặc định -404 định chuooixdaanx đến trang thông báo lỗi File Not Found Kiểm tra lại kết băng phương pháp thủ công, loại bỏ kết giả Request đến thư mục, định IP Host header, xác định xem ứng dụng có phản hồi khơng, có, chạy Nikto với IP máy chủ Request đến thư mục, định danh sách User-Agent headers www.useragentstring.com/pages/useragentstring.php 1.5 Liệt kê chức định danh Xác định hàm truy cập định danh (ví dụ: /admin.jsp?action=editUser hay /main.php?func=A21) Áp dụng kỹ thuật mục 1.3 chức riêng lẻ ví dụ: ứng dụng sử dụng tham số chứa tên hàm Trước tiên, xác định hành vi ứng dụng tên hàm không hợp lệ hợp lệ xác định danh sách tên hàm phổ biến chu trình thơng qua phạm vi cú pháp định danh sử dụng thử liệt kê chức hợp lệ tự động Xây dựng kiến trúc ứng dụng dựa đường dẫn chức thay URL Kiểm tra chức năng, luồng logic phụ thuôc chúng (xem chương 4) 1.6 Kiểm tra thông số debug (Test for Debug Parameters) Chọn trang/chức có khả chứa tham số debug ẩn (chẳng hạn debug = true) Chúng có khả xuất chức đăng nhập, tìm kiếm, tải lên tải xuống Sử dụng danh sách tham số gỡ lỗi phổ biến (như debug, test, hide, source) giá trị chung (như true, yes, on, 1) Đối với cặp tên tham số/giá trị Gửi cặp cho hàm mục tiêu Đối với POST request, cấp tham số truy vấn URL nội dung request Sử dụng kỹ thuật mô tả chương 14 để thực tự động hóa Ví dụ: sử dụng cơng bomb Burp Intruder để kết hợp tất hoán vị payload Kiểm tra phản hồi bất thường ứng dụng để xác định trường hợp mà thông số thêm vào có ảnh hưởng đến q trình xử lý ứng dụng Phân tích ứng dụng Hình 2.2 phân tích ứng dụng 2.1 Xác định hàm Xác định chức cốt lõi ứng dụng hoạt động chức chúng hoạt động bình thường Xác định chế bảo mật cốt lõi ứng dụng sử dụng cách chúng hoạt động Hiểu chế xác thực, quản lý phiên kiểm soát truy cập chức hỗ trợ chúng, chẳng hạn đăng ký người dùng khôi phục tài khoản Xác định chức hành vi rộng hơn, chẳng hạn chuyển hướng, liên kết ngồi, thơng báo lỗi chức quản trị, ghi nhật ký Xác định chức khác với giao diện GUI tiêu chuẩn, đặt tên tham số chế điều hướng sử dụng vị trí khác, chọn để kiểm tra chuyên sâu 2.2 Xác định đầu vào liệu Xác định tất vị trí người dùng đưa liệu vào q trình xử lý ứng dụng URL, tham số truy vấn, POST data, cookie HTTP header khác ứng dụng xử lý Kiểm tra chế mã hóa truyền liệu tùy chỉnh ứng dụng sử dụng, ví dụ định dạng chuỗi truy vấn không ... chủ sở hữu lưu liệu quan trọng trước bắt đầu công việc Xác định chức ứng dụng Hình 1. 1 Xác định chức ứng dụng 1. 1 Xác định chức hiển thị (Explore Visible Content) Cấu hình để trình duyệt sử dụng... www.useragentstring.com/pages/useragentstring.php 1. 5 Liệt kê chức định danh Xác định hàm truy cập định danh (ví dụ: /admin.jsp?action=editUser hay /main.php?func=A 21) Áp dụng kỹ thuật mục 1. 3 chức riêng lẻ ví dụ: ứng... chương 14 , thực hàng loạt request với thư mục, file phần mở rộng file, theo dõi phản hồi máy chủ để xác định thư mục/file tồn có khả truy cập Thực lặp lại bước thu thập thông tin với chức khác 1. 4

Ngày đăng: 29/04/2022, 11:32

HÌNH ẢNH LIÊN QUAN

Hình 1.0. Các công việc chính của phương pháp luận Quy trình trong phương pháp luận này giúp cho công việc kiểm thử tránh khỏi các sơ suất không đáng có, nhưng không bắt buộc tuân thủ cứng nhắc - Pentest Methodology part 1
Hình 1.0. Các công việc chính của phương pháp luận Quy trình trong phương pháp luận này giúp cho công việc kiểm thử tránh khỏi các sơ suất không đáng có, nhưng không bắt buộc tuân thủ cứng nhắc (Trang 2)
Hình 1.1. Xác định các chức năng ứng dụng - Pentest Methodology part 1
Hình 1.1. Xác định các chức năng ứng dụng (Trang 5)
Hình 2.2 phân tích ứng dụng - Pentest Methodology part 1
Hình 2.2 phân tích ứng dụng (Trang 10)
Hình 3.3 kiểm tra kiểm soát phía client - Pentest Methodology part 1
Hình 3.3 kiểm tra kiểm soát phía client (Trang 12)
Hình 4.4 Kiểm tra cơ chế xác thực - Pentest Methodology part 1
Hình 4.4 Kiểm tra cơ chế xác thực (Trang 18)
Hình 5.5 kiểm tra cơ chế quản lý phiên - Pentest Methodology part 1
Hình 5.5 kiểm tra cơ chế quản lý phiên (Trang 30)
w