Tải bản đầy đủ (.docx) (28 trang)

BÁO CÁO LAB SECURITY ARP SPOOFING

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (766.51 KB, 28 trang )

ĐH QUỐC GIA TP.HCM
ĐH CÔNG NGHỆ THÔNG TIN
BÁO CÁO LAB SECURITY
ĐỀ TÀI : ARP SPOOFING
GVHD : CH.Nguyễn Duy
SV thực hiện :
Trần Hữu Đức 08520094
Nguyễn Hữu Tín 08520477
Ngô Trần Vĩnh Phúc 08520288
Hoàng Trọng Quốc Bảo 08520026
1
LỜI NÓI ĐẦU
Giao thức ARP là một giao thức rất cần thiết và quan trọng trong hệ thống mạng của
chúng ta. ARP thực hiện công việc phân giải địa chỉ giữa lớp datalink và lớp network
nhằm làm cho việc truyền dữ liệu được liên tục qua mạng. Tuy nhiên nó lại không có bất
kì một cơ chế xác thực nào và dễ bị tấn công bởi các hacker. Mục đích của bài lab nhằm
giới thiệu các thông tin cơ bản và cách thức hoạt động của giao thức ARP. Tìm hiểu các
cơ chế tấn công ARP spoofing và cách phòng thủ.
2
Table of Contents
3
I. GIỚI THIỆU GIAO THỨC ARP
Giao thức ARP được thiết kế để phục vụ cho nhu cầu thông dịch các địa chỉ giữa
các lớp thứ hai và thứ ba trong mô hình OSI. Lớp thứ hai (lớp data-link) sử dụng địa
chỉ MAC để các thiết bị phần cứng có thể truyền thông với nhau một cách trực tiếp.
Lớp thứ ba (lớp mạng), sử dụng địa chỉ IP để tạo các mạng có khả năng mở rộng trên
toàn cầu. Lớp data-link xử lý trực tiếp với các thiết bị được kết nối với nhau, còn lớp
mạng xử lý các thiết bị được kết nối trực tiếp và không trực tiếp. Mỗi lớp có cơ chế
phân định địa chỉ riêng, và chúng phải làm việc với nhau để tạo nên một mạng truyền
thông. Với lý do đó, ARP được tạo với RFC 826, “một giao thức phân định địa chỉ
Ethernet - Ethernet Address Resolution Protocol”.


Mỗi thiết bị trong hệ thống mạng của chúng ta có ít nhất hai địa chỉ. Một địa chỉ là
Media Access Control ( MAC ) và một địa chỉ Internet Protocol ( IP ). Địa chỉ
MAC là địa chỉ của card mạng gắn vào bên trong thiết bị, nó là duy nhất và không
hề thay đổi. Địa chỉ IP có thể thay đổi theo người sử dụng tùy vào môi trường mạng.
ARP là một trong những giao thức của IP, chức năng của nó dùng để định vị một host
trong một segment mạng bằng cách phân giải địa chỉ IP ra địa chỉ MAC. ARP thực
hiện điều đó thông qua một tiến trình broadcast gói tin đến tất cả các host trong mạng,
gói tin đó chứa địa chỉ IP của host cần giao tiếp. Các host trong mạng đều nhận được
gói tin đó và chỉ duy nhất host nào có địa chỉ IP trùng với địa chỉ IP trong gói tin mới
trả lời lại, còn lại sẽ tự động drop gói tin.
ARP là một giao thức hết sức đơn giản, nó đơn thuần có 4 loại message cơ bản sau:
• An ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ IP này? "
• An ARP Reply: máy tính B trả lời máy tính A : "tôi có IP đó, địa chỉ MAC của tôi
là "
• An Reverse ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ MAC
này? "
• An Reverse ARP Reply: máy tính B trả lời máy tính A: " tôi có MAC đó, địa chỉ
IP của tôi là "
4
II. NGUYÊN TẮC LÀM VIỆC CỦA ARP
Khi một thiết bị mạng muốn biết địa chỉ MAC của một thiết bị mạng nào đó mà nó
đã biết địa chỉ ở tầng network (IP, IPX…) nó sẽ gửi một ARP request bao gồm địa chỉ
MAC address của nó và địa chỉ IP của thiết bị mà nó cần biết MAC address trên toàn
bộ một miền broadcast. Mỗi một thiết bị nhận được request này sẽ so sánh địa chỉ IP
trong request với địa chỉ tầng network của mình. Nếu trùng địa chỉ thì thiết bị đó phải
gửi ngược lại cho thiết bị gửi ARP request một gói tin (trong đó có chứa địa chỉ MAC
của mình). Trong một hệ thống mạng đơn giản, ví dụ như PC A muốn gửi gói tin đến
PC B và nó chỉ biết được địa chỉ IP của PC B. Khi đó PC A sẽ phải gửi một ARP
broadcast cho toàn mạng để hỏi xem "địa chỉ MAC của PC có địa chỉ IP này là gì ?"
Khi PC B nhận được broadcast này, nó sẽ so sánh địa chỉ IP trong gói tin này với địa

