I. Giới thiệu chung về nghe lén - Sniffing
Nghe lén là một phương pháp lắng nghe thông tin truyền đi trên hệ thống mạng và cho phép các cá nhân nắm bắt thông tin đó. Nghe lén thường được sử dụng bởi các chuyên gia để chuẩn đoán các sự cố mạng hoặc kẻ xấu có ý định thu thập các thông tin như username và password. Thông tin này được ghi lại trong quá trình người dùng truy cập vào hệ thống máy chủ hoặc mạng.
1. Cách thức hoạt động của nghe lén
Công nghệ ethernet được xây dựng trên nguyên lý chia sẻ. Theo khái niệm này, tất cả các máy tính trên hệ thống mạng cục bộ đều có thể chia sẻ đường truyền của hệ thống mạng đó.
Trong môi trường hub: Một khung gói tin khi chuyển từ máy A sang máy B thì đồng thời nó gửi đến tất cả các máy khác đang kết nối cùng hub theo cơ chế quảng bá (broadcast). Các máy khác nhận được gói tin này sẽ tiến hành so sánh yêu cầu về địa chỉ MAC của frame gói tin với địa chỉ đích. Nếu trùng lặp thì sẽ nhận, còn không thì cho qua. Do gói tin từ A được gửi đến B nên khi so sánh thì chỉ có B mới giống địa chỉ đích đến, do đó chỉ có B mới thực hiện tiếp nhận.
Dựa vào nguyên tắc đó, máy được cài đặt chương trình nghe trộm sẽ "tự nhận" bất cứ gói tin nào được lưu chuyển trong mạng qua hub, kể cả khi đích đến gói tin có đích đến không phải là nó, do Kẻ nghe lén đã chuyển card mạng của máy tính sang chế độ lắng nghe (promiscuous mode). Promiscuous mode là một chế độ đặc biệt. Khi card mạng được đặt dưới chế độ này, nó có thể nhận tất cả các gói tin mà không bị ràng buộc kiểm tra địa chỉ đích đến.
Trong môi trường switch: Khác với hub, switch chỉ chuyển tải các gói tin đến những địa chỉ cổng xác định trong bảng chuyển mạch nên nghe trộm kiểu "tự nhận" như ở hub không thực hiện được. Tuy nhiên, kẻ tấn công có thể dùng các cơ chế khác để tấn công nghe lén trong môi trường switch như ARP spoofing, MAC spoofing, MAC duplicating, DNS spoofing, v.v...
2. Các kiểu nghe lén
Chủ yếu hoạt động trong môi trường có các thiết bị chuyển mạch switch. Kẻ tấn công thực hiện nghe lén dựa trên cơ chế ARP (cơ chế chuyển đổi từ IP sang MAC và từ MAC sang IP) 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 dù không phải là "người nhận".
Ngoài ra, kẻ nghe lén còn có thể dùng phương pháp giả địa chỉ MAC, thay đổi MAC của bản thân 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ị, qua đó ép dòng dữ liệu đi qua card mạng của mình. Tuy nhiên, do gói tin phải gửi đi nên sẽ chiếm băng thông, nếu thực hiện nghe lén quá nhiều máy trong mạng thì lượng gói tin 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.
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. Do không có các thiết bị chuyển mạch gói nên các gói tin được broadcast đi trong mạng. Chính vì vậy, việc thực hiện nghe lén là khá đơn giản.
Kẻ tấn công không cần gửi ra gói tin giả mạo nào, chỉ cần bắt các gói tin từ cổng hub về (dù host nhận gói tin không phải là nơi đến của gói tin đó). Hình thức sniffing này rất khó phát hiện do các máy tự broadcast các gói tin. Ngày nay hình thức này thường ít được sử dụng do hub không còn được ưa chuộng nhiều, thay vào đó là switch.
3. Các giao thức có khả năng bị nghe lén
- Telnet và Rlogin: Các thông tin gửi đi dưới dạng clear text.
- HTTP (HyperText Transfer Protocol): Các thông tin gửi đi dưới dạng clear text.
- SMTP, NNTP, POP, FTP, IMAP: Các thông tin gửi đi dưới dạng clear text.
II. Các phương pháp nghe lén phổ biến
1. Tấn công địa chỉ MAC
Bảng CAM
Mỗi switch có một bảng bộ nhớ địa chỉ động, kích thước cố định (bảng CAM). Bảng CAM lưu trữ thông tin như địa chỉ MAC có sẵn trên các cổng vật lý với các tham số mạng LAN ảo (VLAN) được liên kết của chúng.
Cách thức bảng CAM hoạt động
Khi bảng CAM bị đầy (full)
Dựa vào thuộc tính của bảng CAM, cuộc tấn công MAC Flooding có thể tạo ra hàng chục ngàn MAC entry gửi đến cổng switch mỗi phút làm đầy bảng CAM của switch. Khi đó switch sẽ hoạt động giống như hub, quảng bá gói tin tới toàn bộ các máy tính trong mạng, và vì vậy kẻ tấn công sẽ nghe lén dễ dàng.
Công cụ tấn công MAC Flooding: sử dụng tool macof trong linux
2. Tấn công đầu độc ARP
ARP
ARP (viết tắt của cụm từ Address Resolution Protocol) là giao thức mạng được dùng để tìm ra địa chỉ phần cứng (địa chỉ MAC) của thiết bị từ một địa chỉ IP nguồn. Nó được sử dụng khi một thiết bị giao tiếp với các thiết bị khác dựa trên nền tảng mạng nội bộ. Ví dụ như trên mạng Ethernet mà hệ thống yêu cầu địa chỉ vật lý trước khi thực hiện gửi packets.
Thiết bị gửi sử dụng ARP để có thể dịch địa chỉ IP sang địa chỉ MAC. Thiết bị sẽ gửi một yêu cầu ARP đã chứa địa chỉ IP của thiết bị nhận. Tất cả thiết bị trên mạng nội bộ sẽ nhìn thấy thông điệp này. Tuy nhiên, chỉ thiết bị có địa chỉ IP chứa trong request mới có thể phản hồi lại với thông điệp mà chứa địa chỉ MAC của nó. Thiết bị gửi khi đó sẽ có đầy đủ các thông tin để gửi packet tới thiết bị nhận.
Tấn công ARP Spoofing
Giả sử ta có mạng LAN như mô hình trên người dùng A, người dùng B – IP:10.1.1.1 – MAC:C1-D1-E1-F1
Thông thường, khi A muốn gửi dữ liệu cho B thì A sẽ phải biết địa chỉ MAC của B. Để biết được địa chỉ MAC của B, A sẽ gửi quảng bá gói tin ARP request tới tất cả các máy tính trong mạng LAN để hỏi xem địa chỉ IP 10.1.1.1 có MAC là gì. Các máy sẽ nhận được ARP request từ A nhưng chỉ có B trả lời lại bằng gói tin ARP reply cho A. Để thực hiện tấn công ARP poisoning, kẻ tấn công sẽ gửi liên tục các gói tin ARP reply cho A chứa nội dung là địa chỉ IP của B, với MAC của kẻ tấn công, để làm cho A tưởng rằng dữ liệu cần phải gửi tới có địa chỉ đích là MAC của kẻ tấn công. Như vậy mọi dữ liệu khi A gửi cho B đã bị kẻ tấn công nghe lén. Kẻ tấn công có thể kiểm soát toàn bộ quá trình liên lạc giữa A và B bằng cách gửi các gói tin ARP reply mà trong đó có địa chỉ MAC là của kẻ tấn công. Như vậy mọi dữ liệu trên đường truyền đều qua kẻ tấn công và việc gửi liên tục gói tin arp giả mạo gọi là đầu độc.
Công cụ sử dụng tấn công ARP Poisoning: Cain & Abel
-
3.Tấn công giả mạo MAC
Hiện nay, các tổ chức thường sử dụng một số chính sách an ninh mạng dựa trên địa chỉ MAC của người dùng như:
- Gán chính sách truy cập cổng switch với MAC người dùng
- Gán chính sách truy cập WIFI với MAC người dùng
Bằng cách giả mạo địa chỉ MAC của người dùng hợp pháp, kẻ tấn công có thể qua mặt được cơ chế chính sách an ninh mạng và đạt được truy cập vào hệ thống mạng.
Công cụ giả mạo địa chỉ MAC : Technitium MAC Addess Changer
... Phần 2