Mục lục bài viết

Network

Hướng dẫn lab: Tấn công MAC FLOODING và giải pháp phồng chống (PORT SECURITY)

phongdh
phongdh
Chia sẻ:
Zalo
Hướng dẫn lab: Tấn công MAC FLOODING và giải pháp phồng chống (PORT SECURITY)

Môi trường thực hành: PNetLab / EVE-NG

Mục tiêu:

  • Hiểu cơ chế hoạt động của bảng CAM trên Switch.
  • Thực hiện thành công cuộc tấn công MAC Flooding làm tràn bảng CAM.
  • Phân tích hậu quả của cuộc tấn công (Switch biến thành Hub, rớt mạng).
  • Cấu hình tính năng Port Security để ngăn chặn tấn công.

Sơ đồ:

PHẦN 1: THIẾT LẬP MÔI TRƯỜNG (TOPOLOGY)

Dựa theo sơ đồ thiết kế, kéo thả các node sau vào PNetLab và kết nối chúng:

  1. Switch (SW): Sử dụng image Cisco IOL (L2 Switch).
  2. Router (Default): Đóng vai trò là Default Gateway. Kết nối vào port e0/0 của SW.
  3. PC Alice: Có thể dùng VPCs hoặc Windows node. Kết nối vào port e0/1 của SW.
  4. PC Bob: Có thể dùng VPCs hoặc Windows node. Kết nối vào port e0/3 của SW.
  5. Attacker (Kali-Linux): Khuyến cáo dùng image Kali Linux. Kết nối vào port e0/2 của SW.

Quy hoạch IP (Network: 192.168.100.0/24):

  • Alice: 192.168.100.5/24
  • Bob: 192.168.100.6/24
  • Attacker: 192.168.100.7/24

PHẦN 2: CẤU HÌNH CƠ BẢN VÀ KIỂM TRA TRẠNG THÁI TRƯỚC KHI TẤN CÔNG (NORMAL STATE)

Bước 1: Cấu hình IP cho các thiết bị

Tại Router (Default Gateway – Kết nối ở port e0/0 của Switch):

Router# configure terminal
Router(config)# interface ethernet 0/0
Router(config-if)# ip address 192.168.100.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# do wr

Tại máy Alice (Sử dụng VPCs):

ip 192.168.100.5/24 192.168.100.1
show ip
save

Tại máy Bob (Sử dụng VPCs):

ip 192.168.100.6/24 192.168.100.1
show ip
save

Tại máy Attacker (Kali Linux):

nmcli connection add type ethernet con-name eth0-static ifname eth0 ipv4.method manual ipv4.addresses 192.168.100.7/24 ipv4.gateway 192.168.100.1
nmcli connection up eth0-static

Bước 2: Cấu hình cơ bản trên Switch

Mặc định các port trên Cisco IOL có thể đang ở trạng thái tắt, ta cần bật chúng lên và gom vào cùng VLAN 1:

Switch# configure terminal
Switch(config)# interface range ethernet 0/0 - 3
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# no shutdown
Switch(config-if-range)# do wr

Bước 3: Kiểm tra kết nối

Tại máy Alice, mở Terminal/Command Prompt và ping sang máy Bob để đảm bảo mạng đang hoạt động bình thường.

ping 192.168.100.6

Kết quả mong đợi: Ping thành công (Reply từ Bob với time ổn định, 0% loss).

Bước 4: Kiểm tra bảng CAM trên Switch

Vào CLI của Switch, gõ lệnh sau để xem bảng MAC Address (CAM Table):

Switch# show mac address-table

Kết quả mong đợi: Bảng CAM hiện tại rất gọn gàng, chỉ chứa khoảng 3 đến 4 địa chỉ MAC tương ứng với các thiết bị đang cắm vào các port Et0/0 (Router), Et0/1 (Alice), Et0/2 (Attacker), và Et0/3 (Bob).

PHẦN 3: THỰC HIỆN TẤN CÔNG MAC FLOODING

Bước 1: Bắt đầu tấn công

Mở console của máy Attacker (Kali Linux). Chúng ta sẽ sử dụng công cụ macof (đã được tích hợp sẵn trong Kali) để tạo ra hàng loạt địa chỉ MAC giả mạo.

Gõ lệnh sau:

macof -i eth0 -n 10000

Giải thích lệnh: * -i eth0: Chỉ định cổng mạng bắn gói tin ra ngoài.

  • -n 1000: Gửi 1000 gói tin với các địa chỉ MAC nguồn ngẫu nhiên. (Bạn có thể bỏ -n 1000 để tool chạy liên tục không dừng).

