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

BÁO CÁO ĐỒ ÁN TẤN CÔNG MẠNG HACKING WEB SERVER

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 (6.24 MB, 35 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

BÁO CÁO ĐỒ ÁN TẤN CÔNG MẠNG
HACKING WEB SERVER

Giảng viên hướng dẫn: ThS. Nguyễn Duy
Các thành viên nhóm:
Nguyễn Thanh Tâm

12520909

Đặng Thái Hoà

12520596

Tiếu Hoài Nam
Nguyễn Văn Nhân
Tháng 11/2016

12520644
12520883


MỤC LỤC

LỜI MỞ ĐẦU
Hiện nay, công nghệ thông tin hầu như được áp dụng rộng rãi trên toàn cầu, phục vụ nhiều nhu cầu cho
con người như: kinh doanh, quản lý, mua sắm, đọc tint tức, giải trí ... Một trong những dịch vụ công nghệ
hàng đầu được sử dụng phổ biến nhất là dịch vụ WEB. Với công nghệ WEB hiện tại thì có thể đáp ứng mọi


nhu cầu của con người và hơn thế nữa.
Bên cạnh đó, những nguy cơ bị xâm hại, đánh cắp, phá hoại ... thông tin, dữ liệu cá nhân, ... là điều khó
tránh khỏi, khi mà dịch vụ Web hiện nay vẫn còn nhiều lỗ hỏng bảo mật mà
Trong đề tài môn “Tấn công mạng này” này nhóm sẽ trình bày một số thủ thuật cũng như một số mẹo
mà Hacker lừa Victim để lấy được tài khoản cũng như là các lỗ hổng bảo mật của WEB SERVER.

2|Page


Chương 1: Tổng quan về Web Server
1. Giới thiệu về Website.
Website là một “trang web” được lưu trữ tại các máy chủ hay các hosting hoạt động trên
Internet. Đây là nơi giới thiệu những thông tin, hình ảnh về doanh nghiệp, sản phần và dịch vụ của
doanh nghiệp hay giới thiệu bất cứ kì thông tin gì để khách hàng có thể truy cập bất kì ở đâu, bất cứ
lúc nào.
Website là tập hợp của nhiều web page. Khi doanh nghiệp, công ty xây dựng website nghĩa là
đang xây dựng nhiều trang thông tin về sản phẩm, dịch vụ hay giới thiệu,... Để tạo nên một website
cần có 3 yếu tố sau:

 Tên miền (domain).
Thực chất một website không cần đến tên miền nó vẫn có thể hoạt động bình thường vì nó còn
có địa chỉ IP của trang web đấy, chúng ta chỉ cần gõ vào trình duyệt IP của trang web thì ngay lập tức
trình duyệt sẽ load trang web đấy về trình duyệt của bạn. Sỡ dĩ chúng ta cần phải có tên miền thay cho
IP là vì IP là mỗi chuỗi số thập phân, có những địa chỉ IP thì rất là dễ nhớ nhưng đa số địa chỉ IP thì
rất là khó nhớ. Với cái tên nó rất gần gũi với ngôn ngữ tự nhiên của con người nên rất là dễ nhớ cũng
chính vì vậy mà người ta đã thay tên miền cho IP và từ đó công nghệ DNS ra đời.
Ví dụ đơn giản để hiểu thêm tính năng của tên miền: Trong danh bạ điện thoại của chúng ta nếu
chúng ta lưu số điện thoại mà không gán với một tên thì chắc chắn một điều là chúng ta không thể

3|Page



nhớ hết được số điện thoại của từng người và cũng không thể nào biết được số điện thoại này là của ai
nhưng nếu chúng ta lưu số một ai đó với một cái tên thì sau này khi cần gọi cho người đó sẽ tìm trong
danh bạ dễ dàng hơn.

 Nơi lưu trữ website (hosting).
Nơi lưu trữ website thì bắt buộc chúng ta phải có, nó có thể là một máy chủ để lưu trữ hay một
hosting chúng ta thuê từ nhà cung cấp dịch vụ.

 Nội dung các trang thông tin (web page).
Nội dung trang thông tin này thì phải có rồi vì mục đích của chúng ta lập nên website nhằm
đăng thông tin của chúng ta lên website hay giới thiệu các thông tin của công ty.
Nói đến một website người ta thường nói website đấy là web động hay tĩnh, đa số các website
bây giờ đến là website động.
Website tĩnh có thể hiểu như thế này người dùng gửi yêu cầu một tài nguyên nào đó và máy chủ
sẽ trả về tài nguyên đó. Các trang Web không khác gì là một văn bản được định dạng và phân tán. Lúc
mới đầu phát triển website thì web tĩnh được sử dụng rất nhiều vì lúc đấy nhu cầu của việc đăng tải
trên website là chưa cao như đăng thông tin về các sự kiện, địa chỉ hay lịch làm việc qua Internet mà
thôi, chưa có sự tương tác qua các trang Web.
Website động là thuật ngữ được dùng để chỉ những website được hỗ trợ bởi một phần mềm cơ
sở web, nói cho dễ hiểu thì web động là web có cơ sở dữ liệu. Ngày nay, đa số các trang web đều có
cơ sở dữ liệu vì mục đích, nhu cầu của con người càng ngày gia tăng. Thực chất, website động có
nghĩa là một website tĩnh được "ghép" với một phần mềm web (các modules ứng dụng cho Web). Với
chương trình phần mềm này, người chủ website thực sự có quyền điều hành nó, chỉnh sửa và cập nhật
thông tin trên website của mình mà không cần phải nhờ đến những người chuyên nghiệp.
Trước đây, năm 1995 đến 2004 thì sử dụng công nghệ web 1.0 với công nghệ này thì chỉ được
đọc nội dung trang web mà người dùng không thể chỉnh sửa, bình luận hay nói cách khác website lúc
bất giờ chỉ hoạt động một chiều mà thôi.
Hiện nay, đã phát triển công nghệ web 2.0 hoạt động hai chiều có nghĩa là người dùng cũng có

thể chỉnh sửa, bình luận hay xóa nội dung trang web. Trên đà phát triển đó người ta tiếp tục nghiên
cứu và phát triển web 3.0 hướng hẹn rất nhiều điều thú vị còn ở phía trước.

2. Khái niệm Web Server.
Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi
người ta cũng gọi chính phần mềm đó là Web Server.Tất cả các Web Server đều hiểu và chạy được
các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn

4|Page


như IIS của Microsoft dành cho *.asp, *.aspx...; Apache dành cho *.php...; Sun Java System Web
Server của SUN dành cho *.jsp….
Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một
ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác.
(các mã Script, các chương trình, và các file Multimedia)
Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet
(hoặc Intranet) qua giao thức HTTP - giao thức được thiết kế để gửi các file đến trình duyệt Web
(Web Browser), và các giao thức khác.
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain
Name. Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng
sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.abc.com.
Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của bạn.
Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một
chương trình phần mềm Server Software và sau đó kết nối vào Internet.
Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ
một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà
bạn mong muốn.
Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của mình, Web Server
Software cũng chỉ là một ứng dụng phần mềm. Nó được cài đặt, và chạy trên máy tính dùng làm Web

Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ
một máy tính khác ở trên mạng (Internet, Intranet).
Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết
nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng
đến người dùng.
Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho
việc cung cấp thông tin trực tuyến. Vị trí đặt server đóng vai trò quan trọng trong chất lượng và tốc độ
lưu chuyển thông tin từ server và máy tính truy cập.

5|Page


Hình 1. Thị phần Web Server.
a. Các loại web server thông dụng.
Có khá nhiều sản phẩm web server khác nhau, việc lựa chọn một web server phù hợp sẽ dựa
trên các tiêu chí đánh giá: Khả năng làm việc với hệ điều hành và các ứng dụng khác, khả năng thiết
lập các chương trình ứng dụng phía server, khả năng bảo mật dữ liệu, khả năng xuất bản trang web,
các công cụ hỗ trợ khi xây dựng các trang web.Hiện nay có 2 loại web server thông dụng nhất là :
Internet Information Services (IIS), Apache Web Server.Trong đó , Apache Web Server chiếm giữ trên
60% thị trường web thế giới.

6|Page


i. Internet Information Services (IIS).

IIS là dịch vụ thông tin Internet do Microsoft phát triển, sản phẩm này được tích hợp cùng với
hệ điều hành Windows. Phiên bản mới nhất hiện nay là IIS 7.5 được chạy trên hệ điều hành Windows
server 2008 (hay windows 7). Trong IIS bao gồm nhiều dịch vụ dịch vụ như: dịch vụ Web Server,
dịch vụ FTP Server … Ở đây ta đề cập đến dịch vụ Web Server. IIS Web Server (gọi tắt là IIS) đáp

ứng mọi yêu cầu chủ yếu của một Web Server như: độ tin cậy, hiệu năng, khả năng theo dõi giám sát
(quản trị), tính bảo mật và tính khả thi trong việc phát triển các dịch vụ ứng dụng. Tất cả các cải tiến
này là kết quả là sự kết hợp chặt chẽ cùng với các tính năng mới được cung cấp trong hệ điều hành
Windows.

ii. Apache Web Server.
Apache Web Server được xem như một sự nỗ lực rất lớn trong việc phát triển và duy trì một
Web Server mã nguồn mở cho các hệ điều hành, bao gồm Unix, Linux và Windows NT. Đây là một
Web Server hội tụ tất cả các tính năng: bảo mật, hiệu suất, mở rộng và phát triển cung cấp các dịch vụ
Web được đồng bộ trong các chuẩn Web hiện hành.

7|Page


Hình 2. Apache Web Server
 Các đặc điểm nổi bật của Apache:
-

Ngày nay Apache có thể chạy kết hợp (hybrid) giữa chế độ đa sử lý và chế độ đa
chỉ lệnh.

-

Hỗ trợ nhiều giao thức: Apache được phát triển để có thể phục vụ trên nhiều giao
thức khác nhau.

-

Ngày càng hỗ trợ tốt hơn cho các hệ điều hành khác như BeOS,OS/2vàWindows.


-

Ngày càng phát triển và hoàn thiện các API (Application Program Interface).

-

Hỗ trợ IPv6.

-

Hỗ trợ nhiều modul dùng để lọc (Filtering) các dòng dữ liệu đến hoặc đi từ server.

-

Hỗ trợ nhiều ngôn ngữ hiển thị các thông báo lỗi.

-

Ngày càng đơn giản và dễ dàng thiết lập các tham số cho Web Server qua các file
cấu hình.

8|Page


b. Giao thức SSL.
i. SSL là gì?
Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất nhiều các
hệ thống độc lập mà không có bất kỳ sự bảo vệ nào với các thông tin trên đường truyền. Không một ai
kể cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát nào đối với đường đi của dữ liệu hay có
thể kiểm soát được liệu có ai đó thâm nhập vào thông tin trên đường truyền. Để bảo vệ những thông

tin mật trên mạng Internet hay bất kỳ mạng TCP/IP nào, SSL đã kết hợp những yếu tố sau để thiết lập
được một giao dịch an toàn:

 Xác thực: Đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của kết nối.
Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực của người sử dụng.

 Mã hoá: Đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba. Để loại trừ việc
nghe trộm những thông tin “nhạy cảm” khi nó được truyền qua Internet, dữ liệu phải được
mã hoá để không thể bị đọc được bởi những người khác ngoài người gửi và người nhận.

 Toàn vẹn dữ liệu: Đảm bảo thông tin không bị sai lệch và nó phải thể hiện chính xác
thông tin gốc gửi đến.
Với việc sử dụng SSL, các Web site có thể cung cấp khả năng bảo mật thông tin, xác thực và
toàn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các browser và Web server, cho phép
người sử dụng làm việc với các trang Web ở chế độ an toàn. Khi Web browser sử dụng kết nối SSL
tới server, biểu tượng ổ khóa sẽ xuất hiện trên thanh trạng thái của cửa sổ browser và dòng “http”
trong hộp nhập địa chỉ URL sẽ đổi thành “https”. Một phiên giao dịch HTTPS sử dụng cổng 443 thay
vì sử dụng cổng 80 như dùng cho HTTP.

9|Page


ii. Giao thức SSL.
Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đã được sử dụng
rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tin giữa client và server. Tổ chức
IETF (Internet Engineering Task Force ) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer
Security). Mặc dù là có sự thay đổi về tên nhưng TSL chỉ là một phiên bản mới của SSL. Phiên bản
TSL 1.0 tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.

