64
GVHD: Lê Tự Thanh SVTH: Trần Ngọc Khải BỘ THÔNG TIN VÀ TRUYỀN THÔNG Trường Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt Hàn CEH

Session Hijacking Module 11 1778

Embed Size (px)

DESCRIPTION

CEH

Citation preview

Page 1: Session Hijacking Module 11 1778

GVHD: Lê Tự Thanh

SVTH: Trần Ngọc Khải

BỘ THÔNG TIN VÀ TRUYỀN THÔNG

Trường Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt Hàn

CEH

Page 2: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 2

TIN TỨC AN NINH

eSecurity Planet Firesheep sửa chữa dễ dàng như HTTPS

- Tháng 11 năm 2010 được nhớ đến như là tháng Firesheep

phát nổ trên khán đài máy tính, sự vui sướng của sinh viên đại

học ở khắp mọi nơi. Việc thêm vào của trình duyệt firefox làm

nó dễ dàng chiếm được quyền truy cập của bất kì một tài khoản

facebook nào trong khi họ kết nối đến internet bằng cách sử

dụng mở, kết nối Wi-Fi là không an toàn.

- Tất nhiên, một phiên tấn công lỗ hổng thì firesheep đã biết rõ

cách tấn công và phạm vi bảo mật cho tất cả thời gian, những gì

giúp cho firesheep có cuộc tấn công ngoạn mục dễ dàng. Và

thật không công bằng khi làm nổi bật việc facebook rất dễ bị

tấn công nếu chỉ vì các trang cộng đồng nổi tiếng khác, như:

Flickr, Foursquare cũng như Wordpress thì quá nhạy cảm với

firesheep. C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I

Page 3: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 3

Session Hijacking là gì?

Các kỹ thuật chiếm quyền điều khiển

phiên chính

Brute Forcing

Spoofing vs. Hijacking

Quá trình chiếm quyền điều khiển phiên

Các loại chiếm quyền điều khiển phiên

Session Hijacking trong mô hình OSI

Session Hijacking mức ứng dụng

Session Hijacking mức mạng

Tấn công TCP/IP

Công cụ chiếm quyền điều khiển phiên

Biện pháp đối phó

Kiến trúc IPSec

Thâm nhập thử nghiệm

NỘI DUNG CHÍNH

Page 4: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

LƯU ĐỒ MODULE

Khái niệm

Session

Hijacking

Session

Hijacking

mức ứng

dụng

Session

Hijacking

mức mạng

Công cụ

chiếm quyền

điều khiển

phiên

Biện pháp

đối phó

Thâm

nhập thử

nghiệm

Page 5: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

Session Hijacking là gì?

Session Hijacking đề cập đến

việc khai thác một phiên máy

tính hợp lệ nơi mà kẻ tấn công

chiếm một phiên làm việc giữa

2 máy tính

Kẻ tấn công đánh cắp session

ID hợp lệ đang được sử dụng

để vào hệ thống và thăm dò

dữ liệu

Trong Session Hijacking

TCP, kẻ tấn công chiếm

1 phiên TCP giữa 2 máy

Khi hầu hết các xác thực chỉ

xảy ra lúc bắt đầu của phiên

TCP, điều này cho phép kẻ tấn

công truy cập vào máy

Page 6: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 6

Mối nguy hiểm từ Hijacking

Hầu hết các

biện pháp đối

phó không làm

việc trừ khi bạn

dùng mã hóa

Chiếm

quyền điều

khiển là dễ

dàng khởi

động

Mối đe dọa

đánh cắp nhận

dạng, mất thông

tin, gian lận, …

Hầu hết các

máy tính sử

dụng giao thức

TCP/IP dễ

dàng bị tấn

công

Bạn có thể bảo

vệ và chống lại

nó chỉ 1 phần,

trừ khi bạn

chuyển qua

giao thức bảo

mật khác

Page 7: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 7

Tại sao Session Hijacking lại thành công?

Không khóa tài khoản

Sesion Ids không hợp

lệ

Session ID yếu hệ

thuật toán

Phiên không giới hạn

thời gian kết thúc

Truyền dữ liệu văn bản

tường minh Session Ids nhỏ

Xử lí không an toàn

7

Page 8: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 8

Các kỹ thuật Session Hijacking chính

Brute Forcing Kẻ tấn công cố thử các ID khác nhau cho đến

khi thành công

Kẻ tấn công dùng các kỹ thuật khác nhau để lấy

cắp các Session ID

Stealing

Sử dụng các ID không được tạo ra ngẫu nhiên,

kẻ tấn công cố gắng tính toán các Session ID

Calculating

Page 9: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 9

