Do thám website: Web reconnaissance tools #1 – Gobuster

Tram Ho

0. Web reconnaissance

Reconnaissance ( hay Information Gathering hay Enumeration ) là bước đầu tiên của penetration testing ( pentest ), trong đó mục tiêu là tìm thấy càng nhiều thông tin càng tốt về Website được pentest.
Trong bước Recon này, để hiệu quả, chính xác, tiết kiệm thời gian và công sức, việc sử dụng các tools có sẵn hoặc tự viết tools là bắt buộc.
Hôm nay tôi sẽ giới thiệu đến các bạn 1 tool tôi hay dùng gần đây: Gobuster

Lưu ý: Wordlist các bạn có thể tìm kiếm và tải miễn phí trên internet để sử dụng.

1. Giới thiệu và cài đặt

Là 1 tool mạnh và mới, được ưa dùng trên Kali Linux, được viết bằng Golang và được update thường xuyên. Gobuster là một công cụ được sử dụng để brute force URLs trên các trang web và DNS subdomains. Bạn có thể xem toàn bộ source code tại đây.

Để cài đặt, trong Kali Linux, các bạn gõ: apt-get install gobuster

2. Sử dụng

Gobuster cung cấp 3 mode option chính gồm: DIR, DNS và vHOST
Trong bài viết này chúng ta sẽ tìm hiểu về các options chính, thường dùng và hữu ích.

2.1. Dir mode: Dò quét các URLs của website theo wordlist

Để hiển thị các tùy chọn trong chế độ này, các bạn gõ: gobuster dir -h


Chúng ta sẽ xem xét câu lệnh sau, đây cũng sẽ là câu lệnh khái quát, cơ bản hay dùng khi các bạn sử dụng Gobuster:

gobuster dir -u 10.10.10.157 -w /home/vt103/wordlist/common.txt -l -t 30 -e -x php -o 10.10.10.157.result.txt

  • 10.10.10.157 là địa chỉ 1 machine trên hackthebox.eu, các bạn có thể ghé qua website, đăng ký và chơi thử
  • common.txt là file wordlist tôi sử dụng, có khoảng gần 5000 word

Và đây là kết quả:

Chúng ta hãy cùng xem xét các options đã được sử dụng:

dir: mode được chọn
-u: địa chỉ URL
-w: địa chỉ file wordlist trong máy chúng ta
-l: In ra length body của response nhận được
-t: số threads được sử dụng, mặc định là 10
-e: dùng để in kết quả theo dạng toàn bộ URL
-x: thêm phần đuôi mở rộng để brute force, chẳng hạn -x php: tự thêm .php vào sau các request URL
-o: in kết quả ra file để tiện dùng sau này, mặc định sẽ in ra /home/ do chúng ta gọi gobuster ngay tại /home/

Một số tùy chọn khác:

-U: username cho website có Basic Authen
-P: password cho website có Basic Authen
-c: gán cookie cho các request
-s: gán các HTTP status code được chấp nhận, mặc định là 200,204,301,302,307,401,403
-r: follow redirects

Dựa vào kết quả của việc brute-force URLs phía trên, chúng ta đã có URL đúng và cũng là hướng làm của machine này:

2.2 DNS mode: Dò quét DNS subdomains của website

Để hiển thị các tùy chọn trong chế độ này, các bạn gõ: gobuster dns -h

Ý nghĩa các options sẽ khác đôi chút so với dir mode phía trên. Chúng ta sẽ cùng xem xét câu lệnh sau:

gobuster dns -d facebook.com -w home/vt103/wordlist/common.txt -t 30 -i -o dnsrecon.txt

Trong đó:

-d: chỉ domain name, sẽ không có http:// hay https://
-w: địa chỉ file wordlist trong máy chúng ta
-t: số threads được sử dụng, mặc định là 10
-i: hiển thị địa chỉ IP của target
-o: in kết quả ra file .txt

Và đây là kết quả, bạn đã biết được bao nhiêu địa chỉ trong số này? :

2.3 vHost mode: Dò quét vHost của website

Để hiển thị các tùy chọn trong chế độ này, các bạn gõ: gobuster vhost -h

Đây là 1 mode tôi ít sử dụng, và ngay cả trên github giới thiệu của Gobuster thì mode này cũng được giới thiệu khá sơ sài. Bạn đọc có thể tự cài đặt và thử sử dụng.

Ví dụ trên Github: gobuster vhost -u https://mysite.com -w common-vhosts.txt

3. Kết luận

Việc reconnaissance yêu cầu sử dụng kết hợp rất nhiều tools và kênh thông tin khác nhau. Gobuster xứng đáng nằm trong “kho vũ khí” của bất cứ một ai làm về CyberSec bởi tốc độ và sự hiểu quả của nó. Happy Hacking !

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo