Packet sniffing là quá trình theo dõi và bắt lại tất cả các gói dữ liệu đi qua một mạng cụ thể bằng cách sử dụng một ứng dụng phần mềm hoặc thiết bị phần cứng. Việc sniffing dễ dàng thực hiện trên các mạng hub-based, vì lưu lượng trên một đoạn mạng sẽ đi qua tất cả các máy liên quan đến đoạn mạng đó. Tuy nhiên, hầu hết các mạng hiện nay hoạt động trên các thiết bị chuyển mạch (switch). Một switch là một thiết bị mạng máy tính tiên tiến. Sự khác biệt chính giữa một hub và một switch là hub truyền dữ liệu tới từng cổng trên máy và không có line mapping, trong khi switch xem địa chỉ MAC được liên kết với data frame đi qua nó và gửi dữ liệu đến cổng yêu cầu. Địa chỉ MAC là một địa chỉ phần cứng duy nhất xác định từng nút trong mạng.
Sniffing là gì?
Một hacker can thiệp vào switch để xem tất cả lưu lượng đi qua nó. Một chương trình sniffer (còn được gọi là chương trình bắt gói) chỉ có thể ghi lại các gói dữ liệu từ một subnet cụ thể, có nghĩa là nó không thể bắt gói từ mạng khác. Một chương trình sniffer được đặt trên một mạng ở chế độ promiscuous mode (chế độ sniff “tất cả”) có thể bắt lại và phân tích toàn bộ lưu lượng mạng.
Mặc dù hầu hết các hệ thống mạng hiện nay sử dụng công nghệ switch, tuy nhiên việc sử dụng packet sniffing vẫn mang lại nhiều lợi ích. Bởi vì việc cài đặt các chương trình sniffing từ xa trên các thành phần mạng có lưu lượng cao như server và router là khá dễ dàng giúp hacker quan sát và truy cập vào toàn bộ lưu lượng mạng từ một điểm duy nhất.
Packet sniffers có thể bắt các gói dữ liệu chứa thông tin nhạy cảm như mật khẩu, lưu lượng syslog, cấu hình bộ định tuyến, lưu lượng DNS, lưu lượng email, web, FTP,… giúp hacker có thể đọc được mật khẩu ở bản rõ, thậm chí là nội dung email, số thẻ tín dụng, các giao dịch tài chính, … Nó cũng cho phép hacker sniff lưu lượng SMTP, POP, IMAP, IMAP, xác thực HTTP, telnet, SQL, SMB, NFS, ….
Sniffer hoạt động như thế nào?
Phương pháp phổ biến nhất để kết nối các máy tính trong mạng là thông qua kết nối Ethernet. Một máy tính kết nối vào mạng cục bộ (LAN) có hai địa chỉ là địa chỉ MAC và địa chỉ IP. Địa chỉ MAC duy nhất xác định từng nút trong mạng và được lưu trữ trên card mạng (NIC). Giao thức Ethernet sử dụng địa chỉ MAC để truyền dữ liệu trong quá trình xây dựng các data frame.
Tầng liên kết dữ liệu của mô hình OSI sử dụng một Ethernet header với địa chỉ đích là địa chỉ MAC thay vì địa chỉ IP. Tầng mạng có trách nhiệm ánh xạ địa chỉ IP sang địa chỉ MAC theo yêu cầu của giao thức liên kết dữ liệu. Ban đầu, nó tìm kiếm địa chỉ MAC của máy đích trong một bảng, thường được gọi là bộ nhớ đệm Address Resolution Protocol (ARP). Nếu không tìm thấy, một gói tin ARP request được gửi đi đến tất cả các máy trên mạng cục bộ. Máy có địa chỉ MAC tương ứng sẽ phản hồi cho máy nguồn với địa chỉ MAC của nó. Bộ nhớ đệm ARP của máy nguồn thêm địa chỉ MAC này vào bảng.
Có hai loại cơ bản của môi trường Ethernet. Hai loại đó là:
- Shared Ethernet: Trong môi trường này, có một kết nối chung kết nối tất cả các máy tính cạnh tranh với nhau về băng thông. Trong môi trường này, tất cả các máy tính khác đều nhận được gói tin dành cho một máy cụ thể. Vì vậy, khi máy tính 1 muốn giao tiếp với máy tính 2, nó gửi một gói tin ra mạng với địa chỉ MAC đích là MAC của máy tính 2 cùng với MAC nguồn của nó. Các máy tính khác trong mạng Shared Ethernet (máy tính 3 và máy tính 4) so sánh địa chỉ MAC đích của gói tin với địa chỉ của riêng mình và loại bỏ các gói tin không khớp. Tuy nhiên, sniffer chạy trên loại mạng Ethernet này không tuân thủ quy tắc đó và chấp nhận tất cả các gói tin. Sniffing trong môi trường Shared Ethernet là một quá trình bị động, vì vậy khó phát hiện.
- Switched Ethernet: Trong môi trường Ethernet chuyển mạch, các máy tính kết nối với một switch thay vì một hub. Switch duy trì một bảng để theo dõi địa chỉ MAC của mỗi máy tính và cổng vật lý mà địa chỉ MAC đó được kết nối. Khi nhận được gói tin, switch sẽ chuyển gói tin đến máy tính đích dựa trên bảng này. Switch là một thiết bị chỉ gửi gói tin đến máy tính đích mà không phát sóng cho tất cả các máy tính trên mạng. Điều này giúp tận dụng băng thông hiệu quả hơn và cải thiện bảo mật. Do đó, việc đặt card mạng NIC vào chế độ sniffing để thu thập gói tin trở nên không hiệu quả. Nhiều người cho rằng mạng chuyển mạch là an toàn và không thể bị ngụy trang. Tuy nhiên, điều này không hoàn toàn chính xác.
Mặc dù switch an toàn hơn hub, việc sniffing vẫn có thể thực hiện bằng các phương pháp sau đây:
- ARP Spoofing: ARP không có trạng thái. Một máy tính có thể gửi một phản hồi ARP ngay cả khi không được yêu cầu; hơn nữa, nó có thể chấp nhận phản hồi đó. Khi một máy tính muốn sniffing để thu thập lưu lượng gốc từ một hệ thống khác, nó có thể sniff ARP của gateway trong mạng.
- MAC Flooding: Switch duy trì một bảng translate mà ánh xạ các địa chỉ MAC khác nhau vào các cổng vật lý trên switch. Nhờ đó, chúng có thể định tuyến thông minh gói tin từ một máy tính đến máy tính khác. Tuy nhiên, switch có bộ nhớ hạn chế. MAC flooding sử dụng giới hạn này để tấn công switch bằng cách gửi liên tục các địa chỉ MAC giả mạo cho đến khi switch không thể tiếp tục đáp ứng. Khi đó, switch sẽ chuyển sang chế độ “fail-open“, lúc này nó bắt đầu hoạt động như một hub bằng cách phát sóng gói tin đến tất cả các cổng trên switch.
Phân loại sniffing
Có hai loại sniffing. Mỗi loại được sử dụng cho các loại hệ thống mạng khác nhau.
Passive sniffing
Passive sniffing không liên quan đến việc gửi gói tin. Nó chỉ đơn giản là thu thập và giám sát các gói tin di chuyển trong mạng. Passive sniffing không được sử dụng nhiều vì nó chỉ hoạt động trong miền xung đột. Một miền xung đột là phần của mạng không được chuyển mạch hoặc cầu nối (tức là kết nối thông qua một hub). Miền xung đột xuất hiện trong môi trường hub. Một mạng sử dụng hub để kết nối các hệ thống sẽ sử dụng sniffing chủ động. Trong những mạng như vậy, tất cả các máy tính trong mạng đều có thể nhìn thấy toàn bộ lưu lượng. Do đó, dễ dàng thu thập lưu lượng qua hub bằng cách sử dụng passive sniffing động.
Hacker sử dụng các phương pháp passive sniffing sau đây để kiểm soát mạng mục tiêu:
- Tấn công vật lý: Hạcker tấn công an ninh vật lý của tổ chức để có thể xông vào vào hệ thống mạng với một máy tính xách tay và cố gắng kết nối vào mạng và thu thập thông tin.
- Sử dụng Trojan (Trojan horse): Hầu hết các Trojan có khả năng sniffing sẵn có.
Hầu hết các mạng hiện đại sử dụng switch thay vì hub. Switch sẽ loại bỏ rủi ro của passive sniffing tuy nhiên không hoàn toàn.
Active Sniffing
Active Sniffing là quá trình tìm kiếm lưu lượng trên một mạng LAN chuyển mạch bằng cách chủ động chèn lưu lượng vào mạng đó. Active Sniffing cũng ám chỉ việc sniffing thông qua một switch. Trong active sniffing, Ethernet chuyển mạch không truyền thông tin tới tất cả các hệ thống kết nối thông qua LAN như trên mạng hub. Vì lí do này, một passive sniffer không thể sniff dữ liệu trên một mạng chuyển mạch. Việc phát hiện các chương trình sniffer này dễ dàng, và việc thực hiện loại sniffing này rất khó khăn.
Switch kiểm tra các gói tin dữ liệu để xác định địa chỉ nguồn và đích, sau đó chuyển chúng tới đích tương ứng. Hacker có thể chủ động chèn lưu lượng ARP vào một LAN để sniff trên một mạng chuyển mạch và bắt ghi lại lưu lượng. Switch duy trì bộ nhớ cache ARP riêng trong Content Addressable Memory (CAM). CAM là một loại bộ nhớ đặc biệt giữ một bản ghi về host nào được kết nối với cổng nào. Sniffer sẽ ghi lại toàn bộ thông tin hiển thị trên mạng để xem lại sau này. Hacker có thể xem tất cả thông tin trong các gói tin, bao gồm cả dữ liệu bí mật.
Tóm lại các loại sniffing: passive sniffing (sniffing bị động) không gửi bất kỳ gói tin nào, chỉ giám sát các gói tin được gửi bởi người khác. Active sniffing (sniffing chủ động) liên quan đến việc gửi ra nhiều yêu cầu mạng để xác định điểm truy cập.
Dưới đây là danh sách các kỹ thuật active sniffing khác nhau:
- MAC flooding
- DNS poisoning
- ARP poisoning
- DHCP attacks
- Switch port stealing
- Spoofing attack
Các bước sử dụng sniffer
Hacker sử dụng các công cụ sniffing để sniff gói tin và giám sát lưu lượng mạng trên mạng mục tiêu. Các bước mà hacker thực hiện để sử dụng sniffers nhằm xâm nhập vào mạng được mô tả như sau:
Bước 1: Hacker phải tìm ra switch phù hợp để truy cập vào mạng và kết nối laptop vào một trong các cổng trên switch.
Bước 2: Cố gắng xác định thông tin về mạng như cấu trúc mạng bằng cách sử dụng các công cụ network discovery (các bạn có thể xem thêm ở bài viết [CEH Tiếng Việt] Module 3 – Phần 2 – Host discovery là gì?).
Bước 3: Bằng cách phân tích cấu trúc mạng, hacker xác định mục tiêu cụ thể để tập trung tấn công.
Bước 4: Hacker sử dụng các kỹ thuật ARP spoofing để gửi các thông điệp giả mạo (spoofed) của Address Resolution Protocol (ARP).
Bước 5: Hacker chuyển hướng toàn bộ lưu lượng từ máy tính của nạn nhân đến máy tính của chúng. Đây là một loại tấn công Man-in-the-Middle (MITM) điển hình.
Bước 6: Bây giờ, hacker có thể xem tất cả các gói tin được gửi và nhận bởi nạn nhân đồng thời có thể trích xuất thông tin nhạy cảm từ những gói tin này.
Một số giao thức dễ bị tấn công sniffing
Các giao thức sau đây dễ bị tấn công sniffing để thu thập mật khẩu.
Telnet và Rlogin: Telnet là một giao thức được sử dụng để giao tiếp với một server từ xa (qua port 23) trên mạng bằng cách sử dụng terminal, Rlogin cho phép hacker đăng nhập vào máy tính từ xa thông qua kết nối TCP. Cả hai giao thức này đều không cung cấp mã hóa; do đó, dữ liệu truyền đi giữa các máy là dạng văn bản thuần và dễ bị tấn công sniffing. Hacker có thể sniff các phím nhấn và từ đó có thể lấy được username và password.
HTTP: Do các lỗ hổng trong phiên bản mặc định của HTTP, các trang web sử dụng HTTP chuyển dữ liệu người dùng qua mạng dưới dạng văn bản thuần. Do đó, hacker có thể thu thập được nhiều thông tin quan trọng.
SNMP: Simple Network Management Protocol (SNMP) là một giao thức TCP/IP được sử dụng để trao đổi thông tin quản lý giữa các thiết bị kết nối trên một mạng. Phiên bản đầu tiên của SNMP (SNMPv1 và SNMPv2) không cung cấp bảo mật, dẫn đến việc truyền dữ liệu dưới dạng văn bản thuần. Hacker khai thác các lỗ hổng trong phiên bản này để thu thập mật khẩu dưới dạng bản rõ.
SMTP: Simple Mail Transfer Protocol (SMTP) được sử dụng để truyền email qua Internet. Trong hầu hết các triển khai, các thông điệp SMTP được truyền dưới dạng bản rõ. Hơn nữa, SMTP không cung cấp bất kỳ bảo vệ nào chống lại tấn công sniffing.
NNTP: Network News Transfer Protocol (NNTP) phân phối, tìm hiểu, truy xuất bằng cách sử dụng một phương thức truyền dữ liệu dựa trên luồng tin tin cậy giữa cộng đồng ARPA-Internet. Tuy nhiên, giao thức này không mã hóa dữ liệu, gây rủi ro giống các giao thức trên.
FTP: File Transfer Protocol (FTP) cho phép các máy khách chia sẻ file qua mạng. Giao thức này không cung cấp mã hóa; do đó, hacker có thể sniff dữ liệu bao gồm thông tin đăng nhập bằng cách chạy các công cụ như Cain & Abel.
Sniffing trong tầng Liên kết dữ liệu của mô hình OSI
Mô hình OSI mô tả các chức năng mạng dưới dạng một chuỗi 7 lớp. Mỗi lớp cung cấp dịch vụ cho lớp phía trên và nhận dịch vụ từ lớp phía dưới.
Lớp liên kết dữ liệu là lớp thứ hai trong mô hình OSI. Trong lớp này, các gói dữ liệu được mã hóa và giải mã thành các bit. Sniffer hoạt động ở lớp liên kết dữ liệu và có thể bắt gói từ lớp này. Các lớp mạng trong mô hình OSI được thiết kế để làm việc độc lập với nhau; do đó, nếu một sniffer sniff dữ liệu ở lớp liên kết dữ liệu, các lớp OSI phía trên sẽ không nhận biết được việc sniffing này.
Phân tích giao thức bằng thiết bị phần cứng
Bộ phân tích giao thức là một thiết bị phân tích lưu lượng đi qua mạng. Nó bắt các tín hiệu mà không làm thay đổi phân đoạn lưu lượng. Mục đích của nó là giám sát việc sử dụng mạng và xác định có lưu lượng mạng độc hại hay không. Nó bắt một gói dữ liệu, giải mã nó và phân tích nội dung dựa trên các quy tắc được định trước. Nó cho phép hacker nhìn thấy các byte dữ liệu riêng lẻ của mỗi gói đi qua mạng.
So với phân tích giao thức bằng phần mềm, phân tích giao thức bằng thiết bị phần cứng có khả năng bắt được nhiều dữ liệu hơn mà không mất gói dữ liệu khi quá tải. Phân tích giao thức bằng thiết bị phần cứng cung cấp một loạt các tùy chọn kết nối mạng khác nhau từ mạng LAN, WAN và không dây đến các đường truyền mạng dựa trên mạch điện thoại. Chúng có khả năng hiển thị trạng thái bus và các sự kiện cấp thấp như high-speed negotiation (K/J chirps), lỗi truyền và việc truyền lại gói. Các bộ phân tích bằng phần cứng cung cấp timestamp chính xác của lưu lượng bắt được. Tuy nhiên, bộ phân tích giao thức bằng phần cứng có chi phí đắt hơn và thường khó tiếp cận hơn với các mạng quy mô nhỏ, lẻ.
Bộ phân tích giao thức phần cứng từ các nhà sản xuất khác nhau bao gồm:
Xgig 1000 32/128 G FC & 25/50/100 GE Analyzer
VIAVI Xgig 1000 32/128 G Fiber Channel (FC) và 25/50/100 G Ethernet (GE) là một sản phẩm phần cứng phân tích các chuẩn 8G/16G/32G/128G FC và 10/25/50/100 GE cung cấp nền tảng để thực hiện việc bắt và phân tích gói tin mà không xâm phạm trực tiếp và jamming trực tiếp (chèn lỗi) vào hệ thống mạng. Nó sử dụng adapter true analog pass-through mà vẫn giữ nguyên tính tuyến tính của kết nối tín hiệu signal-over-copper (tín hiệu qua cáp đồng). Nền tảng này cung cấp khả năng nhìn thấy không tương đối đối với lớp vật lý của mô hình OSI với các tính năng như auto negotiation, link training và forward error correction (FEC).
TPI4000 Series
Pộ phân tích giao thức TPI4000 bắt và hiển thị link data, ngay cả ở tốc độ đường truyền full line rate. Nó cung cấp các chế độ xem frame delimiter, frame header, và payload data. Công cụ Protocol Database Editor cho phép người sử dụng xác định việc giải mã thêm các giao thức để nâng cao các chức năng hiện có. Khả năng kích hoạt chi tiết từng bit và khả năng lọc trước và lọc sau đảm bảo rằng dữ liệu liên quan có thể được trích xuất từ các luồng dữ liệu multi-gigabit.
Một số thiết bị khác:
- PTW60 (https://www.globalspec.com)
- P5551A PCIe 5.0 Protocol Exerciser (https://www.keysight.com)
- Voyager M4x Protocol Analyzer (https://teledynelecroy.com)
- N2X N5540A Agilent Protocol Analyzer (https://www.valuetronics.com)
- Xgig 1000 (https://www.viavisolutions.com)
Span port
Switched Port Analyzer (SPAN) là một tính năng của switch Cisco, còn được gọi là “port mirroring” dùng để giám sát lưu lượng mạng trên một hoặc nhiều cổng trên switch. Một cổng SPAN là một cổng được cấu hình để nhận bản sao của mỗi gói tin đi qua switch. Tính năng này giúp phân tích và gỡ lỗi dữ liệu, xác định lỗi và điều tra truy cập mạng. Khi chế độ port mirroring được kích hoạt, switch gửi bản sao các gói tin mạng từ cổng nguồn đến cổng đích, cổng này được sử dụng để nghiên cứu các gói tin bằng công cụ phân tích mạng.
Trên switch, có thể có nhiều nguồn nhưng chỉ có một cổng đích. Các cổng nguồn là các cổng mà gói tin mạng được giám sát và sao chép. Người dùng có thể cùng lúc giám sát lưu lượng của nhiều cổng, chẳng hạn như lưu lượng trên tất cả các cổng của một VLAN.
Wiretapping
Wiretapping, hay telephone tapping là giám sát cuộc trò chuyện điện thoại hoặc internet bởi một bên thứ ba. Để nghe trộm, hacker trước tiên chọn một người hoặc server mục tiêu trên mạng để nghe trộm, sau đó kết nối một thiết bị nghe lén (phần cứng, phần mềm hoặc kết hợp cả hai) vào mạch truyền thông thông tin giữa hai điện thoại.
Thông thường, hacker sử dụng một lượng nhỏ tín hiệu điện được tạo ra bởi dây điện thoại để nghe trộm cuộc trò chuyện, giúp hacker có thể giám sát, chặn, truy cập và ghi lại thông tin chứa trong luồng dữ liệu đó. Một số phương pháp nghe trộm:
- The official tapping of telephone lines
- The unofficial tapping of telephone lines
- Recording the conversation
- Direct line wiretap
- Radio wiretap
Lawful interception (LI)
Giám sát hợp pháp (LI) đề cập đến việc ngăn chặn pháp lý việc truyền thông dữ liệu giữa hai điểm cuối để giám sát trên các mạng viễn thông truyền thống, VoIP, dữ liệu và mạng đa dịch vụ. LI thu thập dữ liệu từ mạng truyền thông để phân tích hoặc thu thập chứng cứ. Điều này hữu ích trong các hoạt động như quản lý và bảo vệ cơ sở hạ tầng cũng như các vấn đề liên quan đến an ninh mạng.
Loại ngăn chặn này chỉ cần thiết để giám sát các tin nhắn trao đổi trên các kênh đáng ngờ mà người dùng tham gia vào hoạt động bất hợp pháp. Các quốc gia trên thế giới đang nỗ lực tiêu chuẩn hóa loại thủ tục này.
Hình trên cho thấy giải pháp hợp pháp của ISP được cung cấp bởi Tập đoàn Decision Computer. Giải pháp bao gồm một access switch và nhiều hệ thống để tái tạo dữ liệu bị ngăn chặn. Access switch thu thập lưu lượng từ mạng của ISP, sắp xếp lưu lượng theo IP và cung cấp cho các hệ thống E-Detective (ED) giải mã và tái tạo lưu lượng bị chặn về định dạng ban đầu của nó. Công cụ này dưới sự hỗ trợ của các giao thức như POP3, IMAP, SMTP, P2P và FTP, telnet. Centralized Management Server (CMS) quản lý tất cả các hệ thống ED.
Comments 1