HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN
BÀI TIỂU LUẬN KẾT THÚC HỌC PHẦN
Mơn: An tồn mạng
Chủ đề: Tìm hiểu cơng cụ ra qt subdomains Sublist3r
GIẢNG VIÊN
: Đặng Minh Tuấn
SINH VIÊN
: Nguyễn Thái Dương
MÃ SINH VIÊN
: B18DCAT046
NGÀY SINH
: 27/08/2000
LỚP
: D18CQAT02-B
ĐIỆN THOẠI
: 0385247996
NHĨM MƠN HỌC
: 02
MỤC LỤC
DANH SÁCH CÁC THUẬT NGỮ VÀ VIẾT TẮT ............................................. 2
DANH MỤC HÌNH ẢNH ....................................................................................... 3
Lời nói đầu ................................................................................................................ 4
CHƯƠNG 1: GIỚI THIỆU CÔNG CỤ SUBLIST3R ......................................... 5
I. Giới thiệu về công cụ Sublist3r .......................................................................... 5
II. Giới thiệu về công cụ tích hợp subbrute ............................................................ 5
CHƯƠNG 2: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG ....................................... 7
I. Hướng dẫn cài đặt ............................................................................................... 7
II. Hướng dẫn sử dụng ........................................................................................... 8
CHƯƠNG 3: DEMO RÀ QT SUBDOMAINS SỬ DỤNG CƠNG CỤ
SUBLIST3R ........................................................................................................... 17
I. Tìm kiếm subdomains trang sony.com với port 443 ........................................ 17
II. Tìm kiếm subdomains trang vnu.edu.vn với port 80, 443 .............................. 18
III. Tìm kiếm subdomains trang mythuatcongnghiep.edu.vn với port 80, 443, 22
.............................................................................................................................. 19
IV. Tìm kiếm subdomains trang hust.edu.vn với port 80, 443 ............................ 20
V. Tìm kiếm subdomains trang fpt.edu.vn với port 80, 443, 22 ......................... 21
VI. Tìm kiếm subdomains trang dhsphn.edu.vn với port 80 ............................... 22
VII. Tìm kiếm subdomains trang hanu.edu.vn với port 80 ................................. 23
VIII. Tìm kiếm subdomains trang utc.edu.vn với port 80, 443 ........................... 25
IX. Tìm kiếm subdomains trang neu.edu.vn với port 80, 443 ............................. 25
X. Tìm kiếm subdomains trang ptit.edu.vn với port 80, 443, 22 ........................ 27
CHƯƠNG 4: ĐÁNH GIÁ KẾT LUẬT ............................................................... 29
TÀI LIỆU THAM KHẢO .................................................................................... 30
Lời cảm ơn .............................................................................................................. 31
1
DANH SÁCH CÁC THUẬT NGỮ VÀ VIẾT TẮT
Từ viết tắt
Thuật ngữ tiếng Anh/ Giải Thuật ngữ tiếng Việt/ Giải
thích
thích
Information Gathering
Thu thập thông tin
Penetration testing
Kiểm thử xâm nhập
Recon
Rà quét
Main site
Web site chính
Scope
Mở rộng phạm vi
Open-source intelligence
chỉ bất kỳ thơng tin nào có thể
được thu thập hợp pháp từ các
nguồn cơng khai, miễn phí về
một cá nhân hoặc tổ chức
Subdomain
Tên miền phụ
Search engines
Cơng cụ tìm kiếm
Clone Project
Sao chép một dự án về máy
Dependencies
Thành phần phụ thuộc
Proxy
Uỷ quyền
Port
Cổng dịch vụ
API
Giao diện lập trình ứng dụng
False positive
Lỗi sai xác thực
Inactive
Không hoạt động
Thread
Luồng
TCP
Transmission Control Protocol
Giao thức điều khiển truyền vận
HTTP
Hypertext Transfer Protocol
Giao thức truyền tải siêu văn
bản
Pentest
OSINT
2
DANH MỤC HÌNH ẢNH
Hình 1.1 Giao diện của cơng cụ Sublist3r ................................................................ 5
Hình 2.1 Clone cơng cụ Sublist3r về máy bằng git ................................................... 7
Hình 2.2 Cài đặt pip cho python3 ............................................................................. 8
Hình 2.3 Cài đặt các Dependencies bằng câu lệnh pip ............................................. 8
Hình 2.4 Câu lệnh hiển thị các option khi sử dụng Sublist3r ................................... 9
Hình 2.5 Tìm kiếm subdomain của viblo.asia với cờ -d ......................................... 11
Hình 2.6 Quét tất cả các cổng 80 (http) cho tất cả các miền phụ tìm thấy của tên
miền smartlation.com với cờ -p .............................................................................. 12
Hình 2.7 Quét tất cả các cổng 80 (http) ), 443 (https) và 22 (ssh) cho tất cả các
miền phụ tìm thấy của tên miền smartlation.com ................................................... 13
Hình 2.8 Quét subdomains smartlation.com sử dụng brute-force .......................... 14
Hình 2.9 Quét subdomains sử dụng đối số -e để quét bằng google và bing ........... 15
Hình 2.10 Quét subdomains của facebook.com và lưu vào file fbsubdomains.txt. 16
Hình 2.11 File fbsubdomains.txt lưu các subdomain của facebook.com ............... 16
Hình 3.1 Tìm kiếm subdomains trang sony.com với port 443 ............................... 17
Hình 3.2 File subdomains sony.txt .......................................................................... 18
Hình 3.3 Tìm kiếm subdomains trang vnu.edu.vn với port 80, 443 ....................... 18
Hình 3.4 File subdomains vnu.txt ........................................................................... 19
Hình 3.5 Tìm kiếm subdomains trang mythuatcongnghiep.edu.vn với port 80, 443,
22 ............................................................................................................................. 19
Hình 3.6 File subdomains mythuatcn.txt ................................................................ 20
Hình 3.7 Tìm kiếm subdomains trang hust.edu.vn với port 80, 443 ...................... 20
Hình 3.8 File subdomains hust.txt........................................................................... 21
Hình 3.9 Tìm kiếm subdomains trang fpt.edu.vn với port 80, 443, 22 ................... 22
Hình 3.10 File subdomains fpt.txt ........................................................................... 22
Hình 3.11 Tìm kiếm subdomains trang dhsphn.edu.vn với port 80 ....................... 23
Hình 3.12 File subdomains dhsp.txt ........................................................................ 23
Hình 3.13 Tìm kiếm subdomains trang hanu.edu.vn với port 80 ........................... 24
Hình 3.14 File subdomains hanu.txt ....................................................................... 24
Hình 3.15 Tìm kiếm subdomains trang utc.edu.vn với port 80, 443 ...................... 25
Hình 3.16 File subdomains utc.txt .......................................................................... 25
Hình 3.17 Tìm kiếm subdomains trang neu.edu.vn với port 80, 443 ..................... 26
Hình 3.18 File subdomains neu.txt ......................................................................... 26
Hình 3.19 Tìm kiếm subdomains trang ptit.edu.vn với port 80, 443, 22 ................ 27
Hình 3.20 File subdomains ptit.txt .......................................................................... 28
3
Lời nói đầu
Information Gathering 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 về website được pentest
Trong bước 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 và tools tự viết là bắt buộc. Trong báo cáo này, em sẽ giới
thiệu một tool rất hữu ích khi được test các domain dạng *.domain.(com, net, org…)
– Sublist3r
Rất nhiều website hiện nay có các subdomain để đảm nhiệm các nhiệm vụ/chức năng
song song với main site. Thậm chí một subdomain có thể đang chạy hẳn một dịch
vụ khơng kém gì main page. Việc recon ra subdomain là một phần cực kỳ quan
trọng, vì rất có thể các lỗ hổng sẽ tồn tại trên subdomain này, do main page thường
được “chăm chút” khá cẩn thận. Vì vậy khi scope rộng dạng *.domain.(com, net,
org,…) thì việc đầu tiên nên nghĩ tới đó là tìm được càng nhiều subdomains càng tốt
Báo cáo của em được chia làm 4 phần
Chương 1: Giới công cụ Sublist3r
Chương 2: Hướng dẫn cài đặt và sử dụng
Chương 3: Demo rà quét subdomains sử dụng công cụ Sublist3r
Chương 4: Đánh giá kết luận
4
CHƯƠNG 1: GIỚI THIỆU CÔNG CỤ SUBLIST3R
I. Giới thiệu về công cụ Sublist3r
Sublist3r được code bởi Ahmed Aboul-Ela, một nhà nghiên cứu bảo mật người Ai
Cập quan tâm đến bảo mật ứng dụng web. Anh là người đã từng báo cáo nhiều lỗ
hổng bảo mật khác nhau cho các công ty và nhà cung cấp dịch vụ nổi tiếng như
Google, Microsoft, Yahoo, Twitter, Apple, Ebay, Adobe, Mozilla, Redhat và tên của
anh đã được liệt kê trong Hall of fame. Phiên bản đầu tiên, Sublist3r V1.0 được
release vào ngày 05 tháng 7 năm 2016 trên github và phiên bản cuối cùng, Sublister
V1.1 được release vào ngày 07 tháng 4 năm 2020
Hình 1.1 Giao diện của công cụ Sublist3r
Ý tưởng của Sublist3r là sử dụng OSINT - một kỹ thuật không mới không cũ dùng
để recon tất cả các thông tin mở có thể thu thập, ở đây là dành cho việc tìm
Subdomains. Khi tìm kiếm subdomains, nó sử dụng các search engines và các API
của các bên thứ 3, tìm kiếm và tổng hợp lại các subdomain rồi trả kết quả cho người
dùng. subbrute, một công cụ đã được phát triển từ lâu cũng được tích hợp cùng
Sublist3r để thực hiện brute-force subdomains.
Sublist3r được viết bằng Python và có thể tương thích với cả Python2 và Python3
II. Giới thiệu về cơng cụ tích hợp subbrute
SubBrute là một dự án cộng đồng được phát triển bởi TheRook, với mục tiêu tạo ra
công cụ liệt kê tên miền phụ nhanh nhất và chính xác nhất. Một số điều kỳ diệu đằng
5
sau SubBrute là nó sử dụng trình phân giải mở như một loại proxy để vượt qua giới
hạn tốc độ DNS ( Thiết kế này
cũng cung cấp một lớp ẩn danh, vì SubBrute khơng gửi lưu lượng truy cập trực tiếp
đến máy chủ định danh của mục tiêu.
6
CHƯƠNG 2: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG
I. Hướng dẫn cài đặt
Sublist3r tương thích với cả Python 2 và Python3, ở bài báo cáo này em sẽ sử dụng
Python 3 để cài đặt và sử dụng
Cài đặt Sublist3r rất đơn giản, chúng ta chỉ cần clone project từ github về máy (đã
cài đặt git):
cd Desktop
git clone />
Hình 2.1 Clone công cụ Sublist3r về máy bằng git
Tiếp theo, chúng ta cài đặt các Dependencies – thành phần phụ thuộc cho Sublist3r
bằng pi
Cài đặt pip:
sudo apt-get install python3-pip
7
Hình 2.2 Cài đặt pip cho python3
Đi đến thư mục Sublist3r bằng cd (Chang Directory):
cd Sublister
Cài đặt các Dependencies bằng pip:
sudo pip3 install –r requirements.txt
Hình 2.3 Cài đặt các Dependencies bằng câu lệnh pip
Như vậy, sau khi hoàn thành các bước trên là chúng ta đã có thể sử dụng được
Sublist3r. Tiếp theo chúng ta sẽ tìm hiểu về cách sử dụng Sublist3r
II. Hướng dẫn sử dụng
8
Cách sử dụng Sublist3r tương đối đơn giản. Để bắt đầu, ta có thể hiển thị menu trợ
giúp với đối số -h bằng cách chạy câu lệnh sau:
python3 sublist3r.py -h
Hình 2.4 Câu lệnh hiển thị các option khi sử dụng Sublist3r
Form rút gọn
Form đầy đủ
Ý nghĩa
-d <Domain>
--domain <Domain>
Chỉ
định
domain
cần
tìm
subdomains
-b <Bruteforce>
--bruteforce <Bruteforce>
Sử dung module brute-force
(cơng cụ subrute)
-p <Ports>
Scan subdomains được tìm thấy
--ports <Ports>
với các port chỉ định
-v <Verbose>
Xem tools nó đang làm gì trong
--verbose <Verbose>
thời gian thực
9
-t <Threads>
Số threads sử dụng cho subbrute
--threads <Threads>
để brute-force
-e <Engines>
--engines <Engines>
Chỉ định danh sách các search
engines sử dụng (được phân tách
bằng dấu phẩy)
-o <OutputFile>
--output <OutputFile>
Lưu kết quả vào file text
-n
--no-color
Output khơng có màu
-h
--help
Hiện trợ giúp
Bảng 2.1 Các option khi sử dụng cơng cụ
Ví dụ 1: tìm kiếm các miền phụ của trang web bằng cách chỉ định nó với cờ -d:
python3 sublist3r.py -d viblo.asia
10
Hình 2.5 Tìm kiếm subdomain của viblo.asia với cờ -d
Ta tìm được 59 subdomain cho tên miền viblo.asia. Tuy nhiên ở những trang lớn
hơn, câu chuyện sẽ là có rất nhiều false positive (lỗi sai xác thực), do các API và các
search engines có thể có kết quả về các subdomains đã inactive (ngưng hoạt động)
những vẫn hiện ra => Sublist3r vẫn cho vào kết quả cuối cùng. Ta sử dụng thêm một
option đơn giản có sẵn nữa của Sublist3r, đó là -p
Ví dụ 2: Tìm các subdomains với các port được chỉ định bằng cờ -p
python3 sublist3r.py -d smartlation.com -p 80
11
Hình 2.6 Quét tất cả các cổng 80 (http) cho tất cả các miền phụ tìm thấy của tên miền
smartlation.com với cờ -p
Kết quả cho thấy 12 subdomain duy nhất được tìm thấy, tất cả đều có cổng 80 đang
mở
Bạn có thể chỉ định một số cổng (TCP) sẽ được quét bằng cách sử dụng dấu phẩy
như trong ví dụ sau, trong đó các cổng 80 (http), 443 (https) và 22 (ssh) được quét:
python sublist3r.py -d smartlation.com -p 80,443,22
12
Hình 2.7 Quét tất cả các cổng 80 (http) ), 443 (https) và 22 (ssh) cho tất cả các miền phụ tìm
thấy của tên miền smartlation.com
Ví dụ 3: Thực hiện brute-force bằng cách thêm cờ -b với 100 luồng (-t 100). Từ điển
tên miền phụ được gọi là names.txt và chứa gần 130 nghìn subdomains. Thực hiện
brute-force cần nhiều thời gian hơn. Ví dụ dưới đã lược cịn khoảng hơn 100
subdomains trong file names.txt
python3 sublist3r.py -d smartlation.com -b -t 20
13
Hình 2.8 Qt subdomains smartlation.com sử dụng brute-force
Ví dụ 4: Xác định các cơng cụ tìm kiếm cụ thể bằng cách sử dụng đối số -e. Ví dụ
sau cho thấy tìm kiếm các miền phụ bao gồm brute force và giới hạn các cơng cụ
tìm kiếm đối với Google và Bing:
python3 sublist3r.py -e google,bing
14
-b -d smartlation.com
Hình 2.9 Quét subdomains sử dụng đối số -e để quét bằng google và bing
Ví dụ 5: Nếu chúng ta muốn lưu tất cả các miền phụ trong một tệp văn bản thì chúng
ta có thể sử dụng cờ -o:
python3 sublist3r.py -d facebook.com -p 80 –o fbsubdomains.txt
15
Hình 2.10 Quét subdomains của facebook.com và lưu vào file fbsubdomains.txt
Hình 2.11 File fbsubdomains.txt lưu các subdomain của facebook.com
16
CHƯƠNG 3: DEMO RÀ QUÉT SUBDOMAINS SỬ DỤNG CÔNG
CỤ SUBLIST3R
I. Tìm kiếm subdomains trang sony.com với port 443
python3 sublist3r.py -d sony.com -p 443 -o sony.txt
Hình 3.1 Tìm kiếm subdomains trang sony.com với port 443
17
Hình 3.2 File subdomains sony.txt
II. Tìm kiếm subdomains trang vnu.edu.vn với port 80, 443
python3 sublist3r.py -d vnu.edu.vn -p 80,443 -o vnu.txt
Hình 3.3 Tìm kiếm subdomains trang vnu.edu.vn với port 80, 443
18
Hình 3.4 File subdomains vnu.txt
III. Tìm kiếm subdomains trang mythuatcongnghiep.edu.vn với port 80, 443,
22
python3 sublist3r.py -d mythuatcongnghiep.edu.vn -p 80,443.22 -o
mythuatcn.txt
Hình 3.5 Tìm kiếm subdomains trang mythuatcongnghiep.edu.vn với port 80, 443, 22
19
Hình 3.6 File subdomains mythuatcn.txt
IV. Tìm kiếm subdomains trang hust.edu.vn với port 80, 443
python3 sublist3r.py -d hust.edu.vn -p 80,443 -o hust.txt
Hình 3.7 Tìm kiếm subdomains trang hust.edu.vn với port 80, 443
20
Hình 3.8 File subdomains hust.txt
V. Tìm kiếm subdomains trang fpt.edu.vn với port 80, 443, 22
python3 sublist3r.py -d fpt.edu.vn -p 80,443,22 -o fpt.txt
21
Hình 3.9 Tìm kiếm subdomains trang fpt.edu.vn với port 80, 443, 22
Hình 3.10 File subdomains fpt.txt
VI. Tìm kiếm subdomains trang dhsphn.edu.vn với port 80
22
python3 sublist3r.py -d dhsphn.edu.vn -p 80 -o dhsp.txt
Hình 3.11 Tìm kiếm subdomains trang dhsphn.edu.vn với port 80
Hình 3.12 File subdomains dhsp.txt
VII. Tìm kiếm subdomains trang hanu.edu.vn với port 80
python3 sublist3r.py -d hanu.edu.vn -p 80 -o hanu.txt
23
Hình 3.13 Tìm kiếm subdomains trang hanu.edu.vn với port 80
Hình 3.14 File subdomains hanu.txt
24