79
TÌM HIU VÀ MINH HA SNIFFER 1 MC LC LỜI CẢM ƠN ............................................................................................................. 3 PHN I: GII THIỆU ĐỀ TÀI .................................................................................. 4 PHN II: NI DUNG ................................................................................................ 5 CHƢƠNG I: CÁC GIAO THC LIÊN QUAN ......................................................... 5 1.1 GIAO THC PHÂN GIẢI ĐỊA CH-ARP (ADDRESS RESOLUTION PROTOCOL) ........................................................................................................... 5 1.2 GIAO THC CẤU HÌNH HOST ĐỘNG-DHCP (DYNAMIC HOST CONFIGURATION PROTOCOL) .......................................................................10 1.3 SPANNING TREE PROTOCOL (STP) .....................................................13 1.4 MNG LANS O-VLAN (VIRTUAL LOCAL AREA NETWORK) ......17 1.5 HTHNG PHÂN GII TÊN MIN-DNS (DOMAIN NAME SYSTEM) …………………………………………………………………………….22 1.6 ĐỊA CHMAC (MEDIA ACCESS CONTROL) .......................................25 CHƢƠNG II: TỔNG QUAN VSNIFFER ............................................................ 28 2.1 ĐỊNH NGHĨA SNIFFER ............................................................................28 2.2 PHÂN LOI SNIFFER ...............................................................................28 2.3 MT SỐN PHƢƠNG PHÁP PHÁT HIN SNIFFER ...............................29 2.4 CÁC PHƢƠNG PHÁP PHÒNG CHNG SNIFFER .................................33 CHƢƠNG III: CÁC LOẠI SNIFFER VÀ CÁCH PHÒNG CHNG ..................... 35 3.1 MAC FLOODING .......................................................................................35 3.2 DHCP STARVATION ................................................................................39 3.3 ROGUE DHCP SERVER ...........................................................................45 3.4 ARP POISONING .......................................................................................49 3.5 DNS POISONING .......................................................................................55 3.6 MAC SPOOFING........................................................................................63 3.7 VLAN HOPPING ........................................................................................65

Tìm hiểu Sniffer

Embed Size (px)

DESCRIPTION

Sniffer là một hình thức nghe lén trên hệ thống mạng, dựa trên những đặc điểm của cơ chế TCP/IP.

Citation preview

Page 1: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 1

MỤC LỤC

LỜI CẢM ƠN ............................................................................................................. 3

PHẦN I: GIỚI THIỆU ĐỀ TÀI .................................................................................. 4

PHẦN II: NỘI DUNG ................................................................................................ 5

CHƢƠNG I: CÁC GIAO THỨC LIÊN QUAN ......................................................... 5

1.1 GIAO THỨC PHÂN GIẢI ĐỊA CHỈ-ARP (ADDRESS RESOLUTION

PROTOCOL) ........................................................................................................... 5

1.2 GIAO THỨC CẤU HÌNH HOST ĐỘNG-DHCP (DYNAMIC HOST

CONFIGURATION PROTOCOL) ....................................................................... 10

1.3 SPANNING TREE PROTOCOL (STP) ..................................................... 13

1.4 MẠNG LANS ẢO-VLAN (VIRTUAL LOCAL AREA NETWORK) ...... 17

1.5 HỆ THỐNG PHÂN GIẢI TÊN MIỀN-DNS (DOMAIN NAME SYSTEM)

…………………………………………………………………………….22

1.6 ĐỊA CHỈ MAC (MEDIA ACCESS CONTROL) ....................................... 25

CHƢƠNG II: TỔNG QUAN VỀ SNIFFER ............................................................ 28

2.1 ĐỊNH NGHĨA SNIFFER ............................................................................ 28

2.2 PHÂN LOẠI SNIFFER ............................................................................... 28

2.3 MỘT SỐN PHƢƠNG PHÁP PHÁT HIỆN SNIFFER ............................... 29

2.4 CÁC PHƢƠNG PHÁP PHÒNG CHỐNG SNIFFER ................................. 33

CHƢƠNG III: CÁC LOẠI SNIFFER VÀ CÁCH PHÒNG CHỐNG ..................... 35

3.1 MAC FLOODING ....................................................................................... 35

3.2 DHCP STARVATION ................................................................................ 39

3.3 ROGUE DHCP SERVER ........................................................................... 45

3.4 ARP POISONING ....................................................................................... 49

3.5 DNS POISONING ....................................................................................... 55

3.6 MAC SPOOFING........................................................................................ 63

3.7 VLAN HOPPING ........................................................................................ 65

Page 2: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 2

3.8 SPANNING TREE PROTOCOL ATTACK............................................... 71

PHẦN III: TỔNG KẾT VÀ ĐÁNH GIÁ ................................................................. 77

1. KẾT QUẢ ĐẠT ĐƢỢC ................................................................................. 78

2. HƢỚNG PHÁT TRIỂN .................................................................................. 78

PHẦN IV: TÀI LIỆU THAM KHẢO ...................................................................... 79

Page 3: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 3

LỜI CẢM ƠN

Trƣớc tiên, nhóm em xin gửi lời cảm ơn chân thành nhất tới thầy Đinh Công

Đoan, ngƣời thầy đã tận tình giúp đỡ, chỉ bảo nhóm trong suốt quá trình làm tiểu

luận.

Bên cạnh đó, xin chân thành cám ơn khoa Công nghệ Thông tin, Bộ môn

Mạng máy tính, trƣờng Đại học Sƣ Phạm Kỹ Thuật TP.HCM đã tạo điều kiện

thuận lợi cho nhóm thực hiện đề tài này.

Nhóm em cũng xin gửi lời biết ơn sâu sắc tới thầy, cô trong trƣờng Đại học

Sƣ Phạm Kỹ Thuật TP.HCM. Thầy, cô đã dìu dắt, truyền lại cho chúng em không

chỉ những kiến thức chuyên ngành mà còn dạy bảo chúng em đạo làm ngƣời, rèn

luyện cho chúng em nghị lực, khát vọng vƣơn lên, phát huy khả năng tƣ duy sáng

tạo trong mọi lĩnh vực.

Cuối cùng, nhóm xin đƣợc cảm ơn gia đình, bạn bè, những ngƣời thân yêu

nhất. Mọi ngƣời luôn ở bên cạnh động viên, khuyến khích chúng em trong suốt

thời gian học tập và nghiên cứu.

Dù đã cố gắng hoàn thành đề tài tiểu luận đúng yêu cầu, nhƣng do thời gian

hạn hẹp và khả năng còn hạn chế nên chắc chắn sẽ có những thiếu sót không

tránh khỏi. Nhóm mong nhận đƣợc sự thông cảm và chỉ bảo của các quý thầy cô .

TP.HCM, tháng 1 năm 2013

Nhóm thực hiện:

Phan Huỳnh Trung

và Nguyễn Đức Phú

Page 4: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 4

PHẦN I: GIỚI THIỆU ĐỀ TÀI

Hiện nay, khi công nghệ thông tin đang phát triển một cách mạnh mẽ, mạng

máy tính là một thành phần không thể thiếu đối với các hệ thống thông tin của

mọi tổ chức. Hơn nữa, hầu hết các giao dịch, dịch vụ của xã hội đều đƣợc triển

khai trên mạng. Nhƣng liệu khi tham gia vào hoạt động trên mạng thông tin của

chúng ta có thực sự an toàn, đó là câu hỏi mà nhiều ngƣời thƣờng xuyên đặt ra và

đi tìm lời giải đáp. Nếu chúng ta không khắc phục những điểm yếu này thì môi

trƣờng mạng sẽ trở thành một mảnh đất màu mỡ cho những hacker xâm nhập,

gây ra sự thất thoát thông tin, tiền bạc. Do đó bảo mật trong mạng đang là một

vấn đề quan trọng hàng đầu.

Hiểu đƣợc các vấn đề đó, nhóm đã quyết định chọn đề tài “Tìm hiểu và

minh họa một số kỹ thuật Sniffer”. Đề tài này sẽ tập trung mô phỏng các

phƣơng thức tấn công tổng quát trên mạng thông qua các chƣơng trình Sniffer và

tìm hiểu các cách phát hiện cũng nhƣ phòng chống Sniffer sao cho hiệu quả nhất.

Nội dung đề tài gồm 4 phần: phần giới thiệu đề tài, phần nội dung, phần tổng

kết và phần tài liệu tham khảo.

Phần nội dung của bài tiểu luận đƣợc chia thành 4 chƣơng: chƣơng đầu tiên

giới thiệu các giao thức liên quan đến Sniffer. Chƣơng tiếp theo sẽ giới thiệu tổng

quan về Sniffer, phân loại các loại Sniffer, các giao thức dễ bị Sniffer và phƣơng

pháp phát hiện cũng nhƣ phòng chống Sniffer hiệu quả. Chƣơng cuối cùng là

trình bày các loại Sniffer và các minh họa cụ thể.

Page 5: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 5

PHẦN II: NỘI DUNG

CHƢƠNG I: CÁC GIAO THỨC LIÊN QUAN

1.1 Giao thức phân giải địa chỉ-ARP (Address Resolution Protocol)

1.1.1 Khái niệm

ARP là phƣơng thức phân giải địa chỉ động giữa địa chỉ lớp network và địa

chỉ lớp data-link. Sở dĩ cần phải có giao thức chuyển đổi nhƣ vậy là do có nhiều

giao thức lớp 3 nhƣ IP, IPX, Appletalk… mỗi giao thức lại có qui ƣớc về địa chỉ

logic riêng. Khi đƣợc đóng gói vào một frame tại lớp thì tất cả các địa chỉ này

cần phải đƣợc qui đổi thành một kiểu địa chỉ thống nhất (địa chỉ MAC) nhằm

giúp cho mọi thiết bị có thể trao đổi với các thiết bị khác khi chúng nằm trong

cùng một môi trƣờng truyền dẫn vật lý.

Ban đầu ARP chỉ đƣợc sử dụng trong mạng Ethernet để phân giải địa chỉ IP

và địa chỉ MAC. Nhƣng ngày nay ARP đã đƣợc ứng dụng rộng rãi và dùng trong

các công nghệ khác dựa trên lớp hai.

Hình 1.1. Vị trí của ARP

1.1.2 Cấu trúc bảng tin ARP

- Hardware type: xác định kiểu mạng phần cứng: Ethernet, Token ring.

- Protocol: xác định kiểu của giao thức lớp network.

- HLEN: độ dài địa chỉ MAC: 48 bits (Ethernet), 32 bits (Token ring).

- PLEN: độ dài địa chỉ IP.

Page 6: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 6

Hình 1.2. Cấu trúc bản tin ARP

- Operation: xác định kiểu thông điệp ARP (Request/Respone)

- Sender HA/ Target HA: địa chỉ MAC máy gửi/máy nhận.

- Sender IP/ Target IP: địa chỉ IP máy gửi/máy nhận.

1.1.3 Cơ chế hoạt động

Quá trình thực hiện ARP đƣợc bắt đầu khi một thiết bị nguồn trong một

mạng IP có nhu cầu gửi một gói tin IP. Trƣớc hết thiết bị đó phải xác định xem

địa chỉ IP đích của gói tin có phải nằm cùng trong mạng nội bộ của mình hay

không. Nếu đúng vậy thì thiết bị sẽ gửi trực tiếp gói tin đến thiết bị đích. Nếu địa

chỉ IP đích nằm trên mạng khác, thì thiết bị sẽ gửi gói tin đến một trong các

Router nằm cùng trên mạng nội bộ để Router này làm nhiệm vụ forward gói tin.

Cả hai trƣờng hợp ta đều thấy đƣợc là thiết bị phải gói tin IP đến một thiết bị IP

khác trên cùng mạng nội bộ. Ta biết rằng việc gửi gói tin trong cùng mạng thông

qua Switch là dựa vào địa chỉ MAC hay địa chỉ phần cứng của thiết bị. Sau khi

gói tin đƣợc đóng gói thì mới bắt đầu đƣợc chuyển qua quá trình phân giải địa chỉ

ARP và đƣợc chuyển đi.

ARP về cơ bản là một quá trình 2 chiều request/response giữa các thiết bị

trong cùng mạng nội bộ. Thiết bị nguồn request bằng cách gửi một bản tin

broadcast trên toàn mạng. Thiết bị đích response bằng một bản tin unicast đến

thiết bị nguồn.

Page 7: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 7

Các bƣớc hoạt động của ARP

- B1. Source Device Checks Cache: Trong bƣớc này, thiết bị sẽ kiểm tra

cache (bộ đệm) của mình. Nếu đã có địa chỉ IP đích tƣơng ứng với MAC

nào đó rồi thì lập tức chuyển lên bƣớc 9.

- B2. Source Device Generates ARP Request Message: Bắt đầu khởi tạo

gói tin ARP Request với các trƣờng địa chỉ nhƣ trên.

- B3. Source Device Broadcasts ARP Request Message: Thiết bị nguồn

quảng bá gói tin ARP Request trên toàn mạng.

- B4. Local Devices Process ARP Request Message: Các thiết bị trong

mạng đều nhận đƣợc gói tin ARP Request. Gói tin đƣợc xử lý bằng cách

các thiết bị đều nhìn vào trƣờng địa chỉ Target Protocol Address. Nếu

trùng với địa chỉ của mình thì tiếp tục xử lý, nếu không thì hủy gói tin.

- B5. Destination Device Generates ARP Reply Message: Thiết bị với IP

trùng với IP trong trƣờng Target Protocol Address sẽ bắt đầu quá trình

khởi tạo gói tin ARP Reply bằng cách lấy các trƣờng Sender Hardware

Address và Sender Protocol Address trong gói tin ARP nhận đƣợc đƣa

vào làm Target trong gói tin gửi đi. Đồng thời thiết bị sẽ lấy địa chỉ

datalink của mình để đƣa vào trƣờng Sender Hardware Address.

- B6. Destination Device Updates ARP Cache: Thiết bị đích (thiết bị khởi

tạo gói tin ARP Reply) đồng thời cập nhật bảng ánh xạ địa chỉ IP và

MAC của thiết bị nguồn vào bảng ARP cache của mình để giảm bớt thời

gian xử lý cho các lần sau.

- B7. Destination Device Sends ARP Reply Message: Thiết bị đích bắt đầu

gửi gói tin Reply đã đƣợc khởi tạo đến thiết bị nguồn. Gói tin reply là gói

tin gửi unicast.

- B8. Source Device Processes ARP Reply Message: Thiết bị nguồn nhận

đƣợc gói tin reply và xử lý bằng cách lƣu trƣờng Sender Hardware

Address trong gói reply nhƣ địa chỉ phần cứng của thiết bị đích.

Page 8: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 8

- B9. Source Device Updates ARP Cache: Thiết bị nguồn update vào ARP

cache của mình giá trị tƣơng ứng giữa địa chỉ network và địa chỉ

datalink của thiết bị đích. Lần sau sẽ không còn cần tới request.

Hình 1.3. Quá trình gửi/nhận bản tin ARP

1.1.4 ARP Caching

ARP là một giao thức phân giải địa chỉ động. Quá trình gửi gói tin Request

và Reply sẽ tiêu tốn băng thông mạng. Chính vì vậy càng hạn chế tối đa việc gửi

gói tin Request và Reply sẽ càng góp phần làm tăng khả năng họat động của

mạng. Từ đó sinh ra nhu cầu của ARP Caching.

ARP Cache có dạng giống nhƣ một bảng tƣơng ứng giữa địa chỉ hardware và

địa chỉ IP. Có hai cách đƣa các thành phần tƣơng ứng vào bảng ARP:

- Static RP Cache Entries: Đây là cách mà các thành phần tƣơng ứng

trong bảng ARP đƣợc đƣa vào lần lƣợt bởi ngƣời quản trị. Công việc