Hình 3. Cấu trúc của SSL và giao thức SSL.

SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất nhiều
ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng cao
hơn như là HTTP (Hyper Text Transport Protocol), IMAP ( Internet Messaging Access Protocol) và
FTP (File Transport Protocol). Trong khi SSL có thể sử dụng để hỗ trợ các giao dịch an toàn cho rất
nhiều ứng dụng khác nhau trên Internet, thì hiện nay SSL được sử dụng chính cho các giao dịch trên
Web.
SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hoá để thực
hiện các nhiệm vụ bảo mật sau:

 Xác thực server:
Cho phép người sử dụng xác thực được server muốn kết nối. Lúc này, phía browser sử dụng các
kỹ thuật mã hoá công khai để chắc chắn rằng certificate và public ID của server là có giá trị và được
cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của client. Điều này
rất quan trọng đối với người dùng. Ví dụ như khi gửi mã số credit card qua mạng thì người dùng thực
sự muốn kiểm tra liệu server sẽ nhận thông tin này có đúng là server mà họ định gửi đến không.

 Xác thực Client:
10 | P a g e


Cho phép phía server xác thực được người sử dụng muốn kết nối. Phía server cũng sử dụng các
kỹ thuật mã hoá công khai để kiểm tra xem certificate và public ID của server có giá trị hay không và
được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của server
không. Điều này rất quan trọng đối với các nhà cung cấp. Ví dụ như khi một ngân hàng định gửi các
thông tin tài chính mang tính bảo mật tới khách hàng thì họ rất muốn kiểm tra định danh của người
nhận.

 Mã hoá kết nối:
