Tải bản đầy đủ (.docx) (31 trang)

Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (24)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.13 MB, 31 trang )

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ụ rà 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

31

Lời cảm ơn

32

1


DANH SÁCH CÁC THUẬT NGỮ VÀ VIẾT TẮT
Từ viết tắt

Pentest

OSINT

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
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

Open-source intelligence

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

2


DANH MỤC HÌNH ẢNH
Hình 1.1 Giao diện của cơng cụ Sublist3r

Hình 2.1 Clone cơng cụ Sublist3r về máy bằng git
Hình 2.2 Cài đặt pip cho python3
Hình 2.3 Cài đặt các Dependencies bằng câu lệnh pip
Hình 2.4 Câu lệnh hiển thị các option khi sử dụng Sublist3r
Hình 2.5 Tìm kiếm subdomain của viblo.asia với cờ -d
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
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
Hình 2.8 Quét subdomains smartlation.com sử dụng brute-force
Hình 2.9 Quét subdomains sử dụng đối số -e để quét bằng google và bing
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


5

7
8
8
9
11
12
13
14
15
16
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
5


đằng 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>

--ports <Ports>

Scan subdomains được tìm thấy
với các port chỉ định

-v <Verbose>

--verbose <Verbose>

Xem tools nó đang làm gì trong
thời gian thực

-t <Threads>

--threads <Threads>

Số threads sử dụng cho subbrute
để brute-force
9


-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

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à
10


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

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

11


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

12


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

13

-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

14


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


15


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

16


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
17


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


18


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
19


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

20


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
21


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

22


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
23


VIII. Tìm kiếm subdomains trang utc.edu.vn với port 80, 443
python3 sublist3r.py -d utc.edu.vn -p 80,443 -o utc.txt

Hình 3.15 Tìm kiếm subdomains trang utc.edu.vn với port 80, 443

Hình 3.16 File subdomains utc.txt

IX. Tìm kiếm subdomains trang neu.edu.vn với port 80, 443
24


×