đƣợc tiến hành một cách thủ công.

- Dynamic ARP Cache Entries: Đây là quá trình mà các thành phần địa

chỉ hardware/IP đƣợc đƣa vào ARP cache một cách hoàn toàn tự động

bằng phần mềm sau khi đã hoàn tất quá trình phân giải địa chỉ. Chúng

đƣợc lƣu trong cache trong một khoảng thời gian và sau đó sẽ đƣợc xóa.

Page 9: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 9

Dynamic Cache đƣợc sử dụng rộng rãi hơn vì tất cả các quá trình diễn ra tự

động và không cần đến sự tƣơng tác của ngƣời quản trị. Tuy nhiên static cache

vẫn có phạm vi ứng dụng nhất định của nó. Đó là trƣờng hợp mà các workstation

nên có static ARP entry đến router và file server nằm trong mạng. Điều này sẽ

hạn chế việc gửi các gói tin để thực hiện quá trình phân giải địa chỉ.

Tuy nhiên ngoài hạn chế của việc phải nhập bằng tay, static cache còn thêm

hạn chế nữa là khi địa chỉ IP của các thiết bị trong mạng thay đổi thì sẽ dẫn đến

việc phải thay đổi ARP cache.

Quá trình xóa thông tin trong Cache

Ta xét trƣờng hợp bảng cache của một thiết bị A, trong đó có chứa thông tin

về thiết bị B trong mạng. Nếu các thông tin trong cache đƣợc lƣu mãi mãi, sẽ có

một số vấn đề nhƣ sau xảy ra:

- Địa chỉ phần cứng thiết vị đƣợc thay đổi: Đây là trƣờng hợp khi thiết bị

B đƣợc thay đổi card mạng hay thiết bị giao tiếp, làm thay đổi địa chỉ

MAC của thiết bị. Điều này làm cho các thông tin trong cache của A

không còn đúng nữa.

- Địa chỉ IP của thiết bị đƣợc thay đổi: Ngƣời quản trị hay nhà cung cấp

thay đổi địa chỉ IP của B, cũng làm cho thông tin trong cache của A bị sai

lệch.

- Thiết bị đƣợc rút ra khỏi mạng: Khi B đƣợc rút ra khỏi mạng nhƣng A

không đƣợc biết, và gây lãng phí về tài nguyên của A để lƣu thông tin

không cần thiết và tốn thời gian để tìm kiếm.

Để tránh đƣợc những vấn đề này, các thông tin trong dynamic cache sẽ đƣợc

tự động xóa sau một khoảng thời gian nhất định. Quá trình này đƣợc thực hiện

một cách hoàn toàn tự động khi sử dụng ARP với khoảng thời gian thƣờng là 10

hoặc 20 phút. Sau một khoảng thời gian nhất định đƣợc lƣu trong cache , thông

tin sẽ đƣợc xóa đi. Lần sử dụng sau, thông tin sẽ đƣợc update trở lại.

Page 10: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 10

1.1.5 Giao thức phân giải địa chỉ ngƣợc RARP (Reverse ARP)

RARP là giao thức phân giải địa chỉ ngƣợc. Quá trình này ngƣợc lại với quá

trình ARP ở trên, nghĩa là cho trƣớc địa chỉ mức liên kết, tìm địa chỉ IP tƣơng

ứng. Nhƣ vậy RARP đƣợc sử dụng để phát hiện địa chỉ IP, khi biết địa chỉ vật lý

MAC.

Khuôn dạng gói tin RARP tƣơng tự nhƣ khuôn dạng gói ARP đã trình bày,

chỉ khác là trƣờng Operation có giá trị 0×0003 cho mã lệnh yêu cầu (RARP

Request) và có giá trị 0×0004 cho mã lệnh trả lời (RARP Reply).

Nguyên tắc hoạt động của RARP ngƣợc với ARP, nghĩa là máy đã biết trƣớc

địa chỉ vật lý MAC tìm địa chỉ IP tƣơng ứng của nó.

1.2 Giao thức cấu hình Host động-DHCP (Dynamic Host Configuration

Protocol)

1.2.1 Khái niệm.

Giao thức cấu hình host động (DHCP) làm việc theo cơ chế Client-Server.

DHCP cho phép các DHCP Client trong một mạng nhận cấu hình IP của mình từ

một DHCP Server. Khi sử dụng DHCP thì công việc quản lý IP của ngƣời quản

trị sẽ ít hơn vì phần lớn IP của Client đƣợc lấy về từ Server.

Server chạy DHCP thực hiện tiến trình xác định địa chỉ IP cấp cho Client.

Client sử dụng địa chỉ đƣợc cấp từ Server trong một khoảng thời gian nhất định

do ngƣời quản trị mạng quy định. Khi thời này hết hạn thì Client phải yêu cầu

cấp lại địa chỉ mới mặc dù thông thƣờng Client sẽ vẫn đƣợc cấp lại địa chỉ cũ.

DHCP sử dụng giao thức UDP (User Datagram Protocol) làm giao thức vận

chuyển của nó. Client gửi thông điệp cho server trên port 67. Server gửi thông

điệp cho Client trên port 68.

Ƣu điểm của DHCP:

- Quản lý TCP/IP tập trung.

- Giảm gánh nặng cho các nhà quản trị hệ thống.

- Giúp hệ thống mạng luôn đƣợc duy trì ổn định và linh hoạt.

Page 11: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 11

1.2.2 Cơ chế hoạt động của DHCP.

Giao thức DHCP làm việc theo mô hình Client/Server. Theo đó, quá trình

tƣơng tác giữa DHCP Client và Server diễn ra theo 4 bƣớc sau đây

IP Lease Request:

Đầu tiên, client sẽ broadcast một message tên là DHCPDISCOVER, vì

Client lúc này chƣa có địa chỉ IP cho nên nó sẽ dùng một địa chỉ source (nguồn)

là 0.0.0.0 và cũng vì Client không biết địa chỉ của DHCP Server nên nó sẽ gửi

đến một địa chỉ broadcast là 255.255.255.255. Lúc này gói tin DHCPDISCOVER

này sẽ broadcast lên toàn mạng. Gói tin này cũng chứa một địa chỉ MAC (Media

Access Control - là địa chỉ mà mỗi một network adapter (card mạng) sẽ đƣợc nhà

sản xuất cấp cho và là mã số để phân biệt các card mạng với nhau) và đồng thời

nó cũng chứa computer name của máy Client để DHCP Server có thể biết đƣợc

Client nào đã gởi yêu cầu đến.

IP Lease Offer:

Nếu có một DHCP hợp lệ (nghĩa là nó có thể cấp địa chỉ IP cho một Client)

nhận đƣợc gói tin DHCPDISCOVER của Client thì nó sẽ trả lời lại bằng một gói

tin DHCPOFFER, gói tin này đi kèm theo những thông tin sau:

- MAC address của Client.

- Một IP address cấp cho (offer IP address).

- Một subnetmask.

- Thời gian thuê.

- Địa chỉ IP của DHCP cấp IP cho Client này.

Lúc này DHCP Server sẽ đƣợc giữ lại một IP đã offer (cấp) cho Client để nó

không cấp cho DHCP Client nào khác. DHCP Client chờ một vài giây cho một

offer, nếu nó không nhận một offer nó sẽ rebroadcast (broadcast gói

DHCPDISCOVER) trong khoảng thời gian là 2, 4, 8 và 16 giây, bao gồm một

khoảng thời gian ngẫu nhiên từ 0 - 1000 mili giây.

Nếu DHCP Client không nhận một offer sau 4 lần yêu cầu, nó sử dụng một

địa chỉ IP trong khoảng 169.254.0.1 đến 169.254.255.254 với subnetmask là

Page 12: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 12

255.255.0.0. Nó sẽ sử dụng trong một số trong khoảng IP đó và việc đó sẽ giúp

các DHCP Client trong một mạng không có DHCP Server thấy nhau. DHCP

Client tiếp tục cố gắng tìm kiếm một DHCP Server sau mỗi 5 phút.

IP Lease Selection:

DHCP client đã nhận đƣợc gói tin DHCPOFFER thì nó sẽ phản hồi

broadcast lại một gói DHCPREQUEST để chấp nhận cái offer đó.

DHCPREQUEST bao gồm thông tin về DHCP Server cấp địa chỉ cho nó. Sau đó,

tấc cả DHCP Server khác sẽ rút lại các offer (trƣờng hợp này là trong mạng có

nhiều hơn 1 DHCP Server) và sẽ giữ lại IP address cho các yêu cầu xin IP

address khác.

IP Lease Acknowledgement:

DHCP server nhận đƣợc DHCPREQUEST sẽ gởi trả lại DHCP Client một

DHCPACK để cho biết là đã chấp nhận cho DHCP Client đó thuê IP address đó.

Gói tin này bao gồm địa chỉ IP và các thông tin cấu hình khác (DNS Server,

WINS Server... ). Khi DHCP Client nhận đƣợc DHCPACK thì cũng có nghĩa là

kết thúc quá trình tìm kiếm của mình.

Cơ chế tự động refresh lại thời gian đăng ký (lease time).

Bây giờ ta coi nhƣ là DHCP Client đã đăng ký đƣợc một IP address rồi. Theo

mặc định của DHCP Server thì mỗi IP lease chỉ đƣợc có 8 ngày. Nếu theo nhƣ

mặc định (8 ngày) thì một DHCP Client sau một khoảng thời gian là 50% (tức là

4 ngày) nó sẽ tự động xin lại IP address với DHCP mà nó đã xin ban đầu. DHCP

Client lúc này sẽ gởi một sẽ gởi một DHCPREQUEST trực tiếp (unicast) đến

DHCP Server mà nó đã xin ban đầu.

Nếu mà DHCP Server đó "còn sống", nó sẽ trả lời bằng một gói DHCPACK

để renew (cho thuê mới lại) tới DHCP Client, gói này bao gồm thông các thông

số cấu hình mới cập nhật nhất trên DHCP Server. Nếu DHCP Server "đã chết",

thì DHCP Client này sẽ tiếp tục sử dụng cấu hình hiện thời của nó.

Page 13: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 13

Hình 1.4. Thứ tự các gói tin trong DHCP

Nếu sau 87.5% (7 ngày) của thời gian thuê hiện thời của nó, nó sẽ broadcast

một DHCPDISCOVER để update địa chỉ IP của nó. Vào lúc này, nó không kiếm

tới DHCP Server ban đầu cho nó thuê nữa mà nó là sẽ chấp nhận bất cứ một

DHCP Server nào khác.

Nếu thời gian đăng ký đã hết thì Client sẽ ngay lập tức dừng lại việc sử dụng

IP address đã đăng ký đó. Và DHCP Client sau đó sẽ bắt đầu tiến trình thuê một

địa chỉ nhƣ ban đầu.

1.3 Spanning Tree Protocol (STP)

1.3.1 Khái niệm

Trong hệ thống mạng, ngƣời quản trị luôn thiết kế hệ thống có tính sẵn sàng

cao (HA-High Availability). Vì thế, ngƣời quản trị luôn thiết kế hệ thống luôn có

đƣờng dự phòng để phòng những trƣờng hợp những đƣờng chính bị mất kết nối.

Nhƣng nhƣ thế sẽ dễ dẫn tới hiện tƣợng lặp (loop) trong mạng, vì thế ta cần có

giao thức STP.

STP là một giao thức ngăn chặn sự lặp vòng, cho phép các Switch truyền

thông với nhau để phát hiện vòng lặp vật lý trong mạng. Sau đó giao thức này sẽ

định rõ một thuật toán mà Switch có thể tạo ra một topology luận lý chứa loop-

free. Nói cách khác STP sẽ tạo một cấu trúc cây của free-loop gồm các lá và các

Page 14: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 14

nhánh nối toàn bộ mạng lớp 2.Các nguyên nhân chính dẫn đến sự chậm trễ hoặc

thậm chí sự đụng độ củaqSwitch:

Hình 1.5. Mô hình STP

Bão Broadcast

Bão Broadcast là hiện tƣợng rất nhiều frame chạy liên tục trong môi trƣờng

các Switch đấu vòng. Làm cho tốc độ hệ thống mạng chậm và có thể làm treo các

Switch tốc tộ thấp.

Instability MAC-address Table

Đây là hiện tƣợng bảng CAM không ổn định. Bảng CAM trong Switch sẽ

cập nhật liên tục mỗi khi có một gói tin đƣợc gởi đi trong mạng.

Multiple Frame Copies

Đây là hiện tƣợng thiết bị đầu cuối nhận rất nhiều frame do các frame này

chạy vòng trong hệ thống. Hiện tƣợng này sẽ làm cho thiết bị đích sẽ chạy chậm

vì tốc độ xử lý của card mạng không đáp ứng một lúc rất nhiều frame.

1.3.2 Cơ chế hoạt động.

STP là một giao thức hoạt động ở lớp 2, nó sử dụng một giải thuật để tìm ra

các vòng lặp trong mạng và tác động của một mạng không bị loop. Giải thuật

chống Loop trong STP đƣợc thực hiện lần lƣợt qua 3 bƣớc:

Bƣớc 1: lựa chọn một Switch gốc (root bridge) trong số các Switch trên

mạng.

Page 15: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 15

Bƣớc 2: Lựa chon một root port (là một cổng duy nhất trên mà Switch sử

dụng để đi tới gốc) trên các Switch khác (trừ gốc).