Tất cả các thông tin trao đổi giữa client và server được mã hoá trên đường truyền nhằm nâng
cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai bên khi có các giao dịch mang tính riêng

tư. Ngoài ra, tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mã hoá còn được bảo vệ nhờ
cơ chế tự động phát

hiện các xáo trộn, thay đổi trong dữ liệu. ( đó là các thuật toán băm – hash

algorithm).
Giao thức SSL bao gồm 2 giao thức con: giao thức SSL record và giao thức SSL handshake.
Giao thức SSL record xác định các định dạng dùng để truyền dữ liệu. Giao thức SSL handshake (gọi
là giao thức bắt tay) sẽ sử dụng SSL record protocol để trao đổi một số thông tin giữa server và client
vào lấn đầu tiên thiết lập kết nối SSL.

11 | P a g e


Chương 2: Một số cách thức tấn công và phòng chống Hacking Web Server
1. Tấn công Directory Traversal.
Directory traversal hay còn được biết với một số tên khác như “dot-dot-slash”, “path
Traversal”,”directory clumbing” và “backtracking” là hình thức tấn công truy cập đến những file và
thư mục mà được lưu bên ngoài thư mục webroot. Hình thức tấn công này không cần sử dụng một
công cụ nào mà chỉ đơn thuần thao tác các biến với (dot-dot-slash) để truy cập đến file, thư mục, bao
gồm cả source code, những file hệ thống, …
Để nhận biết khả năng khai thác lỗi này, các kẻ tấn công thường quan sát kết quả có được từ spider
hoặc crawler mang lại.

