Logo
Featured Image

Hướng dẫn thực hành tấn công và phòng chống trên Switch Layer 2 (MAC Flooding, ARP, STP, VLAN Hopping)

Author
Tobi 04/02/2026 20 views

1. Mục tiêu bài Lab

Thực hiện các tấn công trên Switch và đề xuất giải pháp bảo vệ

1️⃣ Hiểu và thực hiện tấn công MAC Flooding

  • Hiểu cơ chế hoạt động của bảng MAC (CAM table) trên Switch.

  • Thực hiện tấn công MAC Flooding để làm tràn bảng CAM.

  • Quan sát hiện tượng Switch chuyển sang chế độ broadcast (fail-open).

  • Phân tích rủi ro bảo mật khi Switch hoạt động như Hub.

  • Đề xuất và cấu hình biện pháp phòng chống (Port Security).


2️⃣ Hiểu và khai thác lỗ hổng ARP (ARP Poisoning)

  • Hiểu nguyên lý hoạt động của giao thức ARP.

  • Thực hiện ARP Spoofing/ARP Poisoning.

  • Sau khi chiếm quyền MITM, thực hiện:

    • 🔹 Tấn công DoS

    • 🔹 Capture traffic (nghe lén dữ liệu)

    • 🔹 Session Hijacking

  • Phân tích mức độ nguy hiểm trong mạng LAN.

  • Triển khai giải pháp bảo vệ (Dynamic ARP Inspection, DHCP Snooping, Static ARP).


3️⃣ Tấn công STP (Spanning Tree Protocol)

  • Hiểu nguyên lý hoạt động của STP.

  • Thực hiện giả mạo Root Bridge.

  • Thực hiện tấn công DoS bằng cách gửi BPDU làm chiếm dụng CPU.

  • Quan sát ảnh hưởng đến topology mạng.

  • Cấu hình biện pháp phòng chống (BPDU Guard, Root Guard).


4️⃣ Tấn công VLAN Hopping

  • Hiểu cơ chế hoạt động của VLAN và Trunking (802.1Q).

  • Thực hiện VLAN Hopping (Switch Spoofing, Double Tagging).

  • Phân tích nguy cơ truy cập trái phép giữa các VLAN.

  • Cấu hình bảo vệ (Disable DTP, cấu hình Access Port, Native VLAN riêng biệt).


2. Mô hình và Môi trường

  • Hệ thống Lab: EVE-NG chạy trên VPS.

  • Công cụ tấn công: Kali Linux (bộ công cụ dsniff, wireshark).

  • Thiết bị nạn nhân: Cisco IOL Switch (đóng vai PC để hỗ trợ Telnet).

  • Thiết bị mạng: Cisco IOL Switch (L2) và Router Gateway.

Giả định hạ tầng mạng

Lưu ý với SW2 cần chỉnh chỗ này thành số 2 thì mới có cổng e1/0 nhé :

Bước 1: Cấu hình Router (Đóng vai trò Gateway)

Lưu ý khi hỏi config Router bạn nên chọn no nhé

Bạn mở Console của Router, gõ các lệnh sau để bật cổng và gán IP 192.168.10.1:

enable
configure terminal
interface e0/0
 no shutdown
 ip address 192.168.10.1 255.255.255.0
 exit
do write

Bước 2: Cấu hình VPSC (Switch đóng vai PC)

Mở Console của con VPSC đó lên và gõ như sau để đổi tên SW cho chuẩn VPSC nhé :

enable
configure terminal
hostname VPSC

Cấu hình network

enable
configure terminal
no ip routing
interface vlan 1
 ip address 192.168.10.100 255.255.255.0
 no shutdown
 exit
ip default-gateway 192.168.10.1
end
 

Bước 3: Cấu hình 2 Switch (SW và SW2)

Mặc định thì các Switch khi bật lên đã thông nhau ở VLAN 1 rồi. Tuy nhiên, để chuẩn bị nền tảng cho bài STPVLAN Hopping lát nữa, chúng ta cần ép 2 sợi cáp nối giữa 2 Switch (cổng e0/1e0/2) thành đường Trunk.

Trên Switch SW:

enable
configure terminal
interface range e0/1 - 2
 switchport trunk encapsulation dot1q
 switchport mode trunk
 no shutdown
 exit
do write

Trên Switch SW2:

enable
configure terminal
interface range e0/1 - 2
 switchport trunk encapsulation dot1q
 switchport mode trunk
 no shutdown
 exit
do write
 

Bước 4: Cấu hình máy Hacker (Kali-Attacker)

Mở cửa sổ dòng lệnh (Terminal) trên giao diện của Kali Linux, gán IP 192.168.10.2:

sudo ip addr flush dev eth0
sudo ip addr add 192.168.10.2/24 dev eth0
sudo ip link set eth0 up
sudo ip route add default via 192.168.10.1

(Lưu ý: Nếu nó đòi pass sudo, bạn nhập kali nhé).

Bước 5: Kiểm tra thông mạng (Ping Test)