Brute forcing

Dùng tấn công brute force, kẻ tấn công cố gắng đoán

session ID đến khi hắn đoán được một session ID

Ví dụ, trên các

địa chỉ, kẻ tấn

công cố gắng

đoán 1 session

ID

Các Session ID

có thể bị lấy cắp

bằng cách dùng

những kỹ thuật

khác nhau như:

1. Sử dụng giao thức HTTP giới

thiệu tiêu đề

2. Kiểm tra lưu lượng mạng

3. Sử dụng các cuộc tấn công

Cross-Site Scripting

4. Gửi Trojans trong các nạn nhân

1. Dùng “referrer attack”,

kẻ tấn công cố thu hút

người dùng nhấp vào 1

đường dẫn đến trang web

khác(1 đường dẫn

mysite,www.mysite.com)

2. Ví dụ, GET /index.html

HTTP/1.0 Host:

www.mysite.com

Referrer:

www.mywebmail.com/vi

ewmsg.asp?msgid=6896

45&SID=2556x54VA75

3. Kẻ tấn công đã lấy được

Session ID của người

dùng gửi khi trình duyệt

gửi đường dẫn giới thiệu

chứa 1 session ID của

người dùng đến trang

web của kẻ tấn công

Page 10: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

0

Tấn công Brute Forcing

Sử dụng các cuộc tấn công Brute Force, kẻ tấn công cố đoán session

ID đến khi hắn tìm thấy session ID chính xác

Có thể dãy những giá trị cho session ID phải bị giới hạn để cuộc tấn

công bruteforce được thực hiện thành công

Page 11: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

1

Tấn công HTTP tham chiếu

Tấn công tham chiếu, kẻ tấn công cố gắng thu

hút người dùng click vào một liên kết đến một

trang web khác.

Ví dụ, GET /index.html HTTP/1.0 Host:

www.mysite.com Referrer:

www.mywebmail.com/viewmsg.asp?msgid=68

9645&SID=2556x54VA75

Trình duyệt gửi URL tham chiếu chứa các

session ID cho kẻ tấn công, và kẻ tấn công

sử dụng session ID của người dùng

Page 12: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

2

Sự khác nhau giữa Spoofing và Hijacking

Tấn công Spoofing Hijacking

Kẻ tấn công giả mạo làm người

dùng khác hoặc máy (nạn nhân) để

truy cập

Kẻ tấn công không chiếm 1

phiên hoạt động hiện có. Thay vào

đó hắn bắt đầu 1 phiên làm việc

mới bằng cách sử dụng thông tin

lấy cắp của nạn nhân

Session hijacking là quá trình

chiếm 1 phiên hoạt động hiện tại

Kẻ tấn công dựa vào người sử

dụng hợp pháp để được kết nối và

xác thực

Page 13: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

3

Quá trình chiếm quyền điều khiển phiên

Đánh hơi

Theo dõi

Đồng bộ hóa

Dự đoán Session ID

Lệnh xâm nhập

Đặt mình vào giữa nạn nhân và mục tiêu (bạn phải có khả năng đánh hơi mạng)

Theo dõi dòng dữ liệu và dự đoán sequence number

Phá vỡ kết nối của máy nạn nhân

Chiếm phiên

Bắt đầu truyền các gói dữ liệu đến máy chủ

mục tiêu

Page 14: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

4

Phân tích gói của một tấn công chiếm phiên cục bộ

Page 15: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

5

Các loại Session Hijacking

Trong 1 tấn công

active, kẻ tấn công

tìm phiên đang hoạt

động và chiếm nó

Với tấn công passive, kẻ

tấn công chiếm quyền

điều khiển 1 phiên, nhưng

ngừng lại, xem và ghi lại

tất cả các lưu lượng truy

cập được gửi ra

Page 16: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

6

Session Hijacking trong mô hình OSI

Hijacking mức mạng Hijacking mức ứng dụng

Mức mạng có thể định nghĩa

là đánh chặn các gói tin trong

quá trình truyền tải giữa máy

chủ và máy khách trên 1

phiên TCP và UDP

Mức ứng dụng là kiểm soát trên

phiên người dùng của HTTP

bằng cách lấy session ID

Page 17: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 1

7

LƯU ĐỒ MODULE

Khái niệm

Session

Hijacking

Session

Hijacking

mức ứng

dụng

Session

Hijacking

mức mạng

Công cụ

chiếm quyền

điều khiển

phiên

Biện pháp

đối phó

Thâm

nhập thử

nghiệm

Page 18: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

8

Session Hijacking mức ứng dụng

Trên 1 tấn công Session Hijacking, 1 mã thông báo phiên thì bị đánh cắp hoặc mã

