Vào một ngày đẹp trời, bạn login tài khoản facebook của mình và bất ngờ khi trên tường của mình xuất hiện một dòng status do bạn viết mà không phải do bạn viết. Tá hỏa và bối rối không biết đang có chuyện gì xảy ra, bạn nhanh chóng đưa ra một phương án đó là change password tài khoản facebook của mình. Ok, mọi việc dường như đã khá hơn. Nhưng bất ngờ, một lát sau, bạn login vào tài khoản và thấy một dòng status khủng bố: “ Đổi pass cũng không ăn thua đâu cưng … “
Vậy chuyện rắc rối gì đã xảy ra vậy? Vâng, rất có thể bạn đã là nạn nhân của một cuộc tấn công Session Sidejacking.
Trong bài viết này chúng tôi sẽ hướng dẫn cách hack một tài khoản facebook, Twitter,… bằng kỹ thuật HTTP Session Sidejacking qua mạng LAN hoặc mạng WIFI .
Session Sidejacking là gì ?
Phương pháp chủ yếu là sử dụng gói tin nguồn-định tuyến IP (source-routed IP packets). Điều này cho phép hacker đứng tại điểm A trên mạng có thể tham gia vào cuộc trò chuyện giữa B và C (kiểu man-in-middle attack ) bằng cách khuyến khích các gói tin IP đi qua máy của mình.
Session Sidejacking là kiểu tấn công thuộc họ man-in-middle attack (MITM), mục đích là nghe lén đường truyền giữa người dùng và các máy chủ dịch vụ bằng các công cụ sniff rồi đánh cắp các dữ liệu quan trọng liên quan tới phiên làm việc của người dùng, rồi phục dựng phiên làm việc này trên một máy tính thứ 3.
Trong khoa học máy tính, việc cướp quyền đăng nhập thông qua một máy tính hợp lệ được thực hiện rất đơn giản thông qua việc sử dụng cookie. Kẻ tấn công có thể thực hiện bằng cách dùng một máy tính trung gian và ăn trộm cookie được lưu trên máy tính của nạn nhân và thực hiện kế hoạch phá hoại của mình.
Mô tả quá trình tấn công:
- Bước 1: Kết nối vào mạng wifi hoặc mạng LAN của nạn nhân
- Bước 2: Thực hiện ARP Poison Routing, bước này nằm giúp bạn có thể biến máy tính của bạn trở thành một router giả danh nhằm mục đích nghe lén dữ liệu được trung chuyển trên toàn mạng.
- Bước 3: Sniff tất cả dữ liệu trung chuyển trên mạng wifi sau khi mạng này đã bị ARP Poison Routing thông qua công cụ Wireshark
- Bước 4: Lọc ra dữ liệu đến từ người dùng cụ thể, ví dụ một người dùng có IP là: 192.168.1. và bóc tách dữ liệu cookie của người dùng
- Bước 5: Thực hiện cookie injection, nhằm chèn dữ liệu về cookie vào trình duyệt của người tấn công
- Bước 6: Khôi phục hoàn toàn phiên truy cập web của người dùng trên máy tính của người tấn công
Tấn công HTTP Session Sidejacking
Các công cụ cần thiết:
1. Wireshark (tải về tại đây)
2. Cain and Abel (tải về tại đây)
3. Trình duyệt Mozilla Firefox (Bắt buộc) và Mozilla Addons (Grease Monkey) (tải về tại đây)
4. Cookie Injector (tải về tại đây)
Thực hiện:
Kết nối vào mạng LAN hoặc Wifi
Bước 1: Cài đặt Wireshark, Cain and Abel, Grease Monkey, Cookie Injector.
Bước này bạn thực hiện cài đặt bình thường như những phần mềm khác, với chú ý yêu cầu chạy dưới quyền administrator và cho phép cài đặt Winpcap.
Cài đặt Cookie Injection, bạn chỉ cần kéo thả file Cookieinjector.user.js vào giao diện của Firefox như hình vẽ.
Bước 2: Bật Wireshark vào menu Capture / Interfaces (Ctrl + I). Chọn card mạng của bạn và nhấn Start để bắt đầu quá trình chụp gói tin (capture packets) qua mạng.
Bạn sẽ thấy các gói tin hiện ra ào ào, trong đó bạn chú ý:
- Source: Địa chỉ nguồn, nơi chứa tất cả các địa chỉ mà gói tin xuất phát, bao gồm cả địa chỉ của nạn nhân bị tấn công
- Destination: Địa chỉ đích, nơi chứa địa chỉ mà gói tin sẽ tới.
Bước 3: Chạy Cain&Abel, vào menu configure chọn card mạng (chọn cái nào hiện tại có địa chỉ IP) và cấu hình như hình dưới.
Chuyển đến tab Sniffer ( trong dãy các tab nằm phía trên ). Click bật biểu tượng Sniffer ( hình card mạng)
Nhấp vào biểu tượng hình dấu + màu xanh, chọn OK để thực hiện quá trình scan địa chỉ MAC và Ip trong mạng.
Bước 4: Sau khi có danh sách các máy tính hiện đang kết nối trong mạng wifi, ta tiến tới thực hiện ARP Poison Routing.
Bạn chuyển qua tab APR ( nằm ở dãy tab phía dưới màn hình – biểu tượng màu vàng và đen ). Click vào dấu cộng “+” ( chỗ khoanh tròn trong hình ) để mở hộp cấu hình ARP Poison Routing như sau:
Việc ARP Poison Routing sẽ được thực hiện giữa máy tính bên trái và “các” máy tính bên phải. Bên trái có thể là router như trường hợp địa chỉ 192.168.1.1 trong hình ( các router thường có địa chỉ là x.x.x.1) và bên phải là tất cả các máy tính có trong mạng ở phía bên. Xong xuôi, click OK.
Bước 5: Click chọn biểu tượng Start/Stop APR ( màu vàng và đen ) nằm ở trên bên trái của cửa sổ Cain&Abel
Sau khi click sẽ thấy các dòng idle trước các địa chỉ IP sẽ đổi thành Poisoning. Bây giờ ta đã có đầy đủ điều kiện để sniff toàn bộ gói tin trong mạng này.
Bước 6: Chuyển sang tab Passwords, ta sẽ thấy một vài điều thú vị ở đây.
Bạn chú ý tiếp tới cột URL, danh sách này sẽ liên tục được cập nhật, mỗi khi người dùng trong mạng wifi truy cập một website nào đó, Cain&Abel sẽ ghi lại chi tiết: người dùng có IP nào truy cập website nào, URL là gì, địa chỉ IP của website, username & password (nếu có).
Bạn cứ liên tục theo dõi danh sách này, đến khi nào xuất hiện địa chỉ web bạn mong muốn. Ví dụ: http://www.facebook.com/***** và chú ý tới một số thông tin sau:
- IP của HTTP Server: đây chính là IP của facebook
- IP của client: đây chính là IP của người dùng đang truy cập facebook
Ngay lập tức bạn hãy chuyển trở lại Wireshark, click nút stop trên thanh công cụ.
Trong ô Filter bạn gõ: http.cookie contains datr
Sau đó thực hiện việc lấy Cookie bằng cách, chọn địa chỉ IP trong mục Source trùng với IP của client mà bạn đã ghi nhớ bên Cain&Abel (trong hình là 192.168.1.6)
Chuột phải vào đó, chọn Copy / Bytes / Printable Text Only.
Lúc này Cookies của nạn nhân mà bạn lấy được đã được lưu vào bộ nhớ đệm của máy tính.
Bước 7: Phục dựng Session – Cookie injection
Trước hết, bạn mở Firefox và truy cập vào địa chỉ http://www.facebook.com
Chú ý: Ban phải logout ra khỏi tài khoản facebook hiện tại.
Bây giờ thì bấm tổ hợp phím Alt+C ( phím Alt và phím C đồng thời ), nó sẽ hiện ra cái khung nhỏ nhỏ như trong hình dưới (Wireshark Cookie Dump). Bạn paste cái chuỗi cookies đã copy ở bước trên vào ô textbox của cái khung nhỏ nhỏ này rồi bấm Ok. (Với chú ý add-on Grease Monkey đã được Enable)
Sau khi nhấn OK, hộp thoại thông báo quá trình ghi nhớ Cookies thành công
Click vào thanh address và nhấn Enter để trang được load lại. Và đây là thành quả của chúng ta.
Các phương thức bảo mật
Khởi nguồn của vấn đề ARP Poisoning Routing ( APR), là việc các thiết bị trong mạng LAN không biết địa chỉ IP nào hiện đang được gán cho thiết bị có địa chỉ MAC nào. Như ta đã biết, địa chỉ MAC là duy nhất đối với mỗi thiết bị mạng.
Các thiết bị trong mạng LAN khi cần biết địa chỉ IP của nhau thì chúng cần kiểm tra trong bộ nhớ của chúng (bảng ARP) nếu không thấy chúng sẽ gửi đi một gói tin broadcast ARP Request. Khi này thiết bị nào hiện có IP là 192.168.1.1 phản hồi trở lại với cái thiết bị vừa hỏi kia rằng nó hiện đang sở hữu IP 192.168.1.1 và địa chỉ MAC của nó.
Vấn đề rắc rối phát sinh từ chỗ các client con không có cách nào để kiểm tra xem địa chỉ IP 192.168.1.1 của thiết bị kia có phải là thật không. Nên lúc này nếu có một thiết bị giả mạo nào đó, đưa ra nhiều gói tin chứng tỏ nó có địa chỉ 192.168.1.1 hơn thì client sẽ nghe theo và gửi gói tin qua cho nó ( ARP Reply flood ).
Vậy trong trường hợp này, chúng tôi đưa ra cho bạn 2 giải pháp:
- Sử dụng giao thức HTTPS để truy cập các trang web
Việc này sẽ giúp gói tin của bạn được mã hóa trước khi gửi đi, nhằm tránh việc nghe lén trong mạng.
- Gán địa chỉ IP tĩnh và áp dụng Static ARP
Điều này giống như bạn ghi tên mình vào sổ danh bạ của router, tức là bạn sẽ luôn luôn biết được địa chỉ 192.168.1.1 ở đâu, và gửi thẳng dữ liệu tới đó, tránh được việc gửi nhầm gói tin tới các địa chỉ mạo danh.
Trước hết bạn đặt địa chỉ IP tĩnh cho máy tính của mình, sau đó vào Command Dos và thực hiện câu lệnh sau:
arp –s X.X.X.X Y.Y.Y.Y
Trong đó:
- X.X.X.X là địa chỉ IP tĩnh mà bạn vừa gán cho máy tính của mình
- Y.Y.Y.Y là địa chỉ MAC của máy tính của bạn.
Chúc các bạn thành công!