Tình huống mạng nội bộ dùng công nghệ VLAN: - Doanh nghiệp ABC có hệ thống mạng như mô hình dưới triển khai bằng Packet Tracer - Switch SW0 đã được IT cấu hình: o VLAN 10: dành cho má
Trang 1Tên học phần: CHUYÊN ĐỀ TN – MMT&TT #1
Khoa: CÔNG NGHỆ THÔNG TIN
Lab 5.1 – MỘT SỐ KỸ THUẬT TẤN CÔNG MẠNG Ở LAYER-2
***
CHUẨN ĐẦU RA:
- Thực nghiệm một số kỹ thuật tấn công vào lớp mạng Layer-2 (Data-Link)
BÀI TẬP 1 TẤN CÔNG VÀO VLAN (VLAN HOPPING)
Tình huống mạng nội bộ dùng công nghệ VLAN:
- Doanh nghiệp ABC có hệ thống mạng như mô hình dưới (triển khai bằng Packet Tracer)
- Switch SW0 đã được IT cấu hình:
o VLAN 10: dành cho máy tính và Server của Phòng Kế Toán
o VLAN 20: dành cho máy tính và Server của Phòng Kinh Doanh
Kịch bản tấn công VLAN Hopping:
- Attacker sử dụng máy tình trong Phòng Kinh Doanh Anh ta muốn truy cập vào Server
Phòng Kế toán
- Attacker không có quyền truy cập cấu hình Switch SW0 và cũng không có cơ hội để thay đổi switch port (trên SW0) cho cáp nối máy tính của anh ta
1 Phương án tấn công 1:
- Attacker thay đổi IP address trên máy của anh ta cho cùng mạng với Server Kế toán
- Thử PING từ máy Attacker về Server Kế toán => thất bại
=> Cáp mạng của Attacker được kết nối vào switch port thuộc VLAN 20 nên không thể giao tiếp với máy tính thuộc VLAN 10
Trang 22 Phương án 2: dùng kỹ thuật tấn công “VLAN Hopping” (hopping = nhảy cóc)
- Attacker mang vào 1 Switch riêng (Atk-SW):
o Lấy cáp mạng máy tính của anh ta đấu nối vào switch Atk-SW (ví dụ port 24)
o Máy tính của anh ta đấu vào Atk-SW (ví dụ port 1)
- Tiến hành cấu hình cho Atk-SW:
o Cấu hình VLAN 10, gán port từ f0/1 đến f0/10 (bao gồm port kết nối vào máy
Attacker)
o Cấu hình port từ f0/24 hoạt động trunk mode
- Kiểm tra kết quả:
o Thử PING từ máy Attacker về Server Kế toán => thành công
=> Sinh viên tự suy luận lý do thành công
BÀI TẬP 2 TẤN CÔNG HỆ THỐNG SPANNING-TREE
Tình huống mạng nội bộ dùng công nghệ STP:
1 Doanh nghiệp ABC có hệ thống mạng như mô hình dưới (triển khai bằng Packet Tracer)
Trang 3 Công nghệ Spanning tree trên Switch sẽ tự động tính toán để chọn ra các port sẽ bị khóa tạm thời (Blocked port) nhằm tránh sự cố Switching loop
3 Cấu hình tối ưu STP trên VLAN 1:
Spanning Tree Protocol là cơ chế tự trị => các switches tự bình chọn Blocked port
Sẽ có trường hợp STP không tối ưu cho các luồng traffic di chuyển giữa các Switch
Trong mô hình STP trên, tất cả traffic từ phòng Kinh doanh muốn đi về Server đều
phải chạy vòng qua SW1 (Phòng KD – SW1 – SW0 – Server)
Cần cấu hình Spanning tree nhằm đảm bảo đường đi của traffic từ phòng về Server
là tối ưu nhất (Phòng – SW0 – Server)
Ngoài ra, cũng cần cấu hình Spanning tree hoạt động bằng giao thức Rapid-PVST (thay vì PVST) cho quá trình hội tụ (Convergence) nhanh hơn
- Cấu hình cho SW0 làm Primary Root Bridge cho STP trên VLAN-1 nhằm đảm bảo đường
đi của traffic từ phòng về Server luôn đi trực tiếp qua SW0
SW1(config)# spanning-tree vlan 1 root primary
- Cấu hình cho tất cả Switch hoạt động bằng giao thức Rapid-PVST
SW(config)# spanning-tree mode rapid-pvst
Kết quả:
4 Thực nghiệm tính sẵn sàng của Spanning tree:
- Thử nghiệm gây sự cố đứt cáp mạng trên đường mạng đang hoạt động:
=> Spanning tree sẽ tự động chuyển trạng thái của các port để đảm bảo các traffic vẫn thông nhau giữa các Switch
Trang 4- Thử nghiệm khôi phục lại cáp bị đứt
=> Spanning tree sẽ trả lại trạng thái ban đầu
Kịch bản tấn công thao túng STP:
- Attacker có máy tính tại Phòng Kinh Doanh
- Anh ta muốn nghe lén (sniffing) traffic của các máy Phòng Kế toán nhưng không thể vì
traffic không đi qua SW2
- Attacker không có quyền truy cập cấu hình các Switch của doanh nghiệp
Root claim là kỹ thuật phá vỡ (làm thay đổi) root bridge của STP
Để có thể nghe lén (dùng kỹ thuật Man in the middle - MITM) các traffic của phòng
Kế toán, Attacker sẽ phá vỡ cấu trúc Spanning tree hiện tại (Root claim) với mục
đích ép buộc traffic của Kế toán khi đi về Server phải ngang qua SW-2
Phương thức: cấu hình cho Switch của Attacker trở thành Root Primary trên VLAN 1
- Quá trình tấn công Root claim:
o Attacker sử dụng một switch (thật hay ảo) của mình kết nối vào switch SW2
o Cấu hình STP trên switch Atk-Sw trở thành Primary Root Bridge trên VLAN-1
Atk-sw(config)# spanning-tree vlan 1 root primary
- Kết quả:
o Traffic từ phòng Kế toán sẽ đi về Server sẽ đi ngang qua Atk-Sw => Attacker dễ dàng
đánh cắp luồng traffic đó
Trang 5Kịch bản tấn công Storm STP:
- Mục đích:
o Làm cho hạ tầng mạng Layer-2 bị nghẽn mạch bằng cách tạo ra hiện tượng Switching loop giữa các Switches
o Đây cũng là 1 dạng tấn công từ chối dịch vụ (Denied of Service – DoS)
- Kỹ thuật Storm STP:
o Làm cho tất cả các Switch luôn rơi vào quá trình “bầu chon Root Bridge”
o Trong thời gian bầu chọn, topology sẽ không có Root bridge => không có blocked port
=> sự cố Switching loop sẽ xảy ra
- Thực nghiệm trên hệ thống mạng thật hoặc giả lập bằng GNS3
o Lưu ý: Thiết bị Switch có sẵn trong GNS3 chỉ là switch thông thường (không có các
công nghệ mạng Layer-2)
o Giả lập Switch trong GNS3:
Sử dụng một IOS Router 3725 (hoặc 3645, 3745…)
Lắp thêm vào Router một NM-16ESW module Đây là mô-dun switch 16 port
Ethernet (10Mbps)
Thao tác: lấy IOS Router Nhấp phải trên Router -> vào Configure -> tab Slot và
thêm NM-16ESW vào slot 2
o Dùng GNS3 để dựng mô hình mạng như phần trên:
o Trong đó:
Cloud “P Kế Toán” được cấu hình card mạng VMNet1
Cloud “P Kinh Doanh” được cấu hình card mạng VMNet2
Cloud “Phòng IT” được cấu hình card mạng VMNet3
Máy ảo “Kali Linux” đấu nối “Network Adapter” vào VMNet1
Trang 6 Máy ảo “Nhân viên” đấu nối “Network Adapter” vào VMNet2
Máy ảo “Server” đấu nối “Network Adapter” vào VMNet3
- Công cụ tấn công STP claim:
o Khởi động máy Attacker bằng Kali Linux
o Dùng công cụ Yersinia (có sẵn trong Kali Linux) bằng tùy chọn liên tục gởi các gói
BPDUs đến các Switches trong mạng (tùy chọn 2 và 3)
Trang 7BÀI TẬP 3 TẤN CÔNG DHCP SERVER
Mô tả bài tập:
- Sử dụng kỹ thuật tấn công DHCP Server như: DoS DHCP, Starvation DHCP và tạo DHCP Server giả mạo (Rogue DHCP) vào hệ thống
- Cấu hình Port-security trên Switch dùng phòng chống các kỹ thuật tấn công DHCP Server
- Cấu hình DHCP snooping trên Switch nhằm chống lại các DHCP Server giả mạo
Mô hình triển khai bài lab:
Dùng GNS3 và VMware triển khai mô hình mạng doanh nghiệp như sau:
Trong đó:
- SW-1: sử dụng Cloud gắn card mạng VMNet-1
- R1: Router kết nối internet (VMNet-8) Có thể không cần dùng Router cho bài lab này
- DHCP Server: máy ảo Windows Server có cài đặt và cấu hình dịch vụ DHCP
- Kali-Linux: máy ảo chạy Kali Linux (bộ công cụ tấn công mạng chạy trên Ubuntu Linux)
Kịch bản tấn công Flooding DHCP Server:
Tiến trình DHCP bao gồm 4 bước:
Bước 1: DISCOVER – DHCP client dùng dynamic IP sẽ broadcast gói
DHCP-DISCOVER (có chứa MAC address của Client) để tìm kiếm và xin thông số IP address
từ DHCP Server mà nó chưa biết
Bước 2: DHCP-OFFER – DHCP Server nhận gói DHCP-DISCOVER -> chọn IP address
và Mask trong Database của nó -> broadcast cho DHCP client
Bước 3: DHCP-REQUEST – DHCP client nhận được IP address và Mask -> broadcast
gói DHCP-REQUEST để xác nhận và xin thêm các Options từ DHCP Server
Bước 4: DHCP-ACK – DHCP Server sẽ ghi nhận lại IP address đã cấp với MAC
address của Client nhận, tìm các Options trong Database -> broadcast gói cho DHCP client và xác nhận kết thúc tiến trình DHCP
Tiến trình DHCP hoàn toàn không có chứng thực hoặc xác minh Attacker lợi dụng điểm này để tấn công làm tê liệt dịch vụ DHCP hoặc lấy hết IP address trong DHCP pool của Server
Trang 81 Tấn công Flooding DHCP Server:
Nguyên lý:
- Attacker gởi broadcast gói DHCP-DISCOVER DHCP Server nhận được và cung cấp IP address và Mask trên gói DHCP-OFFER
- Khi nhận được gói DHCP-OFFER -> attacker không phản hồi gói DHCP-REQUEST =>
dịch vụ DHCP trên Server phải chờ phản hồi => tiến trình DHCP không kết thúc trên Server
- Attacker tiếp tục gởi gói DHCP-DISCOVER với MAC address (giả) mới và không phản
hồi gói DHCP-REQUEST
- Việc này lặp lại liên tục sẽ làm cho dịch vụ DHCP trên Server bị tê liệt do có quá nhiều tiến trình DHCP chạy mà không kết thúc
Dùng công cụ Yersinia trong Kali Linux để tấn công Flooding DHCP Server:
- Trong Kali Linux: chạy Yersinia -I (chữ i hoa) trong Terminal (-I chạy với giao diện text)
- Nhấn phím g để mở cửa sổ “Choose protocol mode” chọn tấn công giao thức DHCP
- Nhấn phím x để mở “Attack panel” (bảng chọn phương thức tấn công) nhấn số “1” để chọn kiểu tấn công “sending DISCOVER packet”
Trang 9Lưu ý: nếu mô hình trên được triển khai trên máy ảo VMware và Switch dùng GNS3, khi máy ảo “DHCP server” bị DoS thì các Switch ảo và Kali-Linux ảo cũng bị ảnh hưởng theo
- Khi số lượng DISCOVER packet gởi đi đủ lớn (đủ làm tê liệt dịch vụ DHCP trên Server) thì
có thể hủy tấn công bằng cách: nhấn phím l (lờ) để mở “Running attacks” -> nhấn Enter
để dừng cuộc tấn công
2 Kiểm tra kết quả tấn công Flooding DHCP Server:
- Từ máy DHCP Client, dùng lệnh: IPCONFIG /release để bỏ thông số IP Sau đó dùng
lệnh: IPCONFIG /renew để xin lại
- Nếu máy Client không xin được thông số IP có nghĩa là DHCP Server để bị DoS
3 Khôi phục dịch vụ DHCP Server sau khi bị tấn công:
DHCP Server chỉ phục hồi khi người quản trị Restart dịch vụ này:
Kịch bản tấn công DHCP Starvation:
DHCP Starvation là kiểu tấn công mà Attacker sẽ làm cho DHCP Server không còn IP
addresses cấp phát cho các Clients
Nguyên lý:
- Attacker giả mạo các MAC address và Computer Name khác nhau để xin thông số IP address trong DHCP Pool của Server
- Kiểu tấn công này, Attacker hoàn thành đủ cả 4 giai đoạn của quá trình DHCP
- Việc xin thông số IP liên tục sẽ liên tục sẽ khiến DHCP Server không còn IP address trong
pool để cấp phát cho các Client khác
1 Thực thi tấn công DHCP Starvation:
Trong Kali Linux, tấn công DHCP Starvation được viết thành một Python script (kịch bản viết bằng ngôn ngữ Python) với tên tập tin: pig.py
Trang 10- Chạy Terminal
- Gõ lệnh: pig.py <tên interface>
(interface là tên card mạng giao tiếp với máy DHCP server)
- Minh họa:
2 Kết quả tấn công DHCP Starvation:
- Trên máy DHCP Server, mở dịch vụ DHCP và xem lại “Address Leases” sẽ thấy Attacker vét sạch IP addresses trong pool
Trang 11Kịch bản tấn công Rogue DHCP Server:
Sau khi dùng 1 trong 2 hình thức tấn công trên, DHCP Server hợp pháp sẽ không còn chức năng cấp phát IP cho các máy Client trong mạng Lúc này, Attacker sẽ:
- Dùng máy Kali Linux để dựng thành một Router giả với mục tiêu: các luồng traffic của các máy trong mạng nội bộ khi giao tiếp ra ngoài phải đi ngang qua máy Kali Linux => Attacker dễ dàng capture gói tin
- Có thể triển khai một DNS Server giả với mục tiêu: các máy trong mạng nội bộ sẽ
truy vấn tên miền của máy Kali Linux => Attacker kiểm soát giải đáp tên miền -> Server IP address giả mạo
Nguyên lý triển khai:
- Triển khai một DHCP “đểu” (Rogue DHCP Server) để cấp phát thông số IP cho các máy Client trong mạng trỏ Default Gateway về Router giả và (hoặc) trỏ DNS Server
về DNS Server giả
1 Triển khai máy Kali Linux thành Router giả:
- Đặt IP address tĩnh cho interface thật
# ifconfig eth0 192.168.1.200 netmask 255.255.255.0
- Tạo mới sub-interface và đặt IP address tĩnh cho interface này
# ifconfig eth0:1 192.168.1.254 netmask 255.255.255.0
- Kích hoạt (tạm thời) chức năng IP-Forward của máy Linux
# echo 1 > /proc/sys/net/ipv4/ip_forward
- Khai báo Default Gateway (là IP address của Router thật)
# route add default gw 192.168.1.1 eth0
- Kiểm tra lại thông tin route:
# route –n
2 Tấn công Starvation DHCP Server hợp pháp:
- Dùng pig.py để tấn công DHCP Starvation làm tê liệt DHCP Server hợp pháp như kịch bản trên
- Khi máy DHCP Server hợp pháp bị tê liệt cũng là lúc Attacker triển khai DHCP “đểu”
3 Tạo Rogue DHCP Server (máy DHCP đểu):
- Chạy Metasploit trên máy Kali Linux:
# msfconsole
- Nạp dịch vụ DHCP:
mfs> # use auxiliary/server/dhcp
Trang 12- Thiết lập các Options cho DHCP:
(dhcp) > set SRVHOST 192.168.1.200
(dhcp) > set DHCPIPSTART 192.168.1.101
(dhcp) > set DHCPIPEND 192.168.1.120
(dhcp) > set DNSSERVER 8.8.8.8
(dhcp) > set NETMASK 255.255.255.0
(dhcp) > set ROUTER 192.168.1.254
- Thực thi Rogue DHCP Server:
(dhcp) > run
4 Kiểm tra kết quả tấn công Rogue DHCP Server:
- Từ máy DHCP Client, dùng lệnh: IPCONFIG /release để bỏ thông số IP Sau đó dùng
lệnh: IPCONFIG /renew để xin lại
- Nếu máy Client xin được thông số IP từ Rogue DHCP Server là thành công
Trang 13BÀI TẬP 4 TẤN CÔNG DÙNG ARP SPOOFING
Mô tả bài tập:
- Sử dụng kỹ thuật giả mạo các gói tin ARP (ARP spoofing) nhằm:
Thực thi tấn công làm mất kết nối mạng internet của nạn nhân (tấn công net-cut)
Đánh cắp thông tin truyền giữa 2 máy tính hoặc giữa máy nạn nhân và Router (kỹ thuật tấn công Man in the middle)
Diễn giải các kỹ thuật tấn công dùng ARP spoofing:
- Net-cut: Kỹ thuật không cho máy nạn nhân giao tiếp với Router (Gateway) => nạn nhân
không gio tiếp được internet:
Máy Attacker tự gởi về máy Victim gói tin ARP reply có nội dung: “IP address của
Default gateway là MAC address không tồn tại” Hành động này gọi là ARP poisoning –
tiêm độc ARP
Mỗi khi máy Victim gởi dữ liệu về Default gateway, nó sẽ gán “MAC address không tồn
tại” đó vào gói tin
Khi Switch nhận gói tin đó, switch sẽ hủy vì không tìm được port (có MAC tương ứng)
để chuyển tiếp gói tin đó
- Man in the middle: kỹ thuật nghe lén luồng dữ liệu giữa 2 đối tác (A và B) trên Switch bằng
phương pháp tấn công ARP:
Máy Attacker gởi về máy B gói tin ARP reply có nội dung: “IP address của A là MAC
address của Attacker”
Như vậy, khi A gởi tin cho B, nó sẽ gán MAC address của Attacker => Switch chuyển gói
đó về máy Attacker Tương tự khi B gởi tin cho A gói cũng sẽ chuyển về máy Attacker
Kịch bản tấn công Netcut:
Dùng VMware triển khai mô hình mạng doanh nghiệp như sau:
Trong đó:
- Switch: sử dụng switch VMNet-8 của VMware Workstation
- Router: chính là dịch vụ NAT có sẵn của VMware Workstation
- Victim: máy ảo Windows kết nối VMnet-8, dùng IP động
- Attacker: máy ảo Windows kết nối VMnet-8, dùng IP động
Trang 141 Tấn công cắt mạng bằng Net-cut:
1 Search, Download và Setup phần mềm Netcut (for Windows)
2 Chạy công cụ Netcut.
3 Chọn máy nạn nhân và tiến hành “Net cut = ON”
2 Kiểm nghiệm phương thức tấn công của Net-cut lên máy Victim
- Máy Victim (trước khi bị Net cut):
Chạy Command Prompt
Lệnh: IPCONFIG để xem địa chỉ IP của Default Gateway và DNS Server
Lệnh: NETSTAT -n để xem và ghi nhận MAC address của Default Gateway
- Máy Victim (khi bị Net cut):
Lệnh: NETSTAT -n để xem và ghi nhận MAC address của Default Gateway
So sánh MAC address của Default Gateway trước và sau khi bị tấn công
Kịch bản tấn công Man in the middle:
- Doanh nghiệp ABC có mạng nội bộ kết nối như mô hình (mô phỏng bằng phần mềm
GNS3):
- Triển khai mô hình bằng GNS3 như sau:
Internet: dùng Cloud loại NAT
Phong-IT: dùng Cloud, cấu hình bằng card mạng VMNet1 (interface của VMWare)