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

Đồ án Session Hijacking

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 (3.93 MB, 96 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
  


ĐỒ ÁN CHUYÊN NGÀNH


TẤN CÔNG VÀ PHÒNG CHỐNG
SESSION HIJACKING







Giáo viên hướng dẫn : ThS. Đặng Thanh Bình
Sinh viên thực hiện : xxxh Pxxxx xxxxx
MSSV : 12xxxxxx
Lớp : CDTH11ALT










TP. HỒ CHÍ MINH, THÁNG 03 NĂM 2014

Đồ án chuyên ngành Session Hijacking
2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN














Phần đánh giá:
 Ý thức thực hiện:
 Nội dung thực hiện:
 Hình thức trình bày:
 Tổng hợp kết quả:
Điểm bằng số: Điểm bằng chữ:
Tp. Hồ Chí Minh, ngày… tháng … năm ……
Giáo viên hướng dẫn

Đồ án chuyên ngành Session Hijacking

3

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN













Phần đánh giá:
 Ý thức thực hiện:
 Nội dung thực hiện:
 Hình thức trình bày:
 Tổng hợp kết quả:
Điểm bằng số: Điểm bằng chữ:
Tp. Hồ Chí Minh, ngày… tháng … năm ……
Giáo viên phản biện

Đồ án chuyên ngành Session Hijacking
4

LỜI CẢM ƠN
Trong quá trình thực hiện đồ án đã có nhiều khó khăn, vướng mắc phát

sinh. Điều này là tất nhiên và khó có thể tránh khỏi. Đối mặt với nhiều khó khăn
và áp lực nhưng tôi không hề nản lòng vì xung quanh tôi luôn có rất nhiều
người yêu thương và luôn sẵn lòng giúp đỡ, mong tôi vượt qua bất kỳ trở ngại
nào. Đó là người mẹ, người thầy, người cô, tất cả những người thân quen mà tôi
vẫn luôn kính trọng.
Không gì có thể thành công nếu thiếu đi tình cảm yêu thương gắn bó của
gia đình. Không gì có thể thành công nếu thiếu đi sự truyền đạt nhiệt tâm của
các thầy cô giáo, đặc biệt là thầy Đặng Thanh Bình. Người thầy đã trực tiếp giúp
đỡ tôi hoàn thành đồ án này.
Không gì có thể thành công nếu thiếu đi sự yêu mến từ bạn bè, những
người bạn đã gắn bó với tôi trong suốt quá trình học tập. Thiếu họ là sẽ thiếu đi
những lời động viên chân thành.
Không gì là có thể nếu thiếu đi một trong số họ. Thật tuyệt vì tôi luôn có
họ. Sẽ thật thiếu sót nếu như tôi làm phụ lòng họ. Vì thế sẽ không bao giờ có sự
biếng nhác trong suốt quá trình thực hiện đồ án và sẽ luôn như vậy.
Lời cảm ơn chân thành và kính trọng.

TP. Hồ Chí Minh, ngày 25 tháng 3 năm 2014
Sinh viên thực hiện





Đồ án chuyên ngành Session Hijacking
5

LỜI NÓI ĐẦU
Việc đặt mật khẩu cho những thông tin quan trọng trên máy tính là điều
mà chúng ta thường hay làm để bảo mật nguồn dữ liệu đó được an toàn khi

chúng tiếp cận với môi trường Internet. Trong đó, các thông tin về credit card,
administrative là mục tiêu tấn công nhiều nhất từ các hacker. Bằng nhiều cách,
có thể bằng cách này hay cách khác mà kẻ tấn công tìm ra được những lỗ hổng
bảo mật và thâm nhập, điều khiển hay chiếm quyền kiểm soát cao nhất trong
hệ thống đó. Điều này đặc biệt nghiêm trọng khi mọi thứ hiện nay đều được
Internet hóa.
Trong phạm vi đồ án này, không thể kể hết mức độ nguy hiểm của các kỹ
thuật tấn công mạng mà chỉ tập trung vào phương pháp thâm nhập hệ thống từ
lỗ hổng bảo mật session. Session cho phép các máy tính kết nối thành công với
nhau, các thông tin session sẽ được lưu trong cookie. Trường session ID lưu trữ
một chuỗi các ký tự được tạo ra để xác thực người dùng trên máy đích hoặc
trên máy chủ nào đó.
Khi giá trị của trường session ID được bảo mật không tốt thì sẽ tạo cơ hội
cho kẻ tấn công dò ra các thông tin của phiên làm việc hiện hành. Từ đó, các
thông tin này sẽ được kẻ tấn công khai thác và sử dụng nó để truy cập thẳng
vào hệ thống một cách hợp pháp. Không cần phải biết mật khẩu, kẻ tấn công
vẫn có thể truy cập vào phiên làm việc mà nạn nhân không hề hay biết.
Nội dung của cuốn đồ án sẽ trình bày cách mà các hacker tấn công vào một
phiên làm việc trên Web. Qua đó, chúng ta sẽ hiểu rõ hơn về bản chất của vấn
đề và tìm ra phương án để phòng chống và ngăn chặn.

Đồ án chuyên ngành Session Hijacking
6

DANH MỤC TỪ VIẾT TẮT
ID. Identifier
OSI. Open Systems Interconnection
TCP. Transmission Control Protocol
IP. Internet Protocol
UDP. User Datagram Protocol

MAC. Media Access Control
TLS/SSL. Transport Layer Security / Secure Sockets Layer
HTTP. Hypertext Transfer Protocol
HTTPS. Hypertext Transfer Protocol Secure
PC. Personal Computer
SEQ. Sequence
SYN. Synchronize sequence numbers
ACK. Acknowledgment
RST. Reset the connection
LAN. Local Area Network
DMZ. Demilitarized Zone
NAT. Network address translation
DC. Domain Controller
DNS. Domain Name System
DHCP. Dynamic Host Configuration Protocol
MMC. Microsoft Management Console
ARP. Address Resolution Protocol


Đồ án chuyên ngành Session Hijacking
7

DANH MỤC HÌNH ẢNH
Hình 1.1: Mô hình truyền dẫn dữ liệu 12
Hình 1.2: Mô hình OSI 12
Hình 2.1: Đánh cắp phiên kết nối 16
Hình 2.2: Thuật toán bắt tay 3 bước 17
Hình 2.3: Tấn công TCP/IP Hijacking 19
Hình 2.4: RST Hijacking 19
Hình 4.1: Mô hình thực nghiệm tấn công phiên kết nối 21

Hình 4.2: Triển khai SSL cho kết nối giữa hai điểm đầu cuối 51


Đồ án chuyên ngành Session Hijacking
8

DANH MỤC BẢNG BIỂU
Bảng 3.1: Ý nghĩa các tham số của iptables 85

Đồ án chuyên ngành Session Hijacking
9

MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 3
LỜI CẢM ƠN 4
LỜI NÓI ĐẦU 5
DANH MỤC TỪ VIẾT TẮT 6
DANH MỤC HÌNH ẢNH 7
DANH MỤC BẢNG BIỂU 8
MỤC LỤC 9
Chương 1: TÌM HIỂU VỀ SESSION HIJACKING 11
1.1. Giới thiệu 11
1.2. TCP Session Hijacking 11
1.3. Session Hijacking 13
1.4. Session ID 14
1.5. Persistent Cookie và Non-Persistent Cookie 14
Chương 2: MỘT SỐ ĐẶC ĐIỂM CỦA SESSION HIJACKING 16
2.1. Lừa đảo theo kiểu Side Hijacking 16
2.2. Các bước trong Session Hijacking 16

2.3. Các loại Session Hijacking 16
2.3.1. Chủ động 17
2.3.2. Thụ động 17
2.3.3. Thuật toán bắt tay 3 bước 17
2.3.4. Đặc điểm của số sequence (chuỗi số) 18
2.3.5. Dự đoán số sequence 18
2.3.6. TCP/IP Hijacking 18

Đồ án chuyên ngành Session Hijacking
10

2.3.7. RST Hijacking 19
2.3.8. Các công cụ tấn công 19
Chương 3: MÔ PHỎNG QUÁ TRÌNH TẤN CÔNG VÀ PHÒNG CHỐNG 21
3.1. Triển khai hệ thống 21
3.1.1. Cài đặt địa chỉ IP 21
3.1.2. Xây dựng Domain 23
3.1.3. Xây dựng Web Server 25
3.1.4. Xây dựng DHCP Server 26
3.1.5. Cài đặt và cấu hình ISA 28
3.2. Thực nghiệm tấn công 75
3.2.1. Tấn công Web HTTP 75
3.2.2. Tấn công Web HTTPS 83
3.3. Cách phòng chống 85
Chương 4: KẾT LUẬN 94
TÀI LIỆU THAM KHẢO 96



Đồ án chuyên ngành Session Hijacking

11

Chương 1: TÌM HIỂU VỀ SESSION HIJACKING
1.1. Giới thiệu
Mở đầu sẽ là phần giới thiệu một số phương pháp mà kẻ tấn công thường
sử dụng để chiếm quyền điều khiển máy tính từ xa và thâm nhập hệ thống đó là
phương pháp “đánh cắp” phiên kết nối (Session Hijacking).
Nội dung của chương này sẽ tìm hiểu một cách chi tiết về các vấn đề liên
quan đến kỹ thuật đánh cắp phiên kết nối như: Các phương pháp lừa đảo theo
kiểu hijacking, phân tích và tìm hiểu từng loại đánh cắp phiên,…
Từ những kiến thức cơ bản về kỹ thuật này, chúng ta có thể biết được dữ
liệu của mình truyền đi trên mạng như thế nào và gói dữ liệu của mình bị kẻ tấn
công theo dõi và đánh cắp ở tầng mấy trong mô hình OSI, từ đó sẽ có những
phương pháp mã hóa tốt hơn khi gửi và nhận dữ liệu trong hệ thống của mình.
1.2. TCP Session Hijacking
TCP Session Hijacking được thực hiện khi kẻ tấn công tiếp quản một phiên
kết nối theo địa chỉ IP giữa hai máy tính. Hầu hết sự xác thực chỉ xảy ra khi bắt
đầu phiên TCP, chính điều này đã tạo điều kiện cho kẻ tấn công gán quyền truy
cập đến máy tính.
Để có những hiểu biết sâu sắc về các gói thông điệp qua Internet ta sẽ
phân tích hàng đợi TCP quan chuẩn IPv4 và các khả năng tấn công có thể xảy ra
ở phiên bản IP này.
Hình 1.1 là mô hình truyền dẫn các gói tin trong mạng cục bộ. Một số
thông tin tóm tắt về hình 1.1 như sau:
 Tầng ứng dụng: Tại tầng này, các giao diện người dùng được thiết lập
dựa trên những chuẩn hóa dữ liệu được bàn giao và quyết định từ tầng
phiên. Vì theo mô hình này (hình 1.1), ba tầng: Application (tầng ứng
dụng), Presentation (tầng đại diện), Session (tầng phiên) trong mô

Đồ án chuyên ngành Session Hijacking

12

hình OSI được kết hợp chung lại thành một tầng và gọi chung là tầng
ứng dụng.
 Tầng vận chuyển: Tại tầng này, dữ liệu được cung cấp phương thức
vận chuyển đảm bảo (TCP) hay không đảm bảo (UDP). Đây là tầng thứ
4 trong mô hình OSI và là tầng 3 trong mô hình truyền dữ liệu.
 Tầng mạng: Tầng này cung cấp việc đánh địa chỉ logic và phương thức
định tuyến các gói tin. Tầng này được kết hợp từ tầng Network (tầng
mạng) và Datalink (tầng liên kết dữ liệu) trong mô hình OSI.
 Tầng vật lý: Tầng này gửi dữ liệu đến các đầu nối và cáp dẫn, tín hiệu
được truyền dưới dạng các xung điện, tín hiệu số (hình 1.1).
TẦNG ỨNG DỤNG
TẦNG VẬN CHUYỂN
TẦNG MẠNG
TẦNG VẬT LÝ
TẦNG ỨNG DỤNG
TẦNG VẬN CHUYỂN
TẦNG MẠNG
TẦNG VẬT LÝ
User Data
Kết nối có định hướng
Packets
Bits
Kết Nối Vật Lý

Hình 1.1: Mô hình truyền dẫn dữ liệu
Để tiện theo dõi và so sánh giữa mô hình truyền dẫn dữ liệu (rút gọn 4
tầng) và mô hình OSI đầy đủ (7 tầng) có thể xem hình 1.2.
TẦNG ỨNG DỤNG

TẦNG TRÌNH DIỄN
TẦNG PHIÊN
TẦNG VẬN CHUYỂN
Giao diện người dùng
Chuẩn hóa dữ liệu
Thiết lập, quản lý và kết
thúc phiên giao dịch giữa
các ứng dụng
Cung cấp việc vận chuyển
đảm bảo và không đảm bảo
TẦNG MẠNG
TẦNG LIÊN KẾT DỮ LIỆU
TẦNG VẬT LÝ
Cung cấp việc đánh địa chỉ Logic,
định tuyến các gói dữ liệu
Tạo Frame từ các bits dữ liệu,
dùng địa chỉ MAC, phát hiện
lỗi nhưng không sửa lỗi
Tín hiệu số, xung điện -
Truyền ra các thiết bị kết nối
và cáp mạng
TẦNG ỨNG DỤNG
TẦNG TRÌNH DIỄN
TẦNG PHIÊN
TẦNG VẬN CHUYỂN
TẦNG MẠNG
TẦNG LIÊN KẾT DỮ LIỆU
TẦNG VẬT LÝ

Hình 1.2: Mô hình OSI


Đồ án chuyên ngành Session Hijacking
13

Trong mô hình OSI (hình 1.2) dữ liệu được truyền bắt đầu từ tầng Vật lý
và kết thúc ở tầng Ứng dụng.
 Tầng Vật lý: Dữ liệu lúc này chỉ là các tín hiệu số, xung điện và được
truyền dẫn ra các thiết bị kết nối và cáp (ví dụ như: EIA/TIA).
 Tầng Liên kết dữ liệu: Dữ liệu lúc này sẽ được tạo thành các khung
(frame) từ các bit và dùng địa chỉ MAC để liên lạc. Các lỗi truyền dẫn
được phát hiện nhưng không sửa lỗi tại tầng này (802.2, 802.3, HDLC).
 Tầng Mạng: Cung cấp phương thức đáng địa chỉ Logic và định tuyến
các gói dữ liệu (IP, IPX).
 Tầng Vận chuyển: Cung cấp việc vận chuyển dữ liệu đảm bảo (TCP) và
không đảm bảo (UDP).
 Tầng Phiên: Tầng này có chức năng thiết lập, quản lý và kết thúc các
phiên giao dịch giữa các ứng dụng (TLS/SSL).
 Tầng Trình diễn: Tầng này có chức năng chuẩn hóa dữ liệu, điều này
có nghĩa dữ liệu tại tầng này được phân theo các chuẩn nhất định như:
JPEG, ASCII,…
 Tầng Ứng dụng: Tầng này cung cấp các giao diện người dùng như:
Telnet, HTTP,…
1.3. Session Hijacking
Session Hijacking thường được sử dụng để khai thác các phiên kết nối
giữa các máy tính, gán quyền truy cập thông tin và dịch vụ trong hệ thống máy
tính. Ngoài ra, nó còn được dùng để khai thác cookie của một phiên kết nối và
truy cập hợp pháp vào một máy tính khác từ xa.
Ví dụ: PC1 và PC2 kết nối thành công với nhau, kẻ tấn công bằng cách nào
đó chiếm được session ID của PC1 và kết nối với PC2, lúc này PC2 cho rằng,
người đang kết nối với mình là PC1, vì thế PC2 cho kẻ tấn công có quyền thực

hiện các hành động mà PC1 có thể thực hiện.

Đồ án chuyên ngành Session Hijacking
14

1.4. Session ID
Khi đã đăng nhập thành công vào một website nhưng mỗi lần muốn trả lời
một bài viết nào đó, chúng ta phải đăng nhập lại, rất bất tiện. Vì vậy session ID
sinh ra để khắc phục sự bất tiện đó. Với một session ID tạo ra riêng cho một
user (người dùng) khi kết nối đến một website nào đó, web server dựa vào
session ID để nhận ra user, và chấp nhận cho user này thực hiện các hành động
mà user (người dùng) được quyền mà không phải xác nhận lại.
1.5. Persistent Cookie và Non-Persistent Cookie
Persistent cookie là loại vẫn tồn tại khi đã tắt trình duyệt. Khi đăng nhập
vào một Website nào đó mà chúng ta chọn Remember me, thì Non-Persistent
cookie trở thành Persistent cookie.
Non-Persistent cookie thì ngược lại, trình duyệt tắt, cookies và session ID
hết hiệu lực. Non-Persistent cookie còn được gọi là session cookie (cookie theo
phiên làm việc).
Ví dụ: Khi Admin của một Website đăng nhập vào hệ thống quản lý
Website thì cookie được tạo ra kèm theo session ID của user Admin ngay lúc
đó.
Vì một lý do nào đó, Admin này không dùng máy tính nữa, nhưng không
logout (thoát) khỏi trình điều khiển, nghĩa là cookie và session ID này vẫn còn
hiệu lực.
Bằng cách nào đó, kẻ tấn công đoán được session ID này, lúc này kẻ tấn
công có quyền truy cập vào hệ thống quản lý của Website với quyền hạn của
Admin đó.
Khi kết nối mạng theo giao thức TCP/IP thì có thể truy cập đến các tài
nguyên mạng thông qua hai giao thức: TCP (Transmission Control Protocol)

hoặc UDP (User Datagram Protocol). Cả hai giao thức này nằm trong tầng vận
chuyển (transport layer) giữa các ứng dụng và IP (Internet Protocol) trong
tầng mạng (network layer).

Đồ án chuyên ngành Session Hijacking
15

Trong khi TCP là dịch vụ truyền dữ liệu với độ tin cậy cao, UDP lại là dịch
vụ phi kết nối không cần độ tin cậy như TCP. Các ứng dụng cần một giao diện
với IP. UDP đáp ứng được như cầu đó và đồng thời cung cấp khả năng nói
chuyện với quá trình đang chạy trên máy chủ thông qua số hiệu cổng mà không
cần thiết lập một phiên kết nối. Trong nhiều trường hợp, điều này làm cho việc
liên lạc dễ dàng hơn bởi vì toàn bộ dữ liệu truyền có thể được gửi đi trong một
hoặc hai gói UDP. Việc thiết lập kết nối TCP sẽ tốn nhiều thời gian (nhưng an
toàn và tin cậy hơn) mặc dù chỉ gửi được một lượng dữ liệu nhỏ.
Cổng (port) là một số hiệu mà một ứng dụng có thể dùng được trên máy
chủ. Các gói dữ liệu được gửi đi sẽ tìm đường đến máy chủ thông qua địa chỉ IP,
nhưng khi đến máy chủ rồi, cần phải có một số hiệu cổng để lấy nội dung của
gói dữ liệu cho ứng dụng đang chạy máy chủ. Nếu máy chủ là Server, có thể có
nhiều quá trình chạy đồng thời như HTTP (cổng 80), FTP (cổng 21), và Gopher
(cổng 70). Với UDP, một ứng dụng có thể gửi gói dữ liệu đến một dịch vụ mà
không cần thiết lập kết nối, với TCP thì điều này là cần thiết. Địa chỉ IP và số
hiệu cổng là địa chỉ tường minh để gói dữ liệu TCP gửi đến một ứng dụng cụ
thể.
Các ứng dụng multicast, Internet MBone, RTP (Real-time Transport
Protocol) và các giao thức khác dùng UDP như là cơ chế chuyển giao dữ liệu.
UDP được thiết kế để chuyển giao dữ liệu thời gian thực như âm thanh và video
trực tiếp từ điểm này đến điểm khác trên Internet hay Intranet. Vì nội dung dữ
liệu là trực tiếp, các dịch vụ TCP (chẳng hạn như chấp nhận và truyền lại) là
không cần thiết và tốn quá nhiều phí phát sinh. Nếu mất một gói âm thanh hoặc

video, việc truyền lại là không thực tế vì thông tin truyền lại không đồng bộ với
âm thanh hoặc video hiện hành.




Đồ án chuyên ngành Session Hijacking
16

Chương 2: MỘT SỐ ĐẶC ĐIỂM CỦA SESSION HIJACKING
2.1. Lừa đảo theo kiểu Side Hijacking
Với kiểu tấn công này, Attacker sử dụng người dùng hoặc máy hợp lệ để
gán quyền truy cập. Khi quá trình đánh cắp phiên xảy ra, kẻ tấn công tiếp quản
một phiên kết nối đang tồn tại. Điều này có nghĩa, kẻ tấn công sẽ hồi đáp lại
người dùng hợp lệ để tạo kết nối và chứng thực quá trình kết nối, tiếp theo kẻ
tấn công sẽ tiếp quản phiên kết nối và thực hiện hành vi thâm nhập (hình 2.1).
Nạn nhân Server
Attacker
Nạn nhân đăng nhập vào Server
bằng sự ủy nhiệm của Attacker

Hình 2.1: Đánh cắp phiên kết nối
2.2. Các bước trong Session Hijacking
Bước 1: Attacker thực hiện bắt gói dữ liệu truyền đi giữa máy nạn nhân
và mục tiêu tấn công.
Bước 2: Theo dõi dòng di chuyển của các gói tin.
Bước 3: Dự đoán số hàng đợi (số sequence).
Bước 4: Hủy kết nối đến máy tính nạn nhân.
Bước 5: Kiểm soát phiên kết nối.
Bước 6: Bắt đầu thâm nhập vào Server mục tiêu.

2.3. Các loại Session Hijacking
Có hai loại Session Hijacking sau:


Đồ án chuyên ngành Session Hijacking
17

2.3.1. Chủ động
Trong phiên tấn công chủ động, kẻ tấn công tìm phiên đang hoạt động
hiện hành và chiếm quyền kiểm soát, bằng cách dự đoán số sequence được sử
dụng trong các phiên TCP.
2.3.2. Thụ động
Với cuộc tấn công thụ động, kẻ tấn công đánh cắp một phiên sau đó xem
và lưu lại tất cả các lưu lượng hiện có. Nó được sử dụng để thu thập các thông
tin như user ID và mật khẩu. Sau đó sử dụng các thông tin này để xác thực như
một phiên riêng biệt.
2.3.3. Thuật toán bắt tay 3 bước
Nếu kẻ tấn công có thể biết trước số SEQ/ACK kế tiếp mà nạn nhân sẽ gửi,
kẻ tấn công sẽ dùng địa chỉ IP của nạn nhân và thực hiện truyền thông hợp lệ
với Server (hình 2.2).
SYN
Seq: 2000
SYN/ACK
Seq: 5000 ACK: 2001
ACK
Seq: 2002 ACK: 5001
Nạn nhân Server

Hình 2.2: Thuật toán bắt tay 3 bước
Nạn nhân khởi động kết nối đến Server, sau đó gửi một gói tin đến server

với cờ SYN được thiết lập. Và số sequence (ví dụ 2000) cũng được gửi kèm (số
sequence là một số ngẫu nhiên).
Server nhận được gói tin này và gửi lại một cờ SYN/ACK cùng với số
sequence (ví dụ 5000) và ACK = số sequence của nạn nhân + 1 (2000 + 1 =
2001).
Nạn nhân thiết lập một ACK với số ISN (Initial Sequence Number) tăng lên
1 (2001 + 1 = 2002) và Seq cũng tăng lên 1 (5000 + 1 = 5001).
Hai máy thiết lập phiên kết nối thành công.

Đồ án chuyên ngành Session Hijacking
18

2.3.4. Đặc điểm của số sequence (chuỗi số)
Số Seq rất quan trọng trong việc cung cấp tính xác thực của truyền thông.
Nó là biến đếm 32-bit, vì thế nó có khả năng kết hợp và tạo ra trên bốn tỷ biến.
Số Seq được sử dụng để nói cho máy đang nhận dữ liệu biết rằng có
những gói nào sẽ đến để tổ chức việc nhận dữ liệu. Vì thế kẻ tấn công phải dự
đoán số Seq trong hàng đợi để thực hiện đánh cắp phiên.
Số Seq (sequence) là một số ngẫu nhiên được lấy trong chuỗi số 2^32 bits.
2.3.5. Dự đoán số sequence
Sau khi client gửi một yêu cầu SYN đến server. Server sẽ hồi đáp lại bằng
một gói SYN/ACK rồi sau đó công nhận ACK của client.
Số Seq có thể được dự đoán bằng cách: Trước tiên kẻ tấn công kết nối đến
server muốn tấn công bằng địa chỉ IP của mình. Tiếp theo kẻ tấn công ghi lại số
Seq đã chọn, sau đó mở kết nối thứ hai từ địa chỉ IP mà kẻ tấn công chiếm được.
Khi cuộc tấn công xảy ra sẽ không thấy được SYN/ACK hay bất kỳ một gói
dữ liệu nào khác từ server, nhưng có thể đoán được sự phản hồi đúng từ
server.
Nếu nguồn địa chỉ IP được sử dụng là xác thực, thì kẻ tấn công có thể sử
dụng phương pháp truyền thông một chiều để thâm nhập server.

2.3.6. TCP/IP Hijacking
TCP/IP Hijacking là kỹ thuật tấn công sử dụng các gói tin giả mạo để
chiếm sự kết nối giữa máy tính nạn nhân và mục tiêu.
Bất chấp kết nối của nạn nhân, kẻ tấn công vẫn có thể truyền thông với
máy tính chứa host mục tiêu, nếu như Attacker chiếm được kết nối của nạn
nhân.
Để có thể tấn công bằng phương pháp TCP/IP Hijacking thì kẻ tấn công
phải có một mạng giống như là mạng của nạn nhân.
Giữa server mục tiêu và nạn nhân có thể ở vị trí bất kỳ (hình 2.3).

Đồ án chuyên ngành Session Hijacking
19

Client
Server
Attacker
Nguồn: 10.1.0.100
Đích: 10.1.0.200
Seq: 1429775000
ACK: 1250510000
Độ dài: 24
Nguồn: 10.1.0.200
Đích: 10.1.0.100
Seq: 1250510000
ACK: 1429775024
Độ dài: 167
Nguồn: 10.1.0.100
Đích: 10.1.0.200
Seq: 1429775024
ACK: 1250510167

Độ dài: 71
1
2
3

Hình 2.3: Tấn công TCP/IP Hijacking
2.3.7. RST Hijacking
Kỹ thuật RST Hijacking thực hiện dựa vào vào việc chèn gói RST và dự
đoán một số ACK. Lúc này, nạn nhân sẽ tin rằng nguồn là xác thực và sẽ gửi gói
RST để thực hiện khởi động lại kết nối (hình 2.4).
Gói RST với địa chỉ nguồn được giả mạo
và số ACK được dự đoán
Khởi động lại kết nối
1
2

Hình 2.4: RST Hijacking
2.3.8. Các công cụ tấn công
 Hamster và Ferret: Hamster là một máy chủ proxy có thể đánh cắp
các phiên HTTP bằng cách đánh hơi các gói dữ liệu trong mạng và
sau đó chiếm các cookie trong trình duyệt. Ferrer là chương trình
cốt lõi của Hamster nó giúp đánh hơi các gói tin, giám sát các nguồn
dữ liệu và sau đó cung cấp cho Hamster.

Đồ án chuyên ngành Session Hijacking
20

 SSLstrip: Đây là công cụ chạy trên nền tảng Python. Nó có khả năng
chiếm quyền điều khiển lưu lượng HTTPS trên mạng, theo dõi các
liên kết HTTPS và chuyển hướng nó, sau đó ánh xạ các liên kết này

vào các liên kết HTTP tương tự.
 Ettercap: Đây là chương trình phân tích các gói tin gửi qua mạng, vì
thế Ettercap cũng là một phần mềm hiệu nghiệm cho phép người sử
dụng đánh hơi các dữ liệu trên mạng LAN, kể cả những thông tin đã
được mã hóa. Ettercap có thể giả danh địa chỉ MAC của card mạng
bị tấn công, thay vì gói tin được truyển đến máy tính cần đến thì nó
lại được truyền đến máy tính có cài Ettercap rồi sau đó mới truyền
đến máy tính đích.
 Cookie Cadger: Đây là ứng dụng đồ họa được viết bằng ngôn ngữ
Java có khả năng tự động hóa việc tấn công sidejacking và giúp xác
định các thông tin rò rỉ từ các yêu cầu HTTP GET không an toàn của
trình duyệt.
 Wireshark: Đây là phần mềm mã nguồn mở dùng để xử lý sự cố
mạng, phát triển những giao thức thông tin mới. Wireshark chủ yếu
giúp cho người dùng phân tích các lưu lượng trên mạng. Nó có thể
được sử dụng trên Linux, Mac OS X và Windows.
 Paros: Đây là chương trình được viết bằng ngôn ngữ Java và được
sử dụng để kiểm tra bảo mật trên ứng dụng web. Nó có thể can
thiệp vào các cookie của HTTP và HTTPS.






Đồ án chuyên ngành Session Hijacking
21

Chương 3: MÔ PHỎNG QUÁ TRÌNH TẤN CÔNG VÀ PHÒNG CHỐNG
192.168.1.x

172.16.1.2
10.1.1.2
.1
.1
.1
Web
DC
DNS
CA
ISA
DHCP
AttackerVictim

Hình 3.1: Mô hình thực nghiệm tấn công phiên kết nối
Để thực nghiệm quá trình tấn công, ta cần xây dựng 1 mô hình mạng ảo
bao gồm 3 máy chủ: DC, Web, ISA; 2 máy con: Victim, Attacker để mô phỏng.
Máy DC và Web là Win 2008, máy ISA là Win 2003, máy Client (Victim) là Win
XP, máy Attacker là Backtrack 5 (hình 3.1).
3.1. Triển khai hệ thống
3.1.1. Cài đặt địa chỉ IP
Địa chỉ IP của máy DC:


Đồ án chuyên ngành Session Hijacking
22

Địa chỉ IP của máy Web:

Địa chỉ IP của máy ISA (gồm 3 card mạng).
Card kết nối đến máy DC:


Card kết nối đến máy Web:



Đồ án chuyên ngành Session Hijacking
23

Card kết nối ra bên ngoài:


3.1.2. Xây dựng Domain
Trên máy DC, xây dựng domain cho hệ thống.

Để cho 3 máy DC, ISA và Web kết nối được thông suốt với nhau thì trên
máy ISA cần phải cấu hình dịch vụ Routing and Remote Access (vì hệ thống sử
dụng 3 mạng khác nhau nên phải cài LAN routing).


Trên máy Web, ping thành công qua máy DC:



Đồ án chuyên ngành Session Hijacking
24

Trên máy DC, ping thành công qua máy Web:

Sau đó, cấu hình cho máy Web và ISA join vào domain DC.



Trên máy DC, cấu hình DNS để phân giải tên miền.

Forward Lookup Zones


Reverse Lookup Zones

Đồ án chuyên ngành Session Hijacking
25


Reverse Lookup Zones
Phân giải tên miền thành công:


3.1.3. Xây dựng Web Server
Trên máy Web, cài đặt XAMPP.




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×