Bƣớc 3: Lựa chọn một designated port (là một cổng duy nhất mà một

colision domain sử dụng để đi tới gốc.

Việc tính toán Spanning Tree dựa trên hai khái niệm khi tạo ra vòng lặp logic

trong cấu trúc mạng đó là BridgeID và Cost.

BridgeID (BID): là một trƣờng gồm 8 byte, gồm 2 trƣờng con:

- Địa chỉ MAC: có 6 byte đƣợc gán cho Switch, sử dụng dƣới dạng

Hexa.

- Bridge Priority: là độ ƣu tiên có chiều dài là 2 byte tạo thành 216

giá trị

từ 0 đến 65535, có giá trị mặc định là 32768

Hình 1.6. Bridge ID

Cost: là chi phí đi tới Root Bridge có giá trị thấp nhất, chi phí đƣợc tính

bằng tổng cost trên các đoạn đƣờng đi tới đích.

Hình 1.7. Cost

Page 16: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 16

1.3.3 Hoạt động của Spanning Tree

Thuật toán Spanning Tree sẽ đƣợc thực hiện trình tự theo các bƣớc sau:

- Bƣớc 1: Sau khi Switch đƣợc khởi động, nó gửi gói tin BPDU (Bridge

Protocol Data Units), gói tin này gồm Switch Bridge ID và Root ID 2

giây/lần.

- Bƣớc 2: Trong pha khởi tạo ban đầu mỗi thì Switch đều coi nó là Root

Bridge.

- Bƣớc 3: Nếu Switch nhận đƣợc Root ID trong bản tin BPDU của Switch

neighbour mà nhỏ hơn Root ID của nó thì nó sẽ coi Switch neighbour là

Root Bridge (Switch có Root ID nhỏ hơn thì sẽ đƣợc bầu làm Root Bridge).

- Bƣớc 4: Switch sau đó sẽ forward bản tin BPDU với Root ID nhỏ hơn này

tới các Switch kế cận nó.

- Bƣớc 5: Switch với Root ID nhỏ nhất đƣợc coi là Root Bridge trong topo

Spanning-Tree.

- Bƣớc 6: Trong trƣờng hợp 2 Switch có Root ID bằng nhau, chúng sẽ tiến

hàng quá trình bầu chọn thông qua địa chỉ MAC address. Switch nào có địa

chỉ MAC address nhỏ hơn thì đƣợc coi là Root Bridge.

- Bƣớc 7: Sau khi xác định đƣợc Root Bridge, trên các Non-Root Bridge sẽ

tìm ra các Port mà có Cost đến Root Bridge nhỏ nhất để đƣợc bầu làm Root

Port. Cost đến Root Bridge đƣợc tính bằng tổng Cost trên các Segment từ nó

tới đích. Cost bằng 10^8/BW.

o Bƣớc 7.1: Nếu Cost trên các cổng của Switch đến Root Bridge là giống

nhau thì nó sẽ chọn Port nào có kết nối tới Switch có Bridge ID nhỏ hơn

thì port đó đƣợc gọi là Root port.

o Bƣớc 7.2: Giả sử các cổng cùng nối đến một Switch, điều đó có nghĩa là

Bridge ID mà các port dựa vào để đƣa ra chọn lựa là 1, là giống nhau, thì

nó sẽ dựa vào Port ID trên các Switch mà nó kết nối tới. Port nào mà kết

nối tới Port ID có Port Priority nhỏ hơn thì đƣợc chọn là Root Port.

Page 17: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 17

Hình 1.8. Quá trình hoạt động của STP

- Bƣớc 8: Sau khi xác định Root Port, trên mỗi Segment các cặp Switch sẽ

tiến hành bầu chọn Designated Port. Nhiệm vụ của Designated Port là: Gửi

các bản tin PBDU và Replay BPDU của Root gửi tới. Quá trình bầu chọn

Designated Port tƣơng tự quá trình bầu chọn Root Port ( 1.Dựa vào cost;

2.Dựa vào Switch – Priority ; 3.Dựa vào Port ID của Switch )

- Bƣớc 9: Các port còn lại đƣợc xác định là Block Port.

1.4 Mạng LANs ảo-VLAN (Virtual Local Area Network)

1.4.1 Khái niệm

VLAN là một mạng LAN ảo. Mỗi VLAN đƣợc xem nhƣ một mạng con riêng

(có IP đƣợc chia nhƣ một mạng con) và đƣợc tạo ra bằng cách cấu hình trên thiết

bị chuyển mạch lớp 2. Một VLAN tập trung một nhóm thiết bị mạng (điện thoại

IP, PC, Server, máy in…) và đƣợc thiết kế dựa trên các yêu cầu đặt ra từ các

doanh nghiệp. Ví dụ, thiết bị mạng trong một phòng ban sẽ đƣợc cấu hình trong

một VLAN.

Mỗi VLAN sẽ đƣợc quản lý dựa trên số VLAN ID (số xác định khi cấu hình

VLAN) với một tên VLAN tƣơng ứng (tên VLAN này đặt tùy ý). VLAN ID có

thể đặt theo quy định từ 0 đến 4095.

Page 18: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 18

Hình 1.9. VLAN ID

1.4.2 Chức năng của VLAN

Việc cấu hình VLAN trong doanh nghiệp có rất nhiều ý nghĩa. Mục đích ra

đời của VLAN là giúp giảm chi phí hạ tầng, nâng cao đƣợc tính bảo mật, ngoài ra

VLAN còn có rất nhiều chức năng nhƣ:

- VLAN giúp cho hệ thống mạng đƣợc linh hoạt: Hệ thống mạng sẽ đƣợc

linh hoạt nếu nhƣ cấu hình VLAN vì khi muốn thêm hay bớt các thiết bị

mạng vào VLAN rất đơn giản, chỉ cần cấu hình hay hủy cấu hình trên cổng

của Switch cho thiết bị đó với VLAN tƣơng ứng. Mặc khác, việc cấu hình

VLAN làm cho việc di chuyển các thiết bị mạng một cách dễ dàng bằng cách

ngƣời quản trị chỉ cần cấu hình lại các cổng Switch rồi đặt các thiết bị đó vào

các VLAN theo yêu cầu.

- Tăng khả năng bảo mật: Đối với hệ thống mạng không cấu hình VLAN thì

ngƣời dùng với các thiết bị mạng đều có thể truy cập vào nhau, khi bị tấn

công tất cả các thiết bị đều ảnh hƣởng . Đối với các hệ thống đã cấu hình

VLAN thì các thiết bị ở các VLAN khác nhau không thể truy cập vào nhau,

khi bị tấn công chỉ có các thiết bị mạng thuộc VLAN tƣơng ứng bị ảnh

hƣởng.

Page 19: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 19

- Giảm miền quảng bá (broadcast domain): Hệ thống không cấu hình

VLAN là một miền broadcast, mỗi gói broadcast sẽ gởi đến tất cả các thiết bị

trong mạng. Khi đã cấu hình VLAN thì mạng LAN sẽ đƣợc chia nhỏ làm

nhiều segment (đoạn mạng), nếu khi có gói tin broadcast thì nó chỉ đƣợc

truyền duy nhất trong VLAN đó.

- Tiết kiệm băng thông mạng: Khi hệ thống mạng mở rộng, số lƣợng ngƣời

dùng tăng lên và nhu cầu sử dụng băng thông cũng tăng lên và do đó băng

thông và khả năng thực thi của hệ thống mạng sẽ giảm. Khi cấu hình VLAN

thì nó sẽ làm giảm broadcast domain và gói tin broadcast chỉ đƣợc truyền đi

trong VLAN tƣơng ứng và giúp tiết kệm băng thông của hệ thống.

- Hỗ trợ cho cân bằng tài và dự phòng: VLAN giúp cho việc truyền dữ liệu

có thể đi theo nhiều đƣờng khác nhau nhờ cơ chế ngăn chặn sự lặp vòng của

gói tin.

1.4.3 Các kiểu VLAN

Khi VLAN đƣợc cung cấp hay tạo ra ở thiết bị Switch thì các thiết bị mạng

đầu cuối phải đƣợc gán vào VLAN tƣơng ứng theo sự thiết kế. Dựa trên tính

năng VLAN có thể đƣợc cấu hình tĩnh hay động mà ngƣời quản trị mạng có thể

dùng một trong 2 phƣơng pháp sau để thiết lập thành viên cho VLAN (gán thiết

bị vào VLAN tƣơng ứng).

Page 20: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 20

Static VLAN (Port based VLAN):

Hình 1.10. Static VLAN

Đây là cách cấu hình VLAN tĩnh, tức là việc gán các thiết bị mạng vào làm

thành viên của VLAN dựa vào các cổng vật lý trên Switch, nói cách khác thì các

cổng của Switch đƣợc gán với các VLAN riêng biệt. Khi thiết bị mạng kết nối

vật lý đến đến một cổng trên Switch thì thiết bị này sẽ đƣợc tự động gán vào

VLAN đã đƣợc cấu hình từ trƣớc. Trong kiểu cấu hình VLAN này thì ngƣời quản

trị mạng sẽ cấu hình các cổng trên Switch gán cho các VLAN bằng tay. Một hay

nhiều cổng trên Switch sẽ đƣợc cấu hình vào một VLAN với một VLAN ID. Mặc

dù hai thiết bị mạng đƣợc kết nối vào cùng một Switch nhƣng lƣu lƣợng mạng

giữa hai thiết bị không thể trao đổi với nhau vì hai VLAN này không cùng một

VLAN ID.

Dynamic VLAN (MAC address base VLAN):

Đây là cách cấu hình VLAN động, việc cấu hình sẽ dựa trên địa chỉ MAC

của thiết bị thành viên VLAN. Khi một thiết bị mạng kết nối đến một cổng của

Switch thì thiết bị mạng này sẽ không đƣợc tự động đƣợc gán vào VLAN nhƣ

Static VLAN. Mà khi một thiết bị mạng kết nối đến một cổng của Switch, Switch

phải truy vấn đến một cơ sở dữ liệu để gán thiết bị mạng vào làm thành viên của

VLAN. Cơ sở dữ liệu này đƣợc gọi là VMPS (VLAN Membership Policy

Server) database. Ngƣời quản trị phải thực hiện gán địa chỉ MAC của các thiết bị

thành viên VLAN tƣơng ứng trong VMPS database trên TFTP (Trivial File

Page 21: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 21

Transfer Protocol) Server. Khi đổi thiết bị sang Switch khác, Switch sẽ dựa vào

VMPS database thực hiện chỉ định VLAN cho thiết bị đó.

Quá trình thực hiện Dynamic VLAN:

- Thiết bị mạng (Client) thực hiện kết nối vào một cổng trên Switch.

- Switch đóng vai trò VMPS Client nhận đƣợc địa chỉ MAC của thiết bị

mạng.

Hình 1.11. Dynamic VLAN (MAC address base VLAN)

- Switch VMPS Client tiến hành kiểm tra địa chỉ MAC này bằng cách gửi

gói request đến Switch đóng vai trò là VMPS Server.

- Thông tin VMPS database (địa chỉ MAC tƣơng ứng với VLAN) từ TFTP

Server sẽ đƣợc tải vào VMPS Server để kiểm chứng địa chỉ MAC request

từ VMPS Client.

- Nếu thông tin đƣợc kiểm chứng là đúng thì VMPS Server sẽ gửi về VLAN

ID cho VMPS Client.

- VMPS Client sẽ cấu hình cổng cho thiết bị mạng vào đúng VLAN dựa trên

những thông tin nhận từ VMPS Server.

Các cổng trên Switch chỉ thuộc 1 VLAN. Lƣu lƣợng sẽ không lƣu thông qua

các cổng này cho đến khi Switch VMPS server chỉ định VLAN cho cổng này.

Nhiều thiết bị mạng có thể hoạt động trên cùng 1 cổng của Switch khi chúng

cùng chung VLAN. Các cổng trên Switch mà thiết bị đƣợc gán vào làm thành

viên của VLAN theo Dynamic VLAN đƣợc gọi là cổng động (Dynamic port).

Page 22: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 22

Dynamic VLAN (Protocol base VLAN):

Đây cũng là cách cấu hình VLAN động. Cách cấu hình này gần giống nhƣ

MAC address base VLAN, nhƣng sử dụng một địa chỉ logic hay địa chỉ IP thay

thế cho địa chỉ MAC. Cách cấu hình không còn thông dụng nhờ sử dụng giao

thức DHCP.

1.5 Hệ thống phân giải tên miền-DNS (Domain Name System)

1.5.1 Khái niệm

Mỗi máy tính trong mạng muốn liên lạc hay trao đổi thông tin, dữ liệu cho

nhau cần phải biết rõ địa chỉ IP của nhau. Nếu số lƣợng máy tính trong mạng

nhiều thì việc nhớ những IP này là rất khó khăn. Mỗi máy tính ngoài địa chỉ IP ra

còn có tên máy (host name). Đối với con ngƣời thì việc nhớ tên máy bao giờ

cũng dễ nhớ hơn địa chỉ IP vì chúng có tính trực quang và gợi nhớ hơn. Do đó

ngƣời ta tìm cách ánh xạ địa chỉ IP thành tên máy.

Dịch vụ DNS hoạt động theo mô hình Client-Server:

Server: có chức năng là phân giải tên thành địa chỉ IP và ngƣợc lại địa chỉ IP

thành tên, đƣợc gọi là Name Server, lƣu trữ cơ sở dữ liệu của DNS.

Hình 1.12. Sơ đồ tổ chức DNS

Client: truy vấn phân giải tên đến DNS server đƣợc gọi là Resolver, chứa

các hàm thƣ viện dùng để tạo các truy vấn (query) đến Name Server.DNS

đƣợc thi hành nhƣ 1 giao thức của tầng Application trong mô hình mạng

Page 23: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 23

TCP/IP.Một hostname trong domain là sự kết hợp giữa những từ phân cách

nhau bởi dấu chấm (.).

Ví dụ: Tên máy là srv1 gọi là hostname. Tên đầy đủ trong domain theo mô

hình trên thì là srv1.csc.hcmuns.edu.vn gọi là FQDN (Fully Qualified

Domain Name).

1.5.2 Cơ chế phân giải tên

Phân giải tên thành địa chỉ IP

Root Name Server là máy chủ quản lý các name server ở mức top-level

domain. Khi có query về 1 tên domain nào đó thì Root Name Server sẽ cung cấp

tên và địa chỉ IP của name server quản lý top-level domain đó (thực tế thì hầu hết

các root server cũng chính là máy chủ quản lý top-level domain) và đến lƣợc các

name server của top-level domain cung cấp danh sách các name server có quyền

trên các secon-level domain mà domain này thuộc vào. Cứ nhƣ thế đến khi nào

tìm đƣợc máy chủ quản lý tên domain cần truy vấn.

Qua quá trình trên cho thấy vai trò rất quan trọng của Root Name Server

trong quá trình phân giải tên domain. Nếu mọi Root Name Server trên mạng

Internet không liên lạc đƣợc với nhau thì mọi yêu cầu phân giải tên đều sẽ không

đƣợc thực hiện.

Ví dụ : Client cần truy cập trang web Yahoo thì Client sẽ yêu cầu phân giải

địa chỉ IP của Web Server nào có chứa website Yahoo này. Đầu tiên Client sẽ tìm

trong cache của nó, nếu cache của nó không có thì nó sẽ gửi request querry đến

DNS local (nếu trong mạng nội bộ có DNS Server). Sau đó DNS local cũng sẽ

tìm trong cache của nó, nếu có nó sẽ gửi địa chỉ IP cần truy vấn đến cho Client,

nếu cache không có thì lúc này DNS local sẽ gửi request query này đến 1 Root

Name Server nào đó gần nó nhất mà nó biết đƣợc. Sau đó Root Name Server này

sẽ trã lời địa chỉ IP của Name Server quản lý miền .com cho DNS local. DNS

local lại hỏi tiếp name server quản lý domain .com miền yahoo.com địa chỉ IP là

bao nhiêu. Cuối cùng DNS local truy vấn máy chủ quản lý domain Yahoo và

nhận đƣợc câu trả lời.Truy vấn có thể ở 2 loại:

Page 24: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 24

- Truy vấn đệ quy (recursive query) : khi name server nhận đƣợc truy vấn

dạng này, nó bắt buộc phải trả về kết quả tìm đƣợc hoặc thông báo lỗi nếu

nhƣ truy vấn này không phân giải đƣợc. Name Server không thể tham

chiếu đến 1 Name Server khác. Name Server có thể gửi truy vấn dạng

recursive hoặc interative đến Name Server khác nhƣng phải thực hiện cho

đến khi nào có kết quả mới thôi.

Hình 1.13. Truy vấn đệ quy

- Truy vấn tƣơng tác (Iteractive query): khi name server nhận đƣợc truy

vấn dạng này, nó trả lời cho Resolver với thông tin tốt nhất mà nó có đƣợc

vào thời điểm lúc đó. Bản thân name server không thực hiện bất cứ một

truy vấn nào thêm. Thông tin trả về lúc đó có thể lấy từ dữ liệu cục bộ (kể

cả cache). Trong trƣờng hợp Name Server không tìm thấy thông tin trong

dữ liệu cục bộ nó sẽ trả về tên miền và địa chỉ IP của Name Server nào

gần nhất mà nó biết.

Phân giải địa chỉ IP thành tên host

Để có thể phân giải tên máy tính của 1 địa chỉ IP, trong không gian tên miền

ngƣời ta bổ xung thêm 1 nhánh tên miền mà đƣợc lập chỉ mục theo địa chỉ IP.

Phần không gian này có tên miền là in-addr.arpa. Mỗi node trong miền in-

addr.arpa có 1 tên nhãn là chỉ số thập phân của địa chỉ IP.

Page 25: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 25

Hình 1.14. Truy vấn tương tác

Ví dụ: Miền in-addr.arpa có thể có 256 subdomain tƣơng ứng với 256 giá trị

từ 0 đến 255 của byte đầu tiên trong địa chỉ IP. Trong mỗi subdomain lại có 256

subdomain con nữa ứng với byte thứ 2. Cứ nhƣ thế và đến byte thứ 4 có các bản

ghi cho biết tên miền đầy đủ của các máy tính hoặc các mạng có địa chỉ IP tƣơng

ứng.

1.6 Địa chỉ MAC (Media Access Control)

1.6.1 Khái niệm

Năm 1976, khi nhu cầu kết nối các máy tính lại với nhau trở nên cấp thiết, 3

công ty lớn là Xerox, Intel và Digital Equipment Corp (DEC) đã cùng nhau

nghiên cứu và đƣa ra bản thảo cho chuẩn DIX Ethernet, chuẩn cho phép các máy

tính kết nối với nhau thành mạng LAN. Đến năm 1980, tổ chức IEEE (Institute of

Electrical and Electronics Engineers) dựa vào bản thảo DIX Ethernet nói trên đã

xây dựng chuẩn Etherner đầu tiên, trong đó gồm 2 phần: IEEE 802.3 quy định về

lớp điều khiển truy cập môi trƣờng, viết tắt là MAC và IEEE 802.2 quy định về

lớp điều khiển kết nối logic, viết tắt là LLC (Logical Link Control).

Trong mô hình tham chiếu OSI (Open Systems Interconnection) hay mô hình

tham chiếu kết nối các hệ thống mở thì địa chỉ MAC nằm ở lớp 2 (data-link). Nói

một cách đơn giản, địa chỉ MAC là địa chỉ vật lý hay còn gọi là số nhận dạng của

Page 26: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 26

mỗi thiết bị (identification number) của mỗi thiết bị. Mỗi thiết bị (card mạng,

modem, router,...) đƣợc nhà sản xuất gán sẵn một địa chỉ MAC nhất định và địa

chỉ này là duy nhất trên thế giới (có thể giả mạo đƣợc địa chỉ MAC).

1.6.2 Cấu trúc địa chỉ MAC

Địa chỉ MAC đƣợc biểu diễn bằng một số nhị phân 48 bit. Trong đó 24 bit

đầu là mã số của hãng sản xuất thiết bị đó và đƣợc tổ chức IEEE cấp cho mỗi

hãng và 24 bit này gọi là OUI (Organizationnally Unique Identifier). Còn 24 bit

sau là số seri cho từng thiết bị do nhà sản xuất tự gán cho từng thiết bị. Địa chỉ

MAC này đƣợc lƣu trong chip ROM trên mỗi thiết bị trong quá trình sản xuất.

Địa chỉ MAC thƣờng đƣợc viết ở dạng 12 số hexa và có 2 kiểu ghi địa chỉ MAC:

XX:XX:XX:YY:YY:YY (cách nhau bởi dấu 2 chấm) hoặc XX-XXXX-YY-YY-

YY (cách nhau bởi dấu gạch ngang).

Địa chỉ MAC đƣợc phân làm 3 loại:

- Unicast: đây là loại địa chỉ dùng để đại diện cho một thiết bị duy nhất.

Hình 1.15. Cấu trúc địa chỉ MAC

- Multicast: đây là loại địa chỉ đại diện cho một nhóm các thiết bị trong

mạng LAN. Địa chỉ đƣợc dùng trong trƣờng hợp một ứng dụng có thể

muốn trao đổi với một nhóm các thiết bị. Bằng cách gửi đi một bản tin có

địa chỉ multicast; tất cả các thiết bị trong nhóm đều nhận và xử lí gói tin

trong khi các thiết bị còn lại trong mạng sẽ bỏ qua. Giao thức IP cũng hỗ

trợ truyền multicast. Khi một gói tin IP multicast đƣợc truyền qua một

mạng LAN, địa chỉ MAC multicast tƣơng ứng với địa chỉ IP sẽ là

0100.5exxx.xxxx.

Page 27: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 27

- Broadcast: địa chỉ này đại diện cho tất cả các thiết bị trong cùng một

mạng LAN. Điều đó cũng có nghĩa là nếu một gói tin có địa chỉ MAC là

FFFF.FFFF.FFFF đƣợc gửi đi thì tất cả các thiết bị trong mạng LAN đều

phải thu nhận và xử lí.

Số lƣợng địa chỉ MAC rất lớn (248

địa chỉ) và sẽ đƣợc tái sử dụng vài năm

một lần nên đủ giải quyết việc phân định địa chỉ vật lý cho tất cả các máy tính.

Page 28: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 28

CHƢƠNG II: TỔNG QUAN VỀ SNIFFER

2.1 Định nghĩa Sniffer

Sniffer là một hình thức nghe lén trên hệ thống mạng, dựa trên những đặc

điểm của cơ chế TCP/IP. Sniffer là một kỹ thuật bảo mật, đƣợc phát triển nhằm

giúp đỡ những nhà quản trị mạng khai thác mạng hiệu quả hơn và có thể kiểm tra

các dữ liệu ra vào mạng, cũng nhƣ các dữ liệu chạy trong mạng. Về mặt tiêu cực,

Sniffer đƣợc sử dụng nhƣ một công cụ với mục đích nghe lén các thông tin trên

mạng để lấy các thông tin quan trọng.

2.2 Phân loại Sniffer

2.2.1 Active Sniffer

- Môi trƣờng: Chủ yếu hoạt động trong môi trƣờng có các thiết bị chuyển

mạch gói.Phổ biến hiện nay là các dạng mạch sử dụng switch.

- Cơ chế hoạt động: Chủ yếu hiện nay thƣờng dùng cơ chế ARP và RARP

bằng cách phát đi các gói tin đầu độc, mà cụ thể ở đây là phát đi các gói

thông báo cho máy gởi gói tin là “tôi là ngƣời nhận” mặc không phải là

“ngƣời nhận”.

- Đặc điểm: Do phải gởi gói tin đi nên có thể chiếm băng thông mạng. Nếu

sniff quá nhiều máy trong mạng thì lƣợng gói gởi đi sẽ rất lớn (do liên tục

gởi đi các gói tin giả mạo) có thể dẫn đến nghẽn mạng hay gây quá tải trên

chính NIC của máy đang dùng sniff (thắt nút cổ chai).

Ngoài ra các sniffer còn dùng một số kỹ thuật để ép dòng dữ liệu đi qua NIC

nhƣ:

o MAC fooding: làm tràn bộ nhớ switch từ đó switch sẽ chạy chế độ

forwarding mà không chuyển mạch gói.

o MAC Spoofing/Duplicating: các sniffer sẽ thay đổi MAC của mình

thành MAC của một máy hợp lệ và qua đƣợc chức năng lọc MAC của

thiết bị.

o Đầu độc DHCP để thay đổi gateway của client.

o Giả mạo ARP.

Page 29: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 29

2.2.2 Passive Sniffer

- Môi trƣờng: chủ yếu hoạt động trong môi trƣờng không có các thiết bị

chuyển mạch gói. Phổ biến hiện nay là các dạng mạng sử dụng hub, hay các

mạng không dây.

- Cơ chế hoạt động: do không có các thiết bị chuyển mạch gói nên các host

phải bị broadcast các gói tin đi trong mạng từ đó có thể bắt gói tin lại xem

(dù host nhận gói tin không phải là nơi đến của gói tin đó).

- Đặc điểm: do các máy tự broadcast các gói nên hình thức sniff này rất khó

phát hiện.

2.2.3 Các giao thức dễ bị Sniffing

Bất kỳ giao thức nào không thực hiện mã hóa dữ liệu thì về nguyên tắc đều

có thể bị hacker tấn công qua hình thức sniffer. Những giao thức thông dụng nhƣ

Telnet, HTTP, POP3, SMNP, NNTP, FTP, IMAP đều bị sniffer đánh cắp dữ liệu

dễ dàng vì thông tin đăng nhập đƣợc gửi đi dƣới dạng cleartext.

2.3 Một sốn phƣơng pháp phát hiện Sniffer

2.3.1 Phƣơng pháp Ping

ICMP (Internet Control Message Protocol) là một giao thức hoạt động trong

bộ giao thức TCP, giao thức này dùng để kiểm tra kết nối trong hệ thống mạng

thông qua hành động Ping.

Các máy tính trên mạng thƣờng sử dụng giao thức TCP, khi gửi yêu cầu đến

những máy tính này, chúng sẽ phản hồi lại kết quả. Mỗi máy bao gồm hai loại địa

chỉ gồm địa chỉ IP và địa chỉ MAC. Khi dữ liệu đƣợc truyền trên mạng, một máy

tính chỉ chấp nhận gói tin khi gói tin này chứa địa chỉ MAC hợp lệ. Máy tính

chạy sniffer có thể đƣợc phát hiện bằng cách gởi đi những gói tin đến địa chỉ IP

của máy đó trong mạng, nhƣng không thông qua card mạng.

Ví dụ, máy tính chạy sniffer có địa chỉ MAC là 00-32-08-A4-64-21 và có địa

chỉ IP là 10.0.0.4. Ngƣời quản trị mạng có thể đổi địa chỉ MAC của máy trên

trong router table thành 00-32-08-A4-64-24, sau đó Ping đến địa chỉ IP và MAC

mới này. Theo nguyên tắc thì không có máy tính nào có thể trả lời, nhƣng vẫn có

Page 30: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 30

trả lời từ máy tính chạy chƣơng trình sniffer, vì máy này có thể đã tắt tính năng

MAC Address Filtering trên card mạng. Trên cơ sở đó, ngƣời quản trị mạng sẽ

xác định đƣợc máy tính nào chạy sniffer trên hệ thống.

2.3.2 Phƣơng pháp ARP

Phƣơng pháp phát hiện Sniffer này tƣơng tự nhƣ phƣơng pháp dùng Ping.

Khác biệt chỗ chúng ta sẽ sử dụng gói tin ARP. Trong header của gói tin ARP

chứa địa chỉ IP và địa chỉ MAC của cả máy tính gửi và máy tính nhận. Trong hệ

thống mạng, nếu một gói tin ARP nonbroadcast đƣợc gửi đi, tất cả các máy tính

trong mạng mà gói tin đi qua, kể cả máy có cài đặt sniffer, sẽ lƣu lại thông tin

này. Nếu ta ping tới địa chỉ broadcast, thì tất cả các máy trừ máy đã nhận gói tin

nonbroadcast sẽ trả lời lại. Nếu không có sự trả lời nào từ một máy nào đó, thì

máy đó có khả năng đã cài sniffer.

Ví dụ, giả sử có một gói tin ARP nonbroadcast từ gửi từ máy tính A đến máy

tính B. Máy tính C chạy sniffer sẽ lƣu lại gói tin ARP nonbroadcast này. Khi ping

tới địa chỉ broadcast, cả máy B và C đều không trả lời. Suy ra, máy tính C có

chạy các chƣơng trình sniffer.

2.3.3 Phƣơng pháp DNS

Một số chƣơng trình sniffer có tính năng phân giải ngƣợc các địa IP thành

DNS mà chúng nhìn thấy. Để thực hiện phƣơng pháp này, bạn cần theo dõi quá

trình phân giải ngƣợc trên DNS Server, bằng cách ping đến những địa chỉ IP

không tồn tại trên hệ thống, nếu có trả lời từ một máy tính nào đó thì rất có thể

máy đó đã đƣợc cài đặt chƣơng trình sniffer và nó đang cố gắng phân giải ngƣợc

địa chỉ IP không tồn tại này.

2.3.4 Phƣơng pháp Source-Route

Để phát hiện sniffer, phƣơng pháp Souce-Route sử dụng một kỹ thuật gọi là

loose-source route. Loose-source route chứa thông tin đƣờng đi (danh sách các

địa chỉ IP) mà gói tin phải đi qua để đến đƣợc đích.

Ví dụ, ta có các máy tính với IP nhƣ hình, loose-source route chứa đƣờng

dẫn 192.168.0.12 192.168.0.15 192.168.0.17 192.168.0.23, với

Page 31: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 31

192.168.0.12 là địa chỉ nguồn, 192.168.0.23 là địa chỉ đích. Giả sử rằng để đến

đƣợc máy D, gói tin từ máy A phải đi qua máy B và máy C. Nếu ngƣời quản trị

vô hiệu hóa tính năng routing trên máy C mà gói tin vẫn đi sang máy D đƣợc thì

rất có thể máy C đã cài đặt các chƣơng trình sniffer. Một cách khác để phát hiện

sniffer là sử dụng trƣờng time to live(TTL), nếu TTL ở máy A là 25, khi gói tin

đến máy B, TTL sẽ giảm xuống còn 24, tƣơng tự cuối cùng khi đến đƣợc đích

(máy D) TTL còn 22. Nếu máy D sniff các gói tin từ máy B thì khi đến D, TTL

chỉ giảm đến 23. Điều này chứng tỏ máy D có cài đặt các chƣơng trình sniffer.

2.3.5 Phƣơng pháp giăng bẫy (Decoy)

Phƣơng pháp này đƣợc sử dụng trong những phạm vi mạng rộng lớn hơn

nhƣ Internet. Rất nhiều giao thức sử dụng các password không đƣợc mã hoá trên

đƣờng truyền. Đơn giản bạn chỉ cần giả lập những Client sử dụng dịch vụ mà

Password không đƣợc mã hoá nhƣ : POP, FTP, Telnet,...Bạn có thể cấu hình

những User không có quyền hạn, hay thậm chí những User không tồn tại. Khi

sniff đƣợc những thông tin này, các Hacker sẽ tìm cách kiểm tra, sử dụng và khai

thác chúng...

2.3.6 Minh họa sử dụng công cụ Ettercap để phát hiện Arp poisoning

192.168.1.20Admin

192.168.1.10Attacker

192.168.1.21User

192.168.1.1

Hình 2.1. Mô hình minh họa

Page 32: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 32

Ở minh họa này máy Attacker sẽ sử dụng phần mềm Cain & Abel để thực

hiện tấn công Arp Poisoning, cách tấn công tƣơng tự nhƣ phần ở chƣơng 2. Trên

máy Admin sẽ cài thêm phần mềm Ettercap để giám sát hệ thống.

Các bƣớc thực hiện:

Trên máy Attacker, kết quả sau khi thực hiện tấn công Arp Poisoning.

Hình 2.2. Kết quả sau khi tấn công

Sang máy Admin khởi động Ettercap, chọn Sniff Unified Sniffing, chọn

eth0 (card mạng giao tiếp với hệ thống) OK.

Chọn tiếp Host Scan for host, để scan tất cả các host trong mạng, Start

Start sniffing, sang tab Plugin Manage the plugin.

Click đúp vào mục search_promisc để lọc ra những card mạng đang ở trạng

thái promiscuous mode, ta đƣợc kết quả

Hình 2.3. Phát hiện Sniffer bằng Ettercap

Page 33: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 33

Ở dòng Most probably sniffing NICs liệt kê những địa chỉ IP có khả năng

cao đang chạy các chƣơng trình Sniffer( máy Attacker). Ở phần này Admin cũng

có thể sử dụng thêm plugin arp_cop để theo dõi các hoạt động Arp đáng ngờ trên

hệ thống.

2.4 Các phƣơng pháp phòng chống Sniffer

Nhìn chung, sử dụng phần mềm phát hiện nghe trộm là giải pháp nhanh và

thuận tiện nhất đối với ngƣời dùng cuối. Tuy nhiên hạn chế lớn của các chƣơng

trình này là chỉ phát hiện đƣợc sau khi đã bị nghe lén phát hiện trong thế bị động

khi sự nghe trộm đã xảy ra. Cách đơn giản nhất để ngăn chặn những kẻ muốn

Sniffer dữ liệu là sử dụng các giao thức mã hoá chuẩn cho dữ liệu trên đƣờng

truyền. Dƣới đây là một số cách phòng chống Sniffer trên hệ thống mạng:

- Thay thế Hub bằng những Switch, nó có thể cung cấp một sự phòng chống

hiệu quả hơn, tuy nhiên cũng cần phải giới hạn mức độ và phạm vi broadcast

bằng cách phân chia VLAN.

- Giới hạn khả năng bị cài đặt chƣơng trình nghe lén bằng cách áp dụng chính

sách quản lý cài đặt phần mềm cho hệ thống nhƣ: Port Sercurity, DHCP

snooping, Dynamic Arp Inspection,…

- Đối với mạng nhỏ, nên sử dụng địa chỉ IP tĩnh và bảng ARP tĩnh để hạn chế

khả năng bị tấn công kiểu ARP spoofing thông qua giám sát chặt chẽ sự thay

đổi địa chỉ MAC (Media Access Control) trên thiết bị switch.

- Áp dụng cơ chế one-time password, thay đổi password liên tục.

- Mã hóa dữ liệu truyền dẫn bằng các cơ chế truyền thông dữ liệu an toàn SSL

(Secure Sockets Layer), mạng riêng ảo VNP (Virtual Private Network). Nói

cách khác là thay thế hoặc hạn chế sử dụng các giao thức truyền thông không

mã hóa dữ liệu bằng giao thức mã hóa. Ví dụ: Dùng SSH (Secure Shell Host)

thay cho Telnet/Rlogin, dùng SFTP (secure FTP) thay vì FTP, dùng HTTPS

thay cho HTTP,..

- Đối với hệ thống mạng công ty, cách bảo vệ tốt nhất là ngăn chặn, phòng

ngừa ngay từ đầu bằng cách xây dựng các chính sách bảo mật mạng

Page 34: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 34

(Network Security Policy). Trong đó có những chính sách quản lý truy xuất,

quản lý bảo vệ vật lý hệ thống mạng với những quy định nhƣ: ai đƣợc phép

tiếp xúc với các máy, đƣợc phép sử dụng máy, đƣợc phép gắn thêm thiết bị

vào máy, đƣợc phép cài đặt những loại chƣơng trình nào (không cho phép

ngƣời dùng tự ý cài đặt chƣơng trình), nhằm hạn chế đến mức tối đa khả

năng xâm nhập về mặt vật lý đế cài đặt các chƣơng trình nghe lén trong

mạng.

Page 35: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 35

CHƢƠNG III: CÁC LOẠI SNIFFER VÀ CÁCH PHÒNG CHỐNG

3.1 MAC flooding

3.1.1 Bảng CAM (Content Address Memory)

Bảng CAM là vùng nhớ trong RAM của Switch dùng để lƣu các ánh xạ giữa

địa chỉ MAC nguồn của các PC, thiết bị mạng và port trên Switch mà các thiết bị

đó kết nối vào mạng. Kích thƣớc các bảng CAM là giới hạn và tùy thuộc vào các

dòng Switch khác nhau. Dữ liệu trong bảng CAM đƣợc Switch xây dựng qua quá

trình học địa chỉ MAC, duy trì trong quá trình hoạt động và sẽ đƣợc cập nhật sau

một khoảng thời gian nhất định hoặc khi Switch khởi động lại. Thời gian cập

nhật của bảng CAM thƣờng là sau khoảng thời gian 300s.

Hình 3.1. Bảng CAM

3.1.2 MAC flooding

Tấn công:

MAC flooding thuộc loại active Sniffer, là một kiểu tấn công dựa vào điểm

yếu của Switch. Kẻ tấn công sẽ dùng một phần mềm để gửi đến Switch thật nhiều

gói tin mà mỗi gói tin có địa chỉ MAC nguồn khác nhau (các địa chỉ MAC này là

giả). Theo nguyên tắc hoạt động của Switch, khi nhận đƣợc địa chỉ MAC nguồn

của gói tin không có trong bảng CAM thì Switch sẽ học thêm địa chỉ này vào

bảng CAM ứng với port nhận gói tin gửi tới. Nhƣ vậy nếu trong một khoảng thời

gian mà Switch nhận đƣợc một số lƣợng lớn các gói tin nhƣ thế thì bảng CAM sẽ

bị đầy và Switch sẽ không thể học thêm địa MAC từ bất cứ máy nào gửi gói tin

đến. Khi bảng CAM bị đầy thì Switch sẽ gửi các gói tin mà nó nhận đƣợc ra tất

Page 36: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 36

cả các cổng trừ cổng nó nhận đƣợc, cơ chế này giống nhƣ một Hub (thiết bị hoạt

động ở lớp 1). Lúc này kẻ tấn công có thể thấy gói tin của các máy gửi cho nhau

trong mạng nhờ vào các phần mềm Sniffer.

Cách phòng chống:

Nguyên lý của phƣơng pháp phòng chống MAC flooding là không cho các

gói tin có địa MAC lạ đi qua Switch. Phƣơng pháp phòng chống hiệu quả nhất là

cấu hình port-security trên Switch. Đây là phƣơng pháp cấu hình cho phép điều

khiển việc truy cập vào các port của Switch thông qua địa chỉ MAC của thiết bị

gắn vào.

Khi Switch nhận đƣợc một gói tin chuyển đến, nó sẽ kiểm tra địa chỉ MAC

nguồn của gói tin với danh sách các địa chỉ MAC trong bảng CAM. Nếu địa chỉ

MAC này đã có trong bảng CAM thì switch sẽ forward gói tin đến địa chỉ MAC

đích mà gói tin yêu cầu. Nếu địa chỉ này chƣa có trong bảng CAM thì tuỳ theo sự

cấu hình của ngƣời quản trị mà Switch sẽ xử lí gói tin đến với các mức độ khác

nhau. Các biện pháp xử lí có thể là:

- shutdown: cổng sẽ bị ngừng hoạt động, không nhận và chuyển gói tin

- restrict: cổng chỉ cho phép các gói tin có địa chỉ MAC hợp lệ đi qua, các

gói tin vi phạm sẽ bị huỷ. Đồng thời sẽ báo syslog cho ngƣời quản trị.

- protect: cũng giống nhƣ trong trƣờng hợp restrict, tuy nhiên sẽ không báo

syslog.

3.2.3 Minh họa

Chuẩn bị

- Một Cisco Switch

- Một PC đóng vai trò User

- Một PC đóng vai trò Attacker

- Cáp kết nối

Page 37: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 37

Mô hình

Switch

F0/1

F0/7

User

Attacker

Hình 3.2. Mô hình MAC flooding

Thực hiện

Để tiến hành tấn công MAC flooding ta có rất nhiều công cụ nhƣng hiệu quả

hơn cả là macof. Đây là một phần mềm nhỏ trong gói phần mềm dsniff, gói phần

mềm này chỉ chạy trên môi trƣờng Linux. Ta có mô hình nhƣ hình trên, mô hình

gồm 2 PC và một Switch. Trên mô hình ta có một máy Attacker dùng để tấn công

MAC flooding và một máy là user bình thƣờng. Trên máy Attacker, trong

terminal ta dùng lệnh sau: macof –i eth0 (lệnh này thực hiện việc flood

MAC qua cổng ethernet0), macof –i eh0 –n n (lệnh này thực hiện việc flood

MAC qua interface ethernet0 và flood n lần).

Hình 3.3. Flood MAC trên ubuntu

Khi thực hiện lệnh trên, PC sẽ tiến hành gởi các địa chỉ MAC ảo tới Switch,

Switch sẽ học tất cả các địa chỉ MAC này và sau một thời gian Switch sẽ xảy ra

hiện tƣợng tràn bảng CAM. Ta xem tất cả các địa chỉ MAC trong bảng CAM

bằng lệnh trên Switch: Switch#show mac address-table

Page 38: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 38

Hình 3.4. Kết quả sau khi thực hiện MAC flooding

Page 39: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 39

Để phòng chống MAC flooding ta sẽ cấu hình chức năng port-security trên

Switch. Ta sẽ xác định cổng tin tƣởng và chỉ cho một hoặc một số cổng đƣợc gởi

frame qua Switch.

Hình 3.5. Cấu hình port-security trên Switch

3.2 DHCP starvation

3.2.1 DHCP starvation

Nhƣ chúng ta đã tìm hiểu ở chƣơng 1, DHCP Server cấp phát, quản lý

thông tin cấu hình TCP/IP của các Client nhƣ địa chỉ IP, Default Gateway,

DNS Server, và khoảng thời gian đƣợc cấp phát. Quá trình cấp phát diễn ta gồm

4 bƣớc, trong đó bƣớc đầu tiên là Client broadcast DHCPDISCOVER nhằm xin

địa chỉ IP của Server, sau các bƣớc tiếp theo thì Client sẽ nhận đƣợc IP từ Server.

Nhƣ vậy, ta có thể thấy bƣớc đầu tiên rất quan trọng và rất dễ bị tấn công

Page 40: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 40

DHCP Request/Reply Message

Hình 3.6. Chức năng các gói tin DHCP

Tấn công

Khi một Client cần cấp ip từ DHCP Server thì đầu tiên Client sẽ gởi một gói

tin broadcast DHCPDISCOVER đến DHCP Server, sau đó thì DHCP sẽ xử lý và

cấp phát địa chỉ IP cho Client và hầu hết việc gởi gói tin DHCPDISCORVER của

Client đều đƣợc DHCP Server cấp địa chỉ IP. Lợi dụng điều này thì Attacker sẽ

tấn công vào dịch vụ DHCP. Ý tƣởng của việc tấn công DHCP starvation là

Attacker sẽ gởi rất nhiều gói broadcast DHCPDISCOVER với những địa MAC

Page 41: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 41

khác nhau tới DHCP Server, điều này sẽ làm cho DHCP Server “bị đánh lừa” từ

đó Attacker sẽ nhận địa những địa chỉ IP tƣơng ứng với những gói broadcast

DHCPDISCOVER đã gửi trƣớc đó. Điều này sẽ làm cho việc quản lý địa chỉ IP

gặp nhiều khó khăn vì các Users khi cần địa chỉ IP từ DHCP Server sẽ không

nhận đƣợc địa chỉ IP vì khi đó tất cả địa chỉ IP đã đƣợc cấp cho các gói tin từ

Attacker gởi tới.

DHCP starvation là một phƣơng thức tấn công từ chối dịch vụ (DoS-Denial

of Service) dựa trên bản tin DHCP và đây thuộc loại active sniffer.

Client

DHCP ServerYersinia

DHCPDISCOVER

DHCPOFFER

DHCPREQUEST

DHCPACK

Hình 3.7. Tấn công DHCP stravation

Phòng chống

Khi Client gởi một gói tin DHCPDISCOVER tới DHCP Server thì trong gói

tin đó cũng bao gồm cả địa chỉ MAC của Client cũng nhƣ là Computer name của

Client. Nhờ vào đặc điểm này DHCP Server có thể biết đƣợc gói tin từ Client nào

gởi tới. Ta có thể nhờ vào đặc điểm này để phòng chống việc tấn công DHCP

starvation, ý tƣởng của việc này là lọc những gói tin đƣợc gởi tới switch, chỉ cho

những địa chỉ chúng ta đã định sẵn đi qua, còn những gói tin từ những địa chỉ lạ

chúng ta sẽ hủy không cho gói tin từ địa chỉ lạ đó đi qua. Tính năng hiệu quả nhất

ta nên dùng là port-sercurity trên Switch.

Page 42: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 42

3.2.2 Minh họa

Chuẩn bị

- Một Cisco router

- Một Cisco switch

- Một PC đóng vai trò User

- Một PC đóng vai trò Attacker (chạy Linux đã cài sẵn yersinia)

Mô hình

RouterSwitch

F0/0 F0/24

F0/1

F0/7

User

Attacker

Hình 3.8. Mô hình tấn công DHCP starvation

Thực hiện

Để tiến hành tấn công DHCP starvation ta có rất nhiều công cụ, trên Linux ta

có một công cụ rất hiệu quả và dễ sử dụng đó là yersinia. Nhƣ mô hình trên ta

dùng một Router đóng vai trò nhƣ một DHCP Sever, Switch đóng vai trò forward

các gói tin từ PC gởi tới Router. Đầu tiên ta tiến hành cấu hình DHCP Server trên

Router.

Hình 3.9. Cấu hình DHCP Server trên Router

Page 43: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 43

Để tiến hành tấn công, đầu tiên ta khởi động chƣơng trình bằng lệnh

yersinia –G trong terminal

Hình 3.10. Giao diện yersinia trên ubuntu

Sau đó, chọn qua thẻ DHCP để theo dõi tiến trình Attack. Để bắt đầu tấn

công, click nút Launch attack để mở giao diện attack option.

Tiếp theo, chọn sending DISCOVER packet và click nút OK để gởi

DHCPDISCOVER cho DHCP Server.

Hình 3.11. DHCP Attack option

Page 44: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 44

Để xem những bản tin DHCPDISCOVER, ta chuyển qua thẻ DHCP trên

giao diện yersinia

Hình 3.12. Bản tin DHCPDISCOVER trên yersinia

Sau khi Attack bằng cách gởi gói tin DHCPDISCOVER, ta kiểm tra việc

Attack bằng cách xem những IP đã đƣợc Server cấp cho Client. Ta xem tất cả các

địa chỉ MAC trong bảng CAM bằng lệnh trên Router:

Router#show ip dhcp binding

Page 45: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 45

Hình 3.13. Show DHCP binding

Để phòng chống DHCP starvation, ta cũng cấu hình port-security trên Switch

tƣơng tự nhƣ trên phƣơng pháp phòng chống MAC flooding.

3.3 Rogue DHCP Server

3.3.1 Rogue DHCP Server

Trong mỗi hệ thống đều có một DHCP Server có nhiệm vụ cung cấp toàn bộ

IP cho hệ thống mạng, những IP này sẽ có Default-gateway và DNS-Server.

Những thông tin này đƣợc ngƣời quản trị mạng cấu hình sẵn, nó giúp hoạt động

trong mạng theo đúng mong muốn của ngƣời quản trị mạng. Nhƣng nếu toàn bộ

thông tin trên của các máy Client bị sai lệch không đúng với mong muốn của

ngƣời quản trị mạng thì toàn bộ hệ thống mạng sẽ hoạt động sai lệch. Trên những

Page 46: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 46

ý tƣởng đó, Attacker sẽ tấn công Rogue DHCP Server. Attacker trong cuộc tấn

công này sẽ đóng vai trò nhƣ một DHCP Server trong mạng, Attacker sẽ cài đặt

một DHCP pool, trong đó DHCP pool này sẽ có default gateway và DNS Server

chỉ về địa chỉ mà Attacker mong muốn

Hình 3.14. Rogue DHCP Server

Tấn công

Ý tƣởng của Rogue DHCP Server là một hệ thống mạng sẽ tồn tại một

DHCP Server không nằm trọng kế hoạch của ngƣời quản trị, DHCP này sẽ do

Attacker cấu hình. Khi Client xin địa chỉ IP bằng gói tin DHCPDISCOVER thì

Attacker sẽ trả lời lại những gói tin này, sau đó Client sẽ nhận đƣợc IP từ DHCP

Server giả này, địa chỉ IP này sẽ trỏ tới một địa chỉ Default-gateway của chính

máy Attacker và DNS-Server là do Attacker phân giải, điều này có thể dẫn đến

sai lệch về việc phân giải tên miền, từ đó việc sniff của Attacker sẽ rất dễ dàng.

Việc tấn công này không đảm bảo lúc nào cũng thành công, vì theo lý thuyết thì

khi Client gởi DHCPDISCOVER thì Server sẽ trả về IP. Nhƣng khi mạng tồn tại

2 Server thì Server nào trả IP về trƣớc thì Client sẽ nhận IP đó.

Phòng thủ

Trong hệ thống mạng các Server đƣợc kết nối với các thiết bị Client qua

Switch. Trên Switch ta có thể cấu hình DHCP snooping để phòng chống việc tấn

công Rogue DHCP Server. Ý tƣởng của phƣơng pháp trên là xác định cổng tin

tƣởng trên Switch, các thiết bị đầu cuối đƣợc nối với Switch chỉ nhận IP đƣợc

Page 47: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 47

cấp từ các Server đƣợc nối với cổng tin tƣởng trên Switch. DHCP snooping sẽ

các định cổng tin tƣởng trên các VLAN, vì vậy ta sẽ chia VLAN trên Switch

trƣớc khi cấu hình DHCP snooping cho hệ thống.

3.3.2 Minh họa

Chuẩn bị

- Một Cisco router

- Một Cisco switch

- Một PC đóng vai trò User

- Một PC đóng vai trò Attacker (chạy Windows Server 2008)

Mô hình

Hình 3.15. Mô hình tấn công Rogue DHCP Server

Thực hiện

Trên mô hình có 2 DHCP Server, đối với Server làm Attacker ta sử dụng

Windows Server 2008 để dựng DHCP Server và Server chính ta sử dụng Router

để dựng DHCP Server.

Page 48: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 48

Hình 3.16. DHCP trên Windows Server 2008

Trên DHCP ta tạo một scope mới, có dãy địa chỉ từ 172.16.1.1 đến

172.16.1.200

Hình 3.17. Tạo scope trên DHCP Server

Trên Router ta cũng cấu hình tạo một DHCP pool, việc cấu hình tƣơng tự

nhƣ trên phần DHCP stavation, dãy địa chỉ là toàn bộ lớp mạng 192.168.1.0/24.

Khi Client xin IP thì không chắc chắn rằng IP mà Client nhận đƣợc sẽ từ

Page 49: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 49

Attacker hay do Router cấp, vì thế ở bài LAB này đôi khi là IP của Attacker và

đôi khi cũng là Router.

Để cấu hình phòng chống cho việc tấn công Rogue DHCP Server, ta cấu

hình DHCP snooping. Mặc định tất cả các cổng trên Switch đều thuộc VLAN 1,

ta sẽ cấu hình trên VLAN 1 và sau đó xác định cổng tin tƣởng

Hình 3.18. Cấu hình DHCP snooping

Sau khi cấu hình ta sẽ kiểm tra việc cấu hình DHCP snooping

Hình 3.19. Kiểm tra DHCP snooping

3.4 ARP Poisoning

3.4.1 Quá trình ARP

HostA và HostB truyền tin cho nhau, các packet sẽ đƣợc đƣa xuống tầng

Datalink để đóng gói, các Host sẽ phải đóng gói MAC nguồn, MAC đích vào

frame. Nhƣ vậy trƣớc khi quá trình truyền dữ liệu xảy ra, 2 máy sẽ phải làm động

tác hỏi MAC của nhau.

Nếu HostA khởi động quá trình hỏi MAC trƣớc, nó broadcast gói tin ARP

request để hỏi MAC HostB, thì HostB coi nhƣ đã có MAC của HostA, và HostB

chỉ trả lời cho A MAC của HostB thôi (gói tin trả lời từ HostB là ARP response).

3.4.2 ARP Spoofing Attack

Lợi dụng điểm yếu của giao thức ARP là giao thức stateless, có nghĩa là một

host khi nhận bản tin reply vẫn cập nhật thông tin trong đó vào ARP cache mặc

Page 50: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 50

dù nó hoàn toàn không gửi đi ARP request. Kẻ tấn công lợi dụng điểm yếu này

để gửi đi bản tin gratuitous giả mạo địa chỉ MAC nguồn tới máy nạn nhân.

Hình 3.20. ARP Spoofing Attack

Đầu tiên, UserA muốn gởi dữ liệu cho Victim (User B). UserA cần phải biết

địa chỉ MAC của Victim để liên lạc. UserA sẽ gửi broadcast ARP Request tới tất

cả các máy trong cùng mạng LAN để hỏi xem IP 10.1.1.1 (IP của Victim) có địa

chỉ MAC là bao nhiêu. Tất cả các User trên mạng LAN (kể cả Attacker) đều nhận

đƣợc gói tin ARP Request, nhƣng chỉ có Victim là gửi lại gói tin ARP Response

lại cho UserA. ARP Response chứa thông tin về IP của Victim, MAC Victim,

MAC UserA.

Sau khi nhận đƣợc gói tin ARP Response từ Victim, UserA đã biết đƣợc địa

chỉ MAC của Victim. UserA bắt đầu thực hiện liên lạc, truyền dữ liệu tới Victim.

Các User khác không thể xem nội dung dữ liệu đƣợc truyền giữa 2 máy UserA và

Victim. Attacker muốn xem dữ liệu truyền giữa UserA và Victim. Attacker sử

dụng kiểu tấn công ARP Spoofing. Attacker thực hiện gửi liên tục ARP Response

chứa thông tin về IP Victim, MAC Attacker, MAC UserA. Ở đây, thay vì là

MAC Victim, Attacker đã đổi thành địa chỉ MAC của mình.

UserA nhận đƣợc ARP Response và nghĩ là IP Victim 10.1.1.1 sẽ có địa chỉ

MAC là 9:8:7:6:5:4 (MAC của Attacker). UserA lƣu thông tin này vào bảng ARP

Cache. Bây giờ mọi thông tin, dữ liệu UserA gửi tới 10.1.1.1 (Victim), Attacker

Page 51: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 51

đều có thể nhận đƣợc, Attacker có thể xem toàn bộ nội dung UserA gửi cho

Victim.

Attacker còn có thể kiểm soát toàn bộ quá trình liên lạc giữa UserA và

Victim thông qua ARP Attack. Attacker thƣờng xuyên gửi các gói tin ARP

Response chứa địa chỉ IP của UserA và Victim nhƣng có địa chỉ MAC là của

Attacker.

- UserA nhận đƣợc gói tin này thì cứ nghĩ Victim sẽ có địa chỉ MAC là

9:8:7:6:5:4 (MAC của Attacker).

- Victim nhận đƣơc gói tin này thì cứ nghĩ UserA sẽ có địa chỉ MAC là

9:8:7:6:5:4 (MAC của Attacker).

Mọi thông tin trao đổi giữa UserA và Victim, Attacker đều có thể nhận đƣợc.

Nhƣ vậy là Attacker có thể biết đƣợc nội dung trao đổi giữa UserA và Victim.

Bằng cách giả mạo các gói tin ARP, Attacker có thể chuyển hƣớng tất cả

các kết nối giữa hai thiết bị khiến toàn bộ traffic đi về máy của mình, từ đó sẽ

dẫn tới:

- Từ chối dịch vụ.

- Chặn dữ liệu.

- Nghe lén cuộc gọi VoIP.

- Đánh cắp Password.

- Chỉnh sửa dữ liệu.

3.4.3 Nhƣợc điểm của ARP Spoofing Attack

Chỉ có những máy nằm trong cùng đƣờng mạng với máy Attacker mới bị tấn

công. Các máy nằm khác mạng sẽ không thể bị tấn công bằng hình thức này vì

trong cùng một đƣờng mạng LAN, các máy sẽ thực hiện trao đổi dữ liệu với nhau

dựa vào địa chỉ MAC. HostA muốn trao đổi dữ liệu với HostB. HostA sẽ dò tìm

trong bảng ARP cache xem IP của HostB sẽ có địa chỉ MAC tƣơng ứng là gì.

HostA đóng gói dữ liệu cần truyền với MAC nguồn là MAC HostA, MAC đích

là MAC HostB. Sau đó HostA sẽ truyền dữ liệu tới HostB dựa vào MAC đích

của gói tin.

Page 52: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 52

Trong trƣờng hợp HostA, HostB khác đƣờng mạng muốn liên lạc với nhau,

ta phải dựa vào địa chỉ IP để truyền dữ liệu và phải thông qua một thiết bị định

tuyến, đó là router. HostA sẽ đóng gói dữ liệu cần truyền với MAC nguồn là

HostA, MAC đích là router. Gói tin đó sẽ đƣợc truyền đến router, router sẽ dựa

vào địa chỉ IP đích (IP HostB)và dò tìm trong bảng định tuyến nhằm xác định

con đƣờng đi đến HostB. Router có khả năng ngăn chặn các gói tin broadcast

Hình thức tấn công này không thể thực hiện đƣợc trong mạng WAN, trên

Internet mà chỉ thực hiện đƣợc trên cùng mạng LAN.

Cách phòng chống ARP Spoofing

- D ng lệnh:

arp -a xem bảng ARP trên máy mình, kiểm tra MAC của B có đúng

là MAC B hay không.

arp -d * xóa toàn bộ ARP table trên máy mình, nhƣ vậy các địa chỉ

MAC bị tấn công cũng mất, và máy tính sẽ bắt đầu học lại. Nhƣng nếu

máy tấn công vẫn tiếp tục bơm các gói tin ARP đầu độc thì việc xóa ARP

table này cũng vô ích.

arp -s gắn cố định IP đích vào MAC thật của nó, nhƣ vậy kẻ tấn công

không đầu độc đƣợc IP này nữa. Nhƣng việc này không khả thi cho mạng

lớn, nhiều máy tính, và có sự thay đổi IP (dùng DHCP).

- D ng thiết bị:

Sử dụng DAI (Dynamic ARP Inspection): DAI tƣơng thích với

các Trusted và Untrusted Port trên Switch. Trusted Port cho qua tất

cả các gói tin ARP. Untrusted Port xác nhận sự đúng đắn của các gói

tin ARP.

- Cấu hình kích hoạt DAI trên các VLAN

Switch(config)# ip arp inspection vlan [vlan_id,vlan_id,…]

Cấu hình Trusted và Untrusted Interface trên Switch

Switch(config-if)# ip arp inspection trust

Cấu hình DAI loại bỏ các gói ARP nếu địa chỉ IP không hợp lệ

Page 53: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 53

Switch(config-if)# ip arp inspection validate {[src-mac][dst-mac]

[ip]}