Hình 4. Tấn công Directory traversal.
2. Tấn công HTTP Response Splitting.
Lỗi HTTP Response Splitting tấn công vào ứng dụng web và diễn ra khi nó không thể xử lý
đúng các thông tin đầu vào người dùng nhập.
Kẻ tấn công từ xa có thể gửi một yêu cầu HTTP đặc biệt làm cho máy chủ web định dạng yêu
cầu nhầm tưởng rằng nó chứa 2 yêu cầu HTTP chứ không phải một.

Chỉ yêu cầu thứ nhất được xử lý bởi người sử dụng. HTTP Response Splitting cho phép tiến
hành một lượng lớn các cuộc tấn công, chặn và ăn cắp thông tin người dùng.

12 | P a g e


3. Tấn công Web Cache Poisoning.
Web Cache Poisoning Chia làm 3 loại:

3.1.

Poisoning the reverse proxy.
Trong trường hợp này, hacker muốn hủy hoại trang web. Cuối cùng, hacker đầu độc trang chủ

của trang web. Mỗi client của site đều bị tác động. Đây là căn bản về hủy hoại web. Trong trường hợp
này, hacker sẽ nhanh chóng dọn dẹp. Từ khi cache server được làm chủ bởi site, hacker sẽ nắm một số
thông tin quan trọng.

