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

CÁC CÁCH THỨC TẤN CÔNG MẠNG KHÔNG DÂY HỆ THỐNG THÔNG TIN WEBISTE

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 (12.3 MB, 46 trang )

MỤC LỤC
CHƯƠNG 1: MẠNG.................................................................................................3
1.1. TẤN CÔNG TRINH SÁT(RECONNAISSANCE ATTACK)..........................3
1.1.1. Packet sniffers..............................................................................................3
1.1.2. Quét cổng và quét ping(Post scan and ping sweeps)..................................5
1.1.3. Truy vấn thông tin Internet(internet information queries).......................5
1.2. TẤN CÔNG TRUY CẬP.....................................................................................5
1.2.1. Tấn công mật khẩu (password attack).......................................................6
1.2.2. Khai thác tin tưởng......................................................................................6
1.2.3. Chuyển cổng.................................................................................................6
1.2.4. Man in the middle attack.............................................................................7
CHƯƠNG 2: HỆ THỐNG THÔNG TIN...................................................................8
2.1. TẤN CÔNG ARP SPOOFING............................................................................8
2.1.1. Giới thiệu ARP SPOOFING........................................................................8
2.1.2. Các kiến thức liên quan...............................................................................8
2.1.3. Cách thức hoạt động..................................................................................10
2.1.4. Cách thức tấn công.....................................................................................11
2.2. TẤN CÔNG DNS SPOOFING.........................................................................12
2.2.1. Giới thiệu DNS SPOOFING......................................................................12
2.2.2. Cách thức hoạt động..................................................................................12
2.2.3. Cách thức tấn công.....................................................................................14
2.3. TẤN CÔNG DHCP SPOOFING......................................................................14
2.3.1. Giới thiệu DHCP SPOOFING...................................................................14
2.3.2. Các kiến thức liên quan.............................................................................15
2.3.3. Cách thức tấn công.....................................................................................16
CHƯƠNG 3: WEBSITE..........................................................................................17
3.1. TỔNG QUAN VỀ WEB, DỊCH VỤ VÀ LỖI BẢO MẬT..............................17
3.1.1. Giới thiệu về website và cách hoạt động...................................................17
3.1.2. Các dịch vụ và ứng dụng trên nền web....................................................18
3.2. CÁC LOẠI TẤN CÔNG WEBSITE PHỔ BIẾN............................................18
3.2.1. Local attack................................................................................................18


3.2.2. Tấn công từ chối dịch vụ(Denial of Service).............................................28
3.2.3. Tấn công từ chối dịch vụ phản xạ nhiều vùng DRDOS(Distributed
Reflection Denial Of Service)..................................................................................30
CHƯƠNG 4: THỰC NGHIỆM(DEMO).................................................................32
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI.............................45


5.1.
5.2.

KẾT LUẬN.........................................................................................................45
HƯỚNG PHÁT TRIỂN ĐỀ TÀI......................................................................45

TÀI LIỆU THAM KHẢO........................................................................................45


1

CHƯƠNG 1: MẠNG
1.1.

TẤN CÔNG TRINH SÁT(RECONNAISSANCE ATTACK)
Bước đầu hacker ping đến tầm nhắm để xác định địa chỉ IP đích. Sau đó, hacker
xác định những port cũng như những dịch vẹ đang “sống” trên địa chỉ IP đó.
Từ những thông tin này, hacker bắt đầu xác định được dạng và phiên bản của hệ
điều hành.
Hacker tiến hành đánh cắp dữ liệu hoặc phá hủy hệ điều hành của mạng.
Các hình thức tấn công dạng này bao gồm: pactket sniffer, port scans, ping
sweeps, Internet Information queries.


1.1.1. Packet sniffers
Là phần mềm ứng dụng dùng một card adapter với promiseous mode để bắt giữ tất cả các
gói tin gởi xuyên qua một mạng LAN. Kỹ thuật này chỉ thực hiện được trên cùng một
collision domain.
Packet sniffers sẽ khai thác những thông tin được truyền ở dạng clear text. Những giao
thức truyền ở dạng clear text bao gồm: Telnet, FTP, SNMP, POP, HTTP…
Một vd như sau:
Code:
TCP - Transport Control Protocol
Source Port: 3207
Destination Port: 110 pop3
Sequence Number: 1904801188
Ack Number: 1883396256
Offset: 5 (20 bytes)
Reserved: %000000
Flags: %011000
0. .... (No Urgent pointer)
.1 .... Ack
.. 1... Push
.. .0.. (No Reset)
.. ..0. (No SYN)
.. ...0 (No FIN)
Window: 64161
Checksum: 0x078F
Urgent Pointer: 0


2

No TCP Options

POP - Post Office Protocol
Line 1: PASS secretpass
Ta nhận thấy password được truyền đi ở dạng clear text là secrectpass.
Bởi vì packet được truyền đi không được mã hoá như trên, nó có thể bị xử lý bởi bất kỳ ai
sử dụng kỹ thuật packet sniffers.
Những công cụ sau được dùng ngăn cản packet sniffers gồm: authentication, switched
infrastrutured, antisniffer va cryptography.
Authentication:
Kỹ thuật xác thực này được thực hiện phổ biến như one-type password (OTPs). Kỹ thuật
này được thực hiện bao gồm hai yếu tố: personal identification number ( PIN ) và token
card để xác thực một thiết bị hoặc một phần mềm ứng dụng.
Token card là thiết bị phần cứng hoặc phần mềm sản sinh ra thông tin một cách ngẫu
nhiên ( password ) tai một thời điểm, thường là 60 giây.
Khách hàng sẽ kết nối password đó với một PIN để tạo ra một password duy nhất. Giả sử
một hacker học được password đó bằng kỹ thuật packet sniffers, thông tin đó cũng không
có giá trị vì nó đã hết hạn.
Switched infrastructured:
Kỹ thuật này có thể dùng để ngăn chặn packet sniffers trong môi trường mạng. Vd: nếu
toàn bộ hệ thống sử dụng switch ethernet, hacker chỉ có thể xâm nhập vào luồng traffic
đang lưu thông tại 1 host mà hacker kết nối đến. Kỹ thuật này không làm ngăn chặn hoàn
toàn packet sniffer nhưng nó có thể giảm được tầm ảnh hưởng của nó.
Antisniffer tools:
Là những phần mềm và phần cứng được thiết kế để ngăn chặn sniffer. Thật sự những ứng
dụng này không ngăn chặn được hoàn toàn nguy cơ bị sniffer nhưng cũng giống như
những công cụ khác, nó là một phần của toàn bộ hệ thống.
Cryptography:
Kỹ thuật mã hoá này giúp cho dữ liệu được truyền đi qua mạng ma không ở dạng clear
text. Giả sử hacker có bắt được dữ liệu thì cũng không thể giải mã được thông tin.
Phương pháp này có hiệu lực hơn so với việc dò tìm và ngăn cản sniffer. Nếu như một
kênh truyền được mã hoá, dữ liệu mà packet sniffer dò tìm được cũng không có giá trị và

không phải là thông tin chính xác ban đầu.


3

Hệ thống mã hóa của Cisco dựa trên kỹ thuật IPSec, giao thức mã hóa “ đường hầm” dựa
trên địa chỉ IP. Những giao thức gồm: Secure Sell Protocol ( SSH ) và Secure Socket
Layer ( SSL ).

1.1.2. Quét cổng và quét ping(Post scan and ping sweeps)
Kỹ thuật này được tiến hành nhằm những mục đích như sau:
Xác định những dịch vụ trong mạng
Xác định các host và thiết bị đang vận hành trong mạng
Xác định hệ điều hành trong hệ thống
Xác định tất cả các điểm yếu trong mạng, từ đó tiến hành những mục đích khác.
Với kỹ thuật ping sweeps, hacker có thể xác định một danh sách các host đang
sống trong một môi trường. Từ đó, hacker sử dụng công cụ port scans xoay vòng
qua tất cả các port và cung cấp một danh sách đầy đủ các dịch vụ đang chạy trên
host đã tìm thấy bởi ping sweeps. Công viêc tiếp theo là hacker xác định những
dịch vụ có điểm yếu và bắt đầu tấn công vào điểm yếu này.
Kỹ thuật IDS được dùng để cảnh báo cho nhà quản trị khi có reconnaissance
attacks như là port scans va ping sweeps. IDS giúp nhà quản trị có sự chuẩn bị tốt
nhằm ngăn cản hacker.

1.1.3. Truy vấn thông tin Internet(internet information queries)
DNS queries có thể chỉ ra nhiều thông tin như là người sở hữu một domain nào đó
và range địa chỉ nào được ấn định cho domain đó.
Hacker sử dụng công cụ này để “ trinh sát” tìm ra các thông tin trên mạng.
Cùng với port scans và ping sweeps, sau khi tìm ra được những thông tin đầy đủ
như các port active, các giao thức chạy trên port đó, hacker tiến hành kiểm tra

những đặc trưng của các ứng dụng này để tìm ra điểm yếu và bắt đầu tấn công.

1.2.

TẤN CÔNG TRUY CẬP
Trong phương pháp này, kẻ xâm nhập điển hình tấn công vào mạng nhằm: đánh
cắp dữ liệu, giành lấy quyền access, và giành lấy những đặc quyền access sau này.
Access attacks có thể bao gồm:
Password attack


4

Trust exploitation
Port redirection
Man in the middle attack

1.2.1. Tấn công mật khẩu (password attack)
Hacker có thế xâm nhập hệ thống dùng các kỹ thuật brute-force attacks, trojan
horce, IP spoofing và packet sniffer.
Thường một cuộc tấn công brute-force attack được thực hiện dùng 1 chu trình
chạy xuyên qua mạng và cố gắng xen vào chia sẻ môi trường. Khi hacker giành
được quyền access đến một nguồn tài nguyên, hacker cùng với user cùng chia sẻ
quyền lợi. Nếu như có đủ tài nguyên thì hacker sẽ tạo ra một của sổ kín cho lần
access sau.
Hacker có thể làm thay đổi bảng định tuyến trong mạng. Điều đó sẽ làm chắc chắn
rằng tất cả các gói tin sẽ được gởi đến hacker trước khi được gởi đến đích cuối
cùng.
Trong một vài trường hợp, hacker có thể giám sát tất cả các traffic, thật sự trở
thành một man in the middle.

Ta có thể hạn chế password attack bằng những cách sau:
Không cho phép user dùng cùng password trên các hệ thống.
Làm mất hiệu lực account sau một vài lần login không thành công. Bước kiểm tra
này giúp ngăn chặn việc rà soát password nhiều lần.
Không dùng passwords dạng clear text: dùng kỹ thuật OTP hoặc mã hoá password
như đã trình bày phần trên.
Dùng “strong” passwords: Dạng password này dùng ít nhất 8 ký tự, chứa các
uppercase letters, lowercase letters, những con số và những ký tự đặc biệt.

1.2.2. Khai thác tin tưởng
Đây là phương pháp “ khai thác tin cậy “, nó dựa vào các mối quan hệ tin cậy bên
trong mạng.
Bình thường, nếu hai domain có mối quan hệ tin cậy với nhau thì cho phép thiết bị
domain này có thể access vào domain kia.


5

Hacker sẽ lợi dụng sơ hở trong mối quan hệ tin cậy nhằm khai thác các sai sót
trong mối quan hệ này để thoả hiệp, tức là để kiểm soát.
Hệ thống bên ngoài firewall sẽ có mối quan hệ hoàn toàn không tin cậy với hệ
thống bên trong firewall.

1.2.3. Chuyển cổng
Là một dạng khác của trust exploitation attack mà nó sử dụng một host thoả hiệp
nhằm lấy giấy phép ra vào firewall.
Ta có thể tượng như là một firewall với 3 interface và mỗi interface kết nối với 1
host. Host ở bên ngoài có thể hướng đến host ở public services ( thường được gọi
là demilitanized zone- DMZ ). Và host ở public services có thể hướng tới cả host ở
bên trong hay bên ngoài firewall.Hacker làm cho host ở public service trở thành 1

host thoả hiệp. Hacker đặt một phần mềm tại host này nhằm tạo ra một traffic trực
tiếp từ host outside đến host inside. Kết nối này sẽ ko thực hiện thông qua firewall.
Như vậy, host bên ngoài giành được quyền kết nối với host bên trong thông qua
qui trình port redirection tại host trung tâm ( public services host ).

1.2.4. Man in the middle attack
Kỹ thuật man in the middle được thực hịên bao gồm:
Netword packet sniffers
Giao thức routing và transport.
Tấn công man in the middle nhằm mục đích:
Đánh cắp dữ liệu
Giành lấy một phiên giao dịch
Phân tích traffic trong mạng
DoS
Phá hỏng dữ liệu được truyền
Một ví dụ của man in the middle attack đó là: một người làm việc cho ISP và cố
gắng access đến tất cả các gói dữ liệu vận chuyển giữa ISP và bất kỳ một mạng
nào khác.
Ta có thể ngăn chặn hình thức tấn công này bằng kỹ thuật mã hoá: mã hoá traffic
trong một đường hầm IPSec, hacker sẽ chỉ nhìn thấy những thông tin không có giá
trị.


6

CHƯƠNG 2: HỆ THỐNG THÔNG TIN
2.1.

TẤN CÔNG ARP SPOOFING


2.1.1. Giới thiệu ARP SPOOFING
Đối tượng tấn công: Switch
Kiểu tấn công: Man-in-the-Middle (MITM)
Tấn công ARP spoofing: Là kiểu tấn công mà trong đó hackers nghe giao thông
trong mạng rồi sử dụng các gói tin ARP request được gửi liên tục nhằm giả địa
chỉ MAC để xem liên lạc giữa các máy tính trong mạng

2.1.2. Các kiến thức liên quan
ARP (address resolution protocol) là giao thức xác định địa chỉ nguồn cho địa chỉ
phần cứng, mỗi NIC đều có 1 địa chỉ phần cứng.


7

ARP được dùng để xác định xem khi 1 gói tin được gửi ra ngoài được gửi đến 1
máy tính có địa chỉ IP là x1.x2.x3.x4 thì địa chỉ MAC của nó là gì. Trong mạng
LAN thường địa chỉ IP và địa chỉ MAC sẽ là của cùng 1 máy ngoại trừ router.
Giao thức ARP nằmg ở giữa tầng 2 và 3.

Hình 2.1 Sơ đồ giao thức ARP

2.1.3. Cách thức hoạt động


8

Hình 2.2 Cách thức hoạt động của ARP
Bước 1:
Máy A muốn tìm địa chỉ IP của máy B có địa chỉ IP là x1.x2.x3.x4, máy A gửi 1
gói tin broadcast (gói tin mang địa chỉ IP và MAC của máy A yêu cầu tìm địa chỉ

MAC của máy có địa chỉ IP là x1.x2.x3.x4) đến switch. Vì là bản tin broadcast
lên switch sẽ gửi nó đến toàn bộ các máy tính trong mạng ngoại trừ máy A. Các
máy tính trong mạng so sánh địa chỉ IP từ gói tin nó nhận được nếu không trùng
với IP của mình thì nó sẽ hủy bỏ gói tin này, nếu trùng nó tiến hành tiếp bước 2.
Bước 2:
Tại máy B sau khi nhận được bản tin broadcast thấy địa chỉ IP của gói tin trùng
với địa chỉ của mình nó trả lời bằng 1 gói tin unicast đến máy A. Bản tin này
mang thông tin trả lời chứa địa chỉ MAC của nó. Máy A nhận tin này và lưu địa
chỉ MAC của máy B vào ARP cache của mình.

2.1.4. Cách thức tấn công


9

Hình 2.3 Cách thức tấn công
Bước 1:
Máy A muốn tìm địa chỉ IP của máy B có địa chỉ IP là x1.x2.x3.x4, máy A gửi 1
gói tin broadcast (gói tin mang địa chỉ IP và MAC của máy A yêu cầu tìm địa chỉ
MAC của máy có địa chỉ IP là x1.x2.x3.x4) đến switch. Vì là bản tin broadcast lên
switch sẽ gửi nó đến toàn bộ các máy tính trong mạng ngoại trừ máy A. Các máy
tính trong mạng so sánh địa chỉ IP từ gói tin nó nhận được nếu không trùng với IP
của mình thì nó sẽ hủy bỏ gói tin này, nếu trùng nó tiến hành tiếp bước 2.
Bước 2:
Khi máy C (attacker) nhận được gói tin broadcast từ máy A hacker sẽ sử dụng 1 số
công cụ tấn công như arpspoof (dùng trên linux), ettercap (dùng trên windows và


10


linux) và arpspyx (dùng trên MAC OS) để tiến hành tấn công. Thay vì hủy bỏ gói
tin như thông thường các công cụ này tiến hành gửi liên tục các gói tin uniscast trả
lời các gói tin này mang thông tin ip của máy B và địa chỉ MAC của máy C
(attacker). Máy A nhận được các bản tin này lưu vào ARP cache và bị hiểu lầm
máy C là máy B. Và các gói tin trả lời từ máy A đến máy B sẽ được gửi đến máy C
(attacker).

2.2.

TẤN CÔNG DNS SPOOFING

2.2.1. Giới thiệu DNS SPOOFING
Khái niệm DNS: DNS (Domain Name System) là một hệ cơ sở dữ liệu phân tán
dùng để ánh xạ giữa các tên miền và các địa chỉ IP. DNS đưa ra một phương pháp
đặc biệt để duy trì và liên kết các ánh xạ này trong một thể thống nhất. Trong
phạm vi lớn hơn, các máy tính kết nối với internet sử dụng DNS để tạo địa chỉ
liên kết dạng URL (Universal Resource Locators). Theo phương pháp này, mỗi
máy tính sẽ không cần sử dụng địa chỉ IP cho kết nối mà chỉ cần sử dụng tên
miền (domain name) để truy vấn đến kết nối đó.

2.2.2. Cách thức hoạt động
Để hiểu rõ hơn về hoạt động của DNS chúng ta xét ví dụ và tham khảo hình vẽ
dưới đây:

Hình 2.4 Hoạt động của DNS


11

Giả sử PC A muốn truy cập đến trang web và server vnn

chưa lưu thông tin về trang web này, các bước truy vấn sẽ diễn ra như sau:
Đầu tiên PC A gửi một request hỏi server quản lý tên miền vnn hỏi thông tin về

Server quản lý tên miền vnn gửi một truy vấn đến server top level domain.
+ Top level domain lưu trữ thông tin về mọi tên miền trên mạng. Do đó nó sẽ gửi
lại cho server quản lý tên miền vnn địa chỉ IP của server quản lý miền com (gọi
tắt server com).
+ Khi có địa chỉ IP của server quản lý tên miền com thì lập tức server vnn hỏi
server com thông tin về yahoo.com. Server com quản lý toàn bộ những trang web
có domain là com, chúng gửi thông tin về địa chỉ IP của server yahoo.com cho
server vnn
Lúc này server vnn đã có địa chỉ IP của yahoo.com rồi. Nhưng PC A yêu cầu dịch
vụ www chứ không phải là dịch vụ ftp hay một dịch vụ nào khác. Do đó server
vnn tiếp tục truy vấn tới server yahoo.com để yêu cầu thông tin về server quản lý
dịch vụ www của yahoo.com
Lẽ đương nhiên khi nhận được truy vấn thì server yahoo.com gửi lại cho server
vnn địa chỉ IP của server quản lý />Cuối cùng là server vnn gửi lại địa chỉ IP của server quản lý
. cho PC A và PC A kết nối trực tiếp đến nó. Và bây giờ thì
server vnn đã có thông tin về cho những lần truy vấn đến
sau của các client khác.

2.2.3. Cách thức tấn công


12

Hình 2.5 Tấn công giả mạo DNS bằng phương pháp giả mạo DNS ID
Cơ chế tấn công giả mạo địa chỉ DNS sẽ như sau:
Giả sử DNS Cache Server (như trên hình) đã có lưu thông tin địa chỉ của trang
example.jp, nhưng Hacker (Malicious User) lại thực hiện thay đổi địa chỉ này

bằng địa chỉ của một trang giả mạo khác (Bogus Website).
Khi máy tính nạn nhân (Internal User) tiến hành gửi yêu cầu đến DNS Cache
Server, thì DNS Cache Server sẽ vô tình gửi trả lại (response) thông tin địa chỉ
của example.jp đã bị giả mạo cho nạn nhân.
Sau khi nhận được địa chỉ đã giả mạo từ DNS Cache Server, nạn nhân sẽ vô tình
truy cập vào website độc hại (Bogus Website) mà kẻ tấn công đã tạo ra nhằm lấy
cắp thông tin mật.

2.3.

TẤN CÔNG DHCP SPOOFING

2.3.1. Giới thiệu DHCP SPOOFING
Đối tượng tấn công : DHCP sever
Kiểu tấn công: Man-in-the-Middle (MITM)
Thế nào là tấn công giả mạo DHCP: DHCP spoofing là kỹ thuật giả mạo DHCP
Server trong mạng LAN. Kẻ tấn công có thể cài đặt một phần mềm DHCP Server
trên máy tính của mình và cấp phát địa chỉ IP cho máy nạn nhân với các thông số
giả mạo như default gateway, DNS. Từ đó, máy tính của nạn nhân sẽ bị chuyển
hướng truy cập theo ý đồ của kẻ tấn công.


13

2.3.2. Các kiến thức liên quan
DHCP (Dynamic Host Configuration Protocol) là giao thức cấu hình Host động.
Giao thức cung cấp phương pháp thiết lập các thông số TCP/IP cần thiết cho hoạt
động của mạng, giúp giảm khối lượng công việc cho quản trị hệ thống mạng.
DHCP Server là một máy chủ chạy dịch vụ DHCP Server. Nó có chức năng quản
lý sự cấp phát địa chỉ IP động và các dữ liệu cấu hình TCP/IP. Ngoài ra còn có

nhiệm vụ trả lời khi DHCP Client có yêu cầu về hợp đồng thuê bao.
DHCP Client là một máy trạm chạy dịch vụ DHCP Client. Nó dùng để đăng ký,
cập nhật thông tin về địa chỉ IP và các bản ghi DNS cho chính bản thân nó.
DHCP Client sẽ gửi yêu cầu đến DHCP Server khi nó cần đến 1 địa chỉ IP và các
tham số TCP/IP cần thiết để làm việc trong hệ thống mạng của tổ chức và trên
Internet.

