Tìm hiểu tấn công Spoofing ARP và Sniffer
Mục tiêu của luận văn là tìm hiểu về một mô hình lập lích sản xuất lý thuyết, xem xét xây dựng mô hình lập lịch phù hợp và áp dụng nó vào thực tiễn, đồng thời cố gắng xây dựng bước đầu một hệ thống hỗ trợ lập lịch sản xuất và kiểm soát quá trình sản xuất trong xí nghiệp sản xuất ống khớp nối thép dạng hàn nói tiếp
19 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3653 | Lượt tải: 5
Bạn đang xem nội dung tài liệu Tìm hiểu tấn công Spoofing ARP và Sniffer, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
DANH SÁCH THÀNH VIÊN
Phạm Thanh Tòng
Trần Thanh Bình
Trần Văn Trình MỤC LỤC
Tìm hiểu về tấn công giao thức ARP
Giao thức ARP là gì? Tác dụng của ARP Protocol
Nguyên tắc hoạt động của ARP protocol
Nguyên lý của tấn công ARP
Các hình thức tấn công ARP
Cách phòng chống
Tìm hiểu về nghe lén Sniffer
Nghe lén là gì
Nguyên lý của nghe lén
Các công cụ để nghe lén
Thực hành sniffing
Cách phòng chống
A. TÌM HIỂU VỀ TẤN CÔNG ARP SPOOFING
I. Tìm hiểu về giao thức ARP và cơ chế hoạt động
1.Giao thức ARP là gì?
Mỗi một thiết bị trong 1 mạng (máy tính, router…) đều được nhận diện đưới hai loại địa chỉ:
- Địa chỉ logic: phụ thuộc vào cấu trúc của từng mạng và có thể thay đổi
- Địa chỉ vật lý (MAC address), là địa chỉ được nhà sản xuất ghi card mạng nằm bên trong thiết bị, không thể thay đổi
Để 1 thiết bị, cụ thể là một máy tính trong một mạng máy tính có thể truyền và nhận dữ liệu thì nó phải được gán một địa chỉ IP và nó phải cho các thiết bị khác biết địa chỉ MAC của nó.
Như vậy ARP là một giao thức nằm trong tầng LINK-LAYER trong mô hình 4 tầng Internet protocol suite. Giúp phân giải địa chỉ IP thành địa chỉ MAC, giúp tìm ra máy tính sẽ nhận /hoặc đã gởi một gói tin đến/ hoặc đi.
Giao thức ARP có 4 loại gói tin:
-ARP Request: 1 thiết bị sẽ gởi gói tin loại này nhằm mục đích tìm ra địa chỉ MAC của thiết bị đã biết IP
-ARP Reply: Đây là gói tin trả lời của thiết bị mà có IP ứng với IP trong gói tin request
-Reverse ARP Request: Đây là gói tin có chức năng ngược lại với chức năng của gói tin ARP Request, tức là để tìm IP của thiết bị có địa chỉ MAC đã biết
-Reverse ARP Reply: Là loại gói tin trả lời cho RARP Request
Cấu trúc của gói tin ARP:
2.Tác dụng của giao thức ARP
Xét ví dụ sau:
Giả sử máy tính của thầy Phan nằm trong một mạng cục bộ có IP là 192.168.0.1 muốn gởi một gói tin IP đến cho máy của thầy Thành nằm trong cùng mạng có IP là 192.168.0.4, thì quá trình gởi gói tin được thực hiện như sau:
Bước 1: Máy thầy Phan xác nhận IP của máy đích nằm cùng mạng với mình, nó tìm trong ARP cache địa chỉ MAC của máy đích ứng với IP máy đích, nếu thấy nó chuyển sang bước 4b, nếu không thấy thì nó thực hiện sang bước 2.
Arp cache là bộ đệm nằm trong bộ nhớ truy cập ngẫu nhiên của máy tính dùng để chứa địa chỉ MAC ứng với mỗi IP,
Việc sử dụng ARP Cache giúp giảm thời gian truyền, nhận các gói tin bởi không phải tiến hành gởi gói tin ARP Request nhiều lần.
“Trong windows để xem nô” Câu này là seo? Không hiểu….
Bước 2: Máy thầy Phan gởi một gói tin ARP request đến tất cả các máy trong cùng mạng LAN.
Bước 3: Máy có IP trùng với IP trong phần Target protocol address của gói tin ARP request sẽ xác nhận đó là gói tin gởi đến cho nó và sẽ thực hiện gởi gói tin ARP reply cho máy gởi, còn những máy khác sẽ chỉ nhận gói tin mà không làm gì cả
Bước 4:
a.Máy thầy Phan (192.168.0.1) nhận được gói tin ARP reply từ máy thầy Thành (192.168.0.4)
b. Máy thầy Phan tiến hành cập nhật địa chỉ MAC vừa nhận được vào ARP mapping table.
Bước 5: Lúc này nó mới tiến hành gởi gói tin IP với IP đích là 192.168.0.4 và địa chỉ MAC lấy từ ARP mapping table.
Tác dụng của giao thức ARP : Cung cấp cơ chế ánh xạ IP thành MAC và ngược lại giúp cho các máy tính cũng như các thiết bị liên lạc được với nhau trong môi trường mạng
Việc tồn tại 2 loại địa chỉ cùng một lúc là do các nguyên nhân:* 2 hệ thống địa chỉ được phát triển một cách độc lập bởi các tổ chức khác nhau.* Địa chỉ mạng chỉ có 32 bit sẽ tiết kiệm đường truyền hơn so với địa chỉ vật lý 48 bit.* Khi mạch máy hỏng thì địa chỉ vật lý cũng mất.* Trên quan điểm người thiết kế mạng thì sẽ rất hiệu quả khi tầng IP không liên quan gì với các tầng dưới.
Nguyên tắc hoạt động của ARP:
+Trong môi trường nội mạng: Một host A muốn gởi 1 gói tin IP đến 1 host B cùng mạng . Nếu trong arp cache của nó đã chức mác ứng với ai pi của host b thì nó chỉ việc gởi gói tin ip với header là ip và mác host B. Tuy nhiên nếu ko có MAC host B thì nó sẽ gởi gói tin ARP Request đến toàn miền broadcast của mạng. Tất cả các host đều nhận dc gói tin nhưng chỉ có host B trả lời lại bằng gói tin ARP Reply để khai báo địa chỉ mác của nó. Có đc MAC, host A sẽ lưu vào arp cache và đóng gói gói tin IP gởi đi
+Trong môi trường liên mạng: Host a ở mạng A gởi tin cho host B ở mạng B. Nó nhận thấy IP đích của gói tin IP không nằm cùng mạng với mình do đó nó sẽ :
Máy A gửi một ARP request (broadcast) để tìm địa chỉ MAC của port router cùng mạng (X)
- Router ® trả lời, cung cấp cho máy A địa chỉ MAC của port X.
- Máy A truyền gói tin đến port X của Router trong đó có địa chỉ IP của máy B.
- Router nhận được gói tin từ máy A, chuyển gói tin ra port Y của Router. Dĩ nhiên trong gói tin có chứa địa chỉ IP của máy B. Router sẽ gửi ARP request để tìm địa chỉ MAC của máy B.
- Máy B sẽ trả lời cho Router biết địa chỉ MAC của mình. Sau khi nhận được địa chỉ MAC của máy B, Router ® gửi gói tin của A đến B
Làm sao để tạo các gói tin arp:
Các gói tin arp do máy tính tự động tạo ra và quản lý trong quá trình liên lạc giữa các host. Tuy nhiên lập trình viên có thể tạo ra các gói tin arp thủ công (hơi bị phức tạp)
Trong windows có thể sử dụng winsock hoặc winpcap.
III. Nguyên lý tấn công:
Mấu chốt để sinh ra việc tấn công giao thức ARP đó là việc không có một cơ chế nào giúp xác thực quá trình phân giải. Một host khi nhận dc gói tin arp reply nó hiển nhiên sử dụng địa chỉ mac có trong gói tin arp reply đó cung cấp. Từ đó dẫn đến các kiểu tấn công sau:
+Man in the middle: hacker (H) cùng mạng nội bộ với host victim (V) muốn nghe lén thông tin của host V trao đổi với host Z (host Z có thể là một máy trong cùng mạng hoặc là router của mạng nếu như host V đang trao đổi với mạng bên ngoài). Các bước của quá trình này như sau:
B1: hacker sẽ gởi gói ARP Reply đến host V với nội dung là địa chỉ MAC của hacker và địa chỉ IP của host Z.
B2: hacker sẽ gởi gói ARP Reply đến host Z với nội dung là địa chỉ MAC của hacker và địa chỉ IP của host V.
B3: Máy hacker (H) sẽ enable chức năng IP forwarding nhằm giúp cho các gói tin qua lại giữa Z và V vẫn đến được với nhau.
Lúc này mọi thông tin liên lạc giữa host V và host Z đều đi qua host H và bị Hacker ghi lại.
Phần mềm: cain & abel
+Denial of service:
Host của hacker gởi gói arp reply đến tất cả các host trong máy nội dung là IP gateway và Mac giả. Lúc này toàn bộ các host trong mạng không thể liên lạc được với các mạng khác (internet..)
Phần mềm: netcut
+Mac flooding: hacker gởi liên tục và không ngừng các gói tin arp reply . switch sẽ xử lý không kịp hoặc xử lý chậm-> làm chậm tốc độ vận tải của mạng và bị đánh cắp thông tin.
Biện pháp phòng chống:
Mạng nhỏ: sử dụng arp tĩnh
Mạng lớn: sử dụng port security, arp watch, wireshark.
TÌM HIỂU VỀ NGHE LÉN SNIFFER
I. Các khái niệm căn bản về Sniffer
1.1 Sniffer là gì ?
Khởi đầu Sniffer là tên một sản phẩm của Network Associates có tên là Sniffer Network Analyzer. Đơn giản bạn chỉ cần gõ vào từ khoá Sniffer trên bất cứ công cụ tìm kiếm nào, bạn sẽ có những thông tin về các Sniffer thông dụng hiện nay. Sniffer được hiểu đơn giản như là một chương trình cố gắng nghe ngóng các lưu lượng thông tin trên (trong một hệ thống mạng). Tương tự như là thiết bị cho phép nghe lén trên đường dây điện thoại. Chỉ khác nhau ở môi trường là các chương trình Sniffer thực hiện nghe nén trong môi trường mạng máy tính. Tuy nhiên những giao dịch giữa các hệ thống mạng máy tính thường là những dữ liệu ở dạng nhị phân (Binary). Bởi vậy để nghe lén và hiểu được những dữ liệu ở dạng nhị phân này, các chương trình Sniffer phải có tính năng được biết như là sự phân tích các nghi thức (Protocol Analysis), cũng như tính năng giải mã (Decode) các dữ liệu ở dạng nhị phân để hiểu được chúng. Trong một hệ thống mạng sử dụng những giao thức kết nối chung và đồng bộ. Bạn có thể sử dụng Sniffer ở bất cứ Host nào trong hệ thống mạng của bạn. Chế độ này được gọi là chế độ hỗn tạp (promiscuous mode).
1.2 Sniffer được sử dụng như thế nào ?
Sniffer thường được sử dụng vào 2 mục đích khác biệt nhau. Nó có thể là một công cụ giúp cho các quản trị mạng theo dõi và bảo trì hệ thống mạng của mình. Cũng như theo hướng tiêu cực nó có thể là một chương trình được cài vài một hệ thống mạng máy tính với mục đích đánh hơi, nghe nén các thông tin trên đoạn mạng này...Dưới đây là một số tính năng của Sniffer được sử dụng theo cả hướng tích cực và tiêu cực:
- Tự động chụp các tên người sử dụng (Username) và mật khẩu không được mã hoá (Clear Text Password). Tính năng này thường được các Hacker sử dụng để tấn công hệ thống của bạn.
- Chuyển đổi dữ liệu trên đường truyền để những quản trị viên có thể đọc và hiểu được ý nghĩa của những dữ liệu đó.
- Bằng cách nhìn vào lưu lượng của hệ thống cho phép các quản trị viên có thể phân tích những lỗi đang mắc phải trên hệ thống lưu lượng của mạng. Ví dụ như : Tại sao gói tin từ máy A không thể gửi được sang máy B... etc
- Một số Sniffer tân tiến còn có thêm tính năng tự động phát hiện và cảnh báo các cuộc tấn công đang được thực hiện vào hệ thống mạng mà nó đang hoạt động (Intrusion Detecte Service).
- Ghi lại thông tin về các gói dữ liệu, các phiên truyền…Tương tự như hộp đen của máy bay, giúp các quản trị viên có thể xem lại thông tin về các gói dữ liệu, các phiên truyền sau sự cố…Phục vụ cho công việc phân tích, khắc phục các sự cố trên hệ thống mạng.
1.3 Quá trình Sniffer được diễn ra như thế nào ?
Công nghệ Ethernet được xây dựng trên một nguyên lý chia sẻ. Theo một khái niệm này thì tất cả các máy tính trên một hệ thống mạng cục bộ đều có thể chia sẻ đường truyền của hệ thống mạng đó. Hiểu một cách khác tất cả các máy tính đó đều có khả năng nhìn thấy lưu lượng dữ liệu được truyền trên đường truyền chung đó. Như vậy phần cứng Ethernet được xây dựng với tính năng lọc và bỏ qua tất cả những dữ liệu không thuộc đường truyền chung với nó.
Nó thực hiện được điều này trên nguyên lý bỏ qua tất cả những Frame có địa chỉ MAC không hợp lệ đối với nó. Khi Sniffer được tắt tính năng lọc này và sử dụng chế độ hỗn tạp (promiscuous mode). Nó có thể nhìn thấy tất cả lưu lượng thông tin từ máy B đến máy C, hay bất cứ lưu lượng thông tin giữa bất kỳ máy nào trên hệ thống mạng. Miễn là chúng cùng nằm trên một hệ thống mạng.
II. Làm thế nào để phòng chống các cuộc tấn công Sniffer ?
2.1 Làm thế nào để ngăn chặn những kẻ muốn Sniffer dữ liệu của tôi ?
Có lẽ cách đơn giản nhất để ngăn chặn những kẻ muốn Sniffer dữ liệu của bạn là sử dụng các giao thức mã hoá chuẩn cho dữ liệu trên đường truyền. Khi bạn mã hoá dữ liệu, những kẻ tấn công ác ý có thể Sniffer được dữ liệu của bạn, nhưng chúng lại không thể đọc được nó...
- SSL (Secure Socket Layer) : Một giao thức mã hoá được phát triển cho hầu hết các Webserver, cũng như các Web Browser thông dụng. SSL được sử dụng để mã hoá những thông tin nhạy cảm để gửi qua đường truyền như: Số thẻ tin dụng của khách hàng, các password và thông tin quan trọng.
- PGP và S/MIME: E-mail cũng có khả năng bị những kẻ tấn công ác ý Sniffer. Khi Sniffer một E-mail không được mãhoá, chúng không chỉ biết được nội dung của mail, mà chúng còn có thể biết được các thông tin như địa chỉ của người gửi, địa chỉ của người nhận…Chính vì vậy để đảm bảo an toàn và tính riêng tư cho E-mail bạn cũng cần phải mã hoá chúng…S/MIME được tích hợp trong hầu hết các chương trình gửi nhận Mail hiện nay như Netscape Messenger, Outlock Express…
PGP cũng là một giao thức được sủ dụng để mã hoá E-mail. Nó có khả năng hỗ trợ mã hoá bằng DSA, RSA lên đến 2048 bit dữ liệu.
- OpenSSH: Khi bạn sử dụng Telnet, FTP…2 giao thức chuẩn này không cung cấp khả năng mã hoá dữ liệu trên đường truyền. Đặc biệt nguy hiểm là không mã hoá Password, chúng chỉ gửi Password qua đường truyền dưới dạng Clear Text. Điều gì sẽ xảy ra nếu những dữ liệu nhạy cảm này bị Sniffer. OpenSSH là một bộ giao thức được ra đời để khắc phục nhược điểm này: ssh (sử dụng thay thế Telnet), sftp (sử dụng thay thế FTP)…
- VPNs (Virtual Private Networks): Được sử dụng để mã hoá dữ liệu khi truyền thong trên Internet. Tuy nhiên nếu một Hacker có thể tấn công và thoả hiệp được những Node của của kết nối VPN đó, thì chúng vẫn có thể tiến hành Sniffer được.
Một ví dụ đơn giản,là một người dung Internet khi lướt Web đã sơ ý để nhiễm RAT (Remoto Access Trojan), thường thì trong loại Trojan này thường có chứa sẵn Plugin Sniffer. Cho đến khi người dùng bất cẩn này thiết lập một kết nối VPN. Lúc này Plugin Sniffer trong Trojan sẽ hoạt động và nó có khả năng đọc được những dữ liệu chưa được mã hoá trước khi đưa vào VPN. Để phòng chống các cuộc tấn công kiểu này: bạn cần nâng cao ý thức cảnh giác cho những người sử dụng trong hệ thống mạng VPN của bạn, đồng thời sử dụng các chương trình quét Virus để phát hiện và ngăn chặn không để hệ thống bị nhiễm Trojan.
2.2 Làm thế nào để ngăn chặn những kẻ muốn Sniffer Password của tôi ?
Để ngăn chăn những kẻ tấn công muốn Sniffer Password. Bạn đồng thời sử dụng các giao thức, phương pháp để mã hoá password cũng như sử dụng một giải pháp chứng thực an toàn (Authentication):
- SMB/CIFS: Trong môi trường Windows/SAMBA bạn cần kích hoạt tính năng LANmanager Authencation.
- Keberos: Một giải pháp chứng thực dữ liệu an toàn được sử dụng trên Unix cũng như Windows:
ftp://aeneas.mit.edu/pub/kerberos/doc/KERBEROS.FAQ
- Stanford SRP (Secure Remote Password): Khắc phục được nhược điểm không mã hoá Password khi truyền thông của 2 giao thức FTP và Telnet trên Unix:
2.3 Làm thế nào để có thể ngăn chặn hành động Sniffer trên những thiết bị phần cứng của tôi ?
Việc thay thế Hub của bạn bằng những Switch, nó có thể cung cấp một sự phòng chống hiệu quả hơn. Switch sẽ tạo ra một “Broadcast Domain” nó có tác dụng gửi đến những kẻ tấn công những gói ARP không hợ lệ (Spoof ARP Packet).
Tuy nhiên các Hacker vẫn có những cách thức khéo léo để vượt qua sự phòng thủ này. Các yêu cầu truy vấn ARP chứa đựng những thông tin chính xác từ IP cho đến MAC của người gửi. Thông thường để giảm bớt lưu lượng ARP trên đường truyền, đa số các máy tính sẽ đọc và sử dụng các thông tin từ bộ đệm (Cache) mà chúng truy vấn được từ Broadcast.
Bởi vậy một Hacker có thể Redirect những máy tính gần mình để vượt qua sự phòng thủ này bằng cách gửi những gói ARP chứa đựng những thông tin về địa chỉ IP của Router đến chính địa chỉ MAC của anh ta. Tất cả những máy tính trong hệ thống mạng cục bộ này sẽ nhầm tưởng anh ta là Router và sẽ thiết lập phiên truyền thông đi qua máy tính của anh ta.
Một cuộc tấn công DOS tương tự trên một hệ thống mạng cục bộ, khi thành công sẽ đá văng mục tiêu mà họ muốn tấn công ra khỏi mạng. rồi bắt đầu sử dụng chính địa chỉ IP của máy tính vừa bị tấn công này. Những kẻ tấn công sẽ khéo léo thừa kể và sử dụng những kết nối này. Bản than Windows khi phát hiện được hành động này, nó không hành động gì cả mà lại tử tế đóng Stack TCP/IP của chính mình và cho phép kết nối này tiếp tục.
Để phòng chống lại các cuộc tấn công dạng bạn chỉ cần sử dụng các công cụ IDS (Intrusion Detecte Service).
Các IDS như BlackICE IDS, Snort sẽ tự động phát hiện và cảnh báo về các cuộc tấn công dạng này.
Hầu hết các Adapter Ethernet đều cho phép cấu hình địa chỉ MAC bằng tay. Hacker có thể tạo ra các địa chỉ Spoof MAC bằng cách hướng vào các địa chỉ trên Adapter. Để khắc phục điều này, hầu hết các Switch đều không cho phép tự ý cấu hình lại các địa chỉ MAC.
2.4 Tôi có thể sử dụng những Adapter không hỗ trợ Sniffing không ?
Câu trả lời là có. Một số Adapter cũ không hỗ trợ chế độ hỗn tạp (Promiscuos Mode).
Về căn bản những bộ Adapter Token Ring của IBM không hỗ trợ chế độ hỗn tạp. Cũng có một số Adapter cũ khác không hỗ trợ chế độ hỗn tạp. Nếu bạn thật sự không muốn Sniffing ở chế độ hỗn tạp xảy ra. Bạn có thể tham khảo thông tin của những nhà sản xuất Sniffer để biết được những Card Ethernet nào mà họ không hỗ trợ chế độ Sniffing ở chế độ hỗn tạp.
2.5 Làm thế nào để tôi có thể phát hiện được Sniffer trên hệ thống mạng của mình ?
Về mặt lý thuyết thì rất khó có thể phát hiện được sự hiện diện của các chương trình Sniffer trên hệ thống. Bởi chúng chỉ chộp và cố gắng đọc các gói tin, chúng không gây ra sự xáo trộn hay mất mát Packet nghiêm trọng nào trên đường truyền cả. Tuy nhiên trên thực tế lại có nhiều cách để phát hiện ra sự hiện diện của các Sniffer.
Khi đứng đơn lẻ trên một máy tính không có sự truyền thông thì sẽ không có dấu hiệu gì. Tuy nhiên nếu được cài đặt trên một máy tính không đơn lẻ và có sự truyền thông, bản thân Sniffer sẽ phát sinh ra lưu lượng thông tin. Bạn có thể truy vấn ngược DNS để tìm thông tin liên quan đến những địa chỉ IP.
Dưới đây liệt kê một số phương pháp để phát hiện Sniffer :
Phương pháp dùng Ping:
Hầu hết các chương trình Sniffer được cài đặt trên các máy tính trong mạng sử dụng TCP/IP Stack. Bởi vậy khi bạn gửi yêu cầu đến những máy tính này, chúng sẽ phản hồi lại cho bạn kết quả. Bạn hãy gửi một yêu cầu phản hồi tới địa chỉ IP của máy tính nào đó trong mạng (máy mà bạn cần kiểm tra xem có bị cài đặt Sniffer hay không), nhưng không thông qua Adapter Ethernet của nó.
Lấy ví dụ cụ thể :
1. Bạn nghi ngờ máy tính có địa chỉ IP là 10.0.0.1, có địa chỉ MAC là 00-40-05-A4-79-32. Đã bị cài đặt Sniffer.
2. Bạn đang ở trong cùng một hệ thống mạng Ethernet mà bạn nghi ngờ có kẻ đã tiến hành Sniffer.
3. Bạn thay đổi địa chỉ MAC của bạn thành là 00-40-05-A4-79-33.
4. Bạn Ping đến địa chỉ IP và địa chỉ MAC mới.
5. Trên nguyên tắc không một máy tính nào có thể nhìn thấy có thể nhìn thấy được Packet này. Bởi Adapter Ethernet chỉ chấp nhận những địa chỉ MAC hợp lệ của chính nó.
6. Nếu bạn thấy sự trả lời từ địa chỉ mà bạn nghi ngờ không phải trên địa chỉ lọc của MAC (MAC Address Filter) trên Ethernet Card…Máy tính có địa chỉ IP 10.0.0.1 đã bị cài đặt Sniffer Bằng các kỹ thuật của mình các Hacker vẫn có thể né tránh được phương pháp nêu trên. Các Hacker sẽ sử dụng những MAC Address ảo. Rất nhiều hệ thống máy tính trong đó có Windows có tích hợp khả năng MAC Filtering.
Windows chỉ kiểm tra những byte đầu tiên. Nếu một địa chỉ MAC có dạng FF-00-00-00-00-00, thì đơn giản Windows sẽ coi nó là FF-FF-FF-FF-FF-FF. Đây là sơ hở cho phép các Hacker có thể khai thác đánh lừa hệ thống máy tính của bạn.
Kỹ thuật phát hiện Sniffer đơn giản này thường được sử dụng trên các hệ thống Ethernet dựa trên Switch và Bridge.
Phương pháp sử dụng 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 những Packet ARP. Bạn có thể tim thấy hướng dẫn chi tiết cụ thể cùng với một chương trình đi kèm hỗ trợ việc phát hiện Sniffer theo phương pháp này ở :
Đơn giản bạn chỉ cần gửi một Packet ARP đến một địa chỉ nào đó trong mạng (không phải Broadcast). Nếu máy tính đó trả lời lại Packet ARP bằng địa chỉ của chính nó. Thì máy tính đó đang cài đặt Sniffer ở chế độ hỗn tạp (Promiscuous Mode).
Mỗi Packet ARP đều chứa đầy đủ thông tin về người gửi và người nhận. Khi Hacker gửi một Packet ARP đến địa chỉ loan truyền tin (Broadcast Address), nó bao gồm thông tin về địa chỉ IP của bạn và địa chỉ MAC được phân giải bởi Ethernet. Ít phút sau mọi máy tính trong hệ thống mạng Ethernet đều nhớ thông tin này. Bởi vậy khi Hacker gửi các Packet ARP không đi qua Broadcast Address. Tiếp đó anh ta sẽ ping đến Broadcast Address. Lúc này bất cứ máy tính nào trả lời lại anh ta mà không bằng ARPing, anh ta có thể chụp được các thông tin về địa chỉ MAC của máy tính này bằng cách sử dụng Sniffer để chụp các khung ARP (ARP Frame).
Phương pháp sử dụng DNS :
Rất nhiều 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 (như dsniff). Bởi vậy khi quan sát lưu lượng truyền thông của DNS bạn có thể phát hiện được Sniffer ở chế độ hỗn tạp (Promiscuous Mode).
Để 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 của bạn. Khi bạn phát hiện được những hành động Ping liên tục với mục đích thăm dò đến những địa chỉ IP không tồn tại trên hệ thống mạng của bạn. Tiếp đó là những hành động cố gắng phân giải ngược những địa chỉ IP được biết từ những Packet ARP. Không gì khác đây là những hành động của một chương trình Sniffer.
Phương pháp Source-Route :
Phương pháp này sử dụng những thông tin như địa chỉ nguồn và địa chỉ đích trong mỗi Header của IP để phát hiện hành động Sniff trên từng đoạn mạng. Tiến hành ping từ một máy tính này đến một máy tính khác. Nhưng tính năng Routing trên máy tính nguồn phải được vô hiệu hoá. Hiểu đơn giản là làm thế nào để gói tin này không thể đi đến đích. Nếu như bạn thấy sự trả lời, thì đơn giản hệ thống mạng của bạn đã bị cài đặt Sniffer.
Để sử dụng phương pháp này bạn cần sử dụng vào một vài tuỳ chọn trong Header IP. Để Router sẽ bỏ qua những địa chỉ IP đến và tiếp tục chuyển tiếp đến những địa chỉ IP trong tuỳ chọn Source-Route của Router.
Lấy một ví dụ cụ thể : Bob và Anna cùng nằm trên một đoạn mạng. Khi có một người khác trên cùng đoạn mạng gửi cho cô ta vài Packet IP và nói chuyển chúng đến cho Bob. Anna không phải là một Router, cho lên cô ta sẽ Drop tất cả Packet IP mà người kia muốn chuyển tới Bob (bởi cô ta không thể làm việc này). Một Packet IP không được gửi đến Bob, mà anh ta vẫn có thể trả lời lại được. Điều này vô lý, anh ta đã sử dụng các chương trình Sniffer.
Phương pháp giăng bẫy (Decoy) :
Tương tự như phương pháp sử dụng ARP nhưng nó được sử dụng trong những phạm vi mạng rộng lớn hơn (gần như là khắp nơi). Rất nhiều giao thức sử dụng các Password không được mã hoá trên đường truyền, các Hacker rất coi trọng những Password này, phương pháp giăng bẫy này sẽ thoả mãn điều đó. Đơn giản bạn chỉ cần giả lập những Client sử dụng Service mà Password không được mã hoá như : POP, FTP, Telnet, IMAP...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 được coi là «quý giá» này các Hacker sẽ tìm cách kiểm tra, sử dụng và khai thác chúng...Bạn sẽ làm gí kế tiếp ???
Để biết thêm thông tin về phương pháp thú vị này bạn có thể tham khảo trang thông tin:
Phương pháp kiểm tra sự chậm trễ của gói tin (Latency) :
Phương pháp này sẽ làm giảm thiểu sự lưu thông trên hệ thống mạng của bạn. Bằng cách gửi một lượng thông tin lớn đến máy tính mà bạn nghi là đã bị cài đặt Sniffer. Sẽ không có hiệu ứng gí đáng kể nếu máy tính đó hoàn toàn không có gì. Bạn ping đến máy tính mà bạn nghi ngờ đã bị cài đặt Sniffer trước thời gian chịu tải và trong thời gian chị tải. Để quan sát sự khác nhau của 2 thời điểm này.
Tuy nhiên phương pháp này tỏ ra không mấy hiệu quả. Bản thân những Packet IP được gửi đi trên đường truyền cũng gây ra sự trậm trễ và thất lạc. Cũng như những Sniffer chạy ở chế độ “User Mode” được xử lý độc lập bởi CPU cũng cho ra những kết quả không chính xác.
Do đây chỉ mà một tài liệu có tính chất căn bản giới thiệu về Sniffer, nên tôi sẽ không đề cập đến cách thức để sử dụng Sniffer trên các hệ thống mạng. Tuy nhiên tôi vẫn nêu qua những hệ thống mạng có thể bị Sniffer:
Cable Modem
DSL
ADSL
Switched Network
Wireless like IEEE 802.11 a.k.a. AirPort (hệ thống mạng không dây)
Những giao thức mà thông tin Password không được mã hoá, khá nguy hiểm khi bị Sniffer: Telnet, Rlogin
SNMP
NNTP
POP, IMAP, SMTP
FTP ….
3.4 Một số Sniffer thông dụng
Windows: Network Associates Sniffer (for Windows)
Analyzer: a public domain protocol analyzer
Windump
Unix: Tcpdump
Ethereal
Ettercap
Dsniff
3.5 Screen Shot của một số Sniffer thông dụng
Windump, một version của sniffer thông dụng tcpdump trên các OS *Nix. Windump đang trong phiên capture đơn giản của mình. Điểm mạnh của Windump ? Cũng như người anh em tcpdump của nó …khi hoạt động tốn rất ít tài nguyên của hệ thống, cũng như hoạt động khá an toàn, ổn định. Nó đã trở thành một chương trình ở môi trường Shell của đa số các Administrator.
Lưu ý : Để sử dụng Windump hay một số Sniffer khác như Ethereal, Ettercap…etc. Ban đầu là những Sniffer trên môi trường *Nix. Sau này được tiếp tục phát triển các phiên bản trên Windows. Bạn cần phải cài thư viện Wincap. Bạn có thể xem thêm thông tin chi tiết về thư viện Wincap ở địa chỉ :
Ettercap, sniffer khá thông dụng trong thế giới *Nix. Ettercap đang trong phiên capture và finger print những host đang trao đổi thông tin với hệ thống mà nó đang hoạt động. Ettercap được nhiều người dùng bởi nó có khá nhiều plugin, hỗ trợ nhiều tính năng và đặc biệt là khi cài đặt không cần đòi hỏi nhiểu thư viện như các Sniffer đồng nghiệp khác trong thế giới *Nix.
Ở các version mới sau này ettercap sử dụng các thư viện gtk cho giao diện đồ hoạ. Muốn sử dụng Ettercap ở chế độ GUI khi cài đặt ban đầu Ettercap yêu cầu hệ thống của bạn phải cài đặt gtk. Với Ettercap bạn có thể theo dõi những lưu lượng thông tin hoạt động trên hệ thống mạng của bạn, chụp các thông tin, hiển thị và can thiệp vào các kết nối.
Các file đính kèm theo tài liệu này:
- Tìm hiểu tấn công Spoofing ARP và Sniffer.doc