Mình được giao nhiệm vụ tìm kiếm lỗ hổng của Website. Trước khi bạn cần phải do thám mạng/ trinh sát mạng, thuật ngữ giọ là Recon. Nếu dùng thủ công thì khá tốn nhiều hơn gian, hôm nay mình sẽ giới thiệu bạn Tool reconFTW giúp trinh sát bạn cực chuẩn được tính hợp nhiều chức năng giúp thu thập thông tin chính xác về Website bạn đang rà quét.
Lỗ hổng bảo mật website là gì?
Lỗ hổng bảo mật website là những điểm yếu nằm trong thiết kế và cấu hình của hệ thống, lỗi của web developer hoặc sơ suất trong quá trình vận hành website. Việc tồn tại các lỗ hổng này là một mối nguy hại tới các bạn developer cũng như là người truy cập vào trang web khi mà các hacker mũ đen có thể khai thác triệt để chúng để có thể đánh cắp các dữ liệu của bạn hay thông tin cá nhân của bạn, của người dùng và hơn thế nữa
Hacker sử dụng các công cụ dò quét để phát hiện một loạt các website có cấu hình bảo mật kém hoặc website trên các nền tảng phổ biến như WordPress có các lỗ hổng đã được công bố nhưng chưa được chủ website hoặc web developer xử lý và họ sẽ lợi dụng chúng để tấn công, cài đặt mã độc và phá hoại các website.
1 số nghiên cứu chỉ ra rằng vào năm 2019, cứ 45 phút thì sẽ có 1 website sẽ được “viếng thăm” của các hacker và chủ yếu là các hacker mũ đen. Đến đây cũng đủ để có thể nói về mức độ nguy hiểm của việc tồn tại các lỗ hổng bảo mật rồi.
Các loại lỗ hổng bảo mật website phổ biến
- SQL Injection (các bạn có thể xem thêm bài sử dụng SQLmap để biết thêm chi tiết)
- Broken Authentication
- Cross Site Scripting
- Server-Side Template Injection
- Insecure Direct Object References
reconFTW – Tool trinh sát mạng – rà quét lỗ hổng
reconFTW là 1 phần mềm đến từ cộng đồng github và của tác giả six2dez. Đây là tool trinh sát mạng hay còn gọi là do thám mạng và nó có thể thu thập thông tin của website như chủ sở hữu, tên miền được liên kết với đâu nhưng quan trong nhất, tool này có khả năng tự động hóa quá trình kiểm tra bảo mật của website, liệt kê toàn bộ tên miền phụ và kiểm tra lỗ hổng toàn diện. reconFTW sử dụng rất nhiều phương pháp để kiểm tra bao gồm:
- passive
- bruteforce
- permutations
- certificate transparency
- source code scraping
- analytics
- DNS records
Nó cũng thực hiện các kiểm tra lỗ hổng khác nhau như XSS, Open Redirects, SSRF, CRLF, LFI, SQLi, kiểm tra SSL, SSTI,DNS, v.v. Cùng với đó, reconFTW có thể OSINT (truy tìm dấu vết) và scan port của target.
Để nói thì so với các công cụ như Burpsuite thì về tính năng cũng không thua kém gì họ mà còn có thể chạy tool một cách đơn giản và dễ dàng. Sau khi trải nghiệm thì đây là tool cực khì phù hợp cho những bạn không có khả năng sử dụng tool như nmap hay Burpsuite.
Đồng thời sau khi toàn bộ quá trình trinh thám đã được hoàn thành, tất cả những gì đã thu thập được sẽ được thổng hợp về 1 file duy nhất và khá là tiện nếu anh em muốn mở lại để check và kiểm tra các lỗi có thể có trên website.
Thời gian mà chạy toàn bộ tính tăng trinh sát mạng thì tốn kha khá lâu nhưng được cái mình chỉ cần ngồi chơi xơi nước thôi vì toàn bộ quá trình đã được tự động hóa và được tối ưu nhất để người sử dụng có thể dễ dàng thu thập thông tin
Lưu ý trước khi thực hiện
Nghiêm cấm các hành vi lợi dụng lỗ hổng bảo mật của các website không thuộc quyền sở hữu để phá hoại. Anonyviet sẽ không chịu trách nhiệm cho mọi hành vi của bạn. Hãy tiếp tục nếu bạn đã đồng ý với lưu ý này!
Hướng dẫn sử dụng reconFTW để quét lỗ hổng bảo mật website
Hướng dẫn cài đặt
Các bạn có thể truy cập link github của tool chính chủ tại đây
Đối với cài đặt trực tiếp / sử dụng máy ảo/ sử dụng VPS
git clone https://github.com/six2dez/reconftw cd reconftw/ ./install.sh #khởi động tool ./reconftw.sh -d [tên miền] -r
Đối với Docker
Cách 1: Từ DockerHub
docker pull six2dez/reconftw:main wget https://raw.githubusercontent.com/six2dez/reconftw/main/reconftw.cfg mkdir Recon #câu lệnh khời động tool docker run -d -v $PWD/reconftw.cfg:/root/Tools/reconftw/reconftw.cfg -v $PWD/Recon/:/root/Tools/reconftw/Recon/ --name reconftwSCAN --rm six2dez/reconftw:main -d [tên miền] -r
Cách 2: từ Github
git clone https://github.com/six2dez/reconftw cd reconftw docker build -t reconftw Docker/. #câu lệnh khởi động tool docker run -v $PWD/reconftw.cfg:/root/Tools/reconftw/reconftw.cfg -v $PWD/Recon/:/root/Tools/reconftw/Recon/ --name reconftwSCAN --rm reconftw -d [tên miền] -r
Hướng dẫn sử dụng
Cú pháp: ./reconftw.sh [tùy chọn dành cho mục tiêu] [Input cho mục tiêu] [chế độ(mode)] [các tùy chọn khác]
Đối với tùy chọn cho mục tiêu
Tại đây:
Target.com là tên miền bạn muốn tấn công
-r: mình sẽ giải thích ở phần chế độ (mode)
- -d: dành cho 1 tên miền
ví dụ:./reconftw.sh -d target.com -r
- -l: sử dụng 1 list domain
ví dụ:./reconftw.sh -l targets.txt -r
- -m: dành cho 1 mục tiêu nhưng có nhiều tên miền
ví dụ:./reconftw.sh -m target -l domains.txt -r
- -i: thêm các tên miền phụ vào dưới dạng list
ví dụ:./reconftw.sh -d target.com -i in.txt -r
- -x: loại trừ các tên miền phụ
ví dụ:./reconftw.sh -d target.com -x oos.txt -r
Đối với các chế độ
Thông thường mình khuyến khích sử dụng -r hơn so với mấy cái còn lại bởi vì mình cũng chỉ sử dụng đến đó. Các bạn muốn full scan thì hãy dùng -a
Lưu ý: tốc độ xử lí phụ thuộc vào chế độ bạn chọn và tốc độ mạng nhà bạn. Đôi khi với web lớn sẽ mất kha khá thời gian.
- -r: Trinh thám website với tất cả các chế độ (không tấn công)
ví dụ:./reconftw.sh -d target.com -r
- -s: Tìm kiếm Tên miền phụ
ví dụ:./reconftw.sh -d target.com -s
- -p: Chỉ chạy dưới dạng bị động
ví dụ:./reconftw.sh -d target.com -p
- -w: Check web đã được cung cấp trong list
ví dụ:./reconftw.sh -l targetlist.txt -w
- -a: Chạy toàn bộ chức năng
ví dụ:./reconftw.sh -d target.com -a
- -n: osint – truy tìm dấu vết
ví dụ:./reconftw.sh -d target.com -n
- -h: hiển thị help
ví dụ:./reconftw.sh -h
Đối với các tùy chọn khác
- –deep: Chạy deep scan
- -v: VPS – sử dụng khi bạn chạy trên VPS
- -f conf_file: sử dụng 1 config khác (không khuyến khích)
- -o: Save output của reconFTW
1 số ví dụ về cách sử dụng
- Chạy do thám web với 1 tên miền duy nhất:
./reconftw.sh -d target.com -r
- Chạy do thám web với 1 list tên miền:
./reconftw.sh -l sites.txt -r -o /output/directory/
- Chạy do thám web với 1 list tên miền trên vps:
./reconftw.sh -d target.com -r --deep -o /output/directory/
- Chạy do thám web với nhiều tên miền từ 1 công ty:
./reconftw.sh -m company -l domains_list.txt -r
- Khởi động chế độ Full power:
./reconftw.sh -d target.com -a
Ví dụ:
Demo thực tế
Đầu tiên, mình chạy câu lệnh sau: ./reconftw.sh -d duocphamviethung.com.vn -r
Sau khi nó scan xong, nó trả kết quả về. Ở đó có thống kê thời gian nó tốn để scan và hoàn thành nhiệm vụ. Hiện tại mình đã mất tới 2 tiếng cho 1 website dạng nhỏ nên các bạn lưu ý về thời gian nhé!
Tất cả các file được save lại ở thư mục Recon/[tên website tấn công]
nếu các bạn không set output của nó.
Tại đây, File mà các bạn cần để ý là file nuclei_output vì tại file này sẽ trả về mã lỗi CVE mà các hacker có thể sử dụng chúng để khai thác thông tin. Các bạn có thể lên trên Google và search mã lỗi ra để tìm ra giải pháp khắc phục sớm nhất nhé!
Dùng để pentest hệ thống của bạn thôi nhé!