thông báo phiên hợp lệ thì được dự đoán sẽ bị truy cập trái phép vào máy chủ web

Session Sniffing Predictable

session token

Man-in-the-

middle attack

Man-in-the-

browser attack Client-side

attacks

Một mã thông

báo phiên có thể

bị xâm hại bằng

nhiều cách khác

nhau

Page 19: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 1

9

Thăm dò Phiên

Kẻ tấn công dùng thăm dò để chiếm 1 mã thông báo hợp lệ gọi là

“Session ID”

Kẻ tấn công lúc này dùng mã thông báo phiên hợp lệ để truy cập trái

phép vào máy chủ web

Page 20: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

0

Dự đoán Session Token

Nó là phương

pháp dùng cho dự

đoán 1 session ID

hoặc mạo danh

người dùng để sử

dụng trang web

Dự đoán 1

session ID cũng

được biết như là

Session

Hijacking

Bằng cách đoán

giá trị session

duy nhất hoặc

suy ra 1 session

ID hoàn thành

cuộc tấn công

Sử dụng kỹ thuật

session hijacking, kẻ

tấn công có khả

năng gửi các yêu cầu

đến trang web với

các đặc quyền của

thành viên bị xâm

phạm

Page 21: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

1

Làm thế nào để dự đoán 1 Session Token?

Hầu hết các máy chủ server dùng thuật toán tùy chỉnh hoặc 1 mô hình được xác

định trước để tạo các session ID

Kẻ tấn công chiếm một số

các session ID và phân tích

mô hình

Vào 16:25:55 ngày 25 tháng

11 năm 2010, kẻ tấn công có

thể dự đoán thành công

được 1 session ID

Captures

Predicts

Page 22: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

2

Tấn công Man-in-the-Middle

Kiểu tấn công man-in-the-middle là dùng để xâm nhập vào một kết nối

hiện tại giữa các hệ thống và chặn các tin nhắn được trao đổi

Kẻ tấn công dùng các kỹ thuật khác và

tách kết nối TCP thành 2 kết nối

1. Kết nối từ máy khách đến kẻ tấn công

2. Kết nối từ kẻ tấn công đến máy chủ

Sau khi đánh chặn thành công kết nối

TCP, kẻ tấn công có thể đọc, chỉnh sửa, và

chèn dữ liệu gian lận vào các thông tin

liên lạc bị chặn

Trong trường hợp của một giao dịch http,

kết nối TCP giữa client và máy chủ trở

thành mục tiêu

Page 23: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

3

Kiểu tấn công Man-in-the-Browser

Tấn công Man-in-the-browser dùng Trojan Horse để

chặn các cuộc gọi của trình duyệt và các cơ chế bảo

mật hoặc thư viện

Nó làm việc với Trojan Horse đã được cài đặt sẵn và

hoạt động giữa trình duyệt và các cơ chế bảo mật của

Mục tiêu chính của nó là gây ra sự lừa gạt tài chính

bằng các thao tác giao dịch của hệ thống ngân hàng

Internet

Page 24: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

4

Các bước thực hiện tấn công Man-in-the-Browser

Đầu tiên Trojan xâm nhập vào phần

mềm của máy tính (hệ điều hành

hoặc ứng dụng)

Trojan cài đặt mã độc hại (phần

mở rộng tập tin ) và lưu vào cấu

hình trình duyệt

Sau khi người dùng khởi động lại

trình duyệt, mã độc hại dưới hình

thức các tập tin mở rộng được tải

Các tập tin mở rộng đăng ký một xử lý

cho mỗi lần truy cập trang web

Khi trang web được tải, đuôi mở rộng

sử dụng các URL và phù hợp với một

danh sách các các trang web được

biết đến là mục tiêu tấn công

Người sử dụng đăng nhập bảo

mật vào trang web

Nó đăng ký 1 nút xử lý sự kiện khi

tải trang cụ thể là phát hiện một mô

hình cụ thể và so sánh nó với danh

sách mục tiêu của nó

Trình duyệt sẽ gửi các hình thức và

giá trị điều chỉnh đến máy chủ

Page 25: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

5

Các bước thực hiện tấn công Man-in-the-Browser

Khi người dùng nhấp vào nút, mở rộng

sử dụng giao diện DOM và lấy được

tất cả các dữ liệu từ tất cả các trường

hình thức và thay đổi các giá trị

Máy chủ nhận được các giá trị thay

đổi nhưng không thể phân biệt giữa

bản gốc và các giá trị được sửa đổi

Sau khi máy chủ thực hiện xử

lí, 1 xác nhận được tạo ra