Màn hình Kali Linux sẽ cuộn liên tục hiển thị hàng loạt địa chỉ MAC và IP ảo đang được sinh ra.

PHẦN 4: KIỂM TRA HẬU QUẢ SAU TẤN CÔNG

Bước 1: Kiểm tra lại bảng CAM trên Switch

Quay lại CLI của Switch và chạy lại lệnh:

Switch# show mac address-table

Kết quả: Bạn sẽ thấy bảng CAM bị lấp đầy bởi hàng ngàn địa chỉ MAC rác (Type: DYNAMIC). Đặc biệt, tất cả các MAC giả mạo này đều trỏ về cùng một port là Et0/2 (cổng của kẻ tấn công). Bảng CAM lúc này đã bị tràn (CAM Table Overflow).

Bước 2: Bắt gói tin (Sniffing)

Trên máy Attacker, mở Wireshark và bắt gói tin trên cổng eth0.

Kết quả: Sẽ thấy rất nhiều gói tin IPv4 ảo xuất hiện. Lúc này Switch do không còn chỗ trống trong bảng CAM nên đã hoạt động như một Hub, gửi broadcast toàn bộ lưu lượng ra tất cả các port. Kẻ tấn công có thể bắt được gói tin của người khác.

Bước 3: Kiểm tra lại kết nối mạng

Đứng từ máy Alice, ping lại máy Bob:

ping 192.168.100.6 -t

Kết quả: Sẽ xuất hiện dòng chữ Request timed out. Mạng đã bị quá tải hoặc Switch không thể xử lý dẫn đến rớt mạng hợp lệ. Cuộc tấn công DoS đã thành công.

PHẦN 5: GIẢI PHÁP BẢO VỆ (PORT SECURITY)

Để ngăn chặn tấn công MAC Flooding, chúng ta cấu hình tính năng Port Security trên Switch, giới hạn số lượng địa chỉ MAC được phép học trên một port.

Vào CLI của Switch, vào mode config và cấu hình trên interface của Attacker (Et0/2):

Switch# configure terminal
Switch(config)# interface ethernet 0/2

! Chuyển port sang mode access (Bắt buộc để bật Port Security)
Switch(config-if)# switchport mode access

! Kích hoạt Port Security
Switch(config-if)# switchport port-security

! Giới hạn số lượng MAC tối đa được học trên port này (Ví dụ: 5)
Switch(config-if)# switchport port-security maximum 5

! Hành động xử lý khi có vi phạm (quá 5 địa chỉ MAC)
Switch(config-if)# switchport port-security violation shutdown

Giải thích các mode Violation:

  • protect: Bỏ qua các gói tin chứa MAC lạ (không thông báo).
  • restrict: Bỏ qua gói tin chứa MAC lạ và tăng biến đếm vi phạm (có log).
  • shutdown: (Khuyên dùng trong Lab) Lập tức tắt (Disable/err-disable) port khi phát hiện vi phạm, ngắt kết nối hoàn toàn kẻ tấn công.

PHẦN 6: KIỂM CHỨNG GIẢI PHÁP

  1. Từ máy Attacker, chạy lại lệnh tấn công: macof -i eth0.
  2. Quan sát trên console của Switch, bạn sẽ ngay lập tức thấy thông báo Syslog báo hiệu port Et0/2 đã bị chuyển sang trạng thái err-disable (down) do vi phạm chính sách bảo mật.
  3. Từ máy Alice, thực hiện ping lại Bob, kết nối mạng sẽ trở lại bình thường vì thiết bị của kẻ tấn công đã bị Switch ngắt kết nối vật lý.

Chia sẻ:
Zalo
Tags:
phongdh

phongdh

Content Creator

Chào mọi người, mình là Phong - hiện đang công tác tại Phòng Kỹ thuật AZDIGI. Trong quá trình làm việc mình có cơ hội được tiếp xúc với khá nhiều các vấn đề liên quan đến Website/Email/Hosting/VPS/Server, do đó mình viết lại các hướng dẫn này nhằm chia sẻ kiến thức, cũng như tạo một môi trường để chúng ta giao lưu và học hỏi lẫn nhau.

Kết nối:

Bài viết liên quan

Những bài viết bạn có thể quan tâm

Thảo luận

0 bình luận cho bài viết này

* Địa chỉ email của bạn sẽ được bảo mật và không hiển thị công khai.

Chưa có bình luận nào

Hãy là người đầu tiên chia sẻ góc nhìn của bạn về bài viết này nhé!

Zalo

Nhập từ khóa để tìm kiếm...

0 kết quả

CHUYÊN MỤC LIÊN QUAN