Hacker sử dụng các kỹ thuật sniffing như tấn công MAC (MAC attack), tấn công DHCP, ARP poisoning, tấn công spoofing và DNS poisoning, để đánh cắp và thao túng dữ liệu, chúng kiểm soát mạng mục tiêu bằng cách đọc các gói tin dữ liệu đã bắt được và sau đó sử dụng thông tin đó để xâm nhập vào mạng.
Sơ lược về địa chỉ MAC
Địa chỉ MAC (MAC address) xác định một cách duy nhất mỗi nút trong mạng. Mỗi thiết bị trong mạng có một địa chỉ MAC được liên kết với một cổng vật lý trên switch mạng, giúp chỉ định một điểm duy nhất cụ thể trên mạng. Địa chỉ MAC được sử dụng làm địa chỉ mạng cho hầu hết các công nghệ mạng IEEE 802, bao gồm Ethernet. Giao thức MAC trong mô hình tham chiếu OSI sử dụng địa chỉ MAC để truyền thông tin.
Một địa chỉ MAC bao gồm 48 bit được chia thành hai phần, mỗi phần chứa 24 bit. Phần đầu tiên chứa ID của tổ chức sản xuất card mạng và được gọi là định danh duy nhất của tổ chức (OUI – organizationally unique identifier). Phần tiếp theo chứa số seri được gán cho card mạng (NIC) và được gọi là NIC specific.
Địa chỉ MAC chứa các số hexa có 12 chữ số, được chia thành ba hoặc sáu nhóm. Sáu chữ số đầu tiên chỉ ra nhà sản xuất, trong khi sáu chữ số tiếp theo chỉ ra số seri của NIC. Ví dụ, với địa chỉ MAC D4-BE-D9-14-C8-29. Sáu chữ số đầu tiên, tức là D4BED9, chỉ ra nhà sản xuất (Dell, Inc.), và sáu chữ số tiếp theo, tức là 14C829, chỉ ra số seri của NIC.
CAM Table là gì?
CAM table là một bảng động có kích thước cố định. Nó lưu trữ thông tin địa chỉ MAC có sẵn trên các cổng vật lý cùng với các thông số VLAN liên quan. Khi một máy tính gửi dữ liệu đến một máy tính khác trong mạng, dữ liệu đi qua switch. Switch tìm kiếm địa chỉ MAC đích (nằm trong khung Ethernet) trong bảng CAM của nó, và sau khi tìm thấy địa chỉ MAC, nó chuyển tiếp dữ liệu đến máy tính thông qua cổng mà địa chỉ MAC được liên kết.
CAM Table hoạt động như thế nào?
Switch Ethernet duy trì các kết nối giữa các cổng, và bảng CAM theo dõi vị trí địa chỉ MAC trên switch, nhưng bảng này có giới hạn kích thước. Nếu bảng CAM bị tràn với nhiều địa chỉ MAC hơn sức chứa của nó, switch sẽ chuyển thành một hub. Bảng CAM thực hiện điều này để đảm bảo việc gửi dữ liệu đến máy đích. Hacker khai thác lỗ hổng này trong bảng CAM để sniff dữ liệu mạng.
Hình bên dưới là sơ đồ về cách bảng CAM hoạt động. Gồm: Máy A, Máy B và Máy C, mỗi máy có địa chỉ MAC riêng. Máy A muốn tương tác với Máy B. Máy A phát một yêu cầu ARP đến switch. Yêu cầu này chứa địa chỉ IP của máy đích (Máy B), cùng với địa chỉ MAC và IP của máy nguồn (Máy A). Switch sau đó phát sóng yêu cầu ARP này đến tất cả các máy chủ trong mạng và đợi phản hồi.
Máy B có địa chỉ IP đích, do đó nó gửi một phản hồi ARP kèm theo địa chỉ MAC của nó. Bảng CAM lưu trữ địa chỉ MAC này cùng với cổng mà máy này được kết nối.
Bây giờ kết nối đã được thiết lập thành công và Máy A chuyển tiếp lưu lượng dữ liệu đến Máy B, trong khi đó Máy C không thể nhìn thấy lưu lượng dữ liệu đang truyền giữa hai máy tính.
Chuyện gì xảy ra nếu CAM Table bị full?
Kích thước giới hạn của bảng CAM khiến dễ bị tấn công bởi MAC flooding, hacker gửi liên tục các địa chỉ MAC giả mạo cho đến khi bảng CAM đầy. Sau đó, switch sẽ phát sóng lưu lượng dữ liệu đến tất cả các cổng. Điều này khiến switch trở về chế độ học thông tin, khiến switch phát sóng trên mọi cổng tương tự như một hub, từ đó cho phép hacker theo dõi các frame gửi từ máy bị tấn công đến các máy khác. Kiểu tấn công như vậy cũng làm đầy bảng CAM của các switch kế cận.
Hình bên dưới minh họa cách một bảng CAM có thể bị tràn.
MAC Flooding
Khi bảng CAM đầy, switch hoạt động như một hub.Hacker sau đó thay đổi card mạng của máy tính của mình sang chế độ promiscuous để cho phép máy tính nhận tất cả lưu lượng dữ liệu vào. Như vậy, hacker có thể dễ dàng sniff dữ liệu và đánh cắp thông tin truyền qua mạng.
macof là một công cụ dành Unix/Linux và là một phần của bộ công cụ dsniff. Nó tạo ra một đợt flooding trên mạng cục bộ với các địa chỉ MAC và IP ngẫu nhiên, gây ra sự hỏng hóc và chuyển đổi một số switch sang chế độ hub, từ đó thuận tiện cho việc sniff lưu lượng dữ liệu. Công cụ này lấp đầy bảng CAM của switch (131.000 bản ghi mỗi phút) bằng cách gửi các entries MAC giả mạo. Khi bảng MAC đầy, và switch chuyển sang hoạt động giống như hub, hacker có thể theo dõi dữ liệu được phát sóng.
root@kali ~ macof -i eth0 -n 8
Sent 8 packets (6110 bytes) on interface eth0
3d:51:94:77:a2:36 ee:3f:b:1c:C4:b2 0.0.0.0.58720 > 0.0.0.0.1823: S 864715485:864 715485(0) win 512
f4:38:67:57:9d:4e 2b:91:49:32:7f:76 0.0.0.0.63022 > 0.0.0.0.40086: S 725735162:7 25735162(0) win 512
0:6b:3f:64:e3:aa 54:db:cl:34:71:2a 0.0.0.0.3822 > 0.0.0.0.50815: S 1515930213:15 15930213(0) win 512
fa:f0:e5:l:91:e5 ec:27:2f:6b:d9:4e 0.0.0.0.16297 > 0.0.0.0.64950: S 1869382664:1 869382664(0) win 512
89:26:47:47:dO:3 3f:ba:6f:a:45:31 0.0.0.0.2225 > 0.0.0.0.28799: S 47757090:47757 090(0) win 512
3e:e8:cb:5:3b:89 aa:33:27:2:If:fe 0.0.0.0.22205 > 0.0.0.0.49818: S 3607503:36075 03(0) win 512
46:ea:CC:34:e6:fe c:b7:2:22:2e;32 0.0.0.0.7812 > 0.0.0.0.36202: S 757023228:7570 23228(0) win 512
79:92:2:71:eb:dc 43:2c:85:69:2a:c8 0.0.0.0.58766 > 0.0.0.0.5858: S 1059668333:10 59668333(0) win 512
Switch Port Stealing
Kỹ thuật Switch Port Stealing bằng phương pháp sniffing sử dụng kỹ thuật MAC flooding để sniff các gói tin. Hacker gửi liên tục các gói tin ARP giả mạo tới switch, trong đó địa chỉ MAC của mục tiêu là MAC nguồn và địa chỉ MAC của hacker là MAC đích. Để giải quyết tình huống này, switch phải thay đổi địa chỉ MAC của mình liên tục để link giữa hai cổng khác nhau. Hacker còn có thể chuyển hướng các gói tin tới máy mục tiêu tới cổng switch của mình. Hacker từ đó lấy cắp được cổng switch của máy mục tiêu và gửi một yêu cầu ARP tới cổng switch này để xác định địa chỉ IP của máy mục tiêu.
Giả sử trong mạng có ba máy tính: Máy A, Máy B là mục tiêu và Máy C là của hacker.
Bảng ARP cache và bảng MAC của switch chứa các giá trị sau đây:
- Switch port stealing là một kỹ thuật sniffing giúp giả mạo cả địa chỉ IP và địa chỉ MAC của máy mục tiêu (Máy B).
- Máy tính của hacker chạy một phần mềm sniffer để chuyển đổi card mạng của máy tính vào chế độ promiscuous mode.
- Máy A (10.0.0.1), muốn giao tiếp với Máy B (10.0.0.2). Do đó, máy A gửi một yêu cầu ARP (Tôi muốn giao tiếp với 10.0.0.2. Địa chỉ MAC của 10.0.0.2 là gì?).
- Switch phát tán yêu cầu ARP này tới tất cả các máy trong mạng.
- Trước khi Máy B (máy mục tiêu) có thể đáp ứng yêu cầu ARP, hacker đáp lại yêu cầu ARP bằng cách gửi một phản hồi ARP chứa địa chỉ MAC và IP giả mạo (Tôi là 10.0.0.2 và địa chỉ MAC của tôi là bb-cc-dd-ee-ff-gg). Hacker có thể đạt được điều này bằng cách tấn công denial of service (DoS) lên Máy B, làm chậm lại quá trình đáp ứng của nó.
- Bây giờ, bộ nhớ cache ARP trong switch ghi lại địa chỉ MAC và IP giả mạo.
- Địa chỉ MAC giả mạo của Máy B (bb-cc-dd-ee-ff-gg) và cổng kết nối với máy tính của kẻ tấn công (Cổng C) và cập nhật bảng CAM của switch. Bây giờ, một kết nối được thiết lập giữa Máy A và máy tính của hacker (Máy C).
Phòng chống MAC Attack
Port security là một tính năng nhận diện và giới hạn các địa chỉ MAC của máy tính có thể truy cập vào cổng. Nếu ta gán một địa chỉ MAC an toàn cho một cổng an toàn, thì cổng chỉ chuyển tiếp các gói tin có địa chỉ nguồn nằm trong nhóm địa chỉ được xác định.
Một vi phạm bảo mật xảy ra khi:
- Một cổng được cấu hình là cổng an toàn và đã đạt đến số lượng tối đa các địa chỉ MAC an toàn.
- Địa chỉ MAC của máy tính cố gắng truy cập vào cổng không khớp với bất kỳ địa chỉ MAC an toàn nào được xác định.
Sau khi đặt số lượng tối đa các địa chỉ MAC an toàn trên cổng, các địa chỉ MAC an toàn được bao gồm trong một bảng địa chỉ bằng một trong ba cách sau:
- Cấu hình tất cả các địa chỉ MAC an toàn bằng cách sử dụng lệnh cấu hình “switch port, port-securing the MAC-address“.
- Cho phép cổng tự động cấu hình các địa chỉ MAC an toàn với địa chỉ MAC của các thiết bị kết nối.
- Cấu hình một số địa chỉ và cho phép việc cấu hình tự động cho phần còn lại.
Như hình bên dưới, hacker làm tràn bảng CAM của switch bằng các địa chỉ MAC giả mạo và biến switch thành một hub.
Như hình dưới, số lượng địa chỉ MAC cho phép trên cổng switch được giới hạn chỉ là một; do đó, các yêu cầu MAC được nhận ra là tấn công flooding. Port security khóa cổng và gửi một cảnh báo SNMP.
Cấu hình port security trên switch Cisco
Các bước để hạn chế lưu lượng qua một cổng bằng cách giới hạn và xác định địa chỉ MAC của các máy được phép truy cập vào cổng:
Vào chế độ cấu hình interface và nhập vào giao diện vật lý để cấu hình, ví dụ: gigabitethernet 3/1.
interface interface_id
Đặt chế độ interface là chế độ access; một interface ở chế độ mặc định (dynamic desirable) không thể được cấu hình là một secure port
switchport mode access
Kích hoạt port security trên interface.
switchport port-security
Đặt số lượng tối đa các địa chỉ MAC an toàn cho giao diện. Phạm vi giá trị là từ 1 đến 3072; mặc định là 1.
switchport port-security maximum value
Đặt chế độ vi phạm, hành động sẽ được thực hiện khi phát hiện một vi phạm bảo mật {restrict | shutdown}.
switchport port-security violation {restrict | shutdown}
Đặt giới hạn tốc độ cho các gói tin không hợp lệ
switchport port-security limit rate invalid-source-mac
Nhập một địa chỉ MAC an toàn cho interace.
switchport port-security mac-address mac_address
Kích hoạt sticky learning trên giao diện.
switchport port-security mac-address sticky
Trở lại chế độ privileged EXEC.
exit
Xác minh lại kết quả:
show port-security address
Một số lệnh bổ sung để cấu hình tính năng port security của Cisco:
- switchport port-security maximum 1 vlan access: Đặt số lượng tối đa các địa chỉ MAC an toàn cho interface. Phạm vi giá trị là từ 1 đến 3072. Mặc định là 1.
- switchport port-security aging time 2: Đặt thời gian cho port.
- snmp-server enable traps port-security trap-rate 5: Điều khiển tốc độ tạo ra các SNMP trap.
Comments 1