chỉ IP của nó. Nhận thấy địa chỉ đó là địa chỉ của mình, PC B sẽ gửi lại một gói tin
cho PC A trong đó có chứa địa chỉ MAC của B. Sau đó PC A mới bắt đầu truyền gói
tin cho B.
5
III. ARP CACHE
ARP cache có thể coi như một bảng có chứa một tập tương ứng giữa các phần
cứng và địa chỉ Internet Protocol (IP). Mỗi một thiết bị trên một mạng nào đó đều có
cache riêng. Có hai cách lưu giữ các entry trong cache để phân giải địa chỉ diễn ra
nhanh. Đó là:
Các entry ARP Cache tĩnh. Ở đây, sự phân giải địa chỉ phải được add một cách
thủ công vào bảng cache và được duy trì lâu dài.
Các entry ARP Cache động. Ở đây, các địa chỉ IP và phần cứng được giữ trong
cache bởi phần mềm sau khi nhận được kết quả của việc hoàn thành quá trình phân
giải trước đó. Các địa chỉ được giữ tạm thời và sau đó được gỡ bỏ.
ARP Cache biến một quá trình có thể gây lãng phí về mặt thời gian thành một quá
trình sử dụng thời gian một cách hiệu quả. Mặc dù vậy nó có thể bắt gặp một số vấn
đề. Cần phải duy trì bảng cache. Thêm vào đó cũng có thể các entry cache bị “cũ”
theo thời gian, vì vậy cần phải thực thi hết hiệu lực đối với các entry cache sau một
quãng thời gian nào đó.
6
Hình 1: Quá trình truyền thông ARP
Thực chất trong vấn đề hoạt động của ARP được tập trung vào hai gói, một gói
ARP request và một gói ARP reply. Mục đích của request và reply là tìm ra địa chỉ
MAC phần cứng có liên quan tới địa chỉ IP đã cho để lưu lượng có thể đến được đích
của nó trong mạng. Gói request được gửi đến các thiết bị trong đoạn mạng, trong khi
gửi nó nói rằng (đây chỉ là nhân cách hóa để giải thích theo hướng dễ hiểu nhất)
“Hey, địa chỉ IP của tôi là XX.XX.XX.XX, địa chỉ MAC của tôi là
XX:XX:XX:XX:XX:XX. Tôi cần gửi một vài thứ đến một người có địa chỉ
XX.XX.XX.XX, nhưng tôi không biết địa chỉ phần cứng này nằm ở đâu trong đoạn
mạng của mình. Nếu ai đó có địa chỉ IP này, xin hãy đáp trả lại kèm với địa chỉ MAC

