Tải bản đầy đủ (.pdf) (32 trang)

Bài tập lớn môn an toàn mạng (28)

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 (2.66 MB, 32 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ụ 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


×