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

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

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.96 MB, 30 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN
-------------------------

HỌC PHẦN: AN TỒN MẠNG
BÀI BÁO CÁO TÌM HIỂU CÔNG CỤ DIRB
Giảng viên hướng dẫn: TS. Đặng Minh Tuấn
Sinh viên thực hiện:

Trần Thị Hằng

Mã sinh viên:

B18DCAT075

Nhóm mơn học:

02

Hà Nội, tháng 12 năm 2021

1


Mục lục
Mở đầu ......................................................................................................................3
I. Giới thiệu ................................................................................................................4
1. Giới thiệu về Dirb .............................................................................................4
2. Tệp tin/ thư mục ẩn của trang web là gì (web hidden files/directories) ...........4
II. Lịch sử hình thành DIRB ......................................................................................7
III. Hướng dẫn cài đặt DIRB,hướng dẫn sử dụng......................................................7


1. Cài đặt Dirb ......................................................................................................7
2. Cách hoạt động của Dirb ..................................................................................8
3. Các option trong Dirb .....................................................................................10
4. Sử dụng wordlist để duyệt qua thư mục .........................................................11
IV. Các bài LAB ......................................................................................................12
1. Tìm các tệp và thư mục ẩn trong máy chủ web với Dirb ...............................12
2. Sử dụng Dirb để quét nội dung web: bWAPP................................................16
V. So sánh, đánh giá, kết luận..................................................................................25
1. So sánh, đánh giá ............................................................................................25
2. Các công cụ thay thế Dirb ..............................................................................25
3. Kết luận...........................................................................................................29
Tài liệu tham khảo .................................................................................................30

2


Mở đầu
Công nghệ thông tin đang mang tới những hướng phát triển mới và giúp ích rất
nhiều trong cuộc sống, với sự phát triển nhanh chóng của cơng nghệ thơng tin, phần mềm
đang đóng một vai trị quan trọng trong nhiều khía cạnh của cuộc sống như kinh tế, quân
sự, y tế, xã hội,… Cùng với đó sự gia tăng lớn về số lượng các ứng dụng web và người
dùng cũng tăng lên đáng kể. Do đó, những nguy cơ mất an tồn thơng tin cho phần mềm
nói chung và ứng web nói riêng cũng tăng theo, gây ra những thiệt hại không hề nhỏ cho
cả người sử dụng và nhà phát triển.
Một trong những bước trong quy trình kiểm thử ứng dụng web là quét và phân tích
nội dung máy chủ web (tìm kiếm các đối tượng web). Về cơ bản, chúng tôi cần khởi chạy
một cuộc tấn công dựa trên từ điển chống lại một máy chủ và phân tích phản hồi. Bạn nên
quét máy chủ web để xem loại tệp và thư mục nào nằm trên đó. Điều quan trọng là phải
xem một số tệp ẩn hoặc tệp có thể chứa một số tùy chọn cấu hình. Bất kỳ lỗi cấu hình hoặc
tệp nào có quyền truy cập đọc khơng nên có trên máy chủ đều có thể sử dụng thơng tin đó

để thực hiện các kiểm tra thêm hoặc có được quyền truy cập trái phép vào dữ liệu hoặc
máy chủ.
Hiện nay có rât nhiều cơng cụ để quét nội dung web hiệu quả. Trong bài báo cáo
này, em xin được giới thiệu về công cụ Dirb, một công cụ cụ quét nội dung web, một cơng
cụ trên Kali Linux nó tìm kiếm các các đối tượng Web hiện có (và / hoặc ẩn). Từ đó giảm
thiểu nguy cơ và thiệt hại do những cuộc tấn cơng mạng gây ra.
Do kiến thức của em vẫn cịn nhiều hạn chế nên trong quá trình tìm hiểu và viết báo
cáo có gì sai sót em mong thầy góp ý để giúp bài báo cáo này của em được hoàn thiện hơn
ạ.
Em xin chân thành cảm ơn Thầy ạ!

3


I. Giới thiệu
1. Giới thiệu về Dirb
DIRB là một công cụ qt nội dung web. Nó tìm kiếm các các đối tượng Web hiện có
(và / hoặc ẩn). Về cơ bản, nó hoạt động bằng cách khởi chạy một cuộc tấn công dựa
trên từ điển chống lại máy chủ web và phân tích phản hồi.
DIRB đi kèm với một bộ danh sách từ tấn cơng được định cấu hình sẵn để dễ sử dụng
nhưng bạn có thể sử dụng danh sách từ tùy chỉnh của mình. Ngồi ra DIRB đơi khi có
thể được sử dụng như một máy quét CGI cổ điển, nhưng hãy nhớ rằng nó là một trình
qt nội dung khơng phải là một trình qt lỗ hổng bảo mật.
Mục đích chính của DIRB là giúp kiểm tra ứng dụng web chuyên nghiệp. Đặc biệt trong
thử nghiệm liên quan đến bảo mật. Nó che một số lỗ hổng không được các máy quét lỗ
hổng web cổ điển che phủ. DIRB tìm kiếm các đối tượng web cụ thể mà các máy qt
CGI thơng thường khác khơng thể tìm kiếm. Nó khơng tìm kiếm các lỗ hổng cũng như
khơng tìm kiếm các nội dung web có thể dễ bị tấn cơng.
Cơng cụ DIRB được tích hợp sẵn Kali Linux.


2. Tệp tin/ thư mục ẩn của trang web là gì (web hidden files/directories)
Web server giống như một ổ cứng lưu trữ dữ liệu trên máy tính. Dữ liệu lưu trữ có
thể bao gồm files, directories, v.v. Những dữ liệu được lưu trữ trên web server có thể
là dữ liệu cơng khai (public) ví dụ như trang chủ của một website, những đường link
dẫn đến những chuyên mục khác nhau (catergories) hoặc bài viết khác nhau của
4


website đó,…; hoặc cũng có thể là dữ liệu riêng tư (private) ví dụ như trang đăng
nhập, file robots, files hay directories chia sẻ thông tin nội bộ,…
Những thông tin riêng tư này đôi khi sẽ cung cấp cho chúng ta chìa khóa dẫn đến việc
xâm nhập thành cơng. Vì lẽ đó, nếu đối tượng chúng ta pentest là một web app, việc
cần làm sau khi Nmap đó là tìm xem trên web có files hay directories ẩn hay khơng?
-

Web URL trên Linux web server
Để dễ hiểu hơn, chúng ta sẽ thử phân tích một URL (Uniform Resource Locator)
ở cấp độ căn bản, chúng ta sẽ sử dụng URL của website sau:
g/2020/12/17/kali-linux-can-ban-bai-1nmap-va-netcat/
Chúng ta sẽ cùng phân tích URL trên:
 https: Giao thức được dùng để truy cập website
 tuhocnetworksecurity.business.blog: Tên miền của website. Khi bạn sử dụng
một
trình
duyệt
web
để
truy
cập
vào

tên
miền
tuhocnetworksecurity.business.blog, bạn đang truy cập vào một directory trên
web server. Khi web server phát hiện có một yêu cầu truy cập, nó sẽ chạy một
vài tác vụ để tạo nên giao diện trang chủ của website và tìm nội dung của
website được lưu trong directory hiện tại để tải lên website. File chứa nội dung
của website thường có tên là index.html
 2020 là directory con của directory chứa file index.html
 12 là directory con của directory 2020
 kali-linux-can-ban-bai-1-nmap-va-netcat: Tên của bài viết
Tổng kết lại chúng ta có URL mang ý nghĩa là: Bài viết kali-linux-can-ban-bai-1nmap-va-netcat nằm bên trong directory 17; directory 17 nằm bên trong directory
12; directory 12 nằm bên trong directory 2020 và directory 2020 nằm bên trong
directory
chứa
file
index.html
của
web
server
tuhocnetworksecurity.business.blog.
Nói một cách dễ hiểu hơn nó cũng giống như PATH (đường dẫn/địa chỉ) trên hệ
thống Linux, chúng ta có thể xem lại bài 10 của series Linux Căn Bản, ở mục tìm
password cho account shiba4. Chúng ta đã tìm ra file shiba4 ở PATH sau:
/otp/secret/shiba4
PATH trên có nghĩa là file shiba4 nằm bên trong directory secret, directory secret
lại nằm bên trong directory opt, directory opt, nằm bên trong directory root (/).
Thì trên web server nó cũng giống y như thế, nghĩa là để truy cập được vào một
file (bài viết), bạn phải biết chính xách PATH của file đó.

5



-

Web hidden directories
Giao diện web khác với giao diện dòng lệnh. Trên giao diện dòng lệnh, chúng ta
sẽ tương tác với hệ thống bằng các câu lệnh, tuy nhiên trên giao diện web, chúng
ta lại tương tác với hệ thống chủ yếu thông qua URL.
Thật vậy, nếu chúng ta thử bấm vào bất cứ một mục nào trên thanh menu của
website sẽ thấy URL sẽ thay đổi theo. Điều đó đồng nghĩa với việc, nếu chúng ta
là một người dùng bình thường và khơng hiểu về cấu trúc URL, chúng ta sẽ chỉ
có thể truy cập được vào những nội dung có sẵn trên trang chủ và trong thanh
menu của web.
Những nội dung (files và directories) không được đề cập và khơng có đường dẫn
đến trên trang chủ và thanh menu chính là những nội dung ẩn.
Nếu biết về URL, chúng ta có thể thử làm những điều sau trên website
tuhocnetworksecurity.business.blog. Nếu tinh ý sẽ thấy cụm /2020/12/17/ giống
như là năm, tháng và ngày của bài viết. Vậy chúng ta thử vài ví dụ sau:
 Ví dụ 1: thử thay đổi URL một tí để show ra tất cả nội dung của website vào
năm 2020
g/2020/
Chúng ta đã xem được danh sách trang liệt kê tất cả nội dung đã được xuất bản
vào năm 2020. Đây là một trang nội dung khơng hề có trên trang chủ của trang
web

 Ví dụ 2: Chúng ta sẽ sử dụng URL để kiểm tra các bài viết được viết vào
năm 2019 có được liệt kê không
g/2019/
6



Chúng ta sẽ thấy nội dung không tồn tại, do website được phát triển từ tháng
6/2020.
 Ví dụ 3: cũng có thể tiếp tục thử nghiệm với URL bên dưới để tìm các trang
liệt kê bài viết của website trong tháng 11:
g/2020/11/
Các ví dụ trên chính là ví dụ điển hình của việc sử dụng URL để tìm những nội dung
khơng có trên trang chủ và menu của web. Khi pentest, thay vì phải thay đổi URL để
tìm files và directories ẩn thủ cơng, chúng ta sẽ có các cơng cụ chun biệt để làm việc
đó.
II. Lịch sử hình thành DIRB
DIRB là một trình quét nội dung web được viết bằng C và được cung cấp bởi The Dark
Raver từ năm 2005.
Lần phát hành cuối cùng của công cụ này là vào năm 2014, với phiên bản 2.22. Gói này
được cung cấp bởi hầu hết các bản phát hành Linux áp dụng như Black Arch và Kali
Linux.
Công cụ này được cung cấp với nhiều danh sách từ, bao gồm big.txt và common.txt
(danh sách từ mặc định của nó). Dirb cũng được cung cấp với hai tiện ích:
html2dictương đương với cewl và gendicttương đương với crunch, cả hai đều được sử
dụng để tạo danh sách từ.
III. Hướng dẫn cài đặt DIRB,hướng dẫn sử dụng
1. Cài đặt Dirb
Cơng cụ DIRB được tích hợp sẵn Kali Linux nên việc cài đặt khá đơn giản. Có ba cách
để cài đặt DIRB trên Kali Linux. Chúng ta có thể sử dụng apt-get, apt và aptitude.
-

Cài đặt DIRB bằng apt-get
 Cập nhật cơ sở dữ liệu apt apt-get bằng lệnh sau:

7



 Sau khi cập nhật cơ sở dữ liệu apt, ta có thể cài đặt DIRB bằng apt-get cách
chạy lệnh sau:

-

Cách cài đặt DIRB bằng apt
 Cập nhật cơ sở dữ liệu apt bằng lệnh sau:

 Sau khi cập nhật cơ sở dữ liệu apt, ta có thể cài đặt DIRB bằng apt bằng cách
chạy lệnh sau:

-

Cài đặt dirb bằng aptitude
 Nếu bạn muốn làm theo phương pháp này, bạn có thể cần phải cài đặt aptitude
trước vì aptitude thường không được cài đặt theo mặc định trên Kali Linux. Cập
nhật cơ sở dữ liệu apt aptitude bằng lệnh sau.

 Sau khi cập nhật cơ sở dữ liệu apt, chúng tơi có thể cài đặt dirb bằng aptitude
bằng cách chạy lệnh sau:

2. Cách hoạt động của Dirb
Để sử dụng Dirb ta cần thực hiện theo các bước sau:
8


-


-

