Back to Explore
Giải mã kỹ thuật exfiltration: Phân tích lỗ hổng Packed Light trên nền tảng TryHackMe

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.

Website
Upvote this postSign in to upvote this article.

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_state trong 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).

Ảnh bìa bài viết

Đặ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:

  1. XOR Encryption: Dữ liệu được XOR với key H0t3lSt@ff0NlyK3epS3cr3t!.
  2. Encoding: Kết quả sau đó được mã hóa dưới dạng Base64.
  3. 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ài raw_bytes luô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.

Discussion (0)

You need to log in to post comments. Log In

No comments yet. Start the discussion!