Kiểm tra

Switch# show ip dhcp snooping bindings

Switch# show ip arp inspection

3.4.4 Minh họa

Chuẩn bị

- Một Cisco router

- Một Cisco switch

- Một PC đóng vai trò Victim

- Một PC đóng vai trò Attacker (cài Sniffer)

Mô hình

Hình 3.21. Sơ đồ minh họa ARP Spoofing

Thực hiện

Để thực hiện minh họa này, ta cần có 3 máy tính chạy hệ điều hành Windows

XP, máy Attacker sẽ cài đặt thêm phần mềm Cain&Abel.

Trên máy attacker khởi chạy Cain&Abel, chọn tab Sniffer. Chọn Configure

chọn card mạng giao tiếp với hệ thống, ở đây chọn 192.168.1.3 Apply

OK

Chọn Start Sniffer, sau đó chọn tiếp Start ARP

Chọn Add to list để quét tất cả các máy có trên mạng OK, ta đƣợc kết quả

Page 54: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 54

Hình 3.22. ARP Spoofing trên Cain & Abel

Chọn sang tab ARP Add to list, chọn các máy muốn sniff, OK. Chọn

Start ARP 1 lần nữa.

Hình 3.23. Kết quả Spoofing

Sang máy User A, vào Command Prompt, gõ telnet 192.168.1.4 (telnet sang

máy Victim), đăng nhập bằng username Administrator, password 123456. Sang