3.2.

Poisoning the cache server.
Phishing là một kiểu tấn công như các bạn thường gọi FAKE LOGIN, chúng ta Save As một

trang login thực sự, rồi chỉnh sửa lại form, edit code lại, dụ victim vào và login, thông tin login đó sẽ
được gửi về theo form mặc định. (có thể là user, pass, hoặc những thông tin khác
Nói sang vấn đề khác, nếu cache server không được owned bởi attacked website (target host) Ví
dụ như ta attack một American website mà nó lại poison Cache Server của British of ISP sinh ra một
vấn đề trở ngại trong việc attack rất nhiều. Thật khó để biết được cache nào bị poison. Đặc trưng loại
tấn công này chỉ tồn tại vài phút.


3.3.

Poisoning the cache browser.
Trong trường hợp này hacker chỉ tấn công tại một user nhất định. Nhưng điều khác với XSS,

poisoning cache browser phải chờ người dùng tải nó, nếu lúc tấn công mà user không đăng nhập để
tải xuống, XSS thì bạn chỉ cần đặt link đó, và khi người dùng nhấn vào, thông tin cookie sẽ gửi về
hacker mặc định ở file nào đó. Điều khác biệt là poisoning cache browser hoạt động ngay kể cả khi
người dùng đã tắt JavaScript trong trình duyệt.

4. Tấn công SSH Bruteforce.
Giao thức SSH sử dụng để tạo ra một đường hầm mã hóa giữa 2 máy chủ, nhằm chuyển dữ liệu
giữa người dùng.
Kẻ tấn công Bruteforce có thể bắt SSH tin là mình là một thông tin đăng nhập hợp lệ để truy
cập trái phép vào đường hầm SSH.
Sau đó đường hầm có thể được sử dụng để truyền cách malware và khai thác các nạn nhân mà
không bị hủy lệnh.

13 | P a g e


Hình 5. Tấn công SSH Bruteforce.
5. Tấn công Man-in-the-Middle.
Một trong những tấn công mạng thường thấy nhất được sử dụng để chống lại những cá nhân và
các tổ chức lớn chính là các tấn công Man in the Middle. Có thể hiểu nôm na về kiểu tấn công này thì
nó như một kẻ nghe trộm. Man in the Middle hoạt động bằng cách thiết lập các kết nối đến máy tính
nạn nhân và relay các message giữa chúng. Trong trường hợp bị tấn công, nạn nhân cứ tin tưởng là họ
đang truyền thông một cách trực tiếp với nạn nhân kia, trong khi đó sự thực thì các luồng truyền
thông lại bị thông qua host của kẻ tấn công. Và kết quả là các host này không chỉ có thể thông dịch dữ
liệu nhạy cảm mà nó còn có thể gửi xen vào cũng như thay đổi luồng dữ liệu để kiểm soát sâu hơn

những nạn nhân của nó.

6. Một số cách phòng chống tấn công máy chủ Web.
6.1.

Các biện pháp phản công.

6.1.1. Patches và Updates.
 Quét các lỗ hổng hiện tại, bản vá và cập nhật các phần mềm máy chủ thường xuyên.
Nhưng trước khi áp dụng bất kỳ bản vá hay cập nhật các phần mềm thì phải đọc và xem
xét tất cả các tài liệu có liên quan.

 Áp dụng các cập nhật và kiểm tra gói cập nhật trên một môi trường đại diện trước khi
triển khai cài đặt.
 Đảm bảo rằng các gói cập nhật và bản vá an ninh phù hợp trên tất cả các Domain
Controller. Luôn đảm bảo rằng máy chủ ngừng hoạt động được lên kế hoạch và phải sao
lưu hoàn chỉnh các sao lưu luôn luôn sẵn sàng.

14 | P a g e


 Phải có kế hoạch đưa dữ liệu trở về ban đầu khi cập nhật không thành công. Lịch trình
nâng cấp các gói cập nhật phải thực hiện định kỳ và không để quá 2 gói cập nhật phía
sau.

6.1.2. Protocols
 Chặn tất cả các cổng không cần thiết, lưu lượng truy cập ICMP, và các giao thức không
cần thiết như NetBIOS và SMB.
 Cố định ngăn xếp TCP/IP và thống nhất áp dụng các bản vá lỗi phần mềm mới nhất và
cập nhật phần mềm hệ thống.

 Nếu sử dụng các giao thức không an toàn như Telnet, POP3, SMTP, FTP,... thì phải có
biện pháp thích hợp để cung cấp chứng thực an toàn.
 Nếu truy cập từ xa là cần thiết, đảm bảo rằng các kết nối từ xa được bảo vệ hợp lý và sử
dụng các giao thức đường hầm và mã hóa.

6.1.3. Accounts.
 Hủy bỏ tất cả các accounts không được sử dụng
 Vô hiệu hóa tài khoản mặc định người dùng không sử dụng được tạo trong khi cài đặt
một hệ điều hành.

 Loại bỏ người sử dụng cơ sở dữ liệu không cần thiết.
 Sử dụng quyền truy cập Web an toàn, quyền truy cập NTFS, và kiểm soát cơ chế truy
cập .Net Framework bao gồm cả ủy quyền URL.

 Làm chậm Brute Force và tấn công Dictionary với chính sách mật khẩu mạnh, và sau đó
kiểm toán và cảnh báo lỗi đăng nhập.

6.1.4. Files and Directories.





Vô hiệu hóa danh sách thư mục.
Loại bỏ các tập tin web như các tập tin lưu trữ, sao lưu các tập tin, kiểm tra file....
Vô hiệu hóa các tập tin nhất định bằng cách tạo ra một bản đồ tài nguyên.
Đảm bảo ứng dụng web và các tập tin trang web và các kịch bản trên một phân vùng

hoặc ổ đĩa riêng biệt của hệ điều hành với các bản ghi và các tệp tin hệ thống khác.
 Theo dõi thường xuyên và kiểm tra các nhật ký dịch vụ mạng, nhật ký truy cập trang

web, nhật ký cơ sở dự liệu máy chủ.

15 | P a g e


6.2.

Làm thế nào để bảo vệ máy chủ Web chống lại các cuộc tấn công.

6.2.1. Lockdown IIS.
Sử dụng công cụ Lockdown IIS để làm giảm tính dễ bị tổn thương của một máy chủ Windows.
Nó cho phép bạn chọn một loại hình cụ thể về vai trò của máy chủ, và sau đó sử dụng các mẫu tùy
chỉnh để cải thiện an ninh cho máy chủ cụ thể.
Lockdown IIS cài đặt các bộ lọc URLScan ISAPI cho phép Web quản trị trang Web hạn chế các
loại yêu cầu HTTP máy chủ có thể xử lý, dựa trên một bộ quy tắc quản trị viên kiểm soát, ngăn chặn
yêu cầu có khả năng gây hại đến máy chủ và gây thiệt hại.

Hình 6. Lockdown IIS.
6.2.2. Services.
Vô hiệu hóa các dịch vụ chạy với tài khoản có quyền tối khiểu.
Vô hiệu hóa các dịch vụ FTP, SMTP, và NNTP nếu không cần thiết.
Vô hiệu hóa các dịch vụ Telnet.
Tắt tất cả các dịch vụ không cần thiết và vô hiệu hóa chúng để lần sau khi máy chủ khởi động
lại, chúng không được bắt đầu chạy trở lại. Điều này cũng tốt cho máy chủ của bạn, bằng cách giải
phóng một số tài nguyên phần cứng.

16 | P a g e


6.2.3. Một số cách bảo vệ máy chủ Web chống lại các cuộc tấn công khác.









Sử dụng một máy chủ chuyên dụng để làm máy chủ Web.
Chắn và lọc các yêu cầu lưu lượng truy cập đến.
Tạo ánh xạ URL đến các máy chủ nội bộ một cách thận trọng.
Bảo vệ vật lý máy chủ Web trong một phòng máy an toàn.
Không kết nối Internet một máy chủ IIS cho tới khi nó đủ an toàn.
Không cho phép bất cứ ai tại cục bộ đăng nhập vào máy tính ngoại trừ quản trị viên.
Nếu một máy chủ cơ sở dữ liệu, chẳng hạn như Microsoft SQL Server, được sử dụng

như là một cơ sở dữ liệu phụ trợ thì nên cài đặt nó vào một máy chủ riêng biệt.
 Sử dụng các công cụ bảo mật được cung cấp với phần mềm máy chủ Web và máy quét
tự dộng để đảm bảo an ninh cho máy chủ Web.

 Cấu hình tài khoản người dùng ẩn danh riêng biệt cho mỗi ứng dụng, nếu ban lưu trữ
nhiều ứng dụng Web.

Chương 3: Một số công cụ tấn công và phòng chống Hacking Web Server
1. Công cụ tấn công Web Server.
1.1.

Metasploit Framework.
Metasploit Framework là một bộ công cụ kiểm tra xâm nhập, khai thác nền tảng phát triển, và
công cụ nghiên cứu gồm hàng trăm các hoạt động khai thác lỗi từ xa cho một loại các nền tảng.

Nó hỗ trợ khai thác hoàn tự động lỗi của máy chủ Web, bằng cách sử dụng lỗ hổng đã biết và
tận dụng các mật khẩu lỏng lẻo thông qua Telnet, SSH, HTTP, và SNM.

17 | P a g e


Hình 7. Metasploit Framework.
1.2.

Wfetch.
Wfetch cho phép kẻ tấn công hoàn toàn tùy chỉnh một yêu cầu HTTP và gửi nó đến một máy
chủ Web để xem các yêu cầu HTTP và dữ liệu đáp ứng.
Nó cho phép kẻ tấn công kiểm tra hiệu suất của các trang Web có chứa các yếu tố mới như
Actice Server Pages (ASP) hoặc các giao thức không dây.

Hình 8. Wfetch.

1.3.

Brutus.
Công cụ Brutus hỗ trợ HTTP, POP3, FTP, SMB, Telnet, IMAP, NNTP và các loại chứng thực
khác.
Nó bao gồm một công cụ xác thực giai đoạn và có thể làm cho 60 kết nối đồng thời cùng lúc.
Nó hỗ trợ một user, danh sách user kết hợp với danh sách mật khẩu và được cấu hình ở chế độ
brute force

18 | P a g e


Hình 9. Brutus.

2. Công cụ phòng chống tấn công Web Server.
2.1.

Quản lý Patch: Microsoft Baseline Security Analyzer (MBSA)
MBSA quét một máy tính chống lại các cấu hình dễ bị tổn thương và phát hiện sự sẵn có của
bản cập nhật bảo mật được phát hành bởi Microsoft.
MBSA có thể được sử dụng để kiểm tra:







Kiểm tra các lỗ hổng Windows.
Kiểm tra các mật khẩu yếu.
Kiểm tra các lỗ hổng IIS.
Kiểm tra các lỗ hổng SQL.
Kiểm tra các bản cập nhật bảo mật.

19 | P a g e


Hình 10.
2.2.

MBSA.

Sandcat.
Sandcat là nhiều quá trình điều khiển từ xa máy quét bảo mật Web Server.

Nó có bản đồ cấu trúc toàn bộ trang Web (Tất cả các liên kết, hình thức, yêu cầu XHR và các
điểm nhập cảnh khác) và cố gắng để tìm các lỗ hổng duy nhất bằng cách mô phỏng một loạt các cuộc
tấn công/ gửi hàng ngàn yêu cầu ( chủ yếu là GET và POST).
Nó cũng kiểm tra cho SQL Injection, XSS, Bao gồm tập tin và Web khác nhiều lớp ứng dụng dễ
bị tổn thương.
Code của Sandcat có chức năng quét tự động hóa quá trình xem xét mã ứng dụng Web.

Chương 4: Demo một số kỹ thuật tấn công

1. Tấn công Web Server bằng Metasploit
a. Kịch bản tấn công:
Victim là một Web Server chạy trên hệ điều hành Windows Server 2008 chưa cập nhật các bản
vá lỗi (cụ thể là bản vá lỗi MS09-050: lỗ hổng cho phép thực thi các lệnh từ xa)
Attacker sử dụng công cụ Metasploit chạy trên Kali Linux, dùng exploits và payload để khai
thác lỗi MS09-050 trên máy victim, từ đó chiếm được quyền thực thi công cụ Command Prompt.
Khi đã chiếm được Command Prompt attacker có thể dựa vào đó để khai thác thông tin về Web
Server hoặc tạo một tài khoản với quyền Administrator để truy cập, remote Web Server, …

b. Cách tấn công:
20 | P a g e


Mở Metasploit trên Kali Linux bằng dòng lệnh msfconsole
Đầu tiên ta chọn exploit, dùng lệnh “show exploits” để hiện ra tất cả các exploit mà metasploit
framework có hỗ trợ.

Ở đây ta chọn exploit windows/smb/ms09_050_smb2_negotiate_func_index

Ta có thể xem thông tin về exploit này bằng lệnh “info name_exploit”


21 | P a g e


Tiếp theo, để sử dụng exploit ta dùng câu lệnh “use name_exploit”. Trong đó tham số
name_exploit là tên của exploit.

Sau đó dùng lệnh “show options” để xem cấu hình của exploit mà ta sử dụng.

22 | P a g e


Ta tiến hành thiết đặt các giá trị còn thiếu trong phần cấu hình. Ở đây ta thiết lập địa chỉ nạn
nhân vào mục RHOST

Xem lại phần cấu hình

23 | P a g e


Tiếp theo ta tiến hành chọn payload, dùng lệnh “show payloads” để xem các payload mà
chương trình hỗ trợ.
Ở đây ta dùng payload windows/shell_bind_tcp

Để chọn payload ta dùng lệnh “set payload name_payload” trong đó name_payload là tên của
phần payload.

24 | P a g e


Ta có thể xem phần cấu hình của payload bằng lệnh “show options”


Sau khi thực hiện tất cả các thiết lập xong, ta dùng lệnh exploit để chương trình tiến hành chèn
payload vào máy nạn nhân

25 | P a g e


×