Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Firewalk: Kẻ tấn công có thể “nhìn xuyên” firewall của bạn không?

    Giới thiệu
    Click image for larger version

Name:	image.png
Views:	9
Size:	20.9 KB
ID:	438692

    Trong hầu hết các cuộc tấn công an toàn thông tin, kẻ tấn công thường phải trải qua ba giai đoạn chính:
    1. Thu thập thông tin (Information Gathering)
    2. Khai thác (Exploitation)
    3. Che giấu & duy trì truy cập (Post-exploitation / Metastasis)

    Trong đó, giai đoạn thu thập thông tin đóng vai trò đặc biệt quan trọng. Kẻ tấn công tìm cách xác định:
    • Các host “đáng chú ý” trong hệ thống
    • Những dịch vụ đang được mở
    • Kiến trúc mạng và cơ chế kiểm soát truy cập

    Một trong những giả định phổ biến là firewall sẽ che giấu hoàn toàn mạng nội bộ khỏi bên ngoài. Tuy nhiên, kỹ thuật Firewalk cho thấy điều này không phải lúc nào cũng đúng.
    Traceroute – Nền tảng của Firewalk


    Traceroute là công cụ quen thuộc dùng để xác định các router trung gian trên đường đi từ máy nguồn đến máy đích. Cơ chế của traceroute dựa trên trường TTL (Time To Live) trong IP packet.

    Nguyên lý hoạt động:
    • Mỗi router đi qua sẽ giảm TTL đi 1
    • Khi TTL = 0, router sẽ drop packet và trả về ICMP “TTL Exceeded in Transit”
    • Traceroute lợi dụng cơ chế này để “bắt” từng router lộ diện

    Thông thường:
    • Windows (tracert) sử dụng ICMP Echo
    • Unix/Linux sử dụng UDP datagram (port mặc định 33434 trở lên)

    Khi firewall chặn traceroute


    Nhiều firewall được cấu hình để chặn ICMP và traceroute, nhằm tránh việc lộ topology mạng. Khi đó, traceroute sẽ dừng lại tại firewall và chỉ trả về các thông báo Request timed out.

    Kết luận thông thường lúc này là:
    “Không thể biết thêm thông tin gì phía sau firewall”



    👉 Và đây chính là điểm mà Firewalk khai thác.
    Firewalking – “Đi bộ” xuyên firewall như thế nào?


    Firewall không thể chặn mọi loại lưu lượng, vì nó vẫn phải cho phép một số dịch vụ hợp lệ (ví dụ DNS – UDP 53).

    Ý tưởng cốt lõi của Firewalk:
    • Xác định firewall nằm ở hop nào
    • Gửi packet với TTL vừa đủ để tới firewall
    • Dùng các loại packet/dịch vụ được phép qua firewall
    • Quan sát phản hồi ICMP để suy ra dịch vụ nào được cho phép

    Ví dụ:
    • Firewall chỉ cho phép DNS (UDP 53)
    • Gửi packet UDP port 53 với TTL = firewall + 1
    • Nếu nhận được ICMP TTL Exceeded từ hop phía sau → traffic đã đi xuyên firewall

    Do Firewalk hoạt động ở tầng IP (TTL), nên nó có thể sử dụng:
    • UDP
    • TCP
    • ICMP

    → Bất kỳ dịch vụ nào dựa trên các protocol này đều có thể bị “thăm dò”.
    Nguy cơ false negative và cách khắc phục


    Một vấn đề lớn của firewalking là false negative.

    Ví dụ:
    • Firewall 1 chặn port 23
    • Firewall 2 cho phép port 23
    • Nếu chỉ scan từ Firewall 2 về phía trong → có thể kết luận sai rằng Firewall 2 chặn port 23

    👉 Giải pháp của Firewalk là scan toàn bộ các hop trung gian, từ đó:
    • Xác định chính xác firewall nào đang chặn dịch vụ
    • Vẽ được Access Control List logic của từng firewall trên đường đi

    Nhược điểm:
    • Chậm hơn so với việc scan trực tiếp firewall cuối
    • Nhưng đổi lại là độ chính xác cao

    Firewalk – Công cụ thực thi Firewalking


    Tác giả của kỹ thuật Firewalking cũng phát triển công cụ Firewalk như một bản proof-of-concept.

    Đặc điểm chính:
    • Hỗ trợ Linux
    • Có giao diện đồ họa (GTK)
    • Scan đầy đủ tất cả hop trung gian
    • Cho phép chỉ định port cần kiểm tra

    Hạn chế:
    • Không giả lập payload dịch vụ thực tế
    • Firewall có DPI (Deep Packet Inspection) có thể chặn
    • IDS/IPS có thể phát hiện hành vi firewalking

    Ngoài Firewalk, công cụ hping2 cũng hỗ trợ kỹ thuật firewalking ở mức độ nhất định.
    Vì sao Firewalk nguy hiểm?


    Một trong những điểm đáng lo ngại nhất là:
    Phần lớn firewall không log traffic trên các port được phép



    Điều này đồng nghĩa với việc:
    • Kẻ tấn công kiên nhẫn
    • Scan chậm, đúng dịch vụ
    • Có thể thu thập rất nhiều thông tin nội bộ
    • Gần như không để lại dấu vết trong log firewall

    Biện pháp phòng thủ


    Firewalking có thể bị hạn chế bằng cách:
    • Chặn outbound ICMP TTL Exceeded
    • Sử dụng NAT để che giấu địa chỉ nội bộ
    • Không để firewall lộ vai trò hop trung gian
    • Triển khai Defense in Depth

    Quan trọng nhất:
    Không bao giờ coi firewall là lớp phòng thủ duy nhất

    Kết luận


    Firewalk cho thấy rằng firewall không đảm bảo che giấu hoàn toàn hệ thống nội bộ. Một attacker có kiến thức và kiên nhẫn vẫn có thể suy ra:
    • Dịch vụ nào được cho phép
    • Topology mạng phía sau firewall
    • Cách ACL đang được thiết kế

    Chiến lược an toàn hiệu quả phải là phòng thủ nhiều lớp, trong đó:
    • Firewall chỉ là một phần
    • Host vẫn cần hardening
    • Cần HIDS/IDS/IPS và giám sát liên tục

    Firewalk là một minh chứng rõ ràng rằng:
    👉 Đặt niềm tin tuyệt đối vào một cơ chế bảo mật duy nhất là một sai lầm.
    Attached Files
Working...
X