Mô tả hoạt động của DHCP:
Giao thức DHCP làm việc theo mô hình client/server. Theo đó, quá trình tương
tác giữa DHCP client và server diễn ra theo các bước sau:
Khi bên máy client được khởi động thì máy sẽ gửi broadcast gói tin
DHCPDISCOVER, yêu cầu một server phục vụ mình. Gói tin này cũng chứa địa
chỉ MAC của máy client.
Các máy Server trên mạng khi nhận được gói tin yêu cầu đó, nếu còn khả năng
cung cấp địa chỉ IP, đều gửi lại cho máy Client gói tin DHCPOFFER, đề nghị cho
thuê một địa chỉ IP trong một khoản thời gian nhất định, kèm theo là một subnet
mask và địa chỉ của Server. Server sẽ không cấp phát địa chỉ IP vừa đề nghị cho
những Client khác trong suốt quá trình thương thuyết.
Máy Client sẽ lựa chọn một trong những lời đề nghị (DHCPOFFER) và gửi
broadcast lại gói tin DHCPREQUEST chấp nhận lời đề nghị đó. Điều này cho
phép các lời đề nghị không được chấp nhận sẽ được các Server rút lại và dùng đề
cấp phát cho Client khác.
Máy Server được Client chấp nhận sẽ gửi ngược lại một gói tin DHCPACK như
là một lời xác nhận, cho biết là địa chỉ IP đó, subnet mask đó và thời hạn cho sử
dụng đó sẽ chính thức được áp dụng. Ngoài ra Server còn gửi kèm theo những
thông tin cấu hình bổ sung như địa chỉ của gateway mặc định, địa chỉ DNS
Server, …


14


Hình 2.6 Hoạt động của DHCP

2.3.3. Cách thức tấn công
Bước 1. Máy tính của kẻ tấn công sẽ vét cạn toàn bộ Pool IP của máy DHCP
Server bằng liên tục gửi các yêu cầu xin cấp phát IP (DHCP Discover) tới máy
DHCP Server. Mỗi yêu cầu DHCP Discover này đều chứa địa chỉ MAC giả mạo
nhằm đánh lừa DHCP Server rằng đó là lời yêu cầu từ các máy tính khác nhau. Vì
Pool địa chỉ IP cấp phát trên DHCP Server là hữu hạn nên sau khi đã cấp phát hết
IP, DHCP Server không thể phục vụ các yêu cầu xin IP từ máy Client.
Bước 2. Kẻ tấn công cài đặt phần mềm DHCP Server trên máy của mình và cấp
phát thông số IP giả mạo, điều hướng truy cập nạn nhân đến các máy chủ do hắn
kiểm soát nhằm đánh lừa và đánh cắp thông tin

CHƯƠNG 3: WEBSITE
3.1.

TỔNG QUAN VỀ WEB, DỊCH VỤ VÀ LỖI BẢO MẬT

3.1.1. Giới thiệu về website và cách hoạt động


15

Website là một “trang web” trên mạng Internet, đây là nơi giới thiệu những thông
tin, hình ảnh về doanh nghiệp và sản phẩm, dịch vụ của doanh nghiệp (hay giới
thiệu bất cứ thông tin gì) để khách hàng có thể truy cập ở bất kỳ nơi đâu, bất cứ
lúc nào.
Website là tập hợp nhiều trang [web page]. Khi doanh nghiệp xây dựng website
nghĩa là đang xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ....Để tạo

nên một website cần phải có 3 yếu tố cơ bản:
 Cần phải có tên miền (domain).
 Nơi lưu trữ website (hosting).
 Nội dung các trang thông tin [web page].
Một số thuật ngữ cơ bản:
Website động (Dynamic website) là website có cơ sở dữ liệu, được cung cấp công
cụ quản lý website (Admin Tool). Đặc điểm của website động là tính linh hoạt và
có thể cập nhật thông tin thường xuyên, quản lý các thành phần trên website dễ
dàng. Loại website này thường được viết bằng các ngôn ngữ lập trình như PHP,
Asp.net, JSP, Perl,..., quản trị Cơ sở dữ liệu bằng SQL hoặc MySQL...
Website tĩnh do lập trình bằng ngôn ngữ HTML theo từng trang như brochure,
không có cơ sở dữ liệu và không có công cụ quản lý thông tin trên website.
Thông thường website tĩnh được thiết kế bằng các phần mềm như FrontPage,
Dreamwaver,... Đặc điểm của website tĩnh là ít thay đổi nội dung, sự thay đổi nội
dung này thường liên quan đến sự thay đổi các văn bản đi kèm thể hiện nội dung
trên đó.
Hiện nay, hầu hết các doanh nghiệp đều sử dụng website động, thế hệ công nghệ
website được mọi người biết đến là web 2.0.
Tên miền (domain): Tên miền chính là địa chỉ website, trên internet chỉ tồn tại
duy nhất một địa chỉ (tức là tồn tại duy nhất một tên miền). Có 2 loại tên miền:
Tên miền Quốc tế: là tên miền có dạng .com; .net; .org; .biz; .name ...
Tên miền Việt Nam: là tên miền có dạng .vn; .com.vn; .net.vn; org.vn; .gov.vn;...
Lưu trữ website: Dữ liệu thông tin của website phải được lưu trữ trên một máy
tính (máy chủ - server) luôn hoạt động và kết nối với mạng Internet. Một server
có thể lưu trữ nhiều website, nếu server này bị sự cố chẳng hạn tắt trong một thời
điểm nào đó thì không ai có thể truy cập được những website lưu trữ trên server
tại thời điểm bị sự cố.


16


Tùy theo nhu cầu lưu trữ thông tin mà doanh nghiệp có thể thuê dung lượng thích
hợp cho website [thuê dung lượng host].
Dung lượng host: Là nơi để lưu cơ sở trữ dữ liệu của website (hình ảnh, thông tin
…), đơn vị đo dung lượng thường là Mb hoặc Gb.
Băng thông hay dung lượng đường truyền truyền: Là tổng số Mb dữ liệu tải lên
máy chủ hoặc tải về từ máy chủ (download, upload) nơi đặt website, đơn vị đo
thông thường là Mb/Tháng.

