CEH - Session Hijacking - Trần Ngọc Khải 13Quá trình chiếm quyền điều khiển phiên Đặ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
Trang 1SESSION HIJACKING
MODULE 11
GVHD: Lê Tự Thanh SVTH: Trần Ngọc Khải
Trang 2CEH - Session Hijacking - Trần Ngọc Khả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.
Trang 3CEH - Session Hijacking - Trần Ngọc Khải 3
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
Trang 4Session 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
Trang 5CEH - Session Hijacking - Trần Ngọc Khải 5
Trang 6Mối nguy hiểm từ Hijacking
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
Trang 7CEH - Session Hijacking - Trần Ngọc Khả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 minhSession Ids nhỏ
Xử lí không an toàn
7
Trang 8Các kỹ thuật Session Hijacking chính
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 IDCalculating
Trang 9CEH - Session Hijacking - Trần Ngọc Khả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
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/viewmsg.asp?msgid=689645&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
Trang 10Tấ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
Trang 11CEH - Session Hijacking - Trần Ngọc Khải 11
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=689645&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
Trang 12Sự khác nhau giữa Spoofing và 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ìnhchiế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
Trang 13CEH - Session Hijacking - Trần Ngọc Khải 13
Quá trình chiếm quyền điều khiển phiên
Đặ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
Trang 14Phân tích gói của một tấn công chiếm phiên cục bộ
Trang 15CEH - Session Hijacking - Trần Ngọc Khải 15
Các loại Session Hijacking
Trang 16Session 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
Trang 17CEH - Session Hijacking - Trần Ngọc Khải 17
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
Trang 18Session 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 session tokenPredictable
middle attack
browser attack Client-side attacks
Trang 19CEH - Session Hijacking - Trần Ngọc Khải 19
Trang 20Dự đoán Session Token
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
Trang 21CEH - Session Hijacking - Trần Ngọc Khải 21
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
Trang 22Tấ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
Trang 23CEH - Session Hijacking - Trần Ngọc Khải 23
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
nó
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
Trang 24Cá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ủ
Trang 25CEH - Session Hijacking - Trần Ngọc Khải 25
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ử
Trang 26Kiể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
Trang 27CEH - Session Hijacking - Trần Ngọc Khải 27
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>
Trang 28CEH - Session Hijacking - Trần Ngọc Khải 28
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
Trang 29CEH - Session Hijacking - Trần Ngọc Khải 29
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
Trang 30CEH - Session Hijacking - Trần Ngọc Khải 30
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
Trang 31CEH - Session Hijacking - Trần Ngọc Khải 31
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
Trang 32CEH - Session Hijacking - Trần Ngọc Khải 32
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
Trang 33CEH - Session Hijacking - Trần Ngọc Khải 33
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
Trang 34Dự đ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ủ
Trang 35CEH - Session Hijacking - Trần Ngọc Khải 35
Để 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
Trang 36CEH - Session Hijacking - Trần Ngọc Khải 36
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
Trang 37CEH - Session Hijacking - Trần Ngọc Khải 37
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ậptrá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ộtphiê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 khikhá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ộtchuỗ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
Trang 38CEH - Session Hijacking - Trần Ngọc Khải 38
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 trongtxpdump các gói tinthăm dò
Trang 39CEH - Session Hijacking - Trần Ngọc Khải 39
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óaNhữ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
Trang 40CEH - Session Hijacking - Trần Ngọc Khải 40
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
Trang 41CEH - Session Hijacking - Trần Ngọc Khải 41
Trang 42CEH - Session Hijacking - Trần Ngọc Khải 42
42 42
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
Trang 43CEH - Session Hijacking - Trần Ngọc Khải 43
Công cụ Session Hijacking: Paros
Trang 44Cô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
Trang 45CEH - Session Hijacking - Trần Ngọc Khải 45
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
Trang 46Công cụ Session Hijacking
Trang 47CEH - Session Hijacking - Trần Ngọc Khải 47
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
Trang 48Biệ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
Trang 49CEH - Session Hijacking - Trần Ngọc Khải 49
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
Trang 50CEH - Session Hijacking - Trần Ngọc Khải 50
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
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