của mình!” Đáp trả sẽ được gửi đi trong gói ARP reply và cung cấp câu trả lời, “Hey
thiết bị phát. Tôi là người mà bạn đang tìm kiếm với địa chỉ IP là XX.XX.XX.XX. Địa
chỉ MAC của tôi là XX:XX:XX:XX:XX:XX.” Khi quá trình này hoàn tất, thiết bị phát
sẽ cập nhật bảng ARP cache của nó và hai thiết bị này có thể truyền thông với nhau.
7
IV. NGUYÊN LÝ TẤN CÔNG
Giao thức ARP là rất cần thiết và quan trọng trong hệ thống mạng của chúng ta,
tuy nhiên nó lại không đề cập đến vấn đề xác thực nào cả. Khi một host nhận được
gói tin ARP Reply, nó hoàn toàn tin tưởng và mặc nhiên sử dụng thông tin đó để sử
dụng sau này mà không cần biết thông tin đó có phải trả lời từ một host mà mình
mong muốn hay không. ARP không có cơ chế nào để kiểm tra việc đó cả và trên thực
tế một host có thể chấp nhận gói ARP Reply mà trước đó không cần phải gửi gói tin
ARP Request. Lợi dụng điều này, hacker có thể triển khai các phương thức tấn công
như: Man In The Middle, Denial of Service, MAC Flooding
1. DENIAL OF SERVICE
Cũng vận dụng kỹ thuật trên, hacker tiến hành tấn công bằng cách gởi gói
ARP Reply đến toàn bộ các host trong mạng với nội dung mang theo là địa chỉ IP
của Gateway và địa chỉ MAC không hề tồn tại. Như vậy các host trong mạng tin
tưởng rằng mình đã biết được MAC của Gateway và khi gửi thông tin đến
Gateway, kết quả là gửi đến một nơi hoàn toàn không tồn tại. Đó là điều hacker
mong muốn, toàn bộ các host trong mạng đều không thể đi ra Internet được.
2. MAC FLOODING
Cách tấn công này cũng dùng kỹ thuật ARP Poisoning mà đối tượng nhắm
đến là Switch. Hacker sẽ gửi những gói ARP Reply giả tạo với số lượng khổng lồ
nhằm làm Switch xử lý không kịp và trở nên quá tải. Khi đó, Switch sẽ không đủ
sức thể hiện bản chất Layer2 của mình nữa mà broadcast gói tin ra toàn bộ các
port của mình. Hacker dễ dàng bắt được toàn bộ thông tin trong mạng của bạn.
3. MAN IN THE MIDDLE
Giả sử hacker muốn theo dõi host A gởi thông tin gì cho host B. Đầu tiên,
hacker sẽ gởi gói ARP Reply đến host A với nội dung là địa chỉ MAC của hacker

và địa chỉ IP của hostB.
Tiếp theo, hacker sẽ gửi gói ARP Reply tới host B với nội dung là MAC của
máy hacker và IP của host A. Như vậy, cả hai host A và host B đều tiếp nhận gói
ARP Reply đó và lưu vào trong ARP table của mình. Đến lúc này, khi host A
muốn gửi thông tin đến host B, nó liền tra vào ARP table thấy đã có sẵn thông tin
8
về địa chỉ MAC của host B nênsẽ lấy thông tin đó ra sử dụng, nhưng thực chất địa
chỉ MAC đó là của hacker. Đồng thời máy tính của hacker sẽ mở chức năng gọi là
IP Forwading giúp chuyển tải nội dung mà host A gửi qua host B. Host A và
host B giao tiếp bình thường và không có cảm giác bị qua máy trung gian là máy
của hacker.
Trong trường hợp khác, hacker sẽ nghe lén thông tin từ máy bạn đến Gateway.
Như vậy mọi hành động ra Internet của bạn đều bị hacker ghi lại hết, dẫn đến việc
mất mát các thông tin nhạy cảm.
9
V. CÁCH PHÒNG THỦ
ARP Poisoning là một kiểu tấn công dạng local, nghĩa là hacker thực hiện tấn
công từ bên trong mạng của bạn. Hậu quả của cách tấn công này là rất lớn, những
người quản trị mạng cần nắm bắt rõ về kỹ thuật tấn công này. Sau đây là một số
kỹ thuật giúp phòng chống tấn công kiểu ARP Poisoning.
1. Đối với một mạng nhỏ:
Ta có thể sử dụng địa chỉ IP tĩnh và ARP table tĩnh, khi đó, bạn sẽ liệt kê bằng
tay IP nào đi với MAC nào. Trong Windows có thể sử dụng câu lệnh ipconfig /all
để xem IP và MAC, dùng câu lệnh arp -s để thêm vào ARP table. Khi mà ép tĩnh
như vậy sẽ ngăn chặn hacker gởi các gói ARP Reply giả tạo đến máy của mình vì
khi sử dụng ARP table tĩnh thì nó luôn luôn không thay đổi. Chú ý rằng cách thức
này chỉ áp dụng được trong môi trường mạng với quy mô nhỏ, nếu mạng lớn hơn
là không thể vì chúng ta phải thêm vào ARP table bằng tay với số lượng quá
nhiều.
2. Đối với một mạng lớn:

