Trao đổi với tôi

http://www.buidao.com

12/16/09

[Hacking] Sniffing For Dummies

Wellcome HVA come back again! smilie)
=========================================
Hôm nay mình giới thiệu với các bạn một kĩ thuật hacking cơ bản đó là sniff.(có nhiều bạn chưa biết cái này - ai biết rồi thì đừng chê nha)
Nói đến Sniff nhiều người nghĩ ngay đến ethereal hay tcpdump (hoặc đơn giản chỉ là một công cụ nào đó cho phép ta làm việc tương tự).Nhưng theo tôi Sniff là một kĩ thuật được hiện thực bằng các công cụ cho phép ta theo dõi network traffic của một mạng máy tính và lấy đi nhưng thông tin quan trọng.Những thông tin này thường là nhưng thông tin chứng thực(username,password) mà từ đó có thể truy cập đến một hệ thống,tài nguyên nào đó (ví dụ như tài khoản ngân hàng trực tuyến ).
Hiện nay có rất nhiều công cụ giúp ta làm việc này như: ettercap,dsniff,wireshark(ethereal),tcpdump...

Như các bạn đã biết một máy tính khi connect vào mạng LAN sẽ có 2 address là : IP address và MAC address. Khi một IP datagram được gửi đi từ trạm này sang trạm khác trong cùng một mạng LAN,IP address của trạm đích phải được chuyển đổi sang MAC address. Giao thức ARP sẽ giúp ta làm việc này.
Giao thức ARP sử dụng 32 bit IP address ở trong 48 bit ethernet address.Công việc của nó là gửi các broadcast request đến tất cả các máy trong cùng ethernet.Một packer request sẽ có IP address của sender muốn liên lạc,
Một frame của ARP request có nội dung như sau:

Code:
01:20:14.833350 arp who-has 192.168.0.66 tell 192.168.0.62


và tất cả các máy trong mạng sẽ bỏ qua packet này chỉ máy tính nào có IP address trùng với IP address trong request thì nó sẽ reply lại cho sender một packet cùng với ethernet address:
Code:
 01:20:14.833421 arp reply 192.168.0.66 is-at 0:0:d1:1f:3f:f1


Ngày trước những máy tính được nối với nhau thông qua môi trường dùng chung (Tức là dùng HUB đó ).Trong mạng dùng HUB Traffic sẽ đến tất cả các máy trong network. Đây là một điều không an toàn,với traffic đến toàn bộ các máy trong mạng chúng ta sẽ dễ dàng sniffing mà lấy đi những thứ quan trọng.

Ngày nay những máy tính được nối với nhau bởi Switch,Switch thông minh hơn Hub, traffic sẽ không đên tất cả các máy tính nữa mà nó sẽ đến nơi cần đến là đủ. Điều đó Kéo theo những chúng ta cũng phải thay đổi đôi chút trong việc tấn công,phải có một sự dàn dựng tốt hơn.

1.ARP Spoofing

Vì bản thân ARP request đã chứa địa chỉ vật lý của sender trong Ethernet frame nên receiver nhận được ARP request này hoàn toàn có thể trả lời cho sender mà không cần phải tạo một ARP request nữa. Tuy nhiên, điểm yếu lớn nhất của giao thức ARP là ở chỗ nó là một stateless protocol, có nghĩa là nó sẽ không theo dõi các frame trả lời cho các request mà nó đã gửi, và vì thế sẽ chấp nhận các ARP reply mà trước đó không có request.

Nếu một kẻ nào đó muốn lấy cắp thông tin từ một trạm khác, attacker sẽ gửi các ARP reply giả mạo phù hợp một địa chỉ IP nào đó đã chọn trước với địa chỉ MAC của chúng. Trạm nhận được các ARP reply giả mạo này không thể phân biệt được nó là ARP reply hợp lệ hay không, và bắt đầu gửi dữ liệu tới địa chỉ MAC của attacker.

Một điểm yếu nữa của giao thức ARP đó là bảng thông tin ARP được lưu trữ cục bộ tại mỗi trạm trong một mạng. Điều này nhằm mục đích tăng tốc độ truyền dữ liệu bởi vì địa chỉ MAC sẽ không cần phải kiểm tra mỗi lần một thiết bị này muốn liên lạc với một thiết bị khác. Một kẻ tấn công muốn tiếp tục giả mạo một địa chỉ IP nào đó, nó cần phải Flood trạm đó với các ARP reply ghi đè lên các ARP hợp lệ từ trạm nguồn. Kiểu tấn công này thường được biết đến với cái tên ARP cache poisoning.

Có nhiều tool sử dụng kỹ thuật này để Sniff thông tin trên các mạng dùng switch như Ettercap. Tham khảo tại: http://ettercap.sourceforge.net/
arpoison tham khảo tại : http://arpoison.sourceforge.net/
Trên windows tham khảo: WinARP Spoofer tại http://www.nextsecurity.net
hì còn nhiều lắm mà chỉ cần vài cái đó là đủ sài rồi

Để chặn luồng thông tin giữa 2 trạm A và B, trạm C sẽ đầu độc (poison) ARP cache của trạm A, làm cho nó nhầm tưởng là địa chỉ IP của trạm B giống với địa chỉ MAC của trạm C (chứ không phải là địa chỉ MAC của B). Sau đó C sẽ poison bộ cache của B, làm cho nó nhầm tưởng địa chỉ IP của trạm A tương ứng với địa chỉ MAC của C (chứ không phải địa chỉ MAC của A).

2.MAC Flooding

Như bạn đã biết Switch thông minh hơn HUB là ở chỗ: Khi một packet được gửi từ máy A sang máy B thì thay vì gửi đi đến tất cả các máy trong mạng như Hub,switch chỉ gửi packet đó đến máy B mà thôi.Làm được việc này là do switch dựa vào một bảng dịch (bảng này sẽ qui đinh một địa chỉ MAC sẽ được truyền trên một công vật lý của switch) . Thế nhưng Switch chỉ cung cấp 1 bộ nhớ có hạn cho việc này,đây chính là điểm yếu để ta khai thác, nếu ta gửi liên tiếp các địa chỉ MAC giả mạo đến cho Switch và với bộ nhớ có hạn đó điều gì sẽ xẩy ra.Một công cụ tốt để làm việc này là: macof (một tools trong bộ công cụ dsniff)

[root@localhost]# macof

77:6b:e1:6e:5e:8c 93:2d:ed:45:f9:e3 0.0.0.0.45702 > 0.0.0.0.11000: S 1847390231:1847390231(0) win 512 84:a4:d3:57:ef:8 12:56:52:42:dc:95 0.0.0.0.16630 > 0.0.0.0.3031: S 1484147693:1484147693(0) win 512 88:f0:9:3f:18:89 d:86:53:53:d7:f8 0.0.0.0.15535 > 0.0.0.0.7466: S 293820390:293820390(0) win 512


Trong khi chúng ta chạy macof thì cái switch cũng như cái hub mà thôi Lúc này chúng ta dễ dàng sniff trong mạng đó.
------------------------------------
zeno

Link: http://www.hvaonline.net/hvaonline/posts/list/4619.hva#27387