máy Attacker, đến tab Password Telnet, ở khung bên phải, click vào dòng

cuối, chọn View, ta đƣợc kết quả:

Hình 3.24. Username và Password bắt được

Page 55: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 55

Sang máy User A, gõ lệnh arp –a, để xem bảng arp

Hình 3.25. Bảng ARP trên máy Victim

Việc phòng thủ ARP spoofing, chúng ta sẽ dùng tính năng DAI (Dynamic

ARP Inspection) trên Switch. Nhƣng vì một số nguyên nhân khách quan nên

nhóm không thể thực hiện tính năng này trên Switch, nên vì thế nhóm chỉ giới

thiệu tính năng này trong phần lý thuyết phòng thủ ARP spoofing.

3.5 DNS Poisoning

3.5.1 Tổng quan

DNS poisoning là kỹ thuật đánh lừa DNS server làm cho nó tƣởng là nó đã

nhận đƣợc thông tin phân giải địa chỉ-ip đúng tuy nhiên trên thực tế thì nó nhận

thông tin giả mạo. Đây là dạng attacker mà các Attacker thƣờng hay sử dụng khi

có mong muốn tấn công vào một mạng nào đó. Dạng attacke này nếu xảy ra sẽ có

hậu quả to lớn cho toàn bộ hệ thống bị tấn công, toàn bộ địa chỉ phân giải sẽ bị