Bước 1: Mở Terminal
Bước 2: Khởi động Dirb
Khi đã mở Terminal, hãy tiếp tục và nhập dirb đẻ nhận được màn hình trợ
giúp.

Bước 3: Xác định mục tiêu của bạn
Để quét hãy sử dụng lệnh: dirb URL
Ví dụ: ở đây quét trang google.com

9


3. Các option trong Dirb
 a <agent_string>: Chỉ định USER_AGENT tùy chỉnh của bạn.
 -c <cookie_string>: Đặt cookie cho yêu cầu HTTP.
 -f: Phát hiện NOT_FOUND (404) tinh vi.
 -H <header_string>: Thêm tiêu đề tùy chỉnh vào yêu cầu HTTP.
 -i: Sử dụng tìm kiếm khơng phân biệt chữ hoa chữ thường.
 -l: In tiêu đề “Vị trí” khi tìm thấy.
 -N <nf_code>: Bỏ qua các phản hồi với mã HTTP này.
 -o <output_file>: Lưu đầu ra vào đĩa.
 -p : Sử dụng proxy này. (Cổng mặc định là 1080)
 -P : Xác thực proxy.
 -r: Không tìm kiếm đệ quy.
 -R: Đệ quy tương tác. (Yêu cầu cho từng thư mục)
 -S: Chế độ im lặng. Không hiển thị các từ đã được kiểm tra. (Đối với thiết bị
đầu cuối câm)
 -t: Không buộc phải kết thúc bằng '/' trên các URL.

 -u <tên người dùng: mật khẩu>: Xác thực HTTP.
 -v: Cũng hiển thị các trang NOT_FOUND.
 -w: Không dừng lại ở các tin nhắn CẢNH BÁO.
 -X <extensions> / -x <exts_file>: Nối mỗi từ với phần mở rộng này.
10




-z: Thêm độ trễ mili giây để không gây ra Flood quá mức.

4. Sử dụng wordlist để duyệt qua thư mục
Cuộc tấn công ở trên hoạt động bằng cách sử dụng wordlist_files common.txt mặc
định, nhưng chúng ta có thể thay đổi wordlist này và có thể chọn một wordlist
khác để duyệt thư mục. Để xem tất cả wordlist có sẵn ta sử dụng lệnh sau:
cd /usr/share/wordlist/dirb
ls –la

11


cd /usr/share/wordlist/vulns
ls –la

IV. Các bài LAB
1. Tìm các tệp và thư mục ẩn trong máy chủ web với Dirb
Sử dụng Dirb để tìm các tệp và thư mục ẩn trong máy chủ web
certifiedhacker.com
Ta chạy lệnh sau:
dirb


12


13


Ta truy cập URL:
/>
14


Ta truy cập URL:
/>
/>
15


2. Sử dụng Dirb để quét nội dung web: bWAPP
- bWAPP là gì?

-

Sử dụng lệnh sau để quét nội dung

16


Sử dụng wordlist để duyệt thư mục


17


-

Liệt kê Thư mục với Danh sách mở rộng
Extension (-X option)
Có rất nhiều tình huống mà chúng ta cần trích xuất các thư mục của một tiện ích mở
rộng cụ thể qua máy chủ đích và sau đó chúng ta có thể sử dụng tham số -X của q
trình qt dirb. Tham số này chấp nhận tên phần mở rộng tệp và sau đó tìm kiếm
các tệp phần mở rộng đã cho trên máy chủ hoặc máy mục tiêu.
18


Thực hiện câu lệnh sau:
dirb URL –X .php
Lệnh trên sẽ trích xuất tất cả đường dẫn thư mục liên quan đến phần mở rộng php
như hình sau.

-

Extension file (-x option)

19


-

Bỏ qua mã trạng thái không cần thiết
Phần tử Mã trạng thái là một số nguyên có 3 chữ số trong đó chữ số đầu tiên của

Mã trạng thái xác định loại phản hồi và hai chữ số cuối cùng khơng có bất kỳ vai
trị phân loại nào. Trong cuộc tấn công này, chúng tôi đang sử dụng tham số –N trên
mã 200 như hình dưới đây.
Ta thực hiện câu lệnh
dirb URL –N 200

20


-

Không buộc kết thúc '/' trên URL (-t)
Từ các cuộc tấn cơng được sử dụng trong các tình huống trước, để chạy công cụ
dirb, chúng ta sẽ phải thêm dấu gạch chéo (/) vào cuối URL để được chấp nhận
trong dirb. Để kiểm tra xem chúng tôi cần thử một cuộc tấn cơng vào URL kết thúc
mà khơng có bất kỳ dấu gạch chéo nào.

-

Đệ quy tương tác hoặc không tìm kiếm đệ quy (-R or –r option)
Quét dirb, theo mặc định, quét các thư mục một cách đệ quy. Nó có nghĩa là nó quét
một thư mục và sau đó đi qua bên trong thư mục đó để quét các thư mục con khác.
Nhưng trong một số trường hợp, khi thời gian không đủ, chúng tôi đặt dirb để khơng
qt đệ quy. Điều này có thể đạt được bằng cách sử dụng tham số -r .

21


-


Thơng báo cảnh báo (-w parameter)
Trong q trình qt dirb bình thường như được hiển thị bên dưới, một số trang tạo
ra cảnh báo; quá trình quét dirb bỏ qua những thư mục mà nó gặp bất kỳ cảnh báo
nào.
Trong khi thực hiện quá trình quét phải được thực hiện rất sâu và dài, chúng tơi
muốn rằng q trình qt dirb không tránh những cảnh báo này và thực hiện qt
chun sâu, do đó chúng tơi sử dụng tham số -w của quá trình quét dirb.

22


-

Hiển thị các trang không tồn tại hoặc chế độ im lặng (-v or –S option)

Lỗi 404 là mã trạng thái HTTP có nghĩa là khơng thể tìm thấy trang bạn đang cố truy
cập trên một trang web trên máy chủ của họ. Thơng báo lỗi 404 Khơng tìm thấy thường
được tùy chỉnh bởi các trang web riêng lẻ. Trong một số trường hợp, chúng tơi cũng
cần tìm các trang 404, trang này sẽ bỏ qua theo mặc định. Để tìm các trang đó, chúng
tơi sẽ sử dụng tham số -v.

23


-

Độ trễ tốc độ
Trong khi làm việc trong các tình huống khác nhau, có một số mơi trường chúng tơi
gặp phải không thể xử lý lũ tạo ra bởi quá trình qt dirb, vì vậy trong những mơi
trường đó, điều quan trọng là chúng tơi phải trì hỗn q trình quét một thời gian.

Điều này có thể được thực hiện dễ dàng với tham số -z của quá trình quét dirb. Trong
tham số này, thời gian được cung cấp trên quy mơ mili giây. Giống như được hiển
thị trong ví dụ đã cho của chúng tôi, chúng tôi đã đưa ra độ trễ 500 giây cho dirb.

-

Lưu đầu ra vào đĩa
Với mục đích duy trì hồ sơ, khả năng đọc tốt hơn và các tài liệu tham khảo trong
tương lai, chúng tôi lưu kết quả quét dirb vào một tệp. Đối với điều này, chúng tôi
sẽ sử dụng tham số -o của q trình qt dirb, chúng tơi có thể lưu đầu ra của quá
trình quét dirb trong một tệp văn bản.

24


Lệnh trên sẽ tạo một tệp output.txt trên màn hình nền của các thư mục được liệt
kê.

V. So sánh, đánh giá, kết luận
1. So sánh, đánh giá
Dirb là một trong những cơng cụ khám phá web lâu đời nhất, nó đề xuất hầu hết các
tùy chọn nâng cao như tiêu đề tùy chỉnh, tiện ích mở rộng tùy chỉnh, proxy được xác
thực và thậm chí cả đệ quy tương tác. Tuy nhiên, công cụ này là một trong những công
cụ hiếm nhất không cung cấp khả năng đa luồng.
Ưu điểm
 Chỉ định nhiều danh sách từ (phân tách bằng dấu phẩy)
 Chế độ đệ quy (theo mặc định hoặc sử dụng –R tùy chọn cho chế độ tương tác)
- Nhược điểm
 Khơng có tùy chọn đa luồng
 Chỉ phương thức GET

 Khơng có bộ lọc ưa thích
 Chỉ một tùy chọn đầu ra
2. Các công cụ thay thế Dirb
Hiện nay có khá nhiều cơng cụ qt web hiệu quả hơn Dirb. Một số công cụ được
sử dụng phổ biến như: Dirbuster, Dirsearch, FFUF, GoBuster, Wfuzz, Rustbuster,
FinalRecon.
- Dirbuster
-

25


×