Một kẻ nghe lén (sniffer) có thể là công cụ bắt gói tin (packet) hay bắt khung tin (frame). Nó (sniffer) chặn các gói tin trao đổi trong mạng và hiện thị nó ở định dạng Comment-line hay GUI (Graphical user interface) cho hacker có thể theo dõi. Một vài sniffer tinh vi thì hiểu các gói tin và có thể ghép các luồng gói tin thành dữ liệu ban đầu như là e-mail hay tài liệu nào đó.
1. Sniffers là gì?
Theo từ điển thì “sniff” là : ngửi , đánh hơi, nghe lén.
Còn Sniffer nói chung các phương thức bắt, phân tích gói tin trên mạng một cách bí mật.
Sniffer sử dụng để bắt (capture) lưu lượng mạng (traffic) trao đổi giữa hai hệ thống. Phụ thuộc vào cách nghe lén và mức độ bảo mật trong hệ thống như thế nào, một hacker có thể sử dụng một sniffer để tìm ra tên đăng nhập, mật mã và các thông tin bí mật khác trao đổi trong mạng. Một vài cuộc tấn công và loại công cụ hacking thì đòi hỏi phải sử dụng sniffer để lấy được các thông tin quan trọng được gửi từ hệ thống mà hacker nhắm tới.
2. Các phương thức dễ dàng bị sniffer
Các phần mềm nghe lén làm việc bằng cách bắt các gói tin mà đích không phải là địa chỉ MAC của hệ thống đó (hệ thống của sniffer) mà là cho một địa chỉ MAC của mục tiêu. Nó được biết như là chế độ hỗn tạp (promicuous). Bình thường, một hệ thống trong mạng chỉ đọc và đáp ứng cho những lưu lượng mạng được gửi trực tiếp cho địa chỉ MAC của nó. Nhưng ở chế độ hỗn tạp, hệ thống đọc tất cả các lưu lượng mạng và gửi nó đến sniffer để xử lý. Chế độ hỗn tạp được bật ở card mạng bằng sự cài đặt của phần mềm điều khiển đặc biệt. Một vài công cụ hacking để sniffing bao gồm bộ phận điều khiển chế độ hỗn tạp để thuận tiện cho công việc của nó.
Một vài phương thức không mã hóa dữ liệu thì rất dễ dàng bị sniffing. Các phương thức như HTTP, POP3, SNMP (Simple Network Manager Protocol), và FTP là những phương thức phổ biến rất dễ bị bắt các gói tin bằng cách sử dụng sniffer và theo dõi bởi một hacker để lấy các giá trị thông tin như tên sử dụng hay mật mã.
Hacking Tool
Ethereal: là một phần mềm nghe lén miễn phí có thể bắt các gói tin từ các kết nối LAN có dây và không dây. Phiên bản cuối cùng được đổi tên thành s. Ethereal là một chương trình phổ biến và được ưa thích bởi vì nó miễn phí nhưng có vài mặt hạn chế. Một vài user không có nhiều kinh nghiệm có thể cảm thấy khó khăn để viết các bộ lọc trong Ethereal để bắt chỉ một vài loại gói tin truyền qua mạng.
Snort: là một hệ thống phát hiện xâm nhập (Intrusion Detection System) cũng có khả năng sniffing. Nó có thể sử dụng để phát hiện hàng loạt các cuộc tấn công và cố gắng dò tìm, như là tràn bộ đệm , quét cổng ẩn, tấn công GI, thăm dò SMB (Server Message Block).
Windump: là phiên bản Windows của tcpdump, dòng lệnh (tcpdump) để phân tích mạng của Unix. Windump thì hoàn toàn giống như tcpdump và có thể sử dụng để theo dõi, chuẩn đoán, và lưu lưu lượng mạng vào ổ đĩa theo những quy tắc khác nhau.
Etherpeek: là một công cụ sniffer tuyệt vời cho mạng có dây với bộ lọc mở rộng và khả năng theo dõi các cuộc hội thoại TCP/IP. Phiên bản mới nhất của Etherpeek được đổi tên thành OmniPeek.
Winsniffer: là một công cụ sniffer password rất hiệu quả. Nó theo dõi lưu lượng mạng vào và ra của hệ thống và giải mã FTP, POP3, HTTP, ICQ, SMTP (Simple Mail Tranfer Protocol), telnet, IMAP (Internet Message Access Protocol), và NNTP (Network News Tranfer Protocol), tên người dùng và mật khẩu.
Iris: là một phương thức phân tích lưu lượng mạng và dữ liệu tốt, nó thu thập, lưu trữ tổ chức và báo cáo tất cả các dữ liệu lưu thông trong mạng. Không giống như công cụ sniffer khác, Iris thì có thể tạo lại các lưu lượng mạng, như là đồ họa, tài liệu, và e-mail bao gồm các file đính kèm.
3. Kỹ thuật Sniffing
Có hai loại sniffer khác nhau: chủ động và bị động.
Passive Sniffing liên quan đến các công việc lắng nghe và bắt các lưu lượng mạng và nó thì rất hữu dụng trong kết nối mạng sử dụng Hubs.
Active Sniffing liên quan đến việc thực hiện đánh lừa giao thức phân giải địa chỉ (ARP), hay tấn công làm tràn lưu lượng trong switch nhằm bắt các lưu lượng trong mạng. Giống như cái tên của nó, Active sniffing thì có thể bị phát hiện nhưng passive sniffing thì không .
Trong mạng sử dụng Hubs hay thiết bị mạng không dây để làm hệ thống kết nối. Tất cả các máy chủ trong mạng thì có thể nhìn thấy tất cả các lưu lượng; vì vậy một active sniffer có thể bắt các lưu lượng gửi đến và gửi đi từ tất cả các máy chủ đã kết nối thông qua hub.
Mạng sử dụng Switch thì có sự hoạt động khác biệt. Switch thì theo dõi dữ liệu được gửi đến nó và cố gắng để gửi tiếp các gói tin đó đến cho các điểm đích đã được xác định bằng địa chỉ MAC. Switch thì không đổi bảng địa chỉ MAC của tất cả các hệ thống và số cổng mà chúng dùng để kết nối. Nó thì cho phép switch có thể chia nhỏ mạng thành các đoạn và chỉ gửi dữ liệu cho đích đến có địa chỉ MAC chính xác. Một mạng sử dụng switch thì có thể làm tăng lượng lưu thông trên mạng tốt hơn và bảo mật hơn so với một mạng chia sẻ dùng hubs.
ARP poisoning
ARP cho phép kết nối mạng có thể dò tìm địa chỉ IP ra thành địa chỉ MAC. Khi một máy chủ sử dụng TCP/IP trong mạng LAN cố gắng để liên lạc với những máy khác, nó thì cần địa chỉ MAC hoặc địa chỉ phần cứng của máy chủ mà nó cố gắng để kết nối. Đầu tiên nó tìm trong bộ nhớ ARP của nó để tìm địa chỉ MAC nếu địa chỉ MAC đã tồn tại; Nếu địa chỉ MAC không tồn tại, nó (máy chủ cần kết nối ) lan truyền một yêu cầu ARP hỏi : “Ai có địa chỉ IP tôi đang cần?”. Nếu máy chủ có địa chỉ IP đó lắng nghe được câu hỏi ARP, nó sẽ đáp ứng với địa chỉ MAC của nó và một phiên kết nối sử dụng TCP/IP có thể bắt đầu.
ARP poisoning là một công nghệ, nó dùng để tấn công một mạng Ethernet, nó cho phép một hacker có thể nghe lén dữ liệu trong mạng LAN sử dụng Switch hoặc có thể dừng toàn bộ lưu thông trên mạng. ARP poisoning sử dụng ARP spoofing( giả mạo) với mục đích là gửi giả hoặc giả mạo, tin nhắn ARP cho mạng LAN Ethernet. Các gói tin chứa địa chị MAC không đúng tạo sự nhầm lẫn của các thiết bị mạng như là các thiết bị chuyển mạch mạng (switch). Kết quả là gói tin đưuọc gửi tới cho một máy có thể bị nhầm lẫn sang một máy khác (cho phép nghe lén các gói tin) hoặc không gửi đến được máy chủ (tấn công DoS). ARP spoofing có thể sử dụng trong tấn công Man – in – the – middle, trong đó tất cả các gói tin lưu thông qua mạng được đi qua một máy chủ bởi cách thực hiện của ARP spoofing và bị phân tích để tìm ra mật khẩu và thông tin khác.
Để tránh khỏi các cuộc tấn công ARP spoofing, phải thường xuyên thêm địa chỉ MAC của gateway vào bộ nhớ ARP trong hệ thống. Bạn có thể thực hiện công việc đó trên hệ thống Windows bằng cách sử dụng lệnh : ARP –s tại cửa sổ dòng lệnh (comman line) và nối thêm vào địa chỉ IP và địa chỉ MAC của gateway. Làm như vậy sẽ tránh được hacker ghi đè bộ nhớ ARP để thực hiện ARP spoofing trên hệ thống nhưng nó lại trở nên khó khăn khi quản lý trong một môi trường lớn vì số lượng của hệ thống. Trong môi trường doanh nghiệp, việc bảo mật dựa trên port có thể được kích hoạt trên switch để chỉ cho phép 1 địa chỉ MAC trên 1 port.
Hacking Tool
Có ba công cụ phổ biến dùng để thực hiện ARP Spoofing có thể kể đến như:
- Arpspoof: Công cụ dành cho hệ điều hành Linux
- Ettercap: cả Windows và Linux
- ArpSpyX: Hệ điều hành MAC OS
Ethereal là phần mềm sniffer miễn phí có thể bắt các gói tin trong kết nối LAN có dây hay không có dây. Một vài ví dụ về bộ lọc Ethereal:
Ip.dst eq www.eccouncil.org – bắt các gói tin đến webserver www.eccouncil.org
Ip.src == 192.168.1.1 – bắt các gói tin đến từ máy chủ 192.168.1.1
Eth.dst eq ff:ff:ff:ff:ff:ff – bắt các gói tin broadcast ở layer 2
MAC flooding
Sniffer một gói tin trong mạng sử dụng switch không thể bắt tất cả lưu lượng mạng như là nó có thể làm trong mạng sử dụng Hub; thay vào đó, nó bắt các gói tin đi vào hoặc đi ra khỏi hệ thống. Nó thì cần thiết phải sử dụng một công cụ (thêm additional) để bắt tất cả các lưu lượng mạng trong mạng sử dụng switch. Về cơ bản thì có 2 cách để thực hiện công việc active sniffer và bắt switch gửi lưu lượng mạng chạy qua switch về cho hệ thống đang dùng để sniffer ARP spoofing và flooding.
Như đã nói ở trên : ARP spoofing tác động đến địa chỉ MAC trên cổng vào của mạng (gateway) và do đó nhận được tất cả lưu lượng mạng đưa đến cho gateway trên hệ thống sniffer.
Một hacker cũng có thể làm tràn một Switch với rất nhiều lưu lượng mạng làm cho nó ngừng hoạt động như Switch mà thay vào đó nó hoạt động như một Hub, gửi tất cả lưu lượng mạng cho tất cả các port. Cuộc tấn công Actice sniffing cho phép một hệ thống với một sniffer để bắt tất cả lưu lượng mạng.
Kỹ thuật DNS Spoofing
DNS spoofing (DNS poisioning) là 1 kỹ thuật đánh lừa DNS server tin rằng nó thì đã nhận được các thông tin chứng thực trong khi nó thì chưa hề nhận được sự chứng thực đó. Một khi DNS server bị đầu độc, các thông tin thường bị lưu trữ trong 1 khoảng thời gian, sau đó sẽ lan rộng ảnh hưởng của cuộc tấn công tới các người dùng của server. Khi người dùng yêu cầu 1 địa chỉ website cụ thể nào đó, địa chỉ sẽ dò trên DNS server để tìm địa chỉ IP tương ứng. Nếu DNS server đã bị xâm nhập, người dùng sẽ được chuyển đến 1 trang web khác trang web đã yêu cầu, ví dụ là 1 trang web giả.
Để thực hiện một cuộc tấn công DNS, kẻ tấn công sẽ khai thác một lỗ hổng trong phần mềm máy chủ DNS làm cho nó chấp nhận các thông tin không chính xác. Nếu máy chủ không phản ứng chính xác các yêu cầu DNS để đảm bảo rằng họ đến từ những nguồn đáng tin cậy, máy chủ sẽ kết thúc bộ nhớ đệm không đúng và phục vụ cho những người dùng có yêu cầu tiếp theo.
Kỹ thuật này có thể sử dụng để thay thế nội dung tùy ý cho một tập hợp các nạn nhân với nội dung tùy thuộc vào lựa chọn của kẻ tấn công. Ví dụ, một kẻ tấn công đầu độc DNS của các địa chỉ IP cho một trang web mục tiêu trên một DNS server nhất định, thay thế chúng (IP) bằng các địa chỉ IP của máy chủ do hacker điều khiển. Kẻ tấn công sau đó sẽ tao ra các tập tin giả trên máy chủ này với với tên (file) thì trùng với tên file trên máy chủ bị tấn công. Những tập tin này có thể chứa các nội dung độc hại, như là worm hay virut. Một người sử dụng máy tính truy cập vào máy chủ DNS đã bị đầu độc thì đã bi lừa với suy nghĩ là cái nội dung đó được cung cấp bởi máy chủ bị tấn công và vô tình downloads các tập tin có nội dung độc hại.
Các kiểu kỹ thuật tấn công DNS spoofing :
Intranet spoofing –hoạt động như 1 thiết bị cùng thuộc mạng nội bộ.
Internet spoofing – hoạt động như 1 thiết bị trên Internet.
Đầu độc server DNS proxy – sửa đổi các mục DNS trong proxy server để chuyển người dùng sang một hệ thống máy chủ khác.
Đầu độc bộ nhớ DNS – sửa đổi các mục DNS ở một vài hệ thống để chuyển người dùng sang một hệ thống khác.
Hacking Tools
EtherFlood được sử dụng để làm tràn một Ethernet switch với lưu lượng mạng để làm cho nó trở thành Hub. Bằng cách này, một kẻ tấn công có thể bắt tất cả các lưu lượng trong mạng mà theo quay luật thì nó là chỉ bắt các lưu lượng đến và đi từ hệ thống của họ, như là một trường hợp của swith.
Dsniff là một tập hợp các công cụ thiết kế Unix-executable để thực hiện kiểm soát hệ thống mạng như là sự xâm nhập mạng. Các công cụ dưới đây thì được chứa trong Dsniff : filesnarf, mailsnarf, msgsnarf, urlsnarf, và webspy. Những công cụ này thì gám sát thụ động một mạng chia sẻ dễ bị xâm nhập (như là một mạng LAN nơi mà sniffer ở sau bất kỳ một tường lửa nào năm bên ngoài) để lấy đi các dữ liệu cần thiết (password, email, files, và ...).
Sshmitm và wevmitm kế thừa man-in-the-midle chủ động để tấn công chống lại việc chuyển hướng các SSH (secure shell) và phiên HTTPS.
Arpspoof, dnsspoof , and macof làm việc nhằm chặn các lưu lượng mạng đi qua 1 switch mà thường thì không có 1 chương trình sniffer nào bởi vì tính chất của switch. Để biết được các vấn đề xung quanh việc chuyển mạch gói ở layer 2, dsniff giả mạo các thiết bị rằng nó là 1 gateway mà dữ liệu phải chạy qua nó để đi ra bên ngoài mạng.
IP restrictions Scanner (IRS) thường được sử dụng để dò tìm sự giới hạn IP được thiết lập cho từng dịch vụ riêng trên máy chủ. Nó phối hợp đầu độc ARP với TCP ẩn hoặc kỹ thuật half-scan và kiểm tra tường tận các kết nối TCP giả mạo để lựa chọn cổng của mục tiêu. IRS quét tìm máy chủ và các thiết bị mạng như Routers, Switchs mà xác định các đặc điểm kiểm soát truy cập như access-control list(ACLs), bộ lọc IP, và các quy tắc tường lửa.
sTerm là 1 Telnet client với các tính năng độc đáo : nó có thể thiết lập một phiên Telnet hai chiều đến máy chủ mục tiêu, mà không bao giờ gửi địa chỉ IP thật và địa chỉ MAC thật trong bất cứ gói nào. Sử dụng ARP poisoning , MAC spoofing, và công nghệ IP spoofing, sTerm có thể thực sự tránh được ACLs, quy tắc tường lửa, và việc giới hạn IP trên máy chủ mà các thiết bị mạng.
Cain & Abel là những công cụ tấn công đa năng trên windows. Nó cho phép dễ dàng khôi phục các loại mật khẩu khác nhau bằng cách nghe lén trên mạng. Bẻ các mật khẩu đã được mã hóa sử dụng từ điển, brute-force (Trong lập trình máy tính, đây là phương pháp nhằm giải quyết một bài toán khó bằng cách lặp đi lặp lại một thủ tục đơn giản nhiều lần.
Máy tính tiến hành kiểm tra lỗi chính tả bằng phương pháp brute force (bắt ép thô bạo) này. Chúng không "kiểm tra chính tả" thực sự, mà chỉ so sánh tất cả các từ trong tài liệu của bạn với các từ của một tự điển chính tả cài sẵn.); ghi âm các cuộc gọi VoIP, giải mã các mật khẩu đã được xáo trộn, tìm ra các hộp mật khẩu, phát hiện ra các mật khẩu được lưu trữ trong bộ nhớ và phân tích các phương thức định tuyến. Phiên bản cuối cùng bao gồm nhiều đặc điểm mới giống như ARP poisoning Routing(APR) , nó thì cho phép sniffing trong switch của mạng LANs và tấn man-in-the-middle. Các sniffer trong phiên bản này còn có thể phân tích các phương thức mã hóa như: SSH-1 và HTTPs, và nó bao gồm các bộ lọc để bắt các thông tin xác thực(credential) từ một mảng lớn các cơ chế xác thực.
Packet Craffer là một công cụ thường được sử dụng để tạo ra các gói tin TCP/IP/UDP của khách hàng. Công cụ này có thể thay đổi địa chỉ nguồn của các gói tin để thực hiện việc IP spoofing và có thể điều khiển IP flags và TCP flags, số thứ tự(sequence numbers), số ASK(ask number).
SMAC là một công cụ có thể thay đổi địa chỉ MAC của hệ thống. Nó giúp cho hacker giả mạo địa chỉ MAC khi thực hiện cuộc tấn công.
MAC Changer là một công cụ được sử dụng để giả mạo địa chỉ MAC trên Unix. Nó có thể sử dụng để thiết lập các địa chỉ MAC cụ thể cho từng interface khác nhau, thiết lập địa chỉ MAC ngẫu nhiên , thiết lập địa chỉ MAC của một nhà cung cấp khác, thiết lập một địa chỉ MAC khác của cùng nhà sản xuất, thiết lập 1 địa chỉ MAC cùng loại hoặc thậm chí để hiện thị danh sách địa chỉ MAC của nhà cung câp để chọn lựa.
WinDNSSpoof là công cụ giả mạo DNS ID đơn giản dành cho Windows . Để sử dụng nó trong mạng sử dụng Switch , bạn phải có khả năng Sniff lưu lượng mạng của máy bị tấn công. Do đó, nó có thể được kết hợp với 1 công cụ ARP spoofing hay flooding.
Distributed DNS Flooder gửi một số lượng lớn các truy vấn để tạo ra 1 cuộc tấn công DOS(denies of service), vô hiệu hóa DNS. Nếu phần mềm Deamon truy vấn các bản ghi(logs) không chính xác, ảnh hưởng của cuộc tấn công sẽ được khuếch đại.
4. Mô tả các biện pháp phòng chống Sniffing
Cách bảo mật tốt nhất để phòng chống lại một Sniffer trong mạng là sự mã hóa. Mặc dù sự mã hóa không tránh khỏi sự Sniffing, nhưng nó làm cho bất kỳ dữ liệu nào bị bắt bằng sniffing trở nên vô dụng bởi vì hacker không thể hiểu được thông tin đó. Sự mã hóa như là AES và RC4 hoặc RC5 có thể sử dụng trong công nghệ VPN và là những tiêu chuẩn chung để phòng chống Sniffer.
Countermeasures Tool
netINTERCEPTOR là một tường lửa chống lại spam và virus. Nó có nhiều lựa chọn bộ lọc nâng cao và có thể học hỏi và thích ứng vì nó có thể nhận được các loại thư rác mới (spam). Nó cũng ngăn chặn và cách ly các e-mail mới nhất bị nhiễm Trojan, ngăn chặn Trojan khỏi sự cài đặt và có thể cài đặt 1 sniffer.
Sniffdet là việc thiết lập sự kiểm tra để phát hiện Sniffer từ xa trong môi trường TCP/IP. Sniffdet thực hiện các bài kiểm tra khác nhau để phát hiện các máy(machines) chạy ở chế độ romiscuous hay với một Sniffer.
WinTCPKill là một công cụ chấm dứt kết nối TCP trên windows. Công cụ này đòi hỏi khả năng sử dụng một Sniffer để sniff các lưu lượng đến và đi của máy bị tấn công. Trong mạng sử dụng Switch, WinTCPKill có thể sử dụng một công cụ đầu độc bộ nhớ ARP (ARP cache poisoning) để thực hiện việc ARP spoofing.
5. Tổng kết bài học
Làm sao để Sniffer: một sniffer hoạt động ở chế độ hỗn hợp(promiscuous), nghĩa là nó bắt tất cả các lưu lượng mà không chú ý tới MAC đích trong các frame.
Sự khác nhau giữa sniffing trên một mạng sử dụng hubs và mạng sử dụng switch : tất các các lưu lượng thì được broadcast bởi Hubs, nhưng nó thì được chia làm nhiều segment bởi một switch. Để Sniff trong mạng sử dụng Switch, thì các công cụ Flooding hay ARP Spoofing phải được sử dụng.
Sự khác biệt giữa active sniffing và passive sniffing:
- Active Sniffing sử dụng để lừa Switch bị tấn công thành 1 Hub để switch đó gửi tất cả cá lưu lượng mạng đến kẻ tấn công.
- Passive sniffer: bắt các gói tin đã được broadcast trên mạng.
<<<<<<<<<<<<<<<<<< Theo Nguyễn Văn Hải >>>>>
No comments:
Post a Comment