thay đổi làm cho thông tin bị sai lệch. DNS poisonig gồm có 4 kiểu tấn công phổ

biến: Intranet DNS spoofing (local network), Internet DNS spoofing (remote

network), Proxy Server DNS poisoning, DNS Cache poisoning.

Hình 3.26. DNS Poisoning

Page 56: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 56

3.5.2 Intranet DNS Spoofing

Intranet DNS spoofing là kiểu tấn công dựa trên hoạt động của DNS. Kiểu

tấn công này tấn công vào mạng cục bộ. Đầu tiên, Attacker sẽ kết nối vào hệ

thống, Attacker sẽ đầu độc toàn bộ hệ thống bằng cách lây nhiễm Trojan. Con

Trojan này sẽ tiến hành thay đổi toàn bộ địa chỉ DNS của User thành địa chỉ mà

của Attacker dựng nên, vì thế khi User tiến hành yêu cầu phân giải địa chỉ thì yêu

cầu này sẽ gởi tới máy Attacker.

Hình 3.27. Intranet DNS spoofing

Bƣớc tiếp theo Attacker sẽ gởi trả về cho User một địa chỉ IP đã đƣợc phân

giải, mà địa chỉ đó chỉ tới một Website giả mà Attacker tạo nên (có thể mọi yêu

cầu phân giải của User đều đƣợc Attacker phân giải thành một địa chỉ IP). Ở

Website giả này, Attacker sẽ có toàn bộ thông tin mà User thao tác trên Website

bằng các phần mềm Sniffer, từ đó Attacker sẽ sử dụng những thông tin này để

gởi tới Website thật để tấn công toàn hệ thống.

Ví dụ: User trong hệ thống có địa chỉ IP 10.0.0.3 có yêu cầu phân giải địa chỉ

để đi tới Website thật có địa chỉ 200.0.0.4. Nhƣng nếu có Intranet DNS spoofing

xảy ra, khi đó Attacker có địa chỉ 100.0.0.5 sẽ lây nhiễm Trojan cho User làm địa

chỉ DNS của User này là 100.0.0.5. Sau đó Attacker sẽ phân giải Website mà

User muốn đến thành 65.0.0.2 và từ đó Attacker sẽ bắt gói tin User gởi tới sau đó

forward tới Website thật có địa chỉ 200.0.0.4.

Page 57: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 57

3.5.3 DNS Cache Poisoning

Các thông tin về địa chỉ của Website đƣợc DNS Server phân giải sẽ đƣợc lƣu

trữ vào các Record trong DNS cache. Khi một Client gởi yêu cầu truy nhập tới

một địa chỉ nào đó thì Local DNS Server sẽ tra các record trong cache của chính

mình và gửi địa chỉ phân giải cho Client. Nếu trong cache của Local DNS Server

không có sẵn địa chỉ đã phân giải sẵn mà Client yêu cầu thì Local DNS Server sẽ

gởi truy vấn tới External DNS Server, sau đó Local DNS Server sẽ nhận đƣợc địa

chỉ phân giải. Tiếp theo Local DNS Server sẽ lƣu thông tin này vào cache của

mình và trả truy vấn về cho Client . Nhƣng nếu trên các Record, thông tin của các

