Penetration Testing Step 3 – 6 điều bạn nên biết trước khi xài tool khủng Burp Suite

Tiếp theo nội dung Penetration Testing Step 3 – Web Attacks nên bắt đầu từ đâu?, kỳ này tôi sẽ đi vào giới thiệu một nhân vật có số má trong giới PentestBurp Suite. Nội dung kỳ này tập trung vào các bước thiết lập cho browser và Burp Suite cũng như một số lưu ý quan trọng để bảo đảm bạn có thể tối đa hóa sát thương của cái tool này.

Lưu ý: Nội dung kỳ này có đề cập đến khái niệm Proxy rất nhiều, bạn có thể xem qua một số vấn đề liên quan như tôi giới thiệu trong nội dung Giải ngố Proxy Server – Phần 2: Phiên bản full HD không che nếu cần.

#1. Lần đầu sờ mó Burp Suite

Trên Kali Linux, bạn đã có sẵn Burp Suite Community Edition. Để khởi động nó, bạn di chuyển vào mục 03 – Web Application Analysis và chọn Burp Suite như sau.

start burpsuite
start burpsuite

Nếu không thích chơi GUI, bạn có thể chơi command line burpsuite như sau:

start burpsuite cmd
start burpsuite cmd

Khi đó, bạn có thể gặp thông báo về Jave Runtime Environment – JRE (Burp Suite là app Java). Khi làm ăn nghiêm chỉnh, bạn sẽ cần kiểm tra kỹ các thứ này. Còn hiện giờ thì có thể bỏ qua nó.

JRE info
JRE info
JRE GUI info
JRE GUI info

Như mọi tool khác, việc đầu tiên bạn làm là đọc và chấp thuận các điều khoản để sử dụng thông qua việc chọn I Accept.

burpsuite t&c
burpsuite t&c

Sau đó sẽ đến màn welcome nồng nhiệt của Burp Suite. Với Community Edition thì bạn chỉ chơi được Temporary project (Disk-based projects – tức là dạng cho lưu lại chỉ chạy với bản Professional). Điều này cũng hợp lý vì bạn chơi chùa mà đòi tương đương bản Professional thì người ta cạp đất mà ăn à?

Quay lại vấn đề chính, bạn chọn Next để tiếp tục.

burpsuite project options
burpsuite project options

Kế tiếp bạn sẽ xác định configuration cho Burp Suite. Ở đây bạn có tùy chọn Load from configuation file nhưng đây là nháy test đầu tiên nên bạn cứ chọn Use Burp defaults sau đó chọn Start Burp.

burpsuite config options
burpsuite config options

Tùy thuộc phiên bản, bạn có thể thấy thông báo cập nhật (cập nhật là việc nên làm) trước khi Burp Suite load vào phần giao diện Dashboard.

burpsuite update
burpsuite update

#2. Có gì trong Burp Suite Dashboard?

Đến đây Burp Suite sẽ load Temporary Project lên và hiển thị tab mặc định là Dashboard cho bạn như sau.

burpsuite dashboard
burpsuite dashboard

Dashboard là vị trí tóm lược tất cả thông tin quan trọng liên quan đến các hoạt động đã và đang diễn ra của Burp Suite bao gồm 4 phần như sau:

  • Góc trên bên trái: Là phần Tasks sẽ thể hiện thông tin liên quan đến các hoạt động scan active/passive đã và đang diễn ra (kèm thông tin tóm lược về tình trạng hoạt động). Bạn sẽ có tùy chọn filter đám này theo trạng thái running/paused/finished để tiện theo dõi. Ngoài ra, ở đây bạn cũng có tùy chọn tạo New scan/ New live task;
  • Góc trên bên phải: Là phần Issue activity (bản Professional mới chấm mút cái này được) thể hiện danh sách các vulnerabilities đã xác định với các chi tiết như Issue type, Host, URL path, SeverityConfidence level (lưu ý, Confidence level có báo Firm thì bạn phải xác nhận lại);
  • Góc dưới bên phải: Là phần Advisory thể hiện chi tiết các vấn đề với vulnerability mà bạn đã chọn ở phần Issue activity bao gồm mô tả chi tiết, giải pháp cũng như các request/response liên quan;
  • Góc dưới bên trái: Là Event log thể hiện thông tin về trạng thái của Proxy service/TLS connection/Authentication failure (nếu có).

Như bạn thấy ở trên, ngoài tab Dashboard, Burp Suite còn cả rừng các tab và menu khác. Tuy nhiên, tôi sẽ tạm dừng phần giới thiệu giao diện của Burp Suite để chuyển sang một số bước thiết lập quan trọng trước.

#3. Browser configuration cho Burp Suite

Thực tế Burp Suite cũng có một Embedded Browser tích hợp để bạn sử dụng cho nhanh gọn. Tuy nhiên, một browser chuẩn cmn mực (ví dụ như Firefox) sẽ hỗ trợ thêm cho bạn nhiều thứ hơn trong công cuộc chiến đấu (ví dụ như thông qua sử dụng đám Add-ons/Extension).

#3.1 Tạo Browser Profile

Để tránh việc dội bơm Burp Suite bằng cả đống traffic không liên quan đến target, bạn nên sử dụng Burp Suite với 1 Browser Profile riêng cho gọn đẹp. Tùy thuộc browser yêu thích của bạn là gì, bạn cần coi lại cách tạo profile tương ứng .Ví dụ với Firefox, tôi có thể làm theo như nội dung Profile Manager – Create, remove or switch Firefox profiles | Firefox Help (mozilla.org) và triển Create a New Profile như sau.

browser profile
browser profile

#3.2 Bổ sung Add-ons/Extension FoxyProxy

Việc quan trọng kế tiếp cần làm là bổ sung Add-ons/Extension Proxy để đẩy traffic sang cho Burp Suite xử lý.

browser addons
browser addons

Tùy thuộc browser và sở thích cá nhân, bạn có thể lựa chọn Add-ons/Extension tương ứng. Với Firefox, tôi sẽ múc cái FoxyProxy Basic.

browser proxy addons
browser proxy addons
browser proxyfoxy addons
browser proxyfoxy addons

Ở đây bạn sẽ thấy có cả bản FoxyProxy Standard nhiều tính năng hơn nhưng mục tiêu chính là đẩy traffic qua Burp Suite nên bản Basic cũng đủ rồi.

proxyfoxy basic
proxyfoxy basic

Để phục vụ nhiệm vụ trên, FoxyProxy sẽ đòi bạn cấp cả đống permission như sau trước khi Add.

proxyfoxy basic permission
proxyfoxy basic permission

Dù cái permission list này nhìn hơi hãi nhưng nếu bạn đang test trên mấy con Virtual Machine (tôi có giới thiệu về Virtual Machine trong nội dung Giải ngố Virtualization – Phần 1: Bước chân vào thế giới ảo, bạn có thể xem thêm nếu cần) với Browser Profile riêng thì cũng không có vấn đề gì đáng kể.

#3.3 Thiết lập FoxyProxy

Sau khi Add, bạn sẽ thấy biểu tượng của FoxyProxy ở góc trên bên phải và màn welcome như sau.

proxyfoxy icon
proxyfoxy icon

Để thiết lập cho FoxyProxy, bạn click vào biểu tượng tương ứng.

proxyfoxy options
proxyfoxy options

Sau đó chọn mục Options. Rồi chọn Add.

proxyfoxy add proxy
proxyfoxy add proxy

Chỗ này có 3 thông tin quan trọng cần thiết lập. Trước mắt bạn có thể cấu hình để test nhanh như sau:

  • Proxy Type: HTTP (tôi bàn về các loại khác bên dưới);
  • Proxy IP address or DNS name: 127.0.0.1loopback IP address thường được phân giải tương ứng với localhost. Nói cho dễ hình dùng là cái máy vật lý (hoặc Virtual Machine) bạn đang chạy browser;
  • Port: 8080. Thông số port này cần thiết lập tương ứng với phần Proxy của Burp Suite (tôi sẽ đề cập ở phần sau).

Ngoài ra, bạn cũng nên cho nó cái Title/ Description đàng hoàng để mai này dễ làm ăn.

proxyfoxy http proxy
proxyfoxy http proxy

Xong việc, chọn Save, bạn sẽ thấy xuất hiện cái proxy settings vừa mới tạo. Để sử dụng nó, bạn phải bật tùy chọn On.

proxyfoxy proxy list
proxyfoxy proxy list

Lúc này kiểm tra lại biểu tượng FoxyProxy mà thấy xuất hiện dấu tick màu xanh hy vọng như sau là ngon.

proxyfoxy proxy enable
proxyfoxy proxy enable

#3.4 Các lưu ý quan trọng khác

Như tôi nói trên, với Proxy Type, ngoài HTTP, bạn còn có các lựa chọn khác mà đặc biệt là đám SOCKS có khả năng hoạt động ở TCP level thay vì Application như HTTP/HTTPS (có nghĩa là toàn bộ outbound requests sẽ đi qua SOCKS proxy). Đám SOCKS proxy sẽ rất có ích trong tình huống bạn muốn sử dụng kèm với Tor để tăng mức độ ẩn danh. Ví dụ với dạng SOCKS5 (nâng cấp cho bản tiêu chuẩn SOCKS4 với các phương thức xác thực bổ sung) như sau:

proxyfoxy socks5 proxy
proxyfoxy socks5 proxy

Lưu ý:

Ngoài Add-on FoxyProxy nói trên, bạn cũng có thể dùng thêm một số thằng hỗ trợ bổ sung khác như Wappalyzer, WhatRuns để nhận diện nhanh các công nghệ của target (tất nhiên phải có thêm bước kiểm tra xác nhận).

other addons
other addons

Ngoài ra, cũng cần lưu ý, với target thật, việc pentest có dẫn đến IP của bạn bị đưa vô blacklist. Do đó, chuẩn bị trước phương án VPN cũng là việc cần thiết.

Lưu ý: Tôi có giới thiệu về VPN trong các nội dung như Hướng dẫn tạo VPN Server miễn phí từ A đến Z – Phần 1: Đăng ký Google Cloud Platform Free Tier, bạn có thể đọc thêm nếu cần

#4.  Thiết lập Proxy cho Burp Suite

Ở trên bạn đã xong phần thiết lập phía browser để đẩy traffic về Burp Suite. Giờ bạn cần thiết lập Proxy tương ứng trên Burp Suite để nhận hàng.

Để thiết lập, bạn chọn tab Proxy. Tab con đầu tiên của thằng này là Intercept. Ở đây bạn sẽ thấy có cái nút quan trọng là Intercept is on/off tương ứng với 2 chế độ có can thiệp/ không can thiệp vào traffic từ browser (tôi sẽ quay lại cái này kỹ sau).

burpsuite proxy intercept
burpsuite proxy intercept

Lưu ý: Bạn có thể điều chỉnh thiết lập mặc định sau khởi động của Proxy Interception trong User options/ Misc như sau.

burpsuite users options
burpsuite users options

Quay lại vụ thiết lập, bạn di chuyển qua tab con Options và đến mục Proxy Listeners. Burp Suite Proxy sẽ sử dụng đám Listeners này để nhận traffic từ browser. Và interface ở đây sẽ là 127.0.0.1:8080, tương ứng với thông số bạn đã thiết lập trong FoxyProxy (nếu thích thì bạn đổi cũng được).

burpsuite proxy options
burpsuite proxy options

Lưu ý: Dấu tick xanh chỗ Running cho biết interface này đang hoạt động.

#5. Kiểm tra thiết lập browser và Burp Suite với HTTP target

Sau khi thiết lập xong Proxy cho cả browser và Burp Suite, bạn sẽ cần thực hiện bước kiểm tra để xác nhận coi mọi chuyện có êm đẹp không.

Với hàng mới xé tem, tại tab Proxy/HTTP history, bạn sẽ chỉ thấy cái màn hình trống trơn như sau.

burpsuite proxy http-history
burpsuite proxy http-history

Bây giờ tôi sẽ test thử với trang http://www.megacorpone.com (lưu ý, cái này là http, không phải https nhé) của ông Offensive Security với Firefox đã thiết lập proxy ở bước trên.

http target
http target

Ở đây nếu bạn thấy nó cứ loading mà chẳng đi đâu thì bạn nên kiểm tra lại tab Proxy/Intercept của Burp Suite.

burpsuite check intercept status
burpsuite check intercept status

Ở đây tôi để Intercept is on nên sẽ phải chọn thủ công Forward/Drop packet. Tuy nhiên, do đang test sơ bộ ban đầu nên tôi thay vì Forward/Drop thủ công, tôi chọn Intercept is off luôn cho nhanh.

burpsuite intercept status off
burpsuite intercept status off

Lúc này nhảy về tab Proxy/HTTP history bạn sẽ bắt đầu thấy lịch sử truy cập trang http://www.megacorpone.com.

burpsuite proxy http-history result
burpsuite proxy http-history result

#6. Xử đẹp vấn đề Certificate của Burp Suite với HTTPS target

Như vậy kết quả test với target chạy HTTP đã thành công tốt đẹp. Tuy nhiên, nếu giờ bạn thử múc 1 target HTTPS như ông Google bạn sẽ thấy báo lỗi do vấn đề Certificate.

https target issue
https target issue

Như vậy, bạn sẽ cần cài cái Burp Certificate vào cho browser để xử lý vấn đề này. Từ tab Proxy/Options, bạn tia qua chỗ Proxy Listeners để chọn Regenerate CA certificate rồi chọn Yes (phương án này sẽ yêu cầu khởi động lại Burp Suite, nếu đã có CA certificate rồi thì bạn có thể chơi export).

burpsuite generate cert
burpsuite generate cert

Trên browser, bạn truy cập http://burp rồi chọn CA CertificateSave File để lấy hàng về.

burpsuite get cert
burpsuite get cert

Sau đó tiến hành cài đặt Certificate tùy thuộc browser mà bạn sử dụng. Với Firefox thì tôi truy cập phần Preferences/Privacy & Security rồi chọn View certificates … như sau.

browser view cert
browser view cert

Sau đó chọn Import… rồi chọn certificate file đã lưu về ban nãy.

browser import cert
browser import cert

Tiếp tục xác nhận Trust this CA to identify websites rồi OK.

browser trust cert
browser trust cert

Giờ thử truy cập lại trang Google và kiểm tra Proxy/HTTP history bạn sẽ thấy ngon ăn như sau.

burpsuite proxy http-history result
burpsuite proxy http-history result

Phù, đến đây coi như bạn đã xong phần bày binh bố trận cho browser và Burp Suite rồi đấy. Trong các kỳ tới, tôi sẽ xông vào la liếm với các chiêu trò phổ biến của Burp Suite phục vụ cho công cuộc Web Attacks.

12 thoughts on “Penetration Testing Step 3 – 6 điều bạn nên biết trước khi xài tool khủng Burp Suite”

Leave a Reply

Your email address will not be published.