Bây giờ, trình duyệt nhận được

xác nhận thay đổi xử lí

Trình duyệt hiển thi xác nhận

với các chi tiết gốc Người sử dụng nghĩ rằng các xử lí

ban đầu đã được nhận bởi máy chủ

mà không có bất kỳ ngăn chặn nào

Page 26: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

6

Kiểu tấn công Client-side

XSS Các đoạn mã

JavaScript độc hại Trojans

Các cuộc tấn công cross-

site scripting là một loại

của cuộc tấn công xen

vào, trong đó các tập

lệnh mã độc hại được xen

vào các trang web

Một kịch bản độc hại

có thể được nhúng

trong một trang web và

không tạo ra bất kỳ loại

cảnh báo nào khi trang

được xem trong mọi

trình duyệt

Trojan horse là một

chương trình trong đó các

mã độc hại được chứa bên

trong lập trình nhìn như vô

hại hoặc dữ liệu trong một

cách mà nó có thể có được

điều khiển và gây thiệt hại

Page 27: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

7

Tập lệnh tấn công Cross-site

Kẻ tấn công có thể làm hại session

token bằng cách gửi mã độc hại hoặc

các chương trình cho các chương trình

client-site

Ví dụ ở đây cho thấy làm

thế nào kẻ tấn công đánh

cắp session token bằng

cách sử dụng tấn công

XSS

Nếu kẻ tấn công gửi một liên kết giả

mạo cho nạn nhân với JavaScript độc

hại, khi nạn nhân nhấp chuột vào liên

kết , JavaScript sẽ chạy và hoàn thành

các hướng dẫn được thực hiện bởi kẻ

tấn công

Ví dụ ở đây sử dụng một

cuộc tấn công XSS để hiển

thị các giá trị cookie của

phiên hiện tại

Sử dụng kỹ thuật tương tự, nó có thể tạo ra

một mã Javascript cụ thể sẽ gửi cookie đến kẻ

tấn công <SCRIPT>alert (document.cookie) </

SCRIPT>

Page 28: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

8

Phiên định hình

Session Fixation là cuộc tấn công chấp nhận cho kẻ tấn công

chiếm 1 phiên người dùng hợp lệ

Các cuộc tấn công cố gắng thu hút người sử dụng để xác thực mình

với một session ID được biết đến và sau đó chiếm phiên người dùng

hợp lệ bởi các kiến thức về các session ID được sử dụng

Kẻ tấn công được cung cấp một session ID ứng dụng web hợp pháp

và cố gắng để thu hút nạn nhân dùng trình duyệt để sử dụng nó

Một vài kỹ thuật để tấn công

thực thi Session Fixation là

Session token trong đối số URL

Session token trong trường biểu mẫu ẩn

Session ID trong 1 cookie

Page 29: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 2

9

Tấn công phiên định hình

Kẻ tấn công khai thác lỗ hổng của một máy chủ, nơi cho phép người dùng sử dụng SID cố định

Kẻ tấn công cung cấp một SID hợp lệ cho nạn nhân và thu hút anh ta để xác thực cho chính mình

bằng cách sử dụng SID

Page 30: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 3

0

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 30

LƯU ĐỒ MODULE

Khái niệm

Session

Hijacking

Session

Hijacking

mức ứng

dụng

Session

Hijacking

mức mạng

Công cụ

chiếm quyền

điều khiển

phiên

Biện pháp

đối phó

Thâm

nhập thử

nghiệm

Page 31: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

1

Session Hijacking mức mạng

Tấn công mức mạng được thực hiện trên dòng chảy dữ liệu của giao thức chia sẻ bởi tất

cả các ứng dụng web

Bằng cách tấn công các phiên mức mạng, kẻ tấn công tập hợp một số thông tin quan

trọng được sử dụng để tấn công các phiên mức ứng dụng

Tấn công Blind Tấn công TCP/IP

Tấn công UDP Tấn công RST

Man in the Middle:

gói thăm dò

Giả mạo IP: Định

tuyến gói tin nguồn

Page 32: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

2

Quá trình bắt tay 3 bước

Nếu kẻ tấn công có thể dự đoán sequence tiếp theo và số ACK mà Bob sẽ gửi,

hắn sẽ giả mạo địa chỉ của Bob và bắt đầu một giao tiếp với máy chủ

1. Bob khởi tạo một kết nối với máy chủ và gửi một gói tin đến

máy chủ với các thiết lập bit SYN

2. Máy chủ nhận được gói tin này và gửi một gói tin với bit SYN /

ACK và ISN (Sequece Number ban đầu) cho máy chủ