địa chỉ bị sai lệch thì DNS Server sẽ gởi cho Client các địa chỉ bị sai lệch.

Hình 3.28. DNS Cache poisoning

Dựa trên ý tƣởng trên, Attacker sẽ là làm thay đổi các Record lƣu trữ trên

DNS Server, do đó DNS Server sẽ query vào địa chỉ IP của một Website giả

đƣợc thiết lập bởi Attacker và trả về cho Client. Nếu DNS Server không xác

minh lại các gói tin, nó sẽ lƣu lại những Record với những IP sai lệch.

3.5.4 Internet DNS Spoofing

Internet DNS spoofing là một kỹ thuật MITM đƣợc sử dụng nhằm cung cấp

thông tin DNS sai cho một host để khi ngƣời dùng duyệt đến một địa chỉ nào đó,

ví dụ abc.vn có IP X.X.X.X, thì sẽ bị chuyển hƣớng đến một địa chỉ abc.vn giả

mạo cƣ trú ở địa chỉ IP Y.Y.Y.Y, đây là địa chỉ mà kẻ tấn công đã tạo trƣớc để

đánh cắp các thông tin của ngƣời dùng. Để rõ hơn, hãy tham khảo hình bên dƣới:

Page 58: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 58

Hình 3.29. Internet DNS Spoofing

Quá trình trên đƣợc tóm tắt nhƣ sau:

- Ban đầu, Attacker đầu độc Router, chuyển tất cả các DNS request về máy

của mình.

- Máy Victim yêu cầu phân giải tên miền abc.vn

- Attacker sẽ respone DNS phân giải abc.vn thành IP của website giả mạo.

- Khi Victim truy cập tới abc.vn sẽ bị chuyển hƣớng tới website giả

- Attacker sẽ bắt các gói tin, đánh cắp thông tin của Victim và chuyển

hƣớng tới Website thật.

3.5.5 Proxy Server DNS Poisoning

Proxy Server DNS poisoning là một kiểu tấn công dựa trên hoạt động DNS.

Ở kiểu tấn công này thì Attacker sẽ tấn công vào proxy trên trên trình duyệt IE

(Internet Explorer). Trong hệ thống mạng, Attacker sẽ lây nhiễm Trojan vào toàn

bộ các PC của hệ thống. Con Trojan này sẽ làm thay đổi proxy Serrver trên IE,

địa chỉ proxy Server mà User chỉ tới lúc này là địa chỉ của Attacker. Khi đó tất

cả các Web request của User đều chạy qua máy Attacker, Attacker sẽ chuyển tất

cả các request này sang một Website giả mà Attacker đã dựng sẵn. Trên Website

giả, Attacker sẽ bắt toàn bộ gói tin mà User gởi tới, sau đó tất cả gói tin này sẽ

đƣợc Attacker forward tới Website thật.

Page 59: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 59

Hình 3.30. Proxy Server DNS Poisoning

Ví dụ, User có yêu cầu tới Website có địa chỉ 200.0.0.4. Nhƣng nếu trong

trƣờng hợp có tấn công Proxy Server DNS poisoning xảy ra thì Attacker có địa

chỉ 100.0.0.5 sẽ cho lây nhiễm Trojan vào trong hệ thống. Trojan sẽ làm thay đổi

IE proxy (IP của proxy Server: 100.0.0.5). Khi đó các Web request sẽ đi qua

Attacker.

3.5.6 Phòng chống

Việc tấn công DNS poisoning thƣờng rất phức tạp, vì thế để phòng chống

DNS poisoning chúng ta phải kết hợp nhiều phƣơng pháp trên toàn hệ thống.

Dƣới đây là một số phƣơng pháp dùng để phòng chống DNS poisoning hiệu quả:

Phân giải tất cả DNS query vào Local DNS Server

Việc phân giải tất cả DNS query vào Local DNS Server nhằm đảm bảo mọi

yêu cầu phân giải từ User đều nằm trong cache của Local DNS Server

Block tất cả các request tới External DNS Server

Khi có request tới External DNS Server sẽ dễ làm cho User nhận thông tin

phân giải bị sai lệch, vì khi đó Attacker sẽ lợi dụng sơ hở để đóng vai trò là

External DNS Server.

Page 60: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 60

Triển khai DNSSEC

DNSSEC là công nghệ an toàn mở rộng của DNS, về bản chất DNSSEC

cung cấp các cơ chế có khả năng chứng thực và đảm bảo toàn vẹn dữ liệu cho hệ

thống DNS, theo đó DNSSEC đƣa ra 4 loại bản ghi mới:

- Bản ghi khóa công cộng DNS (DNSKEY - DNS Public Key): sử dụng để

chứng thực zone dữ liệu.

- Bản ghi chữ ký tài nguyên (RRSIG - Resource Record Signature): sử dụng

để chứng thực cho các bản ghi tài nguyên trong zone dữ liệu.

- Bản ghi bảo mật kế tiếp (NSEC - Next Secure): sử dụng trong quá trình

xác thực đối với các bản ghi có cùng sở hữu tập các bản ghi tài nguyên

hoặc bản ghi CNAME. Kết hợp với bản ghi RRSIG để xác thực cho zone

dữ liệu.

- Bản ghi ký ủy quyền (DS - Delegation Signer): thiết lập chứng thực giữa

các zone dữ liệu, sử dụng trong việc ký xác thực trong quá trình chuyển

giao DNS.

Cấu hình Firewall loại bỏ các gói tin DNS đi ra External DNS Server

Đây là một phƣơng pháp hạn chế việc User query ra ngoài External DNS

Server, Attacker sẽ dễ dàng gởi thông tin sai lệch về thông tin DNS cho User.

Hạn chế sử dụng dịch vụ DNS, bằng cách phân quyền cho User

Đây là một phƣơng pháp rất hữu hiệu, vì khi không dùng dịch vụ DNS thì

Attacker sẽ không thể tấn công DNS poisoning.

3.5.7 Minh họa

Vì một số lí do khách quan nên nhóm không thể tiến hành minh họa toàn bộ

những kiểu tấn công DNS poisoning nên chỉ đƣa ra một bài minh họa cho việc

tấn công này.

Để minh họa cho hình thức tấn công này cần có 2 máy tính chạy hệ điều

hành Windows XP (có thể sử dụng Linux) , riêng trên máy tấn công phải cài đặt

công cụ Ettercap và dựng sẵn một website giả mạo có giao diện giống với trang

Page 61: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 61

facebook.com thật, hai máy tính truy cập Internet thông qua ADSL Router có IP

là 192.168.1.1.

Chú ý cách tạo website giả mạo và tạo cơ sở dữ liệu để lƣu password mình sẽ

không đề cập ở đây, phần minh họa này chỉ tập trung vào cách làm sao để chuyển

hƣớng truy cập của nạn nhân đến website giả mà thôi.

Hình 3.31. Minh họa tấn công DNS poisoning

Thực hiện

Mở file etter.dns ở thƣ mục C:\Program Files\EttercapNG\share trên máy

Attacker, đây là một file khá đơn giản và có chứa các bản ghi DNS mà bạn muốn

giả mạo, thêm vào các dòng sau:

facebook.com A 192.168.1.22

*.facebook.com A 192.168.1.22

www.facebook.com PTR 192.168.1.22

Mục đích của việc làm này là khi nạn nhân truy cập facebook.com thật thì sẽ

bị chuyển hƣớng tới website giả mà ta đã dựng sẵn trên máy tấn công.

Khởi chạy công cụ Ettercap, chọn tab Sniff chọn tiếp Unifiedsniffing,

chọn card mạng giao tiếp với hệ thống.

Chọn tab Host Scan for host, để scan tất cả các host có trên mạng. Sau

khi đã scan xong, chọn tiếp tab Host Host List. Click chọn 192.168.1.23

Add to target 1. Click chọn 192.168.1.22 Add to target 2. Chọn tiếp tab

Start Start Sniffing. Sau đó chọn Tab Plugin Manage the plugin, click

double vào dns_spoof để kích hoạt tính năng gởi các DNS replies giả mạo đến

máy nạn nhận.

Page 62: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 62

Hình 3.32. Chọn tính năng dns_spoof

Sang máy nạn nhân, truy cập website www.facebook.com. Trở lại máy tấn

công, trên giao diện phần mềm Ettercap, ta thấy trang www.facebook.com đã bị

chuyển hƣớng đến địa chỉ IP của máy tấn công (chứa website giả mạo).

Hình 3.33. Kết quả DNS spoofing

Dùng wireshark để bắt gói tin, ta thấy rằng khi máy nạn nhân(192.168.1.23)

yêu cầu phân giải tên miền facebook.com, thì ADSL Router sẽ response về địa

chỉ 192.168.1.22 (địa chỉ website giả mạo).

Hình 3.34. Kết quả bắt gói tin trên Wireshark

Cuối cùng, ta đƣợc kết quả:

Page 63: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 63

Hình 3.35. Username và Password

3.6 MAC spoofing

3.6.1 MAC spoofing

Mỗi thiết bị mạng đều đƣợc nhà sản xuất gán cho một địa chỉ xác định, đó là

địa chỉ MAC. Địa chỉ này dùng để phân biệt thiết bị này với thiết bị kia và địa chỉ

này sẽ là duy nhất cho mỗi thiết bị. Nhƣng chúng ta có một kỹ thuật có thể thay

đổi địa chỉ này đó là MAC spoofing. Khi thay đổi địa chỉ MAC chúng ta có thể

vƣợt qua đƣợc các phƣơng pháp bảo mật dựa trên đặc điểm duy nhất của địa chỉ

MAC, những phƣơng pháp có thể vƣợt qua có thể là: ACLs (Access Control

List), port-sercurity…

3.6.2 Minh họa

Để thay đổi địa chỉ MAC trên thiết bị ta dùng phần mềm SMAC v2.7. Phần

mềm này đƣợc cài đặt trên Windows XP

Hình 3.36. SMAC v2.7 professional

Page 64: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 64

Ở dòng khoảng trắng, sổ xuống chọn 10NET COMMUNICATION/DCA

Hình 3.37. Chọn 10NET COMMUNICATION/DSA

Điền địa chỉ MAC mới vào những ô còn trống, sau đó click Update MAC để

đổi địa chỉ MAC.

Hình 3.38. Đổi địa chỉ MAC mới

Kiểm tra ta dùng lệnh ipconfig /all

Hình 3.39. Kiểm tra địa chỉ MAC sau khi đổi

Page 65: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 65

3.7 VLAN Hopping

3.7.1 Các giao thức hoạt động trong môi trƣờng VLAN

Các chuẩn đóng gói VLAN

Khi sử dụng nhiều VLAN trong mạng có các Switch đƣợc nối với nhau, giữa

các Switch sẽ đƣợc kết nối trunk. Đƣờng trunk này có nhiệm vụ truyền frame của

các VLAN khác nhau cùng một lúc. Khi gởi frame tới một Switch khác, các

Switch cần một các để định ra các VLAN mà frame muốn gởi tới. Vì thế chúng

ta cần một chuẩn để đóng gói các frame để các Switch phân biệt đƣợc frame đó

của VLAN nào. Ta có 2 chuẩn:

- Inter-Switch Link (ISL):

Đây là chuẩn độc quyền của Cisco nên chỉ có thể sử dụng trên các Switch

của Cisco. ISL đóng gói toàn bộ các frame Ethernet gốc trong một ISL

header. Các frame Ethernet đƣợc đóng gói bên trong không có gì thay đổi.

Trong ISL header sẽ gán VLAN ID, dựa vào VLAN ID này nên Switch nhận

biết đƣợc frame thuộc VLAN nào gởi tới.

Hình 3.40. Inter-Switch Link

- IEEE 802.1Q

IEEE 802.1Q (hay đơn giản là .1Q) là một chuẩn dùng chung cho tất cả

các thiết bị. Chuẩn này đƣợc sử dụng cho môi trƣờng LAN. 802.1Q sử dụng

một cách hoàn toàn khác với ISL, nó không đóng gói frame gốc mà nó thêm

vào header của frame 4 bytes. Trong 4 bytes đó thì sẽ chứa VLAN ID và dựa

vào VLAN ID mà Switch có thể nhận biết ra frame thuộc VLAN nào.

Page 66: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 66

Hình 3.41. IEEE 802.1Q

VLAN Trunking Protocol (VTP)

VTP là giao thức của Cisco dùng để đồng bộ tất cả VLAN trên Switch với

nhau. Xét ví dụ sau để thấy vì sao nên dùng VTP trong việc triển khai VLAN.

Tình huống đặt ra: Một công ty có 10 Switch, mỗi Switch đƣợc chia thành 10

VLAN, công việc cấu hình VLAN sẽ tốn nhiều thời gian và gây nhầm lẫn, kết

hợp với việc tạo thêm, xóa, thay đổi VLAN sẽ làm cho việc cấu hình phức tạp.

Lúc này với VTP cho phép quản lý VLAN hiệu quả hơn. Chỉ cần tạo VLAN trên

server, thông tin sẽ đƣợc phân phối đến các Switch khác, nếu có thay đổi VLAN

thì giữa các Switch sẽ tự động đồng bộ với nhau. VTP sử dụng gói tin VTP

advertisement để đồng bộ. Theo chu kỳ 5 phút 1 lần các Switch sẽ gửi gói tin này

cho các Switch nối trực tiếp với nó. Mặc định thì VTP đã đƣợc bật trên Switch

nhƣng không tắt giao thức này đƣợc.

.

Hình 3.42. Mô hình VTP

Page 67: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 67

Để thực hiện đồng bộ thông tin cấu hình VLAN thì phải thõa mãn 2 điều

kiện sau:

- Có đƣờng Trunk nối các Switch lại với nhau.

- Các Switch phải cùng chung một miền VTP (VTP domain).

VTP chỉ giúp đồng bộ thông tin cấu hình VLAN chứ không đồng bộ cổng.

Vì vậy phải cấu hình gán cổng cho các VLAN trên Switch.

Ví dụ: Switch A có các cổng F0/1, F0/2, F0/2 gán cho VLAN 10, trong khi

Switch B có các cổng F0/1, F0/2, F0/2 gán cho VLAN 20.

Dynamic Trunking Protocol (DTP)

DTP là giao thức độc quyền của Cisco. Giao thức này dùng để thiết lập

đƣờng Trunk và cách đóng gói frame VLAN (chuẩn IEEE 802.1Q hoặc chuẩn

ISL) giữa hai Switch. Có thể cấu hình đƣờng Trunk bằng tay giữa hai thiết bị

chuyển mạch. Nhƣng với giao thức DTP thì đƣờng Trunk đƣợc thiết lập một cách

tự động. Theo mặc định thì giao thứ DTP đã đƣợc bật trên các thiết bị chuyển

mạch của Cisco. Giữa Router và Switch có thể cấu hình đƣờng Trunk nhƣng

không có giao thức này vì Router không hiểu đƣợc giao thức DTP. Ngƣời quản

trị mạng có thể cấu hình trạng thái DTP trên mỗi trunk port. Các trạng thái bao

gồm: On, Off, Desirable,fAutorvàeNon-Negotiate.

- On: trạng thái này đƣợc sử dụng khi Switch khác không hiểu giao

thứcrDTP.

- Off: trạng thái này đƣợc sử dụng khi cổng đã đƣợc cấu hình từ trƣớc

không với mục đích trở thành trunk port.

- Desirable: trạng thái này đƣợc sử dụng khi cổng Switch muốn trở thành

trunk port.

- Auto: Đây là trạng thái mặc định trên nhiều Switch.

- Non-Negotiate: trạng thái này đƣợc sử dụng khi ngƣời quản trị muốn một

loại trunk đƣợc đóng gói ISL hay IEEE 802.1Q cụ thể.

Trên phần lớn Switch giao thức DTP trên các cổng đƣợc cấu hình mặc

