1.1.2 Khái ni ệm về Session: - Cookie là một đoạn văn bản ghi thông tin được tạo ra và lưu trên trình duyệt của máy người dùng.Cookie thường được tạo ra khi người dùng truy cập một websi
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
Bài báo cáo:
Tìm hiểu về Session Hijacking và
phần mềm Cookie Cadger
Giảng viên hướng dẫn: TS Đặng Minh Tuấn
Sinh viên thực hiện: Nhóm 11
Kiều Tuấn Long - B18DCAT142
Hà Nội 2021
Trang 2DANH MỤC CÁC HÌNH VẼ
Hình 1: Mô phỏng tấn công bằng session hijacking
Hình 2: Mô phỏng tấn công thông qua session ID
Hình 3: Mô phỏng tấn công thông qua XSS
Hình 4: Cài đặt Cookie Cadger trên kali
Hình 5: Cửa sổ terminal khi cài đặt thành công Cookie Cadger
Hình 6: Màn hình khi bật Cookie Cadger
Hình 7: Màn hình khi bật Cookie Cadger
Hình 8: Màn hinhd brower khi truy cập trang web để quét các request gửi đi
Hình 9: Màn hình hiển thị các request được gửi đi khi truy cập trang web
Hình 10:Màn hình hiển thị thông tin của 1 request được gửi đi
Hình 12: Màn hình hiển thị các request được gửi đi khi truy cập trang web
Trang 3
Mục Lục
LỜI MỞ ĐẦU 4
Chương 1 Tổng quan về Session Hijacking 5
1.1.Tổng quan về Session Hijacking 5
1.1.1 Giới thiệu về Session: 5
1.1.2 Khái niệm về Session 5
1.1.3 Session Hijacking là gì ? 6
1.1.4 Sự nguy hiểm của Hijacking 7
1.1.5 Ví dụ thực tế 7
1.2 Nguyên nhân có thể thai thác lỗi Session Hijacking: 10
1.3 Các kỹ thuật tấn công Session Hijacking chính 11
1.3.1 Brute Forcing .11
1.3.2 Stealing .11
1.3.3 Calculating 11
1.4.SỰ KHÁC NHAU GIỮA SPOOFING VÀ HIJACKING 11
1.4.1Tấn công Spoofing 11
1.4 2Tấn công Hijacking 11
1.5.CÁC LOẠI SESSION HIJACKING 11
1.6.Session Hijacking trong mô hình OSI 12
1.6.1 Hijacking mức mạng .12
1.6.2 Hijacking mức ứng dụng .12
1.7 Phòng Chống Session Hijacking .12
Chương 2 Tổng quan về Cookie Cadger 14
2.1 Lịch sử hình thành .14
2.2 Giới thiệu chung .15
2.3 Hướng dẫn cài đặt .15
Trang 4Chương 3 Demo sử dụng Cookie Cadger 18 Demo 1: Quét các request được gửi đi sử dụng Cookie Cadger .18 Demo 2: Tương tự, khi ta truy cập vào trang web facebook.com và đăng nhập 20
Kết luận 21 Tài liệu tham khảo 23
Trang 5Việc giao dịch, thương lượng qua mạng internet là điều cần phải có, vì vậy vấn đề bảo mật thông tin, ngăn chặn sự xâm phạm và đánh cắp thông tin cá nhân nói chung và thông tin máy tính nói riêng là điều rất cần thiết, khi mà ngày càng có nhiều hacker xâm nhập và phá huỷ dữ liệu quan trọng làm thiệt hại đến kinh tế của các cá nhân cũng như các công ty nhà nước
Được sự hướng dẫn nhiệt tình và chu đáo của giảng viên Đặng Minh Tuấn, em đã tìm hiểu và nghiên cứu đồ án: “Tìm hiểu về Session Hijacking và tool Cookie Cadger” Đồ án trình bày những vấn đề về Tổng quan Session Hijacking
và Tìm hiểu về tool Cookie Cadger Đồ án bao gồm những nội dung chính sau: Chương 1: Tổng quan về Session Hijacking
Chương 2: Tìm hiểu về tool Cookie Cadger
Do còn thiếu kinh nghiệm thực tiễn nên đồ án này không tránh khỏi những thiếu sót Rất mong được sự đóng góp ý kiến của quý thầy cô và bạn bè để đồ án này được hoàn thiện hơn
Trang 6Chương 1 Tổng quan về Session Hijacking
1.1.Tổng quan về Session Hijacking
1.1.1 Gi ới thiệu về Session:
- Session là một khái niệm phổ biến được dùng trong lập trình các website có kết nối với cơ sở dữ liệu database Đặc biệt các chức năng như đăng nhập, đăng xuất người dùng sẽ khó có thể thực hiện được nếu không sử dụng session
- Session đơn giản là 1 cách để chúng ta lưu lại dữ liệu của người dùng sử dụng website Giá trị của session được lưu trong một tập tin trên máy chủ Ví dụ khi bạn đăng nhập vào một trang web và đăng nhập với tài khoản đã đăng ký trước đó Máy chủ sau khi xác thực được thông tin bạn cung cấp là đúng nó sẽ sinh ra một tập tin (hay chính là session của trình duyệt của bạn) chứa dữ liệu cần lưu trữ của người dùng
- Bạn có thể tuỳ ý quyết định xem nên lưu trữ những thông tin nào vào Session Nhưng thông thường chúng ta chỉ nên lưu những thông tin tạm thời trong session ví dụ như số lượng sản phẩm người dùng đã thêm vào giỏ nhưng chưa mua, hay những nhật xét đang được viết và lưu dưới dạng nháp nhưng chưa gửi đi Những dữ liệu sử dụng lâu dài như nội dung nhận xét đã được gửi đi hay số sản phẩm đã được mua thì nên được thực hiện ở máy chủ chứa cơ sở dữ liệu
-Tệp Session được lưu trên server
1.1.2 Khái ni ệm về Session:
- Cookie là một đoạn văn bản ghi thông tin được tạo ra và lưu trên trình duyệt của máy người dùng.Cookie thường được tạo ra khi người dùng truy cập một website,cookiesẽ ghi nhớ những thông tin như tên đăng nhập, mật khẩu, các tuỳ chọn do người dùng lựa chọn đi kèm Các thông tin này được lưu trong máy tính để nhận biết người dùng khi truy cập vào một trang web
Trang 7- Khi người dùng truy cập đến một trang web có sử dụng cookie, web server của trang đó sẽ tự động gửi cookie đến máy tính của người
dùng Những cookie này tự động được tổ chức trong hệ thống máy tính Khi truy cập đến các trang web sử dụng được cookie đã lưu, những cookie này tự động gửi thông tin của người dùng về cho chủ của nó (người tạo ra cookie) Tuy nhiên những thông tin do cookie ghi nhận không được tiết lộ rộng rãi, chỉ có website chứa cookie mới có thể xem được những thông tin này.Cookie được xem là một thành phần không thể thiếu được với những website có khối lượng dữ liệu lớn, có số lượng người dùng đông, và có những chức năng đi kèm với thành viên đăng ký Phần lớn các website này là các website thương mại điện tử
- Cookie là một mẫu tin nhỏ có thể được trình duyệt tạo ra khi người dùng truy cập vào web và dùng để lưu trữ thông tin của người dùng ở phía trình duyệt (client)
1.1.3 Session Hijacking là gì ?
- Session Hijacking :
O Là hình thức tấn công vào phiên làm việc giữa client và server cách đánh cắp cookie của người sử dụng sau khi họ đã qua bước xác thực với máy chủ, sau đó sẽ chiếm quyền điều khiển của phiên làm việc này
O Attacker “trộm” Session ID hợp lệ và chiếm quyền truy cập vào hệ thống và “ăn trộm” dữ liệu trên hệ thống
-TCP Session Hijacking :
O Attacker chiếm TCP Session giữa hai máy tính
O Quá trình chứng thực chỉ xuất hiện khi bắt đầu một TCP Session, do đó Attacker có thể dành quyền truy cập vào một máy tính
Trang 8HÌNH 1
1.1.4 S ự nguy hiểm của Hijacking
- Hầu hết có thể khai thác lỗi này nếu không sử dụng cơ chế mã hóa
- Attacker có thể trộm thông tin định danh và các dữ liệu của người dùng
- Hầu hết các máy tính sử dụng TCP/IP có nguy cơ bị khai khác lỗi này
- Rất dễ tiến hành, đặc biệt là trong môi trường mạng không dây thì tỉ
lệ thành công rất cao
1.1.5 Ví d ụ thực tế
Ví dụ 1: Có phóng viên của tạp chí nổi tiếng đã mất nhiều thời gian để
sưu tâm và viết bài về một vụ án được nhiều người quan tâm, nhưng khi bài báo chuẩn bị lên khuôn thì trên mạng đã xuất hiện rất nhiều tin tức liên quan đến chủ đề này khiến cho chính tác giả phải ngạc nhiên,
vì không biết tại sao thông tin đã bị lộ dù anh ta nói rằng mình đã cài đặt đầy đủ chương trình bảo vệ, phòng chống virus Nguyên nhân là phóng viên này đã sử dụng máy tính trong các quán ca phê Wifi thiếu
cẩntrọng bị hacker tấn công Session Hijacking đột nhập vào hộp thư
điện tử lấy đi các tin bài quan trọng
Trang 9Ví dụ 2:Đầu tiên kẻ tấn công sử dụng trình đánh hơi để nắm bắt phiên
mã thông báo hợp lệ được gọi là “Session ID”, sau đó chúng sử dụng phiên mã thông báo hợp lệ để truy cập trái phép vào Máy chủ web
Hình 2
Ví dụ 3: Kẻ tấn công có thể xâm phạm mã thông báo phiên bằng cách
sử dụng mã độc hại hoặc các chương trình đang chạy ở phía máy khách Ví dụ cho thấy cách kẻ tấn công có thể sử dụng một cuộc tấn
Trang 10công XSS để đánh cắp mã thông báo phiên Nếu kẻ tấn công gửi một liên kết được tạo thủ công cho nạn nhân bằng JavaScript độc hại, khi nạn nhân nhấp vào liên kết, JavaScript sẽ chạy và hoàn thành các hướng dẫn của kẻ tấn công Ví dụ trong hình 3 sử dụng một cuộc tấn công XSS để hiển thị giá trị cookie của phiên hiện tại; sử dụng kỹ thuật tương tự, có thể tạo một mã JavaScript cụ thể sẽ gửi cookie đến
kẻ tấn công
Hình 3
Ví dụ 4: Vào tháng 9 năm 2012, các nhà nghiên cứu bảo mật Thái
Dương và Juliano Rizzo đã công bố CRIME, một cuộc tấn công lợi dụng sự rò rỉ thông tin trong tỷ lệ nén của các yêu cầu TLS như một kênh phụ để cho phép chúng giải mã các yêu cầu của máy khách gửi đến máy chủ Điều này cho phép họ lấy cookie đăng nhập của người dùng, sau đó chiếm quyền điều khiển phiên của người dùng và mạo danh họ trên các điểm đến có giá trị cao như ngân hàng hoặc trang thương mại điện tử Cuộc biểu tình cho thấy kẻ tấn công có thể thực hiện cuộc tấn công này như thế nào để khôi phục các tiêu đề của một yêu cầu HTTP Vì tiêu đề HTTP có chứa cookie và cookie là phương
Trang 11tiện chính để xác thực ứng dụng web (sau khi đăng nhập), điều này thể hiện một cuộc tấn công đáng kể CRIME giải mã cookie HTTPS
do trang web đặt để ghi nhớ những người dùng đã xác thực bằng vũ lực Mã tấn công buộc trình duyệt của nạn nhân gửi các yêu cầu HTTPS được chế tạo đặc biệt đến một trang web được nhắm mục tiêu
và phân tích sự thay đổi về độ dài của chúng sau khi chúng được nén
để xác định giá trị của cookie phiên của nạn nhân Điều này có thể thực hiện được vì SSL / TLS sử dụng thuật toán nén được gọi là DEFLATE, giúp loại bỏ các chuỗi trùng lặp, như chúng ta đã thấy ở trên Mã tấn công không thể đọc cookie phiên được bao gồm trong các yêu cầu do các cơ chế bảo mật trong trình duyệt Tuy nhiên, nó có thể kiểm soát đường dẫn của mọi yêu cầu mới và có thể chèn các chuỗi khác nhau vào đó để tìm cách khớp với giá trị của cookie Các giá trị của cookie phiên có thể khá dài và được tạo thành từ các chữ cái viết hoa, các chữ cái viết thường và các chữ số Do đó, mã tấn công CRIME phải khởi tạo một số lượng rất lớn các yêu cầu để giải mã chúng, quá trình này có thể mất vài phút Tuy nhiên, các nhà nghiên cứu đã phát triển một số thuật toán giúp cuộc tấn công hiệu quả hơn
Do đó, trong vài trò của một chuyên gia bảo mật hay CEH chúng ta cần hướng dẫn người dùng tránh sử dụng máy tính trong môi trường công cộng (un-trusted) thiếu cẩn trọng, vì dạng tấn công Session Hijacking rất dễ tiến hành, đặc biệt là trong môi trường mạng không dây thì tỉ lệ thành công rất cao Trong chương trình đào tạo về an toàn thông tin cho các cán bộ của Tổng Cục Hải Quan tôi có trình bày một tình huống Side Jacking để minh họa tác động của nó và khi học viên thực hành trong môi trường thực tế thì hầu hết đều cho rằng đạt kết quả thành công
1.2 Nguyên nhân có th ể thai thác lỗi Session Hijacking:
- Không cấu hình Account Lockout cho Session ID không hợp lệ
- Thuật toán phát sinh Session ID : Yếu
- Không kiểm soát được nguy cơ bảo mật
- Không xác định thời gian hết hạn Session
- Kích thước Session ID : Nhỏ-Truyền thông dạng Clear text
Trang 121.3 Các kỹ thuật tấn công Session Hijacking chính
1.3.1 Brute Forcing
-Kiểu tấn công brute force là kiểu tấn công được dùng cho tất cả các loại mã hóa Brute force hoạt động bằng cách thử tất cả các chuỗi mật khẩu có thể để tìm ra mật khẩu Vì thế nên thời gian cần rất lâu, tùy theo độ dài của mật khẩu nhưng khả năng để tìm ra là luôn luônnếu không giới hạn thời gian Brute force chỉ được dùng khi các phương pháp khác đều không có hiệu quả
1.4 2T ấn công Hijacking
-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
1.5.CÁC LOẠI SESSION HIJACKING
- Có hai dạng Session Hijacking đó là chủ động và bị động Khác biệt chính
giữa hai hình thức hijacking này phụ thuộc vào sự tác động của hacker lên phiên làm việc của người sử dụng trong môi trường mạng Ở trạng thái chủ độnghacker sẽ tìm các phiên làm việc đang hoạt động và chiếm đoạt nó thông qua các công cụ và tính toán các giá trị tuần tự của gói tin trong TCP session Ngược lại, ở tình huống tấn công hijacking thụ độngthì các kẻ tấn
Trang 13công chỉ theo dõi và ghi lại tất cả những truyền thông được gởi bởi người sử dụng hợp lệ, các bạn có thể thấy tình huống này rất giống với nghe lén vì nó
sẽ thu thập các thông tin quan trọng của người dùng như mật khẩu đăng nhập để tiến hành xác thực cho các lần xâm nhập trái phép sau này trên một session khác
1.6.Session Hijacking trong mô hình OSI
1.7 Phòng Chống Session Hijacking
- Để phòng chống không bị tấn công SessionHijacking thì chúng ta cần phòng tránh bị nghe lén, một khi hacker khôngthể nghe lén được thì cũng không thể tấn công vào session của người dùng Một trong các giải pháp đế tránh các sniffer chính là mã hóa dữ liệu, mã hóa đường truyền với các kỹ thuật như dùng Secure Shell (SSH thay cho Telnet thông thường) khi quản trị từ xa hay áp dụng Secure Socket Layer (SSL dùng cho truyền thông qua HTTPS )
- Ngoài ra chúng ta có thể ngăn không cho hacker tương tác vào đường truyền cũng giúp loại bỏ nguy cơ bị tấn công này, với những giải pháp hữu hiệu như dùng mạng riêng ảo (VPN), hay áp dụng IPSEC Nhiều ý kiến còn cho rằng khi truy cập internet ở môi trường công cộng hãy dùng các thiết bị DCOM 3G cũng giảm đáng kể nguy cơ mất mát dữ liệu
- Sau đây là một số khuyến nghị nhằm ngăn ngừa Session Hijacking:
Sử dụng mã hóa
Trang 14 Ứng dụng các giao thức an toàn
Hạn chế các kết nối đầu vào
Giảm các truy cập từ xa
Trang 15Chương 2 Tổng quan về Cookie Cadger
đề xuất dự án sau:
Để hướng dẫn người dùng về các vấn đề xung quanh việc sử dụng Wi-Fi không được mã hóa, tác giả đề xuất tạo một plugin dựa trên Linux mới cho Firefox để giám sát kênh không dây trong chế độ không bảo mật Tiện ích này sẽ phát hiện các yêu cầu HTTP GET
và sẽ trích xuất tất cả thông tin tiêu đề, bao gồm cookie hoặc thông tin ủy quyền
Sau đó, tiện ích sẽ mở trang hiển thị này trên màn hình trong Firefox trong khi phát lại cookie và thông tin ủy quyền trở lại máy
chủ, do đó duy trì thông tin phiên (chẳng hạn dưới dạng các trang được xác thực trên Facebook, Twitter và các trang web khác) và làm cho tác động đến bản demo để giáo dục người dùng
Sau khi hoàn thành, tiện ích này sẽ được sử dụng cho các bản demo bởi Sinh viên đảm bảo thông tin Các bộ phận Nhóm và Đảm bảo Thông tin tại ISU nhằm quan tâm đến vấn đề bảo mật và hơn nữa các nỗ lực tiếp cận cộng đồng của các nhóm
Nó cũng sẽ được phát hành dưới dạng phần mềm mã nguồn mở cho các nhóm lợi ích an ninh khác để sử dụng trong các nỗ lực giáo dục của họ
Trong 16 tháng tiếp theo, Cookie Cadger đã phát triển từ một phương pháp chính duy nhất thành
6.000 dòng mã trải dài ba phiên bản chính Chương này trình bày chi tiết về thiết
kế của Cookie
Cadger và giải thích việc triển khai bộ tính năng của nó
Trang 162.2 Giới thiệu chung
Đây là công cụ kiểm tra kết nối Wi-Fi hoặc Ethernet có dây, giúp xác định
rò rỉ thông tin từ các ứng dụng sử dụng các yêu cầu HTTP GET không an toàn
2.3 Hướng dẫn cài đặt
1 Bước 1: Cài đặt máy ảo Kali
2 Bước 2: Trong máy ảo kali, bật cửa sổ terminal và gõ:
Hình 4
3 Bước 3: Sau khi mọi cài đặt đã thành công chúng ta sẽ nhìn thấy màn hình như dưới đây, và gõ cookie-cadger để hiển thị phần mềm và sử dụng
Trang 17Hình 5
Hình 6
Trang 18Hình 7
Trang 19Chương 3 Demo sử dụng Cookie Cadger
Demo 1: Quét các request được gửi đi sử dụng Cookie Cadger
a Khởi động phần mềm Cookie Cadger
b Vào trình duyệt bất kì và truy cập vào trang web
init0buntu.blogspot.in
Hình 8 Sau khi truy cập vào trang web, phần mềm cookie cadger bắt đầu kiểm tra những request
mà chúng ta gửi đi, rồi nó sẽ phân tích Tại đâi chúng ta có thể nhìn thấy được những thông tin cần thiết khi request được gửi đi