Trước khi đi "phá làng phá xóm", bạn phải chắc chắn là mạng đang hoạt động bình thường đã.

  1. Trên VPSC:ping 192.168.10.1 (xem có thông Gateway không).

  1. Trên Kali:ping 192.168.10.100 (xem có thấy máy nạn nhân không).

Nếu mọi thứ đã Ping thông !!!, bạn hãy báo cho mình biết để chúng ta triển khai mã độc MAC Flooding đầu tiên nhé! Mọi thứ đã sẵn sàng rồi!

 

Chúng ta chính thức bước vào bài tấn công đầu tiên.

MAC Flooding (Làm tràn bảng MAC).

Mục tiêu của đòn tấn công: Làm cho con Switch (SW2) bị hiểu nhầm, bộ nhớ (bảng CAM) bị đầy nghẹt bởi hàng vạn địa chỉ MAC giả. Khi bộ nhớ không còn chỗ trống, Switch không thể ghi nhớ thiết bị nào nằm ở cổng nào nữa. Lúc này, nó sẽ bị giáng cấp biến thành một cái Hub "ngu ngốc" -> Có gói tin nào đi qua nó cũng sẽ copy và gửi ra TẤT CẢ các cổng (Broadcast). Nhờ đó, máy Kali ngồi một chỗ có thể "hôi của" nghe lén được mọi dữ liệu của người khác trong mạng.

BƯỚC 1: Nhìn nhận "trạng thái hòa bình" (Trước tấn công)

  1. Bạn mở Console của con SW2 (Nơi cắm máy Kali).

  2. Gõ lệnh kiểm tra số lượng MAC đang được Switch ghi nhớ:

show mac address-table count
👉 Kết quả: Bạn sẽ nhìn vào dòng Dynamic Address Count, con số này đang rất nhỏ (chỉ khoảng 3-5 cái của Router, VPSC, Kali...).

BƯỚC 2: Khai hỏa MAC Flooding

  1. Mở cửa sổ Terminal của máy Kali.

  2. Gõ lệnh (công cụ này có sẵn trong hệ điều hành).

sudo macof -i eth0

👉 Hiện tượng: Màn hình Kali sẽ cuộn chữ nhanh như ma trận. Đó là nó đang liên tục sinh ra hàng nghìn địa chỉ MAC ngẫu nhiên và tấp thẳng vào cổng của Switch!

 

BƯỚC 3: Kiểm tra "hiện trường vụ án"

  1. Để Kali chạy khoảng 10 giây, sau đó quay lại Console của SW2 gõ lại lệnh:

    show mac address-table count

    👉 Kết quả: Số lượng Dynamic Address lúc này đã nhảy vọt lên con số kịch kim (thường là vài ngàn, tùy giới hạn phần cứng của Switch ảo). 

  2. Bạn có thể gõ thử lệnh show mac address-table, bạn sẽ thấy một mớ MAC rác rưởi lấp đầy màn hình.

  3. Switch đã chính thức bị hạ gục! Bảng MAC đã tràn, tấn công thành công.

BƯỚC 4: Giải pháp phòng thủ (Port Security)

Bây giờ bạn đóng vai quản trị viên mạng đi "vá lỗi". Giải pháp tối ưu nhất là dùng tính năng bảo mật cổng (Port Security).

  1. Dừng tấn công: Sang máy Kali bấm Ctrl + C để dừng lệnh macof. Kiểm tra xem bất thường xem đặc điểm chung của port được phát nhiều địa chỉ MAC

show mac address-table

  1. Dọn rác: Sang SW2, xóa sạch bộ nhớ đệm đang bị đầy rác bằng lệnh:

    clear mac address-table dynamic
    
  2. Bật khiên bảo vệ: Chúng ta sẽ khóa cổng e0/3 (cổng cắm Kali), ép nó chỉ được phép nhận diện tối đa 2 địa chỉ MAC. Nếu có MAC thứ 3 xuất hiện, lập tức chặn đứng. Trên SW2 gõ:

    configure terminal
    interface e0/3
     switchport mode access
     switchport port-security
     switchport port-security maximum 2
     switchport port-security violation restrict
     end
    

     

(💡 Giải thích: Chế độ violation restrict sẽ thẳng tay vứt bỏ các gói tin chứa MAC giả và cảnh báo, nhưng vẫn giữ cổng hoạt động. Nếu bạn đổi thành violation shutdown, cổng sẽ bị tắt đen thui ngay lập tức).

Tháo khiên trên SW2 ( Khi không cần thiết):

configure terminal
interface e0/3
 no switchport port-security
 end

Để bật lại thì thực hiện lại bước Bật khiên bảo vệ nhé.

BƯỚC 5: Tấn công lại (Nghiệm thu khiên bảo vệ)

  1. Về lại máy Kali, chạy lại lệnh sudo macof -i eth0.

  2. Sang màn hình SW2, bạn sẽ thấy Switch liên tục phản hồi bằng các dòng log cảnh báo đỏ lòm: %PORT_SECURITY-2-PSECURE_VIOLATION...

Bạn gõ lại show mac address-table count -> Số lượng MAC vẫn chỉ là 1 hoặc 2. Bảng MAC được bảo vệ an toàn tuyệt đối!

 

Bình luận (0)

+ =
Zalo