3. Bob thiết đặt bit ACK acknowledging nhận các gói dữ liệu và

tăng số sequece lên 1

4. Bây giờ, hai máy thành công việc thiết lập một phiên

Page 33: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

3

Các chuỗi số

Các chuỗi số là rất quan trọng trong việc cung cấp một

giao tiếp đáng tin cậy và cũng rất quan trọng cho việc

chiếm một phiên

Chúng là một bộ đếm 32 bit. Do đó, có thể có hơn 4 tỷ

sự kết hợp

Chúng được sử dụng thông tin cho máy nhận trong thứ tự

các gói tin đi khi máy nhận được

Vì vậy, một kẻ tấn công phải đoán thành công thứ tự

chuỗi số để chiếm 1 session

Page 34: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

4

Dự đoán chuỗi số

Sau khi khách hàng gửi gói tin

yêu cầu kết nối (SYN) đến máy

chủ, máy chủ đáp ứng (SYN-

ACK) với một chuỗi số được lựa

chọn, nó phải được công nhận bởi

máy khách

Chuỗi số này là có thể đoán

trước; tấn công kết nối đến máy

chủ đầu tiên với địa chỉ IP riêng

của mình, ghi lại chuỗi số lựa

chọn, và sau đó sẽ mở ra một

kết nối thứ hai từ một địa chỉ IP

giả mạo

Tấn công không nhìn thấy

SYN-ACK (hoặc bất kỳ gói

nào khác) từ máy chủ, nhưng

có thể đoán được đáp ứng

chính xác

Nếu địa chỉ IP nguồn sử dụng để

xác thực, sau đó kẻ tấn công có

thể sử dụng giao tiếp một chiều

để xâm nhập vào máy chủ

Page 35: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

5

Tấn công TCP/IP

Tấn công TCP / IP là một kỹ thuật tấn công sử dụng các gói tin giả mạo để tiếp nhận một kết nối

giữa một nạn nhân và một máy mục tiêu

Kết nối của nạn nhân bị treo và kẻ tấn công sau đó có thể giao tiếp với máy chủ như kẻ tấn công là

nạn nhân

Để khởi động tấn công chiếm TCP / IP, kẻ tấn công phải trên cùng 1 lớp mạng với nạn nhân

Mục tiêu và nạn nhân có thể ở bất cứ đâu

Page 36: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

6

Tấn công TCP/IP

Kẻ tấn công thăm dò kết nối của nạn nhân và sử dụng IP của nạn nhân

để gửi một gói giả mạo với chuỗi số dự đoán

Host xử lí các gói tin giả mạo, tăng số thứ tự và gửi xác nhận đến địa

chỉ IP của nạn nhân

Máy tính nạn nhân là không biết về các gói tin giả mạo, do đó nó bỏ

qua gói ACK máy chủ và ngừng đếm chuỗi số quay lại

Vì vậy, máy chủ nhận được gói dữ liệu với số thứ tự không chính xác

Kẻ tấn công đánh dấu kết nối của nạn nhân với máy chủ vào trạng thái

desynchoronized

Kẻ tấn công theo dõi các chuỗi số và liên tục gửi các gói tin gải mạo

đến từ IP của nạn nhân

Kẻ tấn công tiếp tục giao tiếp với máy chủ trong khi kết nối của nạn

nhân bị treo

Page 37: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

7

IP giả mạo: Định tuyến nguồn gói tin

Định tuyến nguồn gói tin là kỹ thuật được sử dụng để đạt được truy cập

trái phép đến máy tính với trợ giúp của địa chỉ IP máy chủ đáng tin cậy

Địa chỉ IP của máy chủ giả mạo các gói tin để các máy chủ quản lý một

phiên với máy khách, chấp nhận các gói tin

Khi phiên được thiết lập, kẻ tấn công truyền các gói tin giả mạo trước khi

khách hàng đáp ứng

Các gói tin ban đầu bị mất như là máy chủ nhận được gói tin với một

chuỗi số khác nhau

Các gói tin được định tuyến nguồn nơi các phần IP đích có thể được chỉ

định bởi kẻ tấn công

Page 38: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

8

Tấn công RST

Tấn công RST liên quan

đến việc truyền 1 gói authetic-

looking reset (RST) bằng cách sử

dụng địa chỉ nguồn giả mạo và dự

đoán số lượng xác nhận

Nạn nhân tin rằng các nguồn

thực sự gửi các gói tin thiết

lập lại và thiết lập lại kết nối

Tấn công RST có thể được thực

hiện bằng cách sử dụng một gói

công cụ thủ công như gói Bulder

Colasoft và công cụ phân tich

TCP / IP như tcpdump