Khi quản trị trong một mạng quy mô lớn, ta có thể sử dụng chức năng Port
security. Khi mở chức năng Port security lên các port của Switch, ta có thể quy
định port đó chỉ chấp nhận một địa chỉ MAC. Như vậy sẽ ngăn chặn việc thay đổi
địa chỉ MAC trên máy hacker.
Ngoài ra cũng có thể sử dụng các công cụ, ví dụ như ArpWatch. Nó sẽ phát hiện
và báo cáo cho bạn các thông tin liên quan đến ARP đang diễn ra trong mạng. Nhờ
đó, nếu có hiện tượng tấn công bằng ARP Poisoning thì bạn có thể giải quyết kịp
thời.
10
VI. MÔ HÌNH TẤN CÔNG
1. Mô tả
Nhóm sẽ triển khai mô hình tấn công thường gặp và phổ biến nhất là kiểu tấn
Man In The Middle. Phần mềm được sử dụng ở đây là Cain & Able và tiến hành
ARP poisoning. Lúc này attacker sẽ đóng vai trò là máy trung gian đứng ở giữa
chuyển tải thông điệp giữa hai máy nạn nhân mà nạn nhân không hề hay biết. Qua
đó attacker có thể thu thập toàn bộ thông tin trao đội giữa hai máy nạn nhân.
11
2. Triển khai
Máy con lúc đầu sẽ có bảng ARP cache với địa chỉ MAC của ip router
192.168.1.1 là 00-02-cf-af-40-14
12
B1: Mở Cain, chọn menu “Configure” => chọn card mạng tương ứng:
Start chức năng sniffer :
13
Chuyển qua tab “Sniffer” ở trên và add (+) những host nằm trong cùng mạng LAN
vào danh sách:
14
B2: Chọn tab “ARP” ở phía dưới và click add (+) => chọn cột bên phải là IP
router & cột bên trái là IP máy victim:
15

16
Start ARP poisoning :
17
18
B3: Lúc này địa chỉ MAC của router sẽ bị đổi thành địa chỉ MAC của máy tấn công: 00-
0c-29-cd-fd-79
19
VII. MÔ HÌNH PHÒNG THỦ
1. ARP tĩnh
Sử dụng chức năng đặt IP và ARP tĩnh của ARP cache. Lúc nãy mỗi IP sẽ đi với một địa
chỉ MAC cố định và không thay đổi được. Nội dung câu lệnh: arp –s [IP] [MAC]
B1: Dùng câu lệnh “arp –s 192.168.1.1 00-02-cf-af-40-14” cho máy con. Lúc này máy sẽ
lưu thông tin ARP của router vào ARP cache dưới dạng “static” và không cho phép chỉnh
sửa.
Sau đó tiến hành dung Cain để đầu độc ARP nhưng kết quả là thông tin ARP vẫn không
bị thay đổi.
20
21
22
2. Phần mềm Anti ARP
Sau khi cài đặt, mặc định phần mềm ARP sẽ khởi động cùng hệ thống để chống lại
các cuộc tấn công ARP spoofing.
Lúc này nếu bị tấn công thì chương trình antiarp sẽ hiện thông báo bị tấn công ở góc phải
màn hình và khi mở chương trình sẽ thấy thông tin về người tấn công, số lượng gói tin
23
ARP giả mạo bị chặn.
24
Màn hình thông báo khi cuộc tấn công ARP dừng.
25

×