Get in touch
or send us a question?
CONTACT

6 bước cần thiết để sử dụng OWASP ZAP kiểm tra thâm nhập (Penetration Testing)

Chắc chắn rằng không tổ chức nào muốn trở thành nạn nhân của một cuộc tấn công mạng. Tuy nhiên trên thực tế, ngay cả tổ chức quan tâm đến bảo mật nhất cũng có thể mất cảnh giác hoặc bị lộ thông tin khi phát hiện hành vi xâm nhập zero-day.

Ngoài ra, với sự phức tạp của hệ thống (ứng dụng, mạng, trang web) cũng như số lượng lỗ hổng khác nhau được phát hiện ngày càng tăng, việc ngăn chặn tất cả chúng ngày càng khó khăn hơn. Bất chấp những nỗ lực bảo mật tốt nhất, điều này vẫn có thể tạo cơ hội cho những người dùng độc hại.

Chúng ta không cần phải vẽ câu chuyện kinh dị về thiệt hại mà một cuộc tấn công mạng gây ra cho một công ty về mặt kinh doanh, niềm tin, danh tiếng và nhiều thứ khác – nhưng đôi khi nó lên tới hàng triệu và tỷ đô la, cũng như mất nhiều công sức để giảm thiểu và khắc phục sự cố tấn công.

Ngày nay chúng ta có vị thế tốt hơn nhiều để vượt qua những thách thức về an ninh, với nhiều giải pháp xuất sắc, công cụ, kiến thức và nhận thức về các công cụ bảo mật mã nguồn mở hỗ trợ quét bảo mật tốt hơn.

Một công cụ tuyệt vời đã góp phần thay đổi cuộc chơi nhằm đơn giản hóa việc phát hiện bảo mật và cuối cùng là khắc phục sự cố là OWASP ZAP. OWASP ZAP là một dự án cộng đồng mở cung cấp DAST (Dynamic Application Security Testing) vượt trội cho các ứng dụng web.

Các loại thử nghiệm bảo mật

Dưới đây là một số loại thử nghiệm bảo mật phổ biến nhất:

Đánh giá lỗ hổng bảo mật (Vulnerablility assessment): Đánh giá lỗ hổng bảo mật sẽ phân tích một hệ thống hoặc ứng dụng để xác định các rủi ro bảo mật. Nó rất cần thiết vì nó có thể giúp ngăn chặn các cuộc tấn công bằng cách xác định và sửa các lỗ hổng bảo mật. Đánh giá lỗ hổng có thể được sử dụng để bảo vệ doanh nghiệp bằng cách xác định các rủi ro bảo mật tiềm ẩn và thực hiện các bước để giảm thiểu chúng.

Kiểm tra thâm nhập (Penetration testing): Kiểm tra thâm nhập là một loại kiểm tra bảo mật được sử dụng để đánh giá tính bảo mật của hệ thống máy tính hoặc mạng. Nó được sử dụng để tìm các lỗ hổng mà kẻ tấn công có thể khai thác để có quyền truy cập vào hệ thống hoặc dữ liệu nhạy cảm. Nó có thể giúp doanh nghiệp bảo vệ khỏi các tác nhân xấy bằng cách xác định các điểm yếu về bảo mật và đưa ra các khuyến nghị để cải thiện tình trạng bảo mật của tổ chức.

Kiểm tra thời gian chạy (Runtime testing): Kiểm tra thời gian chạy là một quá trình kiểm tra phần mềm trong quá trình thực thi. Loại thử nghiệm này có thể phát hiện ra các lỗi không rõ ràng trong quá trình thiết kế hoặc biên dịch.

Đánh giá mã (Code review): Đánh giá mã là một quá trình trong đó mã được kiểm tra các lỗi tiềm ẩn, lỗ hổng bảo mật và các vấn đề tuân thủ. Nó có thể được sử dụng để bảo vệ doanh nghiệp của bạn khỏi các cuộc tấn công nguy hiểm bằng cách xác định và sửa các lỗi cũng như lỗ hổng trước khi các cuộc tấn công mạng có thể khai thác chúng. Đánh giá mã cũng có thể giúp đảm bảo tuân thủ các quy định của ngành và chính phủ