Bật cờ ACK trong

txpdump các gói tin

thăm dò

Page 39: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 3

9

Tấn công Blind

Những kẻ tấn công có thể truyền các dữ liệu độc hại hoặc lệnh vào các thông tin

liên lạc bị chặn trong phiên TCP ngay cả khi các định tuyến nguồn bị vô hiệu hóa

Những kẻ tấn công có thể gửi dữ liệu hoặc ý kiến, nhưng không được truy cập để

xem phản ứng

Page 40: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

0

Tấn công Man-in-the-Middle dùng gói thăm dò

Trong cuộc tấn công này, gói thăm dò được sử dụng như một giao diện giữa máy

khách và máy chủ

Các gói dữ liệu giữa máy khách và máy chủ được chuyển qua

máy chủ của kẻ tấn công bằng cách sử dụng hai kỹ thuật

Sử dụng giả mạo giao thức tạo thông điệp điều khiển

của Internet (ICMP) - Đó là một phần mở rộng của IP

để gửi các thông báo lỗi nơi mà kẻ tấn công có thể gửi

tin nhắn để đánh lừa các máy khách và máy chủ

Sử dụng giao thức phân giải địa chỉ (ARP) giả mạo-

ARP dùng để ánh xạ địa chỉ IP cục bộ để địa chỉ phần

cứng hoặc các địa chỉ MAC

ARP giả mạo liên quan đến đánh lừa các máy chủ lưu

trữ bằng cách phát sóng yêu cầu ARP và thay đổi

bảng ARP của nó bằng cách gửi giả mạo ARP trả lời

Page 41: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

1

Tấn công UDP

1.Kẻ tấn công gửi một trả lời giả mạo máy chủ đến UDP của máy khách yêu cầu trước

khi máy chủ đáp ứng với nó

2.Kẻ tấn công sử dụng Man-in-the-Middle để đánh chặn phản ứng của máy chủ cho máy

khách và gửi trả lời giả mạo của chính nó

Page 42: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 4

2

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 42 C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 42

LƯU ĐỒ MODULE

Khái niệm

Session

Hijacking

Session

Hijacking

mức ứng

dụng

Session

Hijacking

mức mạng

Công cụ

chiếm quyền

điều khiển

phiên

Biện pháp

đối phó

Thâm

nhập thử

nghiệm

Page 43: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

3

Công cụ Session Hijacking: Paros

Paros là một man-in-the-

middle proxy và máy quét

lỗ hổng ứng dụng

Nó cho phép kẻ tấn công

đánh chặn, sửa đổi, và gỡ

lỗi dữ liệu HTTP và

HTTPS on-the-fly giữa

một máy chủ web và trình

duyệt của khách hàng

Nó cũng hỗ trợ giăng bẫy,

proxy-chaining, lọc, và

quét lỗ hổng ứng dụng

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 43

Page 44: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

4

Công cụ Session Hijacking: Burp Suite

Burp Suite cho

phép kẻ tấn công

kiểm tra và sửa đổi

lưu lượng giữa

trình duyệt và ứng

dụng mục tiêu

Nó phân tích tất cả

các loại nội dung,

với tự động yêu

cầu và cú pháp

phản hồi

Page 45: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

5

Công cụ Session Hijacking: Firesheep

Firesheep là một phần mở rộng cho trình duyệt web

firefox, cho phép kẻ tấn công lấy cắp một session ID

hợp lệ để vào được hệ thống và thăm dò dữ liệu

Page 46: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

6

Công cụ Session Hijacking

Page 47: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 4

7

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 47 C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 47 C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 47

LƯU ĐỒ MODULE

Khái niệm

Session

Hijacking

Session

Hijacking

mức ứng

dụng

Session

Hijacking

mức mạng

Công cụ

chiếm quyền

điều khiển

phiên

Biện pháp

đối phó

Thâm

nhập thử

nghiệm

Page 48: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

8

Biện pháp đối phó

Sử dụng bộ xử lí an toàn (SSL) để tạo ra một kênh giao tiếp an

toàn

Cấp phép xác thực các tập tin cookie qua kết nối HTTPS

Thực hiện đăng xuất chức năng cho người dùng khi kết thúc

phiên

Tạo ra các session ID sau khi đăng nhập thành công

Sử dụng chuỗi hoặc số ngẫu nhiên dài như là một khóa phiên

Vượt qua các dữ liệu được mã hóa giữa người dùng và máy

chủ web

Page 49: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 4

9

Bảo vệ đề phòng Session Hijacking

Sử dụng mã

hóa

Giảm thiểu truy

cập từ xa

Hướng dẫn cho

người dùng