3.1.2. Các dịch vụ và ứng dụng trên nền web
Với công nghệ hiện nay, website không chỉ đơn giản là một trang tin cung cấp các
tin bài đơn giản. Những ứng dụng viết trên nền web không chỉ được gọi là một
phần của website nữa, giờ đây chúng được gọi là phần mềm viết trên nền web.
Có rất nhiều phần mềm chạy trên nền web như Google word (xử lý văn bản),
Google spreadsheets (xử lý bảng tính), Email ,…
Một số ưu điểm của phần mềm hay ứng dụng chạy trên nền web:


Mọi người đều có trình duyệt và bạn chỉ cần trình duyệt để chạy phần mềm.



Phần mềm luôn luôn được cập nhật vì chúng chạy trên server



Luôn sẵn sàng 24/7




Dễ dàng backup dữ liệu thường xuyên



Có thể truy cập mọi lúc, mọi nơi, miễn là bạn có mạng



Chi phí triển khai cực rẻ so với phần mềm chạy trên desktop

Hãy hình dung bạn có một phần mềm quản lý bán hàng hay quản lý công việc ở
công ty. Không phải lúc nào bạn cũng ở công ty, với phần mềm viết trên nền web,
bạn có thể vào kiểm tra, điều hành ở bất cứ đâu, thậm chí bạn chỉ cần một chiếc
điện thoại chạy được trình duyệt như IPhone mà không cần đến một chiếc máy
tính.

3.2. CÁC LOẠI TẤN CÔNG WEBSITE PHỔ BIẾN
3.2.1.

Local attack

3.2.1.1. Tìm hiểu về Local attck


17

Local attack là một trong những kiểu hack rất phổ biến và không được khuyên
dùng.Đối một web server thông thường khi bạn đăng ký một tài khoản trên
server nào đó bạn sẽ được cấp một tài khoản trên server đó và một thư mục để
quản lý site của mình. Ví dụ : tenserver/tentaikhoancuaban. Và như vậy cũng

có một tài khoản của người dùng khác tương tự như : tenserver/taikhoan1.Giả
sử taikhoan1 bị hacker chiếm được thì hacker có thể dùng các thủ thuật,các
đoạn scrip,các đoạn mã lệnh để truy cập sang thư mục chứa site của bạn là
tenserver/taikhoancuaban. Và cũng theo cách này hacker có thể tấn công sang
các site của người dùng khác và có thể lấy thông tin admin,database,các thông
tin bảo mật khác hoặc chèn các đoạn mã độc vào trang index của site bạn.
Dạng tấn công trên gọi là Local Attack
Thông thường nhất, Local Attack được sử dụng để đọc lấy thông tin config từ
victim, sau đó dựa vào thông tin ở config và mục đích của hacker để phá hoại
website

3.2.1.2. Cách tấn công Local attack
ĐỂ THỰC HIỆN TẤN CÔNG LOCAL ATTACK, TÙY THEO CÁCH THỨC CỦA HACKER MÀ CÓ NHỮNG CÁCH LOCAL KHÁC NHAU. THÔNG
THƯỜNG THÌ CÁC HACKER THƯỜNG SỬ DỤNG CÁC ĐOẠN LỆNH ĐỂ TẤN CÔNG VÀO DATABASE.