Kiểm tra thâm nhập (Penetration Testing):

5 giai đoạn thử nghiệm thâm nhập:

Giai đoạn 1: Lập kế hoạch và trinh sát

Lập kế hoạch và trinh sát là bước đầu tiên trong thử nghiệm thâm nhập. Nó giúp người kiểm thử hiểu được môi trường mục tiêu và xác định các lỗ hổng tiềm ẩn. Nó cũng cho phép người thử nghiệm tạo kế hoạch tấn công và chọn các công cụ và kỹ thuật thích hợp để thử nghiệm.

Giai đoạn 2: Quét

Giai đoạn quét là quá trình xác định các hệ thống và dịch vụ đang chạy trên mạng. Nó cho phép người kiểm tra thâm nhập xác ịnh hệ thống nào dễ bị tấn công. Giai đoạn quét cũng cho phép người kiểm tra thâm nhập chọn cách tốt nhất để tấn công các hệ thống trên mạng.

Giai đoạn 3: Giành quyền truy cập hệ thống

Trong giai dodnanj này, kẻ tấn công cố gắng giành quyền truy cập vào hệ thống. Điều này có thể thực hiện bằng cách cố gắng khai thác các lỗ hổng trong hệ thống, ép buộc mật khẩu hoặc kỹ thuật xã hội. Giai đoạn này rất quan trọng vì đó là lúc kẻ tấn công có thể truy cập vào hệ thống và bắt đầu xâm phạm nó.

Giai đoạn 4: Truy cập liên tục

Giai đoạn truy cập liên tục trong thử nghiệm thâm nhập là kẻ tấn công cố gắng duy trì quyền truy cập vào hệ thống sau lần xam phạm ban đầu. Truy cập liên tục có thể được thực hiện bằng cách: cài đặt backdoor, thiết lập shell đảo ngược liên tục hoặc thêm người dùng vào hệ thống với các đặc quyền nâng cao. Giai đoạn này cho phép kẻ tấn công duy trì chỗ đứng trong hệ thống ngay cả khi mất quyền truy cập ban đầu. Điều này có thể tác động đến doanh nghiệp bằng cách cho phép kẻ tấn công giám sát hệ thống liên tục và thu thập dữ liệu nhạy cảm hoặc khởi động các cuộc tấn công tiếp theo nhằm vào các hệ thống khác.

Giai đoạn 5: Phân tích và báo cáo

Giai đoạn phân tích và báo cáo trong thử nghiệm thâm nhập là khi pentester phân tích dữ liệu thu thập được trong quá trình đánh giá và tạo báo cáo nêu chi tiết những phát hiện của họ. Giai đoạn này cho phép pentester truyền đạt những phát hiện của họ cho khách hàng để thực hiện hành động thích hợp nhằm giảm thiểu mọi rủi ro. Điều quan trọng nữa là các doanh nghiệp phải hiểu được tác động tiềm ẩn của bất kì lỗ hổng nào được tìm thấy để đưa ra quyết định sáng suốt về cách bảo vệ hệ thống của mình.

Cách sử dụng OWASP ZAP để kiểm tra thâm nhập

ZAP là viết tắt của Zed Attack Proxy, được nhiều pentester tận dụng để tìm ra lỗ hổng bảo mật trong ứng dụng web, hiểu và khắc phục các sự cố bảo mật cũng như duy trì bảo mật tốt lâu dài. Nó thực hiện điều này bằng cách tạo ra đánh giá bảo mật cơ bản của ứng dụng web và giúp đảm bảo tuân thủ các tiêu chuẩn và quy định bảo mật.

1. Cài đặt ZAP:

Tải xuống và cài đặt phiên bản mới nhất từ trang web OWASP ZAP: tải xuống
Tham khảo tài liệu hướng dẫn ZAP: https://www-zaproxy-org/

2. Duy trì 1 session:

Việc duy trì một phiên (session) trong OWASP ZAP có nghĩa là phiên đó sẽ được lưu và có thể mở lại sau đó. Điều này hữu ích nếu bạn muốn tiếp tục thử nghiệm một trang web hoặc ứng dụng sau này.

Khi bạn khởi động ZAP sẽ thấy một màn hình như sau:

Bạn có thể sử dụng mặc định tên cho phiên dựa trên dấu thời gian hiện tại hoặc đặt tên và vị trí của mình.

Ngoài ra bạn có thể duy trì một phiên bằng cách đi tới File -> Chọn Persist session. Đặt tên cho phiên và lưu lại.

3. Chạy quét tự động (Automated scan):

Chạy quét tự động là cách kiểm tra phổ biến trong các ứng dụng web. Điều này được thực hiện bằng cách gửi yêu cầu đến ứng dụng và phân tích phản hồi để tìm dấu hiệu của các lỗ hổng phổ biến. Nó có thể giúp phát hiện sớm các vấn đề bảo mật trong quá trình phát triển trước khi chúng bị khai thác.

Với OWASP ZAP bạn có thể sử dụng ZAP Spider hoặc AJAX Spider.

  • ZAP Spider là một trình thu thập dữ liệu web có thể tự động tìm ra các lỗ hổng bảo mật trong các ứng dụng web.
  • AJAX Spider là một trình thu thập dữ liệu web được thiết kế để thu thập dữ liệu và tấn công các ứng dụng web dựa trên AJAX.

Nhấn vào Tools sẽ cung cấp danh sách các công cụ pentesting có sẵn do OWASP ZAP cung cấp.

Để chạy quét tự động, bạn có thể sử dụng tùy chọn “Automated Scan” trong tab Quick Start. Nhập URL của trang web bạn muốn quét vào trường “URL to attack”, sau đó nhấn “Attack”.

4. Giải thích kết quả thử nghiệm:

Trong OWASP ZAP, bạn cso thể xem cảnh báo bằng cách nhấp vào tab “Alerts”. Tab này sẽ hiển thị danh sách tất cả các cảnh báo đã được kích hoạt trong quá trình thử nghiệm của bạn. Các cảnh báo được sắp xếp theo mức độ rủi ro, tróng đó cảnh báo mức độc rủi ro cao nhất ở đầu danh sách.

OWASP ZAP sẽ cung cấp thông tin chi tiết về các lỗ hổng được phát hiện và đề xuất cách bạn có thể khắc phục chúng.

5. Xem cảnh báo và chi tiết cảnh báo

Xem những vấn đề bảo mật tiềm ẩn đã được xác định giúp quản trị viên hiểu những gì cần khắc phục để cải thiện tính bảo mật của ứng dụng.

Nếu không tìm thấy tab “Alerts” thì có thể truy cập thông qua menu “View”, cùng với các tùy chọn khác có sẵn trong OWASP ZAP. Sau khi có tab “Alerts”, bạn có thể điều hướng các lỗ hổng khác nhau được phát hiện và khám phá các báo cáo do OWASP ZAP tạo.

6. Khám phá ứng dụng theo cách thủ công (Manual Explore):

Việc khám phá ứng dụng theo cách thủ công trong OWASP ZAP là một quá trình kiểm tra ứng dụng theo cách thủ công để tìm các lỗ hổng bảo mật. Việc làm này có thể đảm bảo ứng dụng được an toàn nhất có thể.

Quét thủ công bổ sung cho quá trình quét tự động bằng cách cung cấp phân tích sâu hơn về ứng dụng và cho phép bạn điều hướng quy trình pentest. Quá trình quét tự động có thể bỏ sót một số lỗ hổng nhưng quá trình quét thủ công có thể phát hiện ra các vấn đề bị bỏ sót. Tuy nhiên việc quét thủ công có thể tốn thời gian và không khả thi đối với ứng dụng lớn.

Để khám phá một ứng dụng theo cách thủ công, hãy chọn “Manual Explore”. Chọn trình duyệt của bạn và OWASP ZAP sẽ khởi chạy prozy trong trình duyệt của bạn. Tại đây sẽ có các công cụ pentessting như Spider và nếu phát hiện ra lỗ hổng, cờ cảnh báo sẽ được thêm vào bảng Alerts.

Tham khảo và dịch từ bài viết gốc: https://www.jit.io/blog/6-essential-steps-to-use-owasp-zap-for-penetration-testing