Tạo các session

ID sau khi đăng

nhập

Giới hạn

kết nối

đến

Sử dụng 1

giao thức bảo

mật

Page 50: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

0

Phương pháp để ngăn chặn Session Hijacking: Tiếp theo

là các nhà phát triển Web

Giảm thời gian tồn tại

của một phiên hoặc

một cookie

Tạo các khóa phiên với

chuỗi dài hoặc số ngẫu

nhiên để gây khó khăn cho

kẻ tấn công đoán một khóa

phiên hợp lệ

Hết hạn phiên ngay

sau khi người dùng

đăng nhập

Mã hóa dữ liệu và

khóa phiên chuyển

giao giữa người sử

dụng và máy chủ web

Ngăn chặn nghe lén

trong hệ thống

Tạo lại các session ID

sau khi đăng nhập thành

công để ngăn chặn cuộc

tấn công cố định phiên

Page 51: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

1

Phương pháp để ngăn chặn Session Hijacking: Tiếp

theo là người dùng Web

Không bấm vào

các liên kết nhận

được thông qua

mail hoặc IM

Sử dụng tường

lửa để ngăn chặn

các nội dung độc

hại xâm nhập

vào mạng

Sử dụng tường lửa

và cài đặt trình

duyệt để hạn chế

các tập tin cookie

Hãy chắc chắn

rằng các trang

web được xác

nhận bởi nơi

đáng tin cậy

Đăng xuất từ trình duyệt

bằng cách bấm vào nút

đăng xuất thay vì đóng

trình duyệt

HTTPS tốt hơn, truyền tải

an toàn hơn HTTP khi

truyền dữ liệu nhạy cảm

và bảo mật

Hãy chắc chắn rằng bạn

xóa hết lịch sử, nội

dung ngoại tuyến và

cookie từ trình duyệt

của bạn sau mỗi lần

giao dịch bí mật và nhạy

cảm

Page 52: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

2

Bảo vệ chống lại tấn công Session Hijacking

Sử dụng giao thức mã hóa có

sẵn tại bộ OpenSSH

Sử dụng xác thực mạnh

(như Kerberos) hoặc peer-

to-peer VPN

Sử dụng các sản phẩm IDS

hoặc ARPwatch giám sát

ngộ độc bộ nhớ cache ARP

Cấu hình các quy tắc nội bộ và

giả mạo bên ngoài thích hợp

trên các gateway

Page 53: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

3

Khắc phục hậu quả Session Hijacking

Quốc phòng chiều sâu là một thành

phần quan trọng của kế hoạch an

ninh toàn diện

Quốc phòng chiều sâu cũng là một

thành phần quan trọng trong việc

bảo vệ mạng từ tấn công session

hijacking

Ý tưởng trung tâm phía sau khái niệm

này là nếu một trong những biện pháp

truy cập không thành công thì đã có

những cấp độ bảo vệ bổ sung để bảo

vệ mạng

Quốc phòng chiều sâu được định

nghĩa là việc thực hành sử dụng

nhiều hệ thống an ninh hoặc các

công nghệ để ngăn chặn sự xâm

nhập mạng

Page 54: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

4

IPSec

IPSec là một tập hợp các giao thức được phát triển bởi IETF để hỗ trợ việc trao

đổi an toàn của các gói tin tại lớp IP

Nó được triển khai rộng rãi để thực hiện các mạng riêng ảo (VPNs)

Lợi ích

Xác thực cùng mức

mạng

Xác thực nguồn

gốc dữ liệu

Toàn vẹn dữ liệu

Cẩn mật dữ liệu

(mã hóa)

Bảo vệ phản hồi

Page 55: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

5

Phương thức của IPSec

Chế độ truyền tải

Xác định hai máy tính

kết nối

Có một tùy chọn để mã

hóa dữ liệu chuyển giao

Tương thích với NAT

Chế độ đường hầm

Các gói dữ liệu đóng gói

được chuyển giao

Có một tùy chọn để mã

hóa dữ liệu chuyển giao

Không tương thích với

NAT

Page 56: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

6

Kiến trúc IPSec

Kiến trúc IPSec

Giao thứ AH Giao thức ESP

Thuật toán xác thực Thuật toán mã hóa

DOI

Quản lí chính

Page 57: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

7

IPSec xác thực và bảo mật

IPSec sử dụng hai dịch vụ

bảo mật khác nhau để xác

thực và bảo mật

Xác thực Header (AH)

Đóng gói bảo mật tải tin

(ESP)

1. Xác thực header (AH)

cung cấp dữ liệu xác

thực của người gửi

2. Đóng gói bảo mật tải

tin (ESP) cung cấp cả

dữ liệu xác thực và

mã hóa (bảo mật) của

người gửi

Page 58: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

8

Các thành phần của IPSec

IPSec dirver Một phần mềm, thực hiện

chức năng mức giao thức là

yêu cầu để mã hóa và giải mã

các gói

IPSec Policy Agent Internet Key Exachange (IKE)

Oakley Internet Security Asscociation

Key Management Protocol

Một dịch vụ của

Windows 2000, thu

thập những thiết lập

chính sách IPSec từ

các hoạt động thư mục

và thiết lập cấu hình

cho hệ thống lúc khởi

động

Giao thức IPSec

cung cấp bảo

mật chính cho

IPSec và các

giao thức khác

Một giao thức, sử dụng thuật toán Diffie-

Hellman để tạo ra khóa chính, và một chìa

khóa đó là cụ thể cho từng phiên trong

chuyển giao dữ liệu IPSec

Phần mềm cho phép hai máy tính để giao tiếp

bằng cách mã hóa các dữ liệu được trao đổi

giữa chúng

Page 59: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 5

9

Thực hiện IPSec

Page 60: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 6

0

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 60 C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 60 C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 60 C E H - S E S S I O N H I J A C K I N G - T R Ầ N N GỌ C K H Ả I 60

LƯU ĐỒ MODULE

Khái niệm

Session

Hijacking

Session

Hijacking

mức ứng

dụng

Session

Hijacking

mức mạng

Công cụ

chiếm quyền

điều khiển

phiên

Biện pháp

đối phó

Thâm

nhập thử

nghiệm

Page 61: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 6

1

Bắt đầu Thâm nhập thử nghiệm Session Hijacking

Xác định vị

trí một phiên

Session ID

được sử

dụng trong

URL?

Session

được mã

hóa?

Session ID

được phục hồi?

Session ID

được mã hóa? Thăm dò lưu lượng phiên

giữa hai máy tính

Hủy bỏ hoặc sử dụng

Trojan để thực hiện

session hijacking

Sử dụng mail lừa

đảo cho phiên cố

định

Crack session ID

mã hóa

Sử dụng các công cụ tự

động để cướp các phiên

Thăm dò lưu lượng truy cập phiên

giữa hai máy tính bằng cách sử dụng

các công cụ như Wireshark, CACE

Pilot, Capsa Network Analyzer,

Windump, v..v...

Sử dụng trojan máy chủ proxy có

thể thay đổi các thiết lập proxy trong

trình duyệt của nạn nhân

Sử dụng các công cụ tự động như

Paros proxy, Burp suite,

Wenscarab,v..v.. để cướp phiên

Crack session ID nếu nó được mã

hóa URL, mã hóa HTML, mã hóa

Unicode, mã hóa Hex hoặc mã hóa

Bases64

Page 62: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 6

2

Thâm nhập thử nghiệm Session Hijacking

Thực hiện kết nối bình

thường với một trong các

máy

Thu thập 1 vài session

IDs

Dự đoán một session

ID mới

Bruteforce session

IDs

Phát lại session ID

mới

Tài liệu tất cả các kết

quả

Brute force session ID có hiệu lực với

giới hạn phạm vi của giá trị session ID, vì

vậy session ID chính xác được tìm thấy

Page 63: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 6

3

TÓM TẮT NỘI DUNG

Trong tấn công chiếm quyền điều khiển phiên, kẻ tấn công dựa vào người sử

dụng hợp pháp để kết nối và xác thực, và sau đó sẽ chiếm phiên.

Trong một cuộc tấn công giả mạo, kẻ tấn công giả mạo là một người dùng

khác hoặc máy tính để truy cập.

Thành công chiếm quyền điều khiển phiên truy cập là khó khăn và chỉ có thể

xảy ra khi một số yếu tố dưới sự kiểm soát của kẻ tấn công.

Cướp quyền đăng nhập có thể chủ động hoặc thụ động trong bản chất tùy

thuộc vào mức độ tham gia của các kẻ tấn công.

Một loạt các công cụ tồn tại để hỗ trợ kẻ tấn công gây ra tấn công phiên.

Session hijacking nguy hiểm, và bởi vậy nên nó lại là một sự cần thiết cho

việc thực hiện các biện pháp đối phó triệt để.

Page 64: Session Hijacking Module 11 1778

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I 6

4

Lời trích dẫn

Có thể phá vỡ bảo mật không làm cho bạn trở

thành một hacker nhưng có thể làm cho bạn trở

thành một kỹ sư

- Eric Raymond,

Một tác giả và là người ủng hộ phần mềm

nguồn mở