3.2.1.3. Chuẩn bị
Trước tiên phải có một con PHP/ASP/CGI backdoor trên server. Backdoor
thì có rất nhiều loại khác nhau nhưng phổ biến nhất là phpRemoteView
(thường được gọi là remview) R57Shell, CGITelnet,C99,…Tiến hành
upload các công cụ ở trên lên, thường là các con shell như R57,C99,…
Upload một trong những công cụ đó lên host (Thường thì chúng ta sử dụng
các con shell R57,C99,.. vì nó mạnh và dễ sử dụng)
Để có host chúng ta có nhiều cách:
Mua một cái host(cách này hacker ít sử dụng vì nhiều lý do nhưng lý do cơ
bản vẫn là tốn tiền mà khi up shell lên nếu bị admin của server phát hiện sẽ
bị del host,..Với cách này thì sau khi Local xong thì nên xóa các con shell
ngay lập tức.
Hack một trang bị lỗi và upload shell lên (thường thì hacker sử dụng SQL
Injection để hack một trang web và chiếm tài khoản admin của trang web
đó và upload các con shell lên)hoặc khai thác lỗi inclusion

Search backdoor (Vào google.com search keyword: > , r57Shell ...). Vói cách này thì hầu hết các con shell là của các hacker đã


18

sử dụng và chưa bị xóa, nếu được thì chúng ta nên upload cho chúng ta
một con shell khác

3.2.1.4. Tiến hành tấn công
Sau khi chúng ta chuản bị xong, tức là đã upload được con shell lên 1
server nào đó. Chúng ta bắt đầu tìm các website cùng server mà bạn đã up
shell lên, thông thường các hacker thường sử dụng Reverse Ip domain mà
hacker đã upload shell để xem các website cùng server
Sau khi tìm được danh sách website ,lần lượt check xem site nào bị
lỗi và có thể local sang được
Các lệnh thường dùng trong shell để Local Attack
Xem tên domain trên cùng 1 host
ls -la /etc/valiases
cd /etc/vdomainaliases;ls –lia
Trường hợp đặc biệt khi không thể xem user nằm cùng host thì ta thêm
&& vào
cd /etc/vdomainaliases && ls –lia
Muốn biết tên user thì dùng lệnh :
cat /etc/passwd/
Hoặc
less /etc/passwd
local sang victim, tức là local sang site khác
ví dụ hiện tại con shell chúng ta đang ở :
/home/abcd/public_html/

thì chúng ta sẽ local sang như sau :
dir home/tên user cần local/public_html
Muốn biết tên user cần local sang thì chúng ta sử dụng Reverse Ip để
lấy danh sách user trên cùng một server.Muốn biết user đó có tồn tại hay
không chúng ta mở trình duyệt web lên và đánh đoạn : Ip của server/~ tên
user (Ví dụ : 203.166.222.121/~doanchuyennganh). Nếu trình duyệt hiện
lên trang index của website thì tức là user đó tồn tại


19

Xem nội dung của file
cat /home/tên user cần local/public_html/index.php
Hoặc
Chúng ta muốn xem config của 1 forum thì dùng
ln -s /home/tên user cần local/public_html/forum/includes/config.php
doanchuyennganh.txt
Với doanchuyennganh.txt ở đây là file chúng ta tạo ra trên host của chúng
ta để xem file của người khác ! Nếu không sử dụng được các lệnh trên tức
là server đã disable chức năng đó.
Thêm 1 số lệnh shell trong linux :
pwd: đưa ra ngoài màn hình thư mục đang hoạt động (ví dụ: /etc/ssh).
cd: thay đổi thư mục (ví dụ: cd .. – ra một cấp thư mục hiện tại; cd vidu –
vào thư mục /vidu).
ls: đưa ra danh sách nội dung thư mục.
mkdir: tạo thư mục mới (mkdir tên_thumuc).
touch: tạo file mới (touch ten_file).
rmdir: bỏ một thư mục (rmdir ten_thumuc).
cp: copy file hoặc thư mục (cp file_nguồn file_đích).
mv: di chuyển file hoặc thư mục; cũng được dùng để đặt lại tên file hoặc

thư mục (mv vị_trí_cũ vị_trí_mới hoặc mv tên_cũ tên_mới).
rm: loại bỏ file (rm tên_file).
Để tìm kiếm file, bạn có thể dùng: - find : dùng cho các tên file. - grep <>:
để tìm nội dung trong file.
Để xem một file, bạn có thể dùng:
more : hiển thị file theo từng trang.
cat <>: hiển thị tất cả file.
Nếu muốn kết nối tới một host từ xa, sử dụng lệnh ssh. Cú pháp là ssh
<tên_host>.
Quản lý hệ thống:


20

ps: hiển thị các chương trình hiện thời đang chạy (rất hữu ích: ps là cái
nhìn toàn bộ về tất cả các chương trình).
Trong danh sách đưa ra khi thực hiện lệnh ps, bạn sẽ thấy có số PID
(Process identification - nhân dạng tiến trình).
Con số này sẽ được hỏi đến khi muốn ngừng một dịch vụ hay ứng dụng,
dùng lệnh kill
top: hoạt động khá giống như Task Manager trong Windows. Nó đưa ra
thông tin về tất cả tài nguyên hệ thống, các tiến trình đang chạy, tốc độ
load trung bình… Lệnh top -d <delay> thiết lập khoảng thời gian làm tươi
lại hệ thống. Bạn có thể đặt bất kỳ giá trị nào, từ .1 (tức 10 mili giây) tới
100 (tức 100 giây) hoặc thậm chí lớn hơn.
uptime: thể hiện thời gian của hệ thống và tốc độ load trung bình trong
khoảng thời gian đó, trước đây là 5 phút và 15 phút.
Thông thường tốc độ load trung bình được tính toán theo phần trăm tài
nguyên hệ thống (vi xử lý, RAM, ổ cứng vào/ra, tốc độ load mạng) được
dùng tại một thời điểm. Nếu tốc độ được tính toán là 0.37, tức có 37% tài

nguyên được sử dụng. Giá trị lớn hơn như 2.35 nghĩa là hệ thống phải đợi
một số dữ liệu, khi đó nó sẽ tính toán nhanh hơn 235% mà không gặp phải
vấn đề gì. Nhưng giữa các phân phối có thể khác nhau một chút.
free: hiển thị thông tin trên bộ nhớ hệ thống.
ifconfig <tên_giao_diện>: để xem thông tin chi tiết về các giao diện mạng;
thông thường giao diện mạng ethernet có tên là eth(). Bạn có thể cài đặt
các thiết lập mạng như địa chỉ IP hoặc bằng cách dùng lệnh này (xem man
ifconfig). Nếu có điều gì đó chưa chính xác, bạn có thể stop hoặc start (tức
ngừng hoặc khởi_động) giao diện bằng cách dùng lệnh ifconfig
<tên_giao_diện> up/down.
passwd:
cho
phép
bạn
thay
đổi
mật
khẩu
(passwd
người_dùng_sở_hữu_mật_khẩu hoặc tên người dùng khác nếu bạn đăng
nhập hệ thống với vai trò root).
useradd: cho phép bạn thêm người dùng mới (xem man useradd).
Dù ở phân phối nào, bạn cũng có thể dùng phím TAB để tự động hoàn
chỉnh một lệnh hoặc tên file. Điều này rất hữu ích khi bạn quen với các
lệnh. Bạn cũng có thể sử dụng các phím lên, xuống để cuộn xem các lệnh
đã nhập. Bạn có thể dùng lệnh đa dòng trên một dòng. Ví dụ như, nếu


21


muốn tạo ba thư mục chỉ trên một dòng, cú pháp có thể là: mkdir
thư_mục_1 ; mkdir thư_mục_2 ; mkdir thư_mục_3.
Một điều thú vị khác nữa là các lệnh dạng pipe. Bạn có thể xuất một lệnh
thông qua lệnh khác. Ví dụ: man mkdir | tail sẽ đưa ra thông tin các dòng
cuối cùng trong trang xem "thủ công" của lệnh mkdir.
Nếu lúc nào đó được yêu cầu phải đăng nhập với tài khoản gốc (tức "siêu"
admin của hệ thống), bạn có thể đăng nhập tạm thời bằng cách dùng lệnh
su. Tham số -1 (su-1) dùng để thay đổi thư mục chủ và cho các lệnh đã
hoặc đang dùng. Chú ý là bạn cũng sẽ được nhắc một mật khẩu. Để thoát
hay đóng : gõ exit hoặc logout.

3.2.1.4. Cách bảo mật cho Local attack
Để hạn chế Local Attack, chúng ta nên Chmod filemanager ,di chuyển file
config.php và sửa đổi file htaccess và nhất là thường xuyên backup dữ liệu.
Chmod File Manager:
CHMOD thư mục Public_html thành 710 thay vì 750 mặc định việc này sẽ
giúp bạn bảo vệ được cấu trúc Website của mình.
CHMOD tiếp các thư mục con (diendan
(),
CHMOD thư mục diendan () thành 701,
rồi CHMOD tiếp các thư mục con trong thư mục diendan
() thành 701
CHMOD toàn bộ file thành 404
Với CHMOD chắc chắn khi run shell sẽ hiện ra thông báo lỗi:
Not Acceptable An appropriate representation of the requested resource
/test.php could not be found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an
ErrorDocument to handle the request.
Attacker sẽ không view được.
Ngoài ra , một số site thì bạn truy cập bằng subdomain của nó mà không là

dạng doanchuyenganh.com/diendan (),
cái này có nhiều ý nghĩa, nhưng trong bảo mật thì nó sẽ rất khác.


22

CHMOD thư mục là 701 và cố gắng đừng bao giờ CHMOD 777, có một số
folder ko quan trọng, bạn có thể CHMOD 755 để có thể hiện thị đúng và đầy
đủ một số nội dung trong Folder đó. Chú ý thế này, một số Server hỗ trợ
CHMOD thư mục được 101, nếu Server của bạn hỗ trợ cái này thì hãy sử
dụng nó, vì biện pháp CHMOD này rất an toàn, đến ngay cả Owner cũng ko
thể xem được cấu trúc Folder ngay cả khi vào FTP. Hiện chỉ có Server của
Eshockhost.net là hỗ trợ cái này.
CHMOD File là 604 và đừng bao giờ để là 666 nếu có việc cần 666 thì chúng
ta CHMOD tạm để sử dụng lúc đó, sau đó hãy CHMOD lại ngay. Đối với các
Server hỗ trợ CHMOD file 404 chúng ta hãy CHMOD như vậy, ví dụ Server
Eshockhost.net
Thay đổi cấu trúc, tên file mặc định có chứa các thông tin quan trọng . Nếu có
thể hãy thay đổi cả cấu trúc CSDL nếu bạn làm được .
Chống local bằng cách bật safe-mode (dành cho root):
Như chúng ta đã biết, đối với các webshell - PHP, trong PHP Configuration có
những option để hạn chế tính năng của nó (đặc biệt là r57 - tự động by pass)
nên công việc đầu tiên của các root account là phải cập nhật các phiên bản
PHP mới nhất và config lại php.ini : [i]PHP safe mode là phương pháp để giải
quyết vấn đề bảo mật cho nhưng nơi server chia sẻ hosting cho nhiều accounts
(shared-server). Nó là do thiết kế 1 cách sai lạc của từng cấp PHP. Hiện nay,
nhiều người đã chọn phương pháp bật safe-mode để bảo mật, đặc biệt là các
ISP
Các hướng dẫn về cấu hình Security and Safe Mode :
Code:

safe_mode: mặc định : "0" sửa dưới phân quyền : PHP_INI_SYSTEM
safe_mode_gid: mặc định :"0"sửa dưới phân quyền : PHP_INI_SYSTEM
safe_mode_include_dir: mặc định :NULL sửa dưới phân quyền :
PHP_INI_SYSTEM
safe_mode_exec_dir: mặc định :""sửa dưới PHP_INI_SYSTEM
safe_mode_allowed_env_vars: mặc định :"PHP_"sửa dưới
PHP_INI_SYSTEM
safe_mode_protected_env_vars: mặc định :"LD_LIBRARY_PATH"sửa dưới
PHP_INI_SYSTEM


23

open_basedir: mặc định :NULL sửa dưới PHP_INI_SYSTEM
disable_functions: mặc định :"" sửa dưới php.ini
disable_classes : mặc định : ""sửa dưới php.ini
- Sau đây là cách đề đặc chính cấu hình server để bật chế độ safe mode :
Trong file php.ini :
safe_mode = Off chuyển thành safe_mode = On
disabled_functions nên chứa những function sau :
PHP Code:
readfile,system, exec, shell_exec, passthru, pcntl_exec, putenv, proc_close,
proc_get_status, proc_nice, proc_open, proc_terminate, popen, pclose,
set_time_limit, escapeshellcmd, escapeshellarg, dl, curl_exec, parse_ini_file,
show_source,ini_alter, virtual, openlog
Khi đó, ta ví dụ :
PHP Code:
-rw-rw-r-- 1 doanchuyennganh doanchuyennganh 33 Jul 1 19:20 script.php
-rw-r--r-- 1 root root 1116 May 26 18:01 /etc/passwd
- Trong script.php là :

PHP Code:
readfile('/etc/passwd');
?>
- Kết quả :
PHP Code:
Warning: readfile() has been
/docroot/script.php on line 2

disabled

for

security

reasons

in

- Vài lợi điểm của việc bật safe mode:
- Thường khi upload file, file sẽ vào /tmp/ với những người có quyền không
phải là owner.


×