định là auto.

Page 68: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 68

3.7.2 VLAN Hopping

VLAN hopping là một phƣơng thức tấn công mạng dựa trên những điểm yếu

của VLAN. Attacker sử dụng VLAN hopping khi muốn đi vòng qua các thiết bị

lớp 2, lớp 3 khi trao đổi thông tin từ một VLAN này sang một VLAN khác. Ý

tƣởng tấn công dựa trên các trunk port trên Switch đƣợc cấu hình bất hợp lý. Mặc

định, các trunk port có thể truy nhập tới tất cả các VLAN. Dữ liệu truyền qua các

đƣờng trunk này có thể đƣợc đóng gói theo chuẩn IEEE 802.1Q hoặc ISL (Inter-

Switch Link). VLAN hopping đƣợc thực hiện theo hai cách: Switch spoofing và

double tagging.

VLAN hopping với Switch spoofing

Tất cả các trunk port đều có thể truy cập tới tất cả các VLAN. Nếu Attacker

kết nối vào trunk port thì Attacker sẽ thấy đƣợc tất cả các gói tin của tất cả các

VLAN bằng các phần mềm Sniffer. Để tiến hành tấn công VLAN hopping theo

kiểu Switch spoofing, Attacker sẽ gởi các gói tin đƣợc đóng gói theo các chuẩn

Inter-Switch Link (ISL) hoặc 802.1Q cùng với Dynamic Trunking Protocol

(DTP), để thiết lập kết nối trunk đến Switch. Theo mặc định thì trạng thái DTP

trên mỗi trunk port trên Switch đều ở chế độ auto, khi Attacker gởi DTP packet

đến Switch thì Switch sẽ kết nối trunk với Attacker. Do đó Attacker sẽ dễ dàng

truy cập vào tất cả các VLAN. Attacker có thể gửi packet hoặc nhận các packet

tới bất kỳ VLAN nào.

Hình 3.43. VLAN hopping-Switch spoofing

VLAN hopping với double tagging

Page 69: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 69

Kiểu tấn công này lợi dụng cách thức hoạt động của Switch. Hiện nay, phần

lớn các Switch chỉ thực hiện đóng gói IEEE 802.1Q. Điều này cho phép Attacker

trong những tính huống cụ thể có khả năng gắn các đuôi 802.1Q (gọi là .1Q tag)

vào khung. Khung này sẽ vào VLAN với đuôi .1Q đầu ra không xác định. Một

đặc điểm quan trọng của kiểu tấn công VLAN hopping double tagging là nó có

thể tiến hành thậm chí với các cổng trunk đã đƣợc thiết lập ở chế độ Off.

Hình 3.44. VLAN hopping-Double tagging

Ngăn chặn kiểu tấn công này không dễ nhƣ việc ngăn chặn kiểu tấn công

VLAN hopping Switch spoofing. Biện pháp tốt nhất để đảm bảo các VLAN của

các trunk port đƣợc phân biệt rạch ròi với các VLAN của các cổng của User.

3.7.3 Minh họa VLAN hopping

Để minh họa tấn công VLAN hopping ta dùng chƣơng trinh yersinia trên

ubuntu

Hình 3.45. Tấn công VLAN hopping với yersinia

Chọn tab 802.1Q, sau đó chon Edit mode để chỉnh sửa VLAN muốn attack,

theo minh họa là VLAN 20.

Page 70: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 70

Hình 3.46. Tấn công VLAN 20

Sau đó hộp thoại hiện ra, chọn sending 802.1Q double enc. Packet, click

OK.

Hình 3.47. Sending 802.1Q

Page 71: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 71

3.8 Spanning Tree Protocol Attack

3.8.1 Các kiểu tấn công

Lợi dụng điểm yếu về chứng thực bản tin, một hacker có thể tiến hành tấn

công theo kiểu gửi đi bản tin BPDU giả dạng để tuyên bố mình là root bridge.

Thực hiện điều này không khó bởi chỉ cần gửi đi bản tin BPDU có priority cực

thấp thì khả năng của host trở thành root bridge là rất cao.

Hậu quả là, cấu trúc cây STP bị thay đổi không theo ý muốn của ngƣời quản

trị.Ví dụ khi kẻ tấn công chiếm đƣợc quyền làm root bridge, khi nhận đƣợc bản

tin TCN báo có sự thay đổi cấu hình từ một Switch, root vẫn gửi đi bản tin

BPDU với TC = 0 báo trạng thái STP bình thƣờng. Kết quả là mọi Switch khác

đều không biết về sự thay đổi này dẫn đến việc trao đổi thông tin có thể bị gián

đoạn. Dữ liệu truyền qua lại giữa các Switch thuộc các nhánh khác nhau của cây

STP sẽ đƣợc truyền qua host trƣớc (tấn công man in the middle).

Thay đổi cấu trúc cây STP:

Hình 3.48. Cấu trúc cây STP lúc đầu

Trƣớc khi bị tấn công, cây STP có root bridge là Switch 1. Attacker gửi đi

bản tin giả mạo có Priority thấp nhất (Priority 0) đến Switch 3. Khi Switch 3

nhận đƣợc bản tin BPDU từ cổng 3 của nó, nó biết là có sự thay đổi topology của

mạng. Lúc đó 3 cổng trên switch 3 sẽ chuyển từ trạng thái blocking sang trạng

thái listening để Switch tham gia vào quá trình bình bầu root bridge, root portvà

Page 72: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 72

designated port. Trong trạng thái này, switch 3 cũng gửi đi bản tin BPDU có

priority 0 đến hai Switch 1 và 2. Quá trình bình bầu diễn ra có kết quả nhƣ sau:

- Các Switch sẽ coi Attacker là root bridge.

- Trên Switch 3: cổng 3 đƣợc chọn làm root port vì có chi phí đến root thấp

nhất, vậy cổng 1, 2 đƣợc chọn làm designated port vì nó gửi đi bản tin

BPDU có chi phí thấp hơn so với chi phí của các bản tin gửi từ Switch 1

và 2.

- Trên Switch 1: cổng 1 đƣợc chọn làm root port, cổng 2 đƣợc chọn là

designated port .

- Trên Switch 2: cổng 2 đƣợc chọn làm root port; cổng 1 là non-designated

port.

Sau khi đã chọn đƣợc root port; Switch 3 sẽ gửi đi bản tin TCN qua cổng 3

cho root bridge mới thông báo là đã có sự thay đổi trong mạng. Attacker gửi lại

bản tin TCA cho Switch 3 và gửi đi bản tin BPDU có TC=1 đến tất cả các Switch

khác. Các Switch khác khi nhận đƣợc bản tin này sẽ đặt thời gian tồn tại các ánh

xạ trong bảng cache xuống còn 15 s để chuẩn bị học địa chỉ MAC mới.

Tất cả quá trình trên đƣợc diễn ra trong khoảng 15s (trạng thái listening).

Các Switch đợi thêm 15s nữa để học lại địa chỉ MAC (trạng thái learning). Sau

30s, các cổng là root port hoặc designated port sẽ đƣợc đặt vào trạng thái

forwarding còn các cổng là non-designated port sẽ đƣợc đặt vào trạng thái

blocking.

Hình 3.49. Cấu trúc cây STP đã bị thay đổi

Chúng ta thấy cấu trúc cây đã bị thay đổi

Page 73: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 73

Tấn công Man in the middle:

Hình 3.50. Sơ đồ tấn công Man in the middle

Trong sơ đồ tấn công trên, Attacker cần có hai card mạng gắn vào các cổng

tƣơng ứng trên các Switch, sau đó gửi bản tin BPDU với Priority nhỏ hơn

Priority của các Switch. Khi đó, Attacker sẽ trở thành root bridge.

Hình 3.51. Đường đi của dữ liệu

Dữ liệu từ PC 1 sang PC 2 phải đi qua máy của kẻ tấn công thay vì đi trực

tiếp qua đƣờng nối giữa Switch 1 và Switch 2 nhƣ trong sơ đồ mạng trƣớc khi bị

tấn công.

3.8.2 Cách phòng chống

Nguyên lý phòng chống STP là không cho host gửi bản tin BPDU giả mạo.

Cấu hình BPDU guard:

Cấu hình này thƣờng đi kèm với cấu hình portfast trên cùng một cổng. Nếu

cổng nhận đƣợc bất kì một bản tin BPDU nào đó thì ngay lập tức, cổng sẽ đƣợc

chuyển vào trạng thái errdisable, trạng thái cần phải bị shut-down do lỗi. Cổng

Page 74: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 74

chỉ có thể đƣợc hoạt động trở lại khi có sự can thiệp của ngƣời quản trị hoặc

đƣợc khôi phục lỗi tự động sau khoảng thời gian timeout của trạng thái

errdisable.

SW(config-if)# spanning-tree portfast

SW(config-if)# spanning-tree portfast bpduguard default

Cấu hình root guard:

Bình thƣờng khi một Switch nhận đƣợc bản tin BPDU của một Switch có

bridge ID tốt hơn root bridge của nó, ngay lập tức nó sẽ công nhận Switch mới

chính là root bridge và nhƣ vậy làm mất đi tính ổn định của mạng. Với việc cấu

hình root guard, khi một cổng của Switch nhận đƣợc bản tin BPDU quảng cáo tốt

hơn, port sẽ đƣợc chuyển sang một trạng thái đƣợc gọi là root-inconsistent. Trong

trạng thái này, dữ liệu và BPDU không đƣợc gửi nhận qua cổng nhƣng Switch

vẫn lắng nghe các bản tin BPDU trên đó. Chừng nào không nhận đƣợc bản tin

BPDU tốt hơn nữa, port sẽ trở lại trạng thái bình thƣờng.

SW(config-if)# spanning-tree guard root

3.8.3 Minh họa

Để thực hiện minh họa này, ta cần có:

- Máy Attacker chạy hệ điều hành Ubuntu, cài đặt sẵn 2 phần mềm Ettercap

và Yersinia.

- Hai cisco Switch và 1 máy victim chạy hệ điều hành Windows XP (có thể

dùng linux).

Victim

Attacker

F1/15SW1 SW2F1/15

eth0 eth1

F1/0

F1/1 F1/2

Root bridge

FWD FWD

SW1 MAC: c200.0ab8.0000

SW2 MAC: c201.0ab8.0000

Hình 3.52.Mô hình minh họa

Page 75: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 75

Trƣớc khi minh họa cách tấn công ta cần phải cấu hình để Victim có thể

telnet đến 2 Switch.

SW2(config)# int vlan 1

SW2(config-if)# ip address 10.0.0.2 255.255.255.0

SW2(config)# line vty 0 15

SW2(config-line)# password 654321

SW2(config-line)# login

SW2(config)# enable secret cisco

Cấu hình tƣơng tự với Switch 1.

Theo mô hình trên, vì Switch 1 có địa chỉ MAC nhỏ hơn của Switch 2

(priority mặc định bằng nhau) nên Switch 1 sẽ đƣợc bình chọn là root bridge, các

cổng của 2 Switch đang ở trạng thái forwarding.

Các bƣớc thực hiện:

Trên máy Attacker, khởi chạy phần mềm Ettercap.

Chọn tab Sniff Bridged sniffing, chọn First network interface là eth0,

second network interface là eth1.

Chọn Start Start sniffing, chọn đến tab View Connection.

Trên Terminal, gõ yersinia –G để khởi động Yersinia.

Chọn tab Edit interfaces, tick chọn eth0, eth1

Chọn Launch Attack, chuyển sang tab STP, chọn Claiming Root Role để

kích hoạt tính năng gởi BPDU giả mạo root bridge OK.

Page 76: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 76

Hình 3.53. Máy Attacker gởi tin BPDU

Ta thấy rằng, sau khi xác định đƣợc bridge ID của Switch (c200.0ab8.0000),

phần mềm Yersinia sẽ tự động sinh ra một bridge ID thấp hơn (c200.0ab7.0000)

để gởi đến Switch để bắt đầu lại quá trình bầu chọn root bridge.

Sang Switch 1 gõ lệnh: SW1# show spanning-tree vlan 1 brief.

Hình 3.54.Show STP trên Switch

Page 77: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 77

Khi đó, cổng f1/15 của Switch 2 sẽ ở trạng thái blocking. Cấu trúc cây STP

bây giờ sẽ là:

Victim

Attacker

F1/15SW1 SW2

BPDU

F1/15

eth0 eth1

BPDU

F1/0

F1/1 F1/2

Root bridge

FWD BLK

SW1 MAC: c200.0ab8.0000SW2 MAC: c201.0ab8.0000Attacker MAC: c201.0ab7.0000

Hình 3.55. Cấu trúc cây STP bị thay đổi

Trên máy victim ta mở Command promt, gõ lệnh telnet 10.0.0.2.

Login với mật khẩu đã cấu hình trƣớc đó.

Sang máy Attacker, trên giao diện Ettercap, ở tab Connection, double click

vào gói tin có port là 23 chọn Join view, ta đƣợc kết quả:

Hình 3.56. Password bắt được trên Ettercap

Ta có nhận xét là khi cổng f1/15 của Switch 2 ở trạng thái blocking thì dữ

liệu từ máy victim thay vì đi qua đƣờng nối giữa 2 Switch thì sẽ phải đi qua máy

Attacker

Page 78: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 78

PHẦN III: TỔNG KẾT VÀ ĐÁNH GIÁ

1. Kết quả đạt đƣợc

Sau quá trình tìm hiểu các kỹ thuật Sniffer, nhóm đã nắm đƣợc những vấn đề

cơ bản sau:

Hiểu sâu hơn về các giao thức nhƣ: ARP, DNS, DHCP, STP,..

Phân loại đƣợc 2 phƣơng thức Sniffer: Active Sniffer và Passive Sniffer.

Minh họa các kỹ thuật Sniffer cơ bản trong hệ thống mạng nhƣ: MAC

Attack, DHCP Attack, ARP Poisoning, DNS Poisoning.

Triển khai đƣợc các phƣơng thức phòng chống Sniffer: Port Security, DHCP

Snooping, Dynamic ARP Inspection.

Sử dụng đƣợc các phần mềm hỗ trợ việc giám sát hệ thống mạng.

Hạn chế: đề tài báo cáo đã hoàn tất tuy nhiên để hiểu rõ sâu hơn về các kiểu

tấn công trên mạng cần phải có thời gian dài nghiên cứu, do thời gian làm đề tài

không cho phép, nhận thức của bản thân có hạn, nên còn nhƣợc điểm và thiếu

sót, chúng em sẽ cố gắng hoàn thiện hơn nữa.

2. Hƣớng phát triển

Trên cơ sở của đề tài này, chúng em sẽ tìm hiểu thêm một số kỹ thuật tấn

công mạng khác nhƣ Footprinting, Scaning, Phishing,… Từ đó có thể từng bƣớc

làm chủ đƣợc hệ thống mạng, tăng cƣờng khả năng bảo mật, đối phó với các sự

cố xảy ra.

Page 79: Tìm hiểu Sniffer

TÌM HIỂU VÀ MINH HỌA SNIFFER 79

PHẦN IV: TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Huỳnh Nguyên Chính, Giáo trình mạng máy tính nâng cao, Đại học Sƣ

Phạm Kỹ Thuật TP.Hồ Chí Minh.

Tiếng Anh

[1] Certified Ethical Hacker Version 7 Module 8 Sniffer, EC-Council Press.

[2] Yusuf Bhaiji, Layer 2 Attacks & Mitigation Techniques, Cisco Systems.

[3] Sean Convery, Hacking Layer 2: Fun with Ethernet Switch, Cisco Systems.

[4] Threats and Defense Mechanisms, EC-Council Press.

[5] CCNA Security - Cisco Certified Network Associate Security (640-554)

[6] http://wikipedia.org