
Giải mã kỹ thuật exfiltration: Phân tích lỗ hổng Packed Light trên nền tảng TryHackMe
Khám phá kỹ thuật phân tích lưu lượng mạng để truy vết dữ liệu bị đánh cắp trong thử thách Packed Light trên TryHackMe. Bài viết đi sâu vào quy trình xử lý cookie, giải mã XOR và cách thức vận hành của một keylogger tinh vi.
Bài viết được dịch và tổng hợp từ tin tức gốc. Bạn có thể đọc bài viết gốc bằng tiếng Anh tại đây.
Điểm tin nhanh:
- Phân tích kỹ thuật exfiltration dữ liệu thông qua cookie
hotel_sess_statetrong giao thức HTTP.- Giải mã lỗ hổng logic trong thuật toán XOR khi chỉ sử dụng ký tự đầu tiên của key.
- Quy trình sử dụng
tsharkđể trích xuất dữ liệu từ file PCAP và tái cấu trúc flag bị đánh cắp.
Trong thế giới bảo mật, việc phát hiện các hành vi exfiltration (trích xuất dữ liệu trái phép) không chỉ đòi hỏi sự nhạy bén với các công cụ giám sát mà còn cần tư duy logic để bóc tách các lớp ngụy trang của kẻ tấn công. Thử thách Packed Light trên TryHackMe là một ví dụ điển hình, nơi dữ liệu nhạy cảm bị đánh cắp từng ký tự một thông qua các request HTTP tưởng chừng như vô hại. Nếu bạn đang tìm kiếm cách tối ưu hóa quy trình giám sát hệ thống, hãy tham khảo cách xây dựng hệ thống SIEM đầu tay với Wazuh, Sysmon và Atomic Red Team để nâng cao khả năng phòng thủ chủ động.
Phân tích cơ chế exfiltration
Kẻ tấn công trong kịch bản này đã sử dụng một phương thức khá tinh vi để đẩy dữ liệu ra ngoài. Thay vì gửi một gói tin lớn, chúng chia nhỏ dữ liệu thành từng ký tự và gửi qua giá trị của cookie hotel_sess_state trong mỗi request GET / tới máy chủ C2 (Command and Control).

Đặc điểm kỹ thuật của dữ liệu bị đánh cắp
Dữ liệu được xử lý theo quy trình sau:
- XOR Encryption: Dữ liệu được XOR với key
H0t3lSt@ff0NlyK3epS3cr3t!. - Encoding: Kết quả sau đó được mã hóa dưới dạng Base64.
- Transmission: Gửi đi qua cookie HTTP.
Lưu ý: Một lỗ hổng logic nghiêm trọng nằm ở cách triển khai vòng lặp XOR. Do hàm
sendltr()chỉ gửi từng ký tự một, độ dàiraw_bytesluôn bằng 1. Điều này dẫn đến việc vòng lặp XOR chỉ sử dụng ký tự đầu tiên của key (H- 0x48), khiến toàn bộ phần còn lại của key trở nên vô nghĩa.
Trích xuất dữ liệu từ PCAP
Để khôi phục lại thông tin, chúng ta cần lọc các request HTTP chứa cookie mục tiêu từ file traffic.pcapng bằng công cụ tshark. Việc nắm vững các công cụ dòng lệnh là kỹ năng sống còn, tương tự như cách bạn làm chủ Bash Scripting để xây dựng dự án thực tế.
Sử dụng lệnh sau để trích xuất cookie:
tshark -r traffic.pcapng -Y "http.request.method==GET" -T fields -e http.cookie | grep hotel_sess_state | sed 's/hotel_sess_state=//' > cookies.txt
Sau khi chạy lệnh, chúng ta thu được 30 dòng dữ liệu, mỗi dòng tương ứng với một lần nhấn phím của nạn nhân.
| Bước | Hành động | Kết quả |
|---|---|---|
| 1 | Lọc HTTP GET | Thu thập cookie từ header |
| 2 | Loại bỏ prefix | Chỉ giữ lại chuỗi Base64 |
| 3 | Giải mã XOR | Khôi phục ký tự gốc |
Giải mã dữ liệu
Với key đã xác định là H, chúng ta có thể viết một script Python đơn giản để giải mã.
import base64
key = "H0t3lSt@ff0NlyK3epS3cr3t!"
out = []
with open("cookies.txt") as f:
for line in f:
line = line.strip()
if not line: continue
raw = base64.b64decode(line)
out.append(chr(raw[0] ^ ord(key[0])))
print("".join(out))
Kết quả trả về chính là flag: THM{[REDACTED]}. Việc hiểu rõ cách dữ liệu di chuyển giúp ích rất nhiều trong việc phân tích các lỗ hổng bảo mật khác, chẳng hạn như khi bạn phân tích lỗ hổng CVE-2026-18577 về leo thang đặc quyền.
Đánh giá & Lời khuyên Thực tiễn
Ưu điểm
- Kỹ thuật này cho thấy sự nguy hiểm của việc exfiltration qua các kênh ẩn (side-channels) như HTTP headers.
- Bài toán minh họa rõ nét tầm quan trọng của việc kiểm tra logic mã hóa (lỗi XOR chỉ dùng 1 byte).
Nhược điểm & Rủi ro
- Dễ bị phát hiện bởi các hệ thống IDS/IPS nếu có sự bất thường về tần suất request.
- Việc sử dụng cookie để truyền tải dữ liệu lớn sẽ làm tăng kích thước request, dễ gây chú ý.
Mẹo hay: Khi triển khai bảo mật cho ứng dụng, hãy luôn chú ý đến việc kiểm soát đầu ra của dữ liệu. Bạn có thể tìm hiểu thêm về cách kiểm soát đầu ra AI với JSON để áp dụng tư duy kiểm soát cấu trúc dữ liệu tương tự vào các hệ thống khác.
Câu hỏi thường gặp (FAQ)
Tại sao kẻ tấn công chỉ sử dụng ký tự đầu tiên của key?
Đây là một lỗi logic trong việc triển khai vòng lặp. Do dữ liệu được xử lý theo từng byte đơn lẻ, vòng lặp XOR không bao giờ tiến tới các chỉ số tiếp theo của key.
Làm thế nào để ngăn chặn exfiltration qua cookie?
Cần triển khai các chính sách WAF (Web Application Firewall) nghiêm ngặt để kiểm tra nội dung của cookie và giới hạn kích thước cũng như định dạng dữ liệu trong header.
Công cụ nào tốt nhất để phân tích lưu lượng mạng?
tshark hoặc Wireshark là tiêu chuẩn ngành cho việc phân tích các file PCAP nhờ khả năng lọc dữ liệu cực kỳ mạnh mẽ.
Kết luận
Thử thách Packed Light không chỉ là một bài tập CTF, mà còn là bài học thực tế về việc phân tích các hành vi bất thường trong lưu lượng mạng. Việc nắm vững kỹ thuật giải mã và trích xuất dữ liệu là nền tảng quan trọng cho bất kỳ kỹ sư bảo mật nào. Nếu bạn muốn cập nhật thêm về các kỹ thuật bảo mật mới nhất, hãy tiếp tục theo dõi các bài viết chuyên sâu trên hi_dev và để lại bình luận nếu bạn có bất kỳ thắc mắc nào về quy trình giải mã này.
Do you like this post?
Upvote to push this post higher on the community feed





