MỤC LỤC
DANH SÁCH THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT......................................... 3
DANH MỤC HÌNH ẢNH................................................................................................ 4
LỜI MỞ ĐẦU................................................................................................................... 6
CHƯƠNG 1. TỔNG QUAN VỀ THỰC TRẠNG TẤN CÔNG TRANG WEB..........7
1.1. Tổng quan về tình hình an ninh mạng................................................................. 7
1.2. Thực trạng tấn công các ứng dụng web.............................................................. 7
CHƯƠNG 2. TỔNG QUAN VỀ CƠNG CỤ DIRBUSTER.......................................... 9
2.1. Mơ tả tổng quan về cơng cụ................................................................................... 9
2.2. Hướng dẫn cài đặt công cụ................................................................................... 9
CHƯƠNG 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ......................................................... 10
3.1. Thực nghiệm (Chức năng chính của Dirbuster)............................................... 10
3.1.1. Khởi động Dirbuster....................................................................................... 10
3.1.2. Giao diện mặc đinh......................................................................................... 11
3.1.3 GET Request Method..................................................................................... 15
3.1.4 Pure Brute Force (Numberic)........................................................................ 18
3.1.5 Single Sweep (Non – recursive)...................................................................... 20
3.1.6. Targeted Start................................................................................................ 22
3.1.7 Blank Extensions............................................................................................. 24
3.1.8 Tìm kiếm theo loại tệp (.txt)........................................................................... 26
3.1.9 Theo dõi chuyển hướng................................................................................. 28
3.1.10 Tấn công thông qua proxy........................................................................... 30
3.1.11 Thêm phần mở rộng tệp............................................................................... 34
3.2Thực nghiệm (Tấn công sử dụng Dirbuste)....................................................... 37
3.2.1 Các bước thực hiện......................................................................................... 38
KẾT LUẬN..................................................................................................................... 45
TÀI LIỆU THAM KHẢO............................................................................................. 46
1
DANH SÁCH THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT
Từ viết tắt
HTTP
IP
URL
Thuật ngữ tiếng Anh/Giải
thích
Thuật ngữ tiếng Việt/Giải
thích
Brute force
Tấn cơng bẻ khóa bằng phương
pháp vét cạn
Command
Câu lệnh hệ thống
HyperText Transfer Protocol
Giao thức truyền tải siêu văn bản
Method
Phương thức
Internet Protocol
Giao thức Internet
Password
Mật khẩu
Uniform Resource Locator
Định vị tài nguyên thống nhất
Wordlist
Danh sách từ khóa
DANH MỤC HÌNH ẢNH
Hình 1: Giao diện tìm kiếm Dirbuster.....................................................................10
Hình 2: Giao diện chính của Dirbuster....................................................................11
Hình 3: Danh sách wordlist có trong Dirbuster.......................................................12
Hình 4: Hình ảnh qt website ................................... 14
Hình 5:Dirbuster sử dụng GET requests................................................................. 16
Hình 6: Hình ảnh tệp và thư mục khi sử dụng GET request................................... 17
Hình 7:Dirbuster sử dụng Pure Brute Force............................................................18
Hình 8: Kết quả tìm kiếm sử dụng Pure Brute Force..............................................19
Hình 9: Dirbuster sử dụng Single Sweep................................................................ 20
Hình 10: Kết quả tìm kiếm sử dụng Single Sweep................................................. 21
Hình 11: Dirbuster sử dụng Targeted Start..............................................................22
Hình 12 Kết quả tìm kiếm sử dụng Targeted Start.................................................. 23
Hình 13: Dirbuster sử dụng Use Blank Extension.................................................. 24
Hình 14: Kết quả chạy sử dụng Use Blank Extension............................................ 25
Hình 15: Dirbuster tìm kiếm theo loại tệp (.txt)......................................................26
Hình 16: HÌnh ảnh tìm kiếm các tệp có phần mở rộng .txt..................................... 27
Hình 17: Dirbuster sử dụng Follow Directs............................................................ 28
Hình 18: Kết quả quét sử dụng Follow Directs.......................................................29
Hình 19: Kết quả tại Result-TreeView sử dụng Follow Direct............................... 30
Hình 20: Hình ảnh trang web từ chối truy nhập......................................................30
Hình 21: Dirbuster đặt địa chỉ 192.168.1.108 để tấn cơng......................................31
Hình 22: Thiết lập Http Options..............................................................................32
Hình 23: Hình ảnh tệp và thư mục khi quét tại địa chỉ 192,168.0.108....................33
Hình 24: Thêm phần mở rộng tệp trong HTML Parsing Options...........................34
Hình 25 Thêm jpeg vào File extension để tìm kiếm định dạng .jpeg......................35
Hình 26: Hình ảnh quét Dirbuster tìm kiếm các tệp .jpeg......................................36
Hình 27: Hình ảnh server RootMe.......................................................................... 37
Hình 28: Sử dụng Dirbuster bruteforce thư mục trên RootMe................................38
Hình 29: Hình ảnh các thư mục, đường dẫn trên Rootme.......................................39
Hình 30: Hình ảnh trang Index.php.........................................................................40
Hình 31: Hình ảnh dir/icons/................................................................................... 41
Hình 32: Hình ảnh dir/js/.........................................................................................41
Hình 33: Hình ảnh dir/css........................................................................................42
Hình 34: Hình ảnh dir/uploads................................................................................ 42
Hình 35: Hình ảnh trang dir/panel...........................................................................43
Hình 36: Lỗi upload file reverse php.......................................................................43
Hình 37: Upload thành cơng reverse-shell sau khi thay đổi file............................. 44
Hình 38: Upload thành cơng vào thư mục uploads trong RootMe..........................44
LỜI MỞ ĐẦU
Công nghệ thông tin trong giai đoạn hiện nay đang có những bước phát triển vượt
bậc trên mọi lĩnh vực ở khắp nơi trên toàn thế giới, điều xảy ra trong nhiều năm vừa qua
là việc đầu tư vào công nghệ. Đối với Việt Nam tuy công nghệ thơng tin mới chỉ phát
triển trong vịng vài năm trở lại đây và đang từng bước phát triển tại Việt Nam tạo nên
những triển vọng về lĩnh vực công nghệ thơng tin, trong đó việc quản lý hệ thống, an tồn
tồn thơng tin đang là những thế mạnh tiềm năng, thế mạnh của đất nước. Hệ thống thông
tin giúp công việc quản lý dễ dàng hơn, nâng cao hiệu quả, tiết kiệm được thời gian và
công sức.
Tuy nhiên, bên cạnh sự tiện lợi của các hệ thống, luôn tồn tại những mối nguy cơ về
các cuộc tấn công mạng. Những cuộc tấn công này luôn mang đến những mối nguy hại
lớn cho các doanh nghiệp. Nguyên nhân chính bắt nguồn từ việc lập trình, cấu hình các
hệ thống, các kiến thức về bảo mật, phịng chống tấn cơng dẫn đến việc tồn tại của các lỗ
hổng trong hệ thống.
Chính vì vậy trong bài báo cáo này, các vấn đề liên quan đến bảo mật và kiểm thử
xâm nhập đang dần trở thành mối quan tâm đối với bất kì doanh nghiệp nào có sử dụng
các hệ thống trực tiếp. Trước những nhu cầu thiết yếu đó, sự ra đời của các cơng cụ bảo
mật, kiểm thử đánh giá an tồn thông tin được ra đời.
CHƯƠNG 1. TỔNG QUAN VỀ THỰC TRẠNG TẤN CÔNG TRANG WEB
1.1. Tổng quan về tình hình an ninh mạng
Cuộc Cách mạng cơng nghiệp 4.0 đang diễn ra nhanh chóng với sự phát triển mạnh
mẽ của không gian mạng. Sự kết hợp giữa hệ thống ảo và thực thể đã làm thay đổi cách
thức con người tiến hành công việc, tạo ra sản phẩm, từ đó tạo nên “cuộc cách mạng” về
tổ chức các chuỗi sản xuất - giá trị, thúc đẩy phát triển kinh tế - xã hội. Bên cạnh những
lợi ích to lớn khơng thể phủ nhận thì việc kết nối tồn cầu với đặc tính khơng biên giới
cũng đặt ra nhiều thách thức rất lớn đối với an ninh, trật tự của các quốc gia trên thế giới,
khiến cho an ninh mạng đã trở thành vấn đề toàn cầu.
Mức độ phổ biến của các ứng dụng web gia tăng với tốc độ chóng mặt do đó vai trị
của bảo mật ứng dụng web đã và đang trở nên cấp thiết hơn bao giờ hết. Những năm qua
đã cho thấy sự gia tăng đáng kể về số lượng các cuộc tấn công dựa trên web. Theo báo
cáo an ninh website mới nhất được thực hiện bởi, có hơn 560.000 vụ tấn cơng vào các
website trên tồn cầu trong năm 2019. Việt Nam xếp thứ 11 trên toàn cầu với 9.300
website bị xâm phạm (1). Nhiều lỗ hổng bảo mật ứng dụng web là do vấn đề xác thực
đầu vào chung. Ví dụ về các khả năng xử lý như vậy là SQL injection và Cross-Site
Scripting (XSS). Mặc dù phần lớn các lỗ hổng bảo mật trên web rất dễ hiểu và để phòng
tránh, nhiều doanh nghiệp, cơ quan tổ chức đã không quan tâm, không nhận thức đúng
tầm quan trọng của đảm bảo an ninh cho trang web. Kết quả là, tồn tại nhiều các trang
web trên Internet dễ bị tổn thương trước các cuộc tấn công nguy hiểm.
Từ vấn đề trên có thể nhận ra tầm quan trọng của các công cụ kiểm thử với khả năng
phát hiện, chẩn đốn mạnh mẽ là vơ cùng cần thiết cho môi trường mà các trang web gia
tăng với số lượng lớn nhưng không đảm bảo chất lượng về mặt an tồn an ninh.
1.2. Thực trạng tấn cơng các ứng dụng web
Ứng dụng Web, hay còn gọi là trang Web, là một ứng dụng dựa trên mơ hình máy
khách và máy chủ. Máy chủ cung cấp quyền truy cập cơ sở dữ liệu được lưu trữ trên một
máy chủ Web. Máy khách sẽ thực thi trên trình duyệt Web như Chrome hay FireFox. Các
ứng dụng Web thường được viết bằng các ngôn ngữ như Java, C # và VB.Net, PHP,
ColdFusion Markup Language,… Bên cạnh đó, các cơng cụ cơ sở dữ liệu thường được sử
dụng trong các ứng dụng Web bao gồm MySQL, MS SQL Server, PostgreSQL, SQLite,
…
Hầu hết các ứng dụng Web được lưu trữ trên các máy chủ Public và có thể được truy
cập qua Internet. Điều này khiến các máy chủ này dễ bị tấn công do khả năng tiếp cận dễ
dàng. Hơn 45% số website bị hack trên toàn cầu sử dụng tên miền .com, theo sau là tên
miền .in (6%) và .net (4,3%). Tại Việt Nam, hơn 80% các website bị tấn công là website
thương mại và website của các doanh nghiệp, tổ chức (.com và .vn). Ngoài ra, các tên
miền bị tấn cơng ít hơn bao gồm .net, .info, .org. Số liệu cho thấy, gần ¾ số trang web bị
hack tại Việt Nam sử dụng nền tảng quản trị nội dung WordPress. Theo sau là Drupal và
Joomla với lần lượt 12,99% và 6,7% số website bị tấn công.
Vấn đề về mức độ an toàn của các ứng dụng Web ngày càng cấp thiết cần được quan
tâm đặc biệt là trong quá trình vận hành. Từ đó cho thấy vai trị của kiểm thử đóng góp
đáng kể vào hiệu quả bảo vệ trang web. Nhóm tác giả đã nắm bắt được yêu cầu này thơng
qua q trình học tập nghiên cứu, đúc rút kinh nghiệm thì bài viết này sẽ làm rõ công cụ
rà quét cho kết quả đánh giá tốt như Dirbuster vận hành như thế nào, quy trình kiểm thử
ra sao. Qua đó dựng nên một góc nhìn tổng quan về cơng tác đảm bảo an tồn cho các
ứng dụng web.
CHƯƠNG 2. TỔNG QUAN VỀ CƠNG CỤ DIRBUSTER
2.1. Mơ tả tổng quan về công cụ
Dirbuster là một ứng dụng java đa luồng được thiết thế để bruce force các thư mục
và các tệp trên máy chủ web/ ứng dụng. Dirbuster ln cố gắng tìm xem máy chủ web
có trong trạng thái cài đặt măc định hay khơng và có các trang và ứng dụng ẩn bên trong.
Tuy nhiên các công cụ có tính chất này thường hoạt động tốt với thư mục và danh sách
tệp đi kèm. Một cách tiếp cận là danh sách được tạo ra từ đầu bằng cách thu thập dữ liệu
từ Internet và thu thập tệp và thư mục được sử dụng bời các nhà phát triển. Dirbuster có
tổng cộng 9 danh sách khác nhau, điều này làm cho Dirbuster cực kỳ hiệu quả trong
việc tìm kiếm các tệp và thư mục ẩn.
Dirbuster được viết bằng Java bởi James Fisher nhưng rất tiếc đến hiện nay khơng
cịn phát triển nữa. Dirbuster có GUI dễ sử dụng với danh sách wordlist đa dạng điều này
làm cho kết quả tìm kiếm vơ cùng chính xác.
2.2. Hướng dẫn cài đặt công cụ
Đối với người sử dụng hệ điểu hành Kali Linux thì khơng cần cài đặt vì đây là cơng
cụ mắc định có trong Kali. Tuy nhiên nếu bạn đang sử dụng phiên bản khác, chẳng hạn
Debian, bạn phải cài đặt thông qua sử dụng git
git clone />
CHƯƠNG 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ
3.1. Thực nghiệm (Chức năng chính của Dirbuster)
3.1.1. Khởi động Dirbuster
Tại giao diện Kali Linux tìm Application -> Web Application Analysis -> Web
Crawler & Directory
Hình 1: Giao diện tìm kiếm Dirbuster
3.1.2. Giao diện mặc đinh
Khởi động DirBuster và nhập địa chỉ vào trường Target
URL. Để các tùy chọn còn lại như ban đầu khởi động. Dirbuster bây giờ sẽ tự chuyển
đồi giữa các yêu cầu HEAD và GET để thực hiện cuộc tấn cơng brute force dựa trên
danh sách.
Hình 2: Giao diện chính của Dirbuster
Tại File with list of dirs/file chúng ta có thể lấy danh Directory/Filelist theo đường
dẫn usr/share/wordlists/dirbuster. Tại đây sẽ hiển thị danh sách lựa chọn:
Hình 3: Danh sách wordlist có trong Dirbuster
Vì khi bắt đầu Dirbuster, chúng ta cần phải đặt mục tiêu, sau đó là chọn từ điển để
thực hiện bruteforce. Dirbuster có danh sách các từ điển như hình phía trên
• apache-user-enum-1.0.txt (8916 username): Được sử dụng để đốn người dùng
hệ thống trên apache với module userdir được bật.
• apache-user-enum-2.0.txt (10341 username): Được sử dụng để đoán người dùng
hệ thống trên apache với module userdir bật.
• directories.jbrofuzz (50000 từ): Danh sách phân biệt chữ hoa và chữ thường từ
dự án OWASP jbroFuzz
• directory-list-1.0.txt (141694 từ): Danh sách ban đầu khơng có thứ tự
• directory-list-2.3-medium.txt (220546 từ): Các thư mục/ tệp được tìm thấy trên ít
nhất 2 máy chủ khác nhau
• directory-list-2.3-small.txt (87650): Các thư mục/ tệp được tìm thấy trên ít nhất 3
máy chủ khác nhau.
• directory-list-lowercase-2.3-medium.txt (207629 từ): phiên bản directory-list2.3-medium.txt không phân biệt chữ hoa và chữ thường.
• directory-list-lowercase-2.3-small.txt (81629 từ): phiên bản directory-list-2.3small.txt khơng phân biệt chữ hoa và chữ thường.
Chọn Start để bắt đầu. Dirbuster sẽ hoạt động và bắt đầu brute forcing và sẽ được
kết quả về các tệp và thư mục khác nhau xuất hiện trong result window.
Hình 4: Hình ảnh quét website
Dirbuster sẽ mất thời gian trong khi quét toàn bộ URL với thơng tin hiển thi như
hình ở phía trên
• Current speed/Averge speed: Cho thấy số lượng yêu cầu mỗi giây dirbuster đang
gửi URL nạn nhân. Kẻ tấn cơng có thể thay đổi tốc độ quét dirbuster bằng cách
thay đổi số lượng luồng trong Dirbuster
• Total Request: Hiển thị số lượng yêu cầu HTTP/ HTTPS được gửi đến URL nạn
nhân.
• Time to finish: hiển thị thời gian dirbuster đã thực hiện để hồn thành q
trình qt.
• Results-Listview: hiển thị danh sách các tệp mà dirbuster đã lấy từ URL của
nạn nhân.
• Results-TreeView: hiển thị các thư mục ẩn hoặc khơng ẩn được tìm thấy.
• Error: hiển thị thời gian chờ kết nối cho trang cụ thể vì yêu cầu gửi đã bị từ
chối do khơng có phản hồi từ URL của nạn nhân hay máy chủ.
3.1.3 GET Request Method
Bây giờ chúng ta sẽ đặt Dirbuster chỉ sử dụng phương thức yêu cầu GET bằng cách
chọn vào checkbox Use GET requests only. Để mọi thứ diễn ra nhanh hơn, số luồng được
đặt là 200 và chọn checkbox Go Faster
Hình 5:Dirbuster sử dụng GET requests
Chọn Start để bắt đầu, trong Result –Tree View chúng ta có thể thấy các tệp vầ thư
mục của website
Hình 6: Hình ảnh tệp và thư mục khi sử dụng GET request
3.1.4 Pure Brute Force (Numberic)
Dirbuo thực hiện bước cho phép rất nhiều cuộc tấn công brute force. Điều này thực
hiện bằng cách chọn vào checkbox “Pure Brute Force” trong tùy chọn và chọn “0-9”
trong menu charset, giới hạn ký tự tối thiểu và tối đa được đặt
Hình 7:Dirbuster sử dụng Pure Brute Force
Trong Result- Tree View chúng ta có thể thấy có các file, thư mục:
Hình 8: Kết quả tìm kiếm sử dụng Pure Brute Force
3.1.5 Single Sweep (Non – recursive)
Tại đây chúng ta sẽ thực hiện quét duy nhất trong đó các từ điển chỉ sử dụng một
lần. Để làm được điều này, chúng ta sẽ bỏ chọn ở checkbox Be Recursive
Hình 9: Dirbuster sử dụng Single Sweep
Trong Result – ListView chúng ta có thể thấy những phát hiện
Hình 10: Kết quả tìm kiếm sử dụng Single Sweep
3.1.6. Targeted Start
Khám phá thêm các tùy chọn điều khiển của Dirbuster, chúng ta sẽ thiết lập để để
Dirbuster tìm kiếm thư mục “admin”. Trong trường “Dir to start with” , nhập /admin và
nhấn start
Hình 11: Dirbuster sử dụng Targeted Start
Trong Result – TreeView chúng ta có thể thấy các phát hiện như mục create.sql
Hình 12 Kết quả tìm kiếm sử dụng Targeted Start
3.1.7 Blank Extensions
Dirbuster cũng có thể xem xét các thư mục có phần blank extensions hay khơng,
việc này có khả năng phát hiện ra dữ liệu có thể khơng bị ảnh hưởng. Để thực hiện được
việc này, chúng ta chọn vào checkbox “Use Blank Extensions”
Hình 13: Dirbuster sử dụng Use Blank Extension
Chọn Start để khởi động việc tìm kiếm, tại đây chúng ta có thể thấy q trình xử lý xảy ra
và Dirbuster thử nghiệm để tìm ra các thư mục có phần blank extensions
Hình 14: Kết quả chạy sử dụng Use Blank Extension
3.1.8 Tìm kiếm theo loại tệp (.txt)
Bây giờ chúng ta đặt lại phần mở rộng tệp .txt, bằng cách đó, Dirbuster sẽ tìm kiếm
cụ thể các tệp có phần mở rộng .txt. Nhập “.txt” vào trường “File extensions” và Start
Hình 15: Dirbuster tìm kiếm theo loại tệp (.txt)