Application Level Session Hijacking
Khái niệm
Đánh cắp phiên tập trung vào lớp ứng dụng của mô hình OSI. Trong quá trình chiếm quyền điều khiển lớp ứng dụng, kẻ tấn công tìm kiếm ID phiên hợp pháp từ nạn nhân để có quyền truy cập vào một phiên được xác thực cho phép kẻ tấn công tận dụng các tài nguyên ứng dụng.
Ví dụ, kẻ tấn công, với việc chiếm quyền điều khiển lớp ứng dụng có thể truy cập vào tài nguyên được bảo mật chỉ dành cho người dùng đã xác thực. Máy chủ giả định rằng đã biết yêu cầu đến trong khi kẻ tấn công đã chiếm đoạt phiên bằng cách dự đoán ID phiên.
Sniffing ID phiên
Đánh hơi phiên là một hình thức khác của đánh hơi trong đó kẻ tấn công tìm kiếm ID/Session Token để có quyền truy cập vào các tài nguyên.
Dự đoán token phiên
Dự đoán ID phiên là quá trình quan sát các ID phiên hiện đang được sử dụng. Bằng cách quan sát phần chung và phần biến của khóa phiên, kẻ tấn công có thể đoán khóa phiên tiếp theo.
Máy chủ web thường tạo phiên ID phiên ngẫu nhiên để khó đoán, tuy nhiên một số máy chủ sử dụng các thuật toán do người dùng xác định để gán ID phiên.
Sau khi quan sát các ID phiên ở trên, bạn có thể dễ dàng xác định phần không đổi và các phần biến khác. Trong ví dụ trên, ABCD là tên user, 01012017 là ngày và phần cuối là thời gian. Kẻ tấn công có thể đoán được ID phiên lúc 19:25:10 là:
Man-in-the-Middle ID phiên
Quá trình thu thập session ID sử dụng tấn công Man-in-the-Middle yêu cầu chia kết nối giữa nạn nhân và Server thành hai kết nối, và kẻ tấn công sẽ chen vào giữa.
Man-in-the-Browser ID phiên
Thỏa hiệp ID phiên bằng cách sử dụng tấn công Man-in-the-Browser yêu cầu Trojan đã được triển khai trên máy mục tiêu. Trojan có thể thay đổi cài đặt proxy, chuyển hướng tất cả lưu lượng truy cập thông qua kẻ tấn công hoặc chặn quá trình giữa trình duyệt và cơ chế bảo mật của nó.
Để khởi động cuộc tấn công Man-in-the-Browser, kẻ tấn công lây nhiễm Trojan vào máy nạn nhân. Trojan cài đặt mã độc hại dưới dạng một phần mở rộng trên máy của nạn nhân và nó sửa đổi cấu hình trình duyệt khi khởi động.
Khi người dùng đăng nhập vào trang web, URL được kiểm tra dựa trên danh sách đã biết của trang web được nhắm mục tiêu, trình xử lý sự kiện sẽ đăng ký sự kiện khi nó được phát hiện. Sử dụng giao diện DOM, kẻ tấn công có thể trích xuất và sửa đổi các giá trị khi người dùng nhấp vào nút.
Trình duyệt sẽ gửi biểu mẫu với các mục đã bị sửa đổi đến máy chủ. Khi trình duyệt hiển thị chi tiết giao dịch ban đầu, người dùng không thể xác định bất kỳ hành vi đánh chặn nào.
Tấn công Client-side ID phiên
ID phiên có thể bị xâm phạm dễ dàng bằng cách sử dụng các cuộc tấn công từ phía Máy khách như:
- Cross-Site Scripting (XSS)
- Mã JavaScript độc hại
- Trojan
Tấn công Cross-site Script
Tấn công Cross-site Scripting được thực hiện bằng cách gửi một liên kết thủ công với một tập lệnh độc hại. Khi người dùng nhấp vào liên kết độc hại này, các đoạn mã sẽ được thực thi. Tập lệnh này có thể được mã hóa để trích xuất các ID phiên và gửi cho kẻ tấn công.
Tấn công Cross-site Request Forgery
Tấn công truy vấn yêu cầu giả mạo (CSRF) là quá trình lấy ID phiên của người dùng hợp pháp và khai thác phiên hoạt động với trang web đáng tin cậy để thực hiện các hoạt động độc hại
Tấn công Session Replay
Một kỹ thuật khác để chiếm quyền điều khiển phiên là tấn công phát lại phiên. Kẻ tấn công bắt mã thông báo xác thực của người dùng từ máy chủ và phát lại yêu cầu tới máy chủ, dẫn đến truy cập trái phép.
Tấn công Session Fixation
Phiên cố định là một cuộc tấn công cho phép kẻ tấn công chiếm quyền điều khiển phiên. Kẻ tấn công phải cung cấp ID phiên hợp lệ và làm cho trình duyệt của nạn nhân sử dụng. Nó có thể được thực hiện theo kỹ thuật sau
- Mã phiên trong đối số URL
- Mã phiên ở dạng ẩn
- ID phiên trong cookie
Trình tấn công bắt đầu kết nối hợp pháp với máy chủ, phát hành ID phiên mới. Sau đó, kẻ tấn công sẽ gửi liên kết đến nạn nhân với ID phiên đã thiết lập để bỏ qua xác thực. Khi người dùng nhấp vào liên kết và đăng nhập vào trang web, máy chủ sẽ tiếp tục phiên khi nó đã được thiết lập và xác thực được thực hiện. Bây giờ, kẻ tấn công đã có thông tin ID phiên có thể sử dụng tài khoản người dùng hợp pháp.
Network Level Session Hijacking
Chiếm quyền cấp độ mạng tập trung vào các giao thức tầng Transport và tầng Internet được sử dụng bởi tầng ứng dụng. Tấn công cấp độ mạng dẫn đến việc trích xuất thông tin có thể hữu ích cho phiên lớp ứng dụng.
Một số loại chiếm quyền điều khiển cấp độ mạng bao gồm:
- Blind Hijacking
- UDP Hijacking
- TCP/IP Hijacking
- RST Hijacking
- MITM
- IP Spoofing
Quy trình 3-Way Handshake
Giao tiếp TCP bắt đầu với sự bắt tay 3 bước giữa máy chủ yêu cầu và máy chủ đích. Trong quá trình này, các gói đồng bộ hóa (SYN) và các gói thông báo (ACK) được giao tiếp với nhau.
TCP/IP Hijacking
Quá trình chiếm quyền điều khiển TCP/IP là cuộc tấn công ở cấp độ mạng trên một phiên TCP trong đó kẻ tấn công dự đoán số hiệu tuần tự của gói tin truyền giữa nạn nhân và máy chủ. Để thực hiện tấn công TCP/IP, kẻ tấn công phải ở cùng một mạng với nạn nhân.
Thông thường, kẻ tấn công sử dụng các công cụ đánh hơi để nắm bắt các gói tin và trích xuất số hiệu tuần tự. Bằng cách đưa gói tin giả mạo để gián đoạn phiên. Liên lạc từ người dùng hợp pháp có thể bị gián đoạn bởi một cuộc tấn công Từ chối Dịch vụ hoặc Đặt lại kết nối.
Source Routing
Định tuyến nguồn là một kỹ thuật gửi gói tin qua tuyến đường đã chọn. Trong chiếm quyền điều khiển phiên, kỹ thuật này được sử dụng để giả mạo IP như một máy chủ hợp pháp để hướng lưu lượng truy cập qua đường dẫn giống với đường dẫn của nạn nhân.
RST Hijacking
Hijacking RST là quá trình gửi gói Reset (RST) đến nạn nhân với địa chỉ nguồn giả mạo. Số xác nhận được sử dụng trong gói này cũng được dự đoán. Khi nạn nhân nhận được gói tin này, nó không thể xác định rằng gói tin đó bị giả mạo mà tin rằng nguồn thực sự đã gửi gói tin thiết lập lại kết nối. Gói RST có thể được tạo bằng các công cụ tạo gói.
Blind Hijacking
Blind Hijacking là kỹ thuật mà kẻ tấn công không thể nắm bắt được lưu lượng truy cập trở lại. Trong đó, kẻ tấn công nắm bắt gói tin đến từ nạn nhân được định hướng tới máy chủ, đưa gói tin độc hại và chuyển tiếp đến máy chủ mục tiêu.
Forged ICMP and ARP Spoofing
Một cuộc tấn công man-in-the-middle cũng có thể được thực hiện bằng cách sử dụng gói ICMP giả mạo và kỹ thuật giả mạo ARP. Các gói ICMP giả mạo như đích không khả dụng hoặc thông báo có độ trễ cao được gửi để đánh lừa nạn nhân
UDP Hijacking
Quá trình chiếm quyền điều khiển phiên UDP đơn giản hơn so với chiếm quyền điều khiển phiên TCP. Vì UDP là một giao thức không kết nối, nó không yêu cầu bất kỳ gói trình tự nào giữa máy khách và máy chủ yêu cầu. Đánh cắp phiên UDP là gửi gói phản hồi trước khi máy chủ đích phản hồi. Có nhiều kỹ thuật để chặn lưu lượng đến từ máy chủ đích.