GIỚI THIỆU VỀ BURP SUITE
Bảo mật không còn là tùy chọn
Chương 1 đã trình bày cái nhìn tổng quan về an toàn bảo mật ứng dụng web hiện nay Tuy nhiên, thực tế cho thấy việc bảo đảm an toàn cho ứng dụng web thường bị xem nhẹ và không được ưu tiên trong các doanh nghiệp, tổ chức Mặc dù ứng dụng web có lợi thế truy cập 24/7, nhưng nếu không được bảo mật đúng cách, chúng có thể trở thành mục tiêu tấn công bất cứ lúc nào.
Bảo mật phần mềm không chỉ là một quá trình thử nghiệm làm chậm tiến độ công việc, mà còn là yếu tố thiết yếu cho sự thành công của sản phẩm Người dùng luôn mong muốn bảo vệ thông tin cá nhân của mình và tránh rủi ro bị lộ ra bên ngoài.
Các ứng dụng web được thiết kế để người dùng thu thập và gửi thông tin cá nhân, bao gồm cả thông tin nhạy cảm Nếu không đảm bảo an toàn bảo mật, cơ sở dữ liệu chứa thông tin nhạy cảm sẽ đối mặt với nguy cơ tấn công Nghiên cứu cho thấy khoảng 75% vụ tấn công mạng xảy ra trên ứng dụng web Để đối phó với nguy cơ này, cần áp dụng các phương pháp bảo mật, bao gồm kỹ thuật rà quét và phát hiện lỗ hổng bảo mật Điều này cho phép quản trị viên vá các lỗ hổng trước khi hacker có thể khai thác để thực hiện tấn công.
Burp Suite là một bộ công cụ kiểm tra xâm nhập ứng dụng web, được phát triển bởi Portswigger, công ty do Dafydd Stuttard sáng lập Đây là một công cụ toàn diện, cho phép người dùng nâng cao khả năng thông qua các tiện ích bổ sung (BApps) Với tính dễ sử dụng, Burp Suite trở thành lựa chọn phổ biến hơn so với các công cụ miễn phí như OWASP ZAP Là một trong những công cụ kiểm tra thâm nhập và tìm lỗ hổng hàng đầu, Burp Suite được sử dụng rộng rãi để đánh giá bảo mật của các ứng dụng web Với hơn 58,000 người dùng, Burp Suite hiện là trình quét lỗ hổng bảo mật trên web phổ biến nhất toàn cầu.
Hình 1.0.1 BurpSuite được sử dụng rộng rãi trên toàn thế giới
Hình 1.0.3 Các phiên bản của Burp Suite
• Trình quét lỗ hổng bảo mật trên web do doanh nghiệp
• Có thể tự động hóa và mở rộng quy mô quét lỗ hổng bảo mật trên web để bảo vệ tổ chức và khách hàng
• Được sử dụng bởi AppSec leaders, đội kỹ thuật, DevSecOps
• Bộ công cụ kiểm tra xâm nhập web số 1 thế giới
• Bộ công cụ được nhiều chuyên gia tin cậy để kiểm tra hiệu quả các ứng dụng web, giúp tìm được ra nhiều lỗ hổng hơn, nhanh hơn
• Được tin cậy bởi hơn 50.000 penetration testers và bug bounty hunters
• Gồm các công cụ tốt nhất để bắt đầu kiểm tra bảo mật web
• Miễn phí cho tất cả mọi người sử dụng nhưng sẽ ít tính năng hơn 2 phiên bản trên
Các tính năng nổi bật
− Interception Proxy: Được thiết kế để bắt các request từ đó có thể tùy ý sửa đổi trước khi các request này được gửi lên server
Repeater là công cụ cho phép người dùng tái sử dụng một yêu cầu (request) đã gửi trước đó, đồng thời dễ dàng chỉnh sửa nội dung của yêu cầu đó nhiều lần Sau khi thực hiện các thay đổi cần thiết, người dùng có thể gửi yêu cầu đã được sửa đổi đi tiếp.
− Intruder: Tự động hóa việc gửi hàng loạt các request có chứa các payload tương tự nhau lên server
− Decoder: Decode và encode string theo các format khác nhau (URL, Base64, HTML,…)
− Comparer: Chỉ ra sự khác nhau giữa các requests/responses
− Extender: API để mở rộng chức năng của Burp Suite Có thể download các extensions thông qua Bapp Store
− Spider & Discover Content: Crawl link có trong ứng dụng web
− Scanner (chỉ có trong bản Pro): Một mô đun khác mạnh mẽ, giúp tự động quét các lỗ hổng trong ứng dụng web (XSS, SQLi, Command Injection, File Inclusion,…).
CÀI ĐẶT VÀ SỬ DỤNG BURP SUITE
Cài đặt Burp Suite
Burp Suite viết bằng Java Vậy nên, máy phải cài Java nếu muốn sử dụng Burp Suite
Cần phải cài đặt java (jdk) trước khi cài đặt công cụ này Tải và cài đặt java jdk theo link Link tải java jdk
1.1 Cài Burp Suite trên Windows
Bước 1: Tải Burp Suite bản mới nhất trên trang chủ Sẽ có 3 lựa chọn phiên bản Enterprise
+ Professional ( mất phí) và Community (bản miễn phí) http://portswigger.net/
Hình 2.0.1 Tải Burp Suite từ trang chủ PortSwigger Ở đây sẽ chọn phiên bản Community để tải về
Hình 2.0.2 Tải Burp Suite community từ trang chủ
Nhập email và ấn download
Hình 2.0.3 Chọn phiên bản và loại máy
Chọn phiên bản cho windows và tải về file exe Ngoài ra có thể download file jar về để chạy file java
Bước 2: Mở trình cài đặt tiến hành cài đặt Burp Suite, chọn “Next” khi được yêu cầu
Hình 2.0.4 Trình cài đặt Burp Suite
Bước 3: Chọn nơi cài đặt Burp Suite, cần tối thiểu 294 MB
Hình 2.0.5 Chọn nơi cài đặt Burp Suite
Bước 4: Chọn “Finish” để thoát khỏi trình cài đặt khi đã xong
Bước 1: Tương tự như phần Windows, lên trang chủ của burp suite để tải phiên bản cho
Hình 2 0.7 Tải phiên bản Burp Suite cho Linux
Bước 2: Khi Downl xong thì ta sẽ có 1 file sh Chạy lệnh để cấp quyền cho file sh đó chmod +x burpsuite_community_linux_v2020_1.sh
Hình 2.0.8 Cấp quyền cho file sh của Burp Suite
Bước 3: Khi các quyền đã được cấp, thực thi file đó bằng lệnh
Sh /burpsuite_community_linux_v2020_1.sh
Bước 4: Một GUI hiện ra, chọn “Next”
Hình 2.0.9 Thực thi file sh để cài burp suite
Bước 5: Chọn thư mục để lưu và ấn “Next”
Hình 2.0.10 Chọn nơi cài Burp Suite
Bước 6: Phần mềm sẽ được cài Sau khi cài xong ấn “Finish”
Hình 2.0.11 Hình ảnh cài đặt xong Burp Suite
1.3 Thiết lập Proxy cho trình duyệt Để có thể sử dụng Burp Suite trên trình duyệt của mình thì cần thiết lập Proxy trên Firefox hoặc Chrome, Dưới đây sẽ là hướng dẫn cài đặt trên firefox [4]
Bước 1: Trong firefox, chọn Preferences > Options
Hình 2.0.12 Hình ảnh mở cài đặt proxy trên firefox
Bước 2: Chọn tab General và cuộn đến cài đặt Network Proxy Nhấp vào nút Settings
Hình 2.0.13 Hình ảnh mở cài đặt proxy trên firefox
Bước 3: Chọn tùy chọn Manual proxy configuration
Nhập địa chỉ trình nghe Burp Proxy vào trường HTTP Proxy (theo mặc định, địa chỉ này được đặt thành 127.0.0.1)
Tiếp theo, nhập Port trình nghe Burp Proxy vào trường Port (theo mặc định, 8080) Đảm bảo rằng Use this proxy server for all protocols được chọn
Hình 2.0.14 Cài đặt proxy cho firefox
Bước 4: Xóa bất kỳ thứ gì xuất hiện trong trường No proxy for Sau đó, nhấp vào OK để đóng tất cả các hộp thoại tùy chọn
Hình 2.0.15 Cài đặt proxy cho firefox
1.4 Cài đặt chứng chỉ cho burp để bắt các request website https
Cài đặt chứng chỉ cho burp để có thể bắt các request website https Cần cài đặt và trust chứng chỉ của Burp cho trình duyệt
Dưới đây sẽ là hướng dẫn trên Firefox
Trước khi cài đặt chứng chỉ CA của Burp, hãy đảm bảo rằng trình nghe proxy đã hoạt động và trình duyệt được cấu hình đúng để tương thích với Burp.
Bước 1: Khi Burp đang chạy, hãy truy cập http: // burpsuite trong Firefox Ta sẽ được đưa đến trang có nội dung " Welcome to Burp Suite Professional"
Để tải xuống chứng chỉ Burp CA của bạn, hãy nhấp vào Chứng chỉ CA ở góc trên cùng bên phải của trang và ghi nhớ vị trí lưu trữ.
Hình 2.0.16 Tải chứng chỉ cho burp suite
Bước 3: Trong Firefox, mở menu và nhấp vào Preferences hoặc Options
Hình 0.17 Hình ảnh hướng dẫn mở cài đặt firefox
Bước 4: Từ thanh điều hướng bên trái màn hình, hãy mở cài đặt Privacy and Security
Cuộn xuống phần Certificates và nhấp vào nút View certificates
Hình 0.18 Hình ảnh hướng dẫn cài đặt certificates firefox
Bước 5: Trong hộp thoại mở ra, hãy chuyển đến tab Authorities và nhấp vào Import
Chọn chứng chỉ Burp CA mà bạn đã tải xuống trước đó và nhấp vào Open
Hình 0.19 Hình ảnh import certificates cho firefox
Bước 6: Khi được yêu cầu chỉnh sửa cài đặt tin cậy, hãy chọn hộp kiểm "This certificate can identify websites" và nhấn OK Sau đó, đóng và khởi động lại Firefox Khi Burp vẫn đang chạy, hãy thử truy cập vào bất kỳ URL HTTPS nào Nếu mọi thứ hoạt động bình thường, bạn có thể duyệt web mà không gặp bất kỳ cảnh báo bảo mật nào.
Hình 0.20 Hình ảnh khởi chạy firefox sau khi thêm certificates
*Lưu ý: Ở những bản Burp Suite mới đã tích hợp sẵn trình duyệt nhân chronium bên trong nên không cần cài đặt trình duyệt.
Sử dụng Burp Suite
Mở Burp Suite lên như các ứng dụng khác
Hình 0.21 Hình ảnh trang khởi động của burpsuite Ở đây ta sẽ có 3 lựa chọn
- Temporary Project: dự án tạm thời
- New Project on disk: Tạo dự án mới trên thư mục
- Open existing project: Mở project sẵn có
Select one option and click "Next" to access the Burp Suite homepage Here, choose "Temporary Project" to create a temporary project, after which Burp Suite will navigate to the relevant tab.
Khi khởi động Burp Suite, người dùng có thể chọn giữa việc sử dụng tệp cấu hình đã có hoặc sử dụng cấu hình mặc định của Burp Suite Nếu đã có file config từ trước, người dùng có thể dễ dàng import vào Nếu không, Burp Suite sẽ hoạt động với các thiết lập mặc định.
Mục đích để quản lý các cấu hình Burp khác nhau cho các tác vụ cụ thể
Có thể tạo và lưu các cấu hình khác nhau cho từng kiểu quét, đồng thời tải lên cấu hình cụ thể khi tương tác với khách hàng Điều này cho phép linh hoạt trong việc quản lý và sử dụng các tệp cấu hình hiệu quả.
Thư viện cấu hình của Burp chứa các tùy chọn cho nhiều loại tác vụ khác nhau, giúp người dùng dễ dàng truy cập khi thực hiện các hành động như khởi chạy quét.
Thư viện cấu hình chứa:
Cấu hình dựng sẵn là những thiết lập được xác định trước, rất hữu ích cho các mục đích thông thường như thu thập thông tin nhanh chóng hoặc kiểm tra các lỗ hổng nghiêm trọng.
• Cấu hình tùy chỉnh - Đây là những cấu hình do người dùng xác định và quản lý
User and project configuration files
Các tệp cấu hình riêng biệt có thể được sử dụng để quản lý các tùy chọn cấp người dùng và cấp dự án
Tệp cấu hình người dùng chứa các tùy chọn liên quan đến môi trường và giao diện người dùng của từng người dùng
Tệp cấu hình dự án chứa các tùy chọn liên quan đến công việc đang được thực hiện trên một ứng dụng đích cụ thể
Bạn có thể tải và lưu các tệp cấu hình theo nhiều cách khác nhau:
• Trong thư viện cấu hình của Burp(Burp's configuration library) , người dùng có thể xuất hoặc nhập cấu hình dưới dạng tệp cấu hình
• Từ menu Burp, có thể tải hoặc lưu các tệp cấu hình cho tất cả các tùy chọn cấp người dùng hoặc cấp dự án
• Từ các bảng cấu hình riêng lẻ trên toàn Burp, có thể sử dụng nút "Tùy chọn" để tải hoặc lưu cấu hình chỉ cho bảng đó
Trong quá trình khởi động, người dùng có thể chỉ định một tệp cấu hình để tải các tùy chọn cho dự án khi tạo mới hoặc mở lại dự án.
Khi khởi động Burp từ dòng lệnh, người dùng có thể sử dụng các đối số dòng lệnh để chỉ định một hoặc nhiều tệp cấu hình, từ đó tải các tùy chọn dành cho người dùng hoặc dự án.
• Burp extensions có thể tải hoặc lưu nội dung tệp cấu hình thông qua API. Định dạng của tệp cấu hình
Các tệp cấu hình trong Burp Suite sử dụng định dạng JSON, với cấu trúc và lược đồ đặt tên tương ứng với cách trình bày các tùy chọn trong giao diện người dùng Để sử dụng cài đặt mặc định, hãy chọn "Use Burp Suite Default" và nhấn nút "Start Burp" để khởi động ứng dụng Khi đó, Burp Suite sẽ tự động tải các thành phần cần thiết để hoạt động.
Sau đó người dung sẽ được đưa vào màn hình Dash Board của Burp Suite
Hình 0.23 Trang chính của burp suite
Demo Scan trang web với Burp Suite Scanner
Burp Suite Scanner là một công cụ mạnh mẽ giúp phát hiện lỗ hổng bảo mật, cho phép người dùng sửa chữa và ngăn chặn các cuộc tấn công từ bên ngoài Để bắt đầu quét một trang web mới, người dùng chỉ cần chọn "new scan" trên màn hình dashboard.
Cấu hình công cụ để bắt đầu scan trang web
Burp Suite offers two primary scan types: Crawl and Audit The Crawl feature collects all components of a website, while the Audit function gathers information and sends requests to identify vulnerabilities.
Thường để rà quét lỗ hổng chúng ta sẽ lựa chọn option crawl and audit
- URLs to Scan: Địa chỉ để chúng ta quét lỗ hổng
Options cho chúng ta lựa chọn quét giữa các giao thức thông thương khi không chắc chắn về giao thức chúng ta sẽ sử dụng Scan using Http & Https
Như vậy là hoàn thành xong những phần cơ bản để chúng ta có thể quét lỗ hổng của
Burp Suite không chỉ đơn thuần là một trang web với phím OK; công cụ này cho phép người dùng cấu hình các tùy chọn phức tạp hơn để tối ưu hóa kịch bản quét theo đúng mong muốn.
3.2 Cấu hình Scan nâng cao: a) Scan configuration Đây là nơi sẽ cấu hình công cụ khi scan trang web
Chọn new để bắt đầu tạo 1 configuration mới
Sẽ có 2 option cho việc tạo cấu hình:
Có 5 options để chúng ta thêm cấu hình cho crawling a) Crawl Optimization
Chúng ta có thể điều chỉnh độ sâu của liên kết mà công cụ tìm kiếm sẽ thu thập thông tin, với chiến lược crawl có thể nhanh hoặc chậm, rộng hoặc hẹp, sâu hoặc nông Ngoài ra, cần lưu ý đến giới hạn crawl để tối ưu hóa hiệu quả thu thập dữ liệu.
Cấu hình các giới hạn cho việc crawl bao gồm việc điều khiển cách mà công cụ tìm kiếm sử dụng các chức năng đăng nhập của mục tiêu và xử lý các lỗi ứng dụng trong quá trình crawl.
Kiểm soát những lỗi trong quá trình crawling khi gặp phải errors e) Miscellaneous
Tùy chọn một số chi tiết crawling
Config kịch bản và yêu cầu cho việc khai thác b) Issues Reported
Giới hạn những những lỗ hổng sẽ được rà quét c) Handling errors
Kiểm soát khi gặp lỗi nếu chúng ta muốn dừng công cụ vì lý do nào đó d) Insertion Point Types
Chỉnh sửa những payload được thêm request thu thập được và sẽ gửi đi e) Modifying Parameter Locations f) Ignored Insertion Points
Bỏ qua một số lỗi và payload không cần thiết g) Frequently Occuring Insertion Points
Nếu không thực hiện chỉnh sửa cấu hình, Burp sẽ sử dụng cài đặt mặc định để quét Người dùng có thể lưu lại các cấu hình vào thư viện để áp dụng cho các trường hợp và mục đích cụ thể trong tương lai.
Trong quá trình thu thập thông tin, việc cài đặt thông tin đăng nhập là rất quan trọng, cho phép sử dụng nhiều loại tài khoản khác nhau nhằm mở rộng và làm sâu sắc thêm mức độ khai thác dữ liệu.
3.3) Tiến hành scan mục tiêu
Mục tiêu: https://ace51f711fd71a2cc0b281a70003000f.web-security-academy.net/ Lab có sẵn của Portswigger có dính SQL
Sau khi cài đặt các cấu hình xong chúng ta có thể bắt đầu tiến hành scan
Màn hình trong quá trình Scan: Ở góc trái trên chúng ta sẽ quan sát được task nào đang được quét:
Chúng ta có thể theo dõi tiến trình quét và các lỗi đã được phát hiện theo thứ tự từ nghiêm trọng đến ít nghiêm trọng hơn Ở góc trái dưới màn hình, chúng ta có thể xem nhật ký thực thi của công cụ.
Chúng ta có thể theo dõi các tác vụ đang hoạt động và lỗi trong quá trình quét Phía bên phải giao diện hiển thị thông tin về các lỗi đã phát hiện, giúp chúng ta hiểu rõ về từng lỗ hổng và mức độ nguy hiểm mà chúng có thể gây ra Bên dưới, thông tin chi tiết về lỗi cùng với các yêu cầu và phản hồi mà công cụ đã thực hiện cũng được cung cấp.
Sau khi hoàn tất quá trình quét, bạn có thể xem tổng quan về site-map của mục tiêu trong tab target Tại đây, bạn sẽ theo dõi tất cả tài nguyên mà Burp Suite đã thu thập, cũng như các yêu cầu đã được gửi để phát hiện lỗ hổng.
3.4) Thực tế quét và confirm lỗ hổng
Chọn tất cả các phương pháp scan
Các lỗ hổng nghiêm trọng tìm được trong quá trình scan
Vị trí lỗ hổng và các payload được gửi lên hệ thống
Gửi request với payload ‘ or 1=1 -
Thấy được giao diện trả về tất cả các bản tin với tất cả danh mục
Confirm thành công hệ thống có tồn tại lỗ hổng SQLi tại chức năng bản tin theo danh mục.
Đánh giá và kết luận
Burp Suite là công cụ hiệu quả để quét các lỗ hổng cơ bản trong hệ thống web, nhưng không thể phát hiện các lỗ hổng phức tạp hơn Nó nên được sử dụng để tiết kiệm thời gian cho người dùng trong việc rà soát các vấn đề đơn giản Bên cạnh Burp Suite, còn nhiều công cụ quét lỗ hổng khác như Acunetix, SecurityBox và Nessus, mỗi công cụ đều có những ưu và nhược điểm riêng Việc thành thạo nhiều công cụ này là một lợi thế lớn cho các chuyên gia bảo mật thông tin.
CHƯƠNG 5: Tài liệu tham khảo
[1] "Portswigger," Portswigger, 2021 [Online] Available: https://portswigger.net/about [Accessed 16 12 2021]
[2] awasthi7xenextt, "geeksforgeeks," 26 8 2019 [Online] Available: https://www.geeksforgeeks.org/what-is-burp-suite/ [Accessed 16 12 2021]
[3] D Adams, "LinuxHint," [Online] Available: https://linuxhint.com/burpsuite_tutorial_beginners/ [Accessed 16 12 2021]
[4] "portswigger," portswigger, 16 12 2021 [Online] Available: https://portswigger.net/burp/documentation/desktop/external-browser- config/browser-config-firefox [Accessed 16 12 2021]
[5] "portswigger," portswigger, 16 12 2021 [Online] Available: https://portswigger.net/burp/documentation/desktop/configurations [Accessed