[Question] Sniffing For Dummies |
02/12/2006 03:57:23 (+0700) | #1 | 27387 |
|
zeno
Elite Member
|
0 |
|
|
Joined: 20/07/2004 03:57:09
Messages: 124
Location: HVA
Offline
|
|
Wellcome HVA come back again! )
=========================================
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 |
|
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 03:29:23 (+0700) | #2 | 29438 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
Vậy theo zeno có cách nào để chống bị ARP posioning ?
Để 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).
Và sau khi trạm C lắng nghe được tất cả những luồng traffic từ A-B và ngược lại thì nó vẫn phải gửi những frame đó tới đúng địa chỉ chứ !?
Vì sau khi trạm A giao tiếp với trạm B rồi " nhầm tưởng " MAC của trạm B là MAC của trạm C. Lúc này trạm A sẽ gửi toàn bộ frame của mình sang trạm C .
Vậy thì sau khi trạm C tiếp nhận toàn bộ luồng thông tin của trạm A nó sẽ có động thái gì kế tiếp ?
Gửi sang B !? Và tiếp tục quá trình nhận ngược lại !? |
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 03:39:49 (+0700) | #3 | 29443 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
thangdiablo wrote:
Vậy theo zeno có cách nào để chống bị ARP posioning ?
Và sau khi trạm C lắng nghe được tất cả những luồng traffic từ A-B và ngược lại thì nó vẫn phải gửi những frame đó tới đúng địa chỉ chứ !?
Vì sau khi trạm A giao tiếp với trạm B rồi " nhầm tưởng " MAC của trạm B là MAC của trạm C. Lúc này trạm A sẽ gửi toàn bộ frame của mình sang trạm C .
Vậy thì sau khi trạm C tiếp nhận toàn bộ luồng thông tin của trạm A nó sẽ có động thái gì kế tiếp ?
Gửi sang B !? Và tiếp tục quá trình nhận ngược lại !?
Cách chốn ARP Poisoining là gán ARP Static (giải pháp cho cá nhân) hoặc dùng các chương trình như ARP Watch (giải pháp cho các network cty/doanh nghiệp)
Sau khi trạm C tiếp nhận toàn bộ luồng thông tin của trạm A, nó có toàn quyền quyết định, động thái của nó chỉ là quyết định do người tấn cống (trạm C) ra lệnh, người tấn công có thể drop packet, edit packet & forward, hoặc chỉ đơn thuần là forward |
|
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 11:32:47 (+0700) | #4 | 29556 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
Thông thường cách ứng xử của các tool sniff sau khi nghe được luồng thông tin là forward nó đi giống như lộ trình ban đầu .
Vậy theo vietwow làm cách nào để mình nhận biết được mình đang bị sniff ?
|
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 11:54:29 (+0700) | #5 | 29562 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
thangdiablo wrote:
Thông thường cách ứng xử của các tool sniff sau khi nghe được luồng thông tin là forward nó đi giống như lộ trình ban đầu .
Vậy theo vietwow làm cách nào để mình nhận biết được mình đang bị sniff ?
Không phải là thông thường, mà là do người sử dụng tool sniff ko biết sử dụng hoặc ko để ý thôi ) chứ tool sniff nào cũng cho chọn "hướng đi" của luồng traffic
Đối mạng hub để phát hiện sniff gần như là ko thể (nếu có thì khả năng chính xác cũng ko cao), còn mạng sniff thì dùng những tool như ARP Watch, Ethereal .... noí chung là các tool có khả năng capture & phân tích packet bởi vì như nói ở trên, trong 1 mạng switch muốn sniff thì phải sử dụng kỹ thuật ARP Poisoning mà kỹ thuật này đòi hỏi phải "phun" khá nhiều packet ARP trong mạng để "đầu độc" các máy khác, vì thế dùng các tool phân tích packet, nếu thấy lượng traffic ARP "đáng kể" xuất hiện thì khả năng bị sniff là rất cao |
|
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 12:16:02 (+0700) | #6 | 29568 |
Mr.Khoai
Moderator
|
Joined: 27/06/2006 01:55:07
Messages: 954
Offline
|
|
Gửi vietwow: Tất nhiên sniff traffic bằng cách chuyển NIC sang promiscuous mode thì không cần phải làm gì sau đó cả, nhưng muốn sniff dùng ARP poisoning thì sau đó phải poison luôn máy B và forward cái packet đó về máy B--> Man In the Middle attack. C đứng giữa và kiêm chức chuyển thông tin cho 2 máy A và B. Nếu máy C không thể poison luôn B, traffic từ A -> B sẽ bị dừng lại ở C. Như vậy, C chỉ đang sniff traffic của chính mình mà thôi.
Cách phát hiện promiscuous mode, khoai đã có viết một bài về vấn đề này. Cách chống ARP poisoning: Có lẽ chỉ còn cách như vietwow nói: dùng IDS hay các công cụ kiểm tra traffice của mạng. Nếu thấy có tình trạng khả nghi thì có thể cho đó là ARP poisoning. Nhưng vấn đề được đặt ra là: Sau khi biết có ARP poisoning, ta phải làm gì nữa?
khoai |
|
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 12:39:45 (+0700) | #7 | 29573 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
vietwow wrote:
Không phải là thông thường, mà là do người sử dụng tool sniff ko biết sử dụng hoặc ko để ý thôi chứ tool sniff nào cũng cho chọn "hướng đi" của luồng traffic
Đối mạng hub để phát hiện sniff gần như là ko thể (nếu có thì khả năng chính xác cũng ko cao), còn mạng sniff thì dùng những tool như ARP Watch, Ethereal .... noí chung là các tool có khả năng capture & phân tích packet bởi vì như nói ở trên, trong 1 mạng switch muốn sniff thì phải sử dụng kỹ thuật ARP Poisoning mà kỹ thuật này đòi hỏi phải "phun" khá nhiều packet ARP trong mạng để "đầu độc" các máy khác, vì thế dùng các tool phân tích packet, nếu thấy lượng traffic ARP "đáng kể" xuất hiện thì khả năng bị sniff là rất cao
Tớ dùng từ thông thường đơn giản vì đó là chế độ default của hầu hết các tool sniff . Khi người viết ra những tool này họ cũng muốn mặc định nó ứng xử như đúng cái tên của nó .
Do vậy sau khi nghe được các thông tin là nó forward .
|
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 12:47:05 (+0700) | #8 | 29575 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
Mr.Khoai wrote:
Gửi vietwow: Tất nhiên sniff traffic bằng cách chuyển NIC sang promiscuous mode thì không cần phải làm gì sau đó cả, nhưng muốn sniff dùng ARP poisoning thì sau đó phải poison luôn máy B và forward cái packet đó về máy B--> Man In the Middle attack. C đứng giữa và kiêm chức chuyển thông tin cho 2 máy A và B. Nếu máy C không thể poison luôn B, traffic từ A -> B sẽ bị dừng lại ở C. Như vậy, C chỉ đang sniff traffic của chính mình mà thôi.
Cách phát hiện promiscuous mode, khoai đã có viết một bài về vấn đề này. Cách chống ARP poisoning: Có lẽ chỉ còn cách như vietwow nói: dùng IDS hay các công cụ kiểm tra traffice của mạng. Nếu thấy có tình trạng khả nghi thì có thể cho đó là ARP poisoning. Nhưng vấn đề được đặt ra là: Sau khi biết có ARP poisoning, ta phải làm gì nữa?
khoai
Uh đúng như Khoai nói !
Nếu chú ý 1 chút khi status của sniff là Half routing thì lúc đó máy C không thể posion ngược từ B về A và lúc này nó lại sniff chính nó .
Còn nếu status là Full Routing thì lúc này máy C đang ngồi nghe và đầu độc 2 chú A và B . |
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 13:02:38 (+0700) | #9 | 29580 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
Mr.Khoai wrote:
Gửi vietwow: Tất nhiên sniff traffic bằng cách chuyển NIC sang promiscuous mode thì không cần phải làm gì sau đó cả, nhưng muốn sniff dùng ARP poisoning thì sau đó phải poison luôn máy B và forward cái packet đó về máy B--> Man In the Middle attack. C đứng giữa và kiêm chức chuyển thông tin cho 2 máy A và B. Nếu máy C không thể poison luôn B, traffic từ A -> B sẽ bị dừng lại ở C. Như vậy, C chỉ đang sniff traffic của chính mình mà thôi.
Cách phát hiện promiscuous mode, khoai đã có viết một bài về vấn đề này. Cách chống ARP poisoning: Có lẽ chỉ còn cách như vietwow nói: dùng IDS hay các công cụ kiểm tra traffice của mạng. Nếu thấy có tình trạng khả nghi thì có thể cho đó là ARP poisoning. Nhưng vấn đề được đặt ra là: Sau khi biết có ARP poisoning, ta phải làm gì nữa?
khoai
To Khoai : tớ chỉ đang nói đến cách chốn ARP Poisoning chứ đã nói đến MIMT attack đâu ) . Theo tớ thấy cậu dùng máy A, B & C để phân tích 1 cuộc tấn công MIMT thì quá phức tạp, dễ gây hiểu lầm cho người đọc. Thế này nhé, nếu hacker chỉ muốn drop tất cả traffic của máy A thì máy của Hacker chỉ cần poison máy A là đủ (lúc này đường traffic đi sẽ là Máy A --> Hacker), cón nếu muốn thực hiện hành vi forward như 1 "gateway" thì Hacker cần phải poison 2 mục tiêu đó là máy A & Gateway, poison máy A để luốn traffic đi từ máy A đến Hacker, còn poison gateway là để cho chiều ngược lại, để sau khi hacker nhận được traffic máy A, forward đi đến gateway như tình trạng bình thường, và ở chiều ngược lại, lúc này gateway bị poison nên sẽ "trả" traffic cho Hacker chứ ko phải máy A, rồi sau đó Hacker lại tiếp tục forward traffic đến máy A để "dựng" lên 1 tình trạng bình thường
Nếu máy C không thể poison luôn B, traffic từ A -> B sẽ bị dừng lại ở C. Như vậy, C chỉ đang sniff traffic của chính mình mà thôi.
Có lẽ cậu bị nhầm lẫn 1 chút, để tớ giải thích kỹ lại nha. máy B ở đây của cậu tương đương với Gateway tớ nói ở trên, còn máy C là Hacker. Nếu Hacker ko thể poison máy Gateway thì Hacker vẫn toàn có thể sniff được traffic máy A, chỉ là ko thể sniff theo chiều ngược lại như tớ nói ở trên. Điều này tớ đã thực hiện & kiểm chứng thành công nhiều lần rồi |
|
|
|
|
[Question] Re: Sniffing For Dummies |
10/12/2006 14:03:34 (+0700) | #10 | 29588 |
Mr.Khoai
Moderator
|
Joined: 27/06/2006 01:55:07
Messages: 954
Offline
|
|
vietwow wrote:
tớ chỉ đang nói đến cách chốn ARP Poisoning chứ đã nói đến MIMT attack đâu
Man in the Middle attack viết tắt là MiM thì phải. Vì sao viết thế thì khoai chịu thua, chắc là viết cho giốn MiB (Men In Black :p)
vietwow wrote:
Thế này nhé, nếu hacker chỉ muốn drop tất cả traffic của máy A thì máy của Hacker chỉ cần poison máy A là đủ (lúc này đường traffic đi sẽ là Máy A --> Hacker), cón nếu muốn thực hiện hành vi forward như 1 "gateway" thì Hacker cần phải poison 2 mục tiêu đó là máy A & Gateway, poison máy A để luốn traffic đi từ máy A đến Hacker, còn poison gateway là để cho chiều ngược lại, để sau khi hacker nhận được traffic máy A, forward đi đến gateway như tình trạng bình thường, và ở chiều ngược lại, lúc này gateway bị poison nên sẽ "trả" traffic cho Hacker chứ ko phải máy A, rồi sau đó Hacker lại tiếp tục forward traffic đến máy A để "dựng" lên 1 tình trạng bình thường
Nếu máy C không tiến hành poison luôn máy B thì cuộc tấn công này có gọi là sniff không? Khi đó, bạn có chắc là có sniff được thông tin gì đáng giá từ máy A?
ví dụ: Khi A browse http://mail.yahoo.com chẳng hạn. Bạn đã poison ARP, khiến cho thay vì gửi đến default gw thì lại gửi đến máy C. Lúc đó, máy A có nhận được trang log-in để type username và password đâu? Và như vậy, cho dù bạn thấy được nhiều request của máy A (do retransmission) thì bạn cũng chả có được thông tin gì quan trọng cả
khoai |
|
|
|
|
[Question] Re: Sniffing For Dummies |
10/12/2006 14:21:45 (+0700) | #11 | 29596 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
Nếu máy C không tiến hành poison luôn máy B thì cuộc tấn công này có gọi là sniff không? Khi đó, bạn có chắc là có sniff được thông tin gì đáng giá từ máy A?
Nếu bác hỏi vậy thì tôi xin trả lời là có, đây gọi là sniff.
Mr.Khoai wrote:
ví dụ: Khi A browse http://mail.yahoo.com chẳng hạn. Bạn đã poison ARP, khiến cho thay vì gửi đến default gw thì lại gửi đến máy C. Lúc đó, máy A có nhận được trang log-in để type username và password đâu? Và như vậy, cho dù bạn thấy được nhiều request của máy A (do retransmission) thì bạn cũng chả có được thông tin gì quan trọng cả
khoai
Hì hì, bác khoai có vẻ như hiểu hơi lệch khái niệm về sniff. Theo mình hiểu, sniff nghĩa là "bắt" traffic lưu thông trong mạng, ko phải là để "bắt" user/pass, userpass cũng chỉ là thông tin nằm trong các packet thôi. Tại sao cứ phải "bắt" được user/pass mới là có giá trị ? vd bác nêu ra ở trên là ko sai nhưng nó tùy vào context thôi. Thế tôi vd như máy victim resuest lên 1 trang mà đã lưu cookie trước đó, trong cookie đó chứa user & pass, thế chẳng phải chỉ cần A request lần đầu là ta đã có pass à ? 1 VD khác, khi client connect ssh sử dụng private key để kết nối server, thế chẳng phải chỉ lần đầu tiên sniff là ta có được key rồi à ? |
|
|
|
|
[Question] Sniffing For Dummies |
10/12/2006 14:53:53 (+0700) | #12 | 29606 |
Mr.Khoai
Moderator
|
Joined: 27/06/2006 01:55:07
Messages: 954
Offline
|
|
Xin lỗi vietwow, có lẽ khả năng diễn đạt của khoai kém quá. Ý khoai là, cho dù bạn bắt được traffic từ máy A, nhưng trong đống traffic đó có gì đáng giá với bạn không? Bạn đang muốn tìm gì từ máy A? Và nếu bạn dùng ARP poisoning cho một chiều thì bạn có được những thứ bạn tìm không? khoai dùng password và username chỉ là ví dụ, để xem khả năng bạn bắt được thông tin đáng giá sau khi poison máy A mà thôi. Dù sao đi nữa, bàn cãi cái này đã đi khá xa với topic của zeno.
Còn 2 ví dụ bạn đưa ra, khoai xin phép không có ý kiến!!!
khoai |
|
|
|
|
[Question] Re: Sniffing For Dummies |
10/12/2006 14:58:58 (+0700) | #13 | 29607 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
hì, ok, mình cũng ko muốn đi xa vấn đề, chỉ đơn giản là tranh luận thôi, chẳng qua mình chỉ muốn khẳng định đơn giản là Sniff 1 chiều vẫn gọi là sniff còn sniff sao để đạt được kết quả (như lấy được info đáng giá) lại là chuyện khác |
|
|
|
|
[Question] Re: Sniffing For Dummies |
12/12/2006 02:09:47 (+0700) | #14 | 29859 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
Hello, hôm bữa hình như đang nói dở dang về vấn đề này
Mình có đọc thảo luận của các bạn, và thấy rằng bác vietwow gì đó hiểu chính xác về khái niệm sniff, còn bác Mr.khoai thì hơi cực đoan theo kiểu sniff for profit
)
tôi xin vd, tui là 1 thằng Admin trong LAN xài switch, tui nghi ngờ máy A nó dính Virus hay spyware gì đấy khiến A có thể biến thành Zombie, lúc đó tôi không có đk để đến trực tiếp máy A để quét virus chảng hạn, lúc đó tôi ngồi máy C và bắt đầu sử dụng ARP poisoning máy A để sau đó Sniff các gói packet từ máy A và phân tích xem các gói Packet đó có dấu hiệu của Zombie ko?? lúc đó máy tôi là máy C ko nhất thiết phải forward các gói tin từ máy A --> gateway thực vì ko cần thiết, làm thế khác nào tiếp tay cho spyware ?? Mục đích của tui lúc bấy giờ chỉ là "sniff một chiều" (theo các bạn định nghĩa :lol ) để khẳng định là máy A bị dính virus. Chỉ có vậy thôi, các bác cứ nghĩ sniff là phải hack hiếc là sao chời ?
ps: các bác cứ bàn về phương pháp chống đi, nhất là cách phát hiện ARP reply ko hợp lệ |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Sniffing For Dummies |
12/12/2006 03:03:25 (+0700) | #15 | 29870 |
Mr.Khoai
Moderator
|
Joined: 27/06/2006 01:55:07
Messages: 954
Offline
|
|
Gửi gamma95: khoai chưa bao giờ có ý 'sniff for profit' như gamma95 nói. Ý khoai là "sniff for data". Đố với ví dụ của khoai chẳng hạn, data đáng giá là user/pas. Đối với ví dụ của gamma95, data đáng giá là signature của spyware trong các gói mà máy A tung ra ngoài.
Còn một điểm nữa, theo khoai sniff có nghĩa là mình hoàn toàn không động gì đến traffic cả. Hoặc ít nhất là không hề làm cho traffic giữa 2 bên có gì thay đổi. Giống như mùi tỏa ra, ai cũng có thể sniff. Có lẽ khái niệm chữ "sniff" của khoai khác với mọi người
Từ nay khoai xin rút kinh nghiệm: không nên dùng ví dụ mà chưa suy nghĩ :~)
khoai |
|
|
|
|
[Question] Sniffing For Dummies |
12/12/2006 03:26:32 (+0700) | #16 | 29874 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
vietwow hiểu về sniff rất tốt . Mình cũng học hỏi được nhiều
Và cũng đúng là mỗi người mỗi mục đích có 1 cách hiểu về từ sniff khác nhau .
Giờ tôi thấy cách chống tạm thời đơn giản nhất chỉ có set arp static giữa máy tôi và defautgateway cảu Router.
Công ty tôi dùng hệ thống VoIP nên việc bị nghe lén rất dễ xảy ra . Nên sáng nào vào Công Ty công việc đầu tiên cũng là set static arp giữa PC của tôi và Router .
Nhưng có 1 vấn đề tôi vẫn thắc mắc là làm sao ? Dùng tool gì cụ thể và biểu hiện gì để mình có thể xác minh 1 arp là hợp lệ hay không hợp lệ . |
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Re: Sniffing For Dummies |
12/12/2006 03:46:01 (+0700) | #17 | 29883 |
watchd0g
Member
|
0 |
|
|
Joined: 30/11/2006 18:05:23
Messages: 42
Offline
|
|
- Muốn nhận biết & chống MAC Flooding có caí MACManipulator, tool này cho phép thiết lập 1 phiên MAC Flood, giúp admin test xem switch có chịu nổi khi bị flood hay không. MAC Flooding chỉ có tác dụng đối với các loại switch rẻ tiền (ít port :wink: ).
- ARP Spoofing thì hơi khó lý do là vì khi đó network traffic không có biến đổi gì nhiều. Một dấu hiệu là khi 1 host bị spoof thì maý attack sẽ có MAC giống với maý đó. Vì vậy admin chỉ cần query MAC từ các host trong network, nếu có 2 MAC giống nhau thì coi như network under attack. Công cụ ARPanalyzer có chức năng phát hiện ARP Spoofing. |
|
|
|
|
[Question] Re: Sniffing For Dummies |
12/12/2006 03:46:45 (+0700) | #18 | 29884 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
[at]thangdiablo:
Nhưng có 1 vấn đề tôi vẫn thắc mắc là làm sao ? Dùng tool gì cụ thể và biểu hiện gì để mình có thể xác minh 1 arp là hợp lệ hay không hợp lệ .
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
theo tui:
trên switch config 1 rulez phát hiện nếu bất cứ máy nào trong LAN send gói ARP reply có IP trong ARP reply khác với sourceIP của máy đó thì ban thẳng tay
:! |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Sniffing For Dummies |
12/12/2006 04:05:30 (+0700) | #19 | 29889 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
To Gamma 95 :
Vấn đề là set rules cụ thể thế nào ? Command gì ? Chạy trên Switch của hãng nào ?
Và nếu không được đụng tới switch thì sao ?
To watchd0g : Nhưng thấy được 2 chú MAC giống nhau rồi phân biệt cái nào giả cái nào thật thì cũng mất time quá nhỉ ?
Các bác còn ý kiến gì khác nữa không ? |
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Sniffing For Dummies |
12/12/2006 05:06:34 (+0700) | #20 | 29899 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
thangdiablo wrote:
Giờ tôi thấy cách chống tạm thời đơn giản nhất chỉ có set arp static giữa máy tôi và defautgateway cảu Router.
Công ty tôi dùng hệ thống VoIP nên việc bị nghe lén rất dễ xảy ra . Nên sáng nào vào Công Ty công việc đầu tiên cũng là set static arp giữa PC của tôi và Router .
Nhưng có 1 vấn đề tôi vẫn thắc mắc là làm sao ? Dùng tool gì cụ thể và biểu hiện gì để mình có thể xác minh 1 arp là hợp lệ hay không hợp lệ .
Như tôi đã nói ở trên, nếu là qui mô cty và bạn có quyền đối với network trong cty đó thì bạn nên sử dụng các chương trình như ARP Watch hoặc những chương trình có chức năng tương tự. Còn các switch như bạn gamma95 nói thì nó chẳng qua cũng hoạt động giống mấy chương trình ARP Watch nhưng do nó hoạt động ngay trên switch nên có khả năng phòng ngừa cho toàn network thôi, phương thức của nó là tại lúc network hoạt động ổn định nó sẽ lưu bảng CAM đầy đủ vào bộ nhớ sau đó nó sẽ monitor trên tất cả các port , xem các gói ARP nào mà thông ko "phù hợp" thì sẽ drop, "ko phù hợp" ở đây có nghĩa là vd port 1 tương với PC A, nhưng Switch lại thấy 1 packet xuất phát từ port A nhưng nội dung reply lại là map 1 địa IP khác đến địa chỉ MAC của nó, switch nhận biết việc này chỉ đơn giản bằng cách là so sánh với bảng CAM lúc ban đầu nó backup ra
Nếu ko sử dụng những chương trình tự động này mà muốn nhận biết 1 cuộc tấn công ARP Poisoning thì chịu khó lâu lâu capture packet, nếu thấy lượng ARP xuất hiện nhiều liên tục thì 90% đó là ARP Poisoning. Còn ko thì cũng còn 1 cách cuối cùng là ...... học thuộc lòng MAC của con gateway, arp -a lên thấy khác thì chính là đang bị tấn cọng :lol |
|
|
|
|
[Question] Sniffing For Dummies |
13/12/2006 00:48:41 (+0700) | #21 | 30091 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
Thanks anh em !
Tớ thấy một vấn đề nữa .
Mặc dù Web Server Cty tớ có hỗ trợ SSL .
Email Server thì có hỗ trợ SSL và SPA . Vậy mà khi tớ sniff thử thì vẫn thấy password toàn cleartext .
Tất nhiên tool của tớ có hỗ trợ ARP-HTTPS . Không lẽ SSL cũng thiếu an toàn đến vậy cơ à ? |
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Sniffing For Dummies |
13/12/2006 01:41:29 (+0700) | #22 | 30104 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
thangdiablo wrote:
Thanks anh em !
Tớ thấy một vấn đề nữa .
Mặc dù Web Server Cty tớ có hỗ trợ SSL .
Email Server thì có hỗ trợ SSL và SPA . Vậy mà khi tớ sniff thử thì vẫn thấy password toàn cleartext .
Tất nhiên tool của tớ có hỗ trợ ARP-HTTPS . Không lẽ SSL cũng thiếu an toàn đến vậy cơ à ?
SSL hoàn toàn có thể bị sniff (đã chứng minh trên thực tế) & kết quả sẽ là plain-text nhưng để thực hiện thì ko đơn giản lắm, phải biết kết hợp 1 số tool & sửa đổi 1 số thứ, vì thế tôi chưa tin lắm việc có 1 tool có thể sniff hầu hết SSLcủa các service, tôi nghĩ 1 là SSL công ty bạn config chưa chính xác 100%, 2 là dv SSL của software mà cty bạn xài khá phổ biến nên tool này được build sẵn việc Sniff |
|
|
|
|
[Question] Sniffing For Dummies |
13/12/2006 13:01:46 (+0700) | #23 | 30239 |
|
mudzot
Elite Member
|
0 |
|
|
Joined: 26/06/2006 14:41:27
Messages: 76
Offline
|
|
vietwow wrote:
Nếu ko sử dụng những chương trình tự động này mà muốn nhận biết 1 cuộc tấn công ARP Poisoning thì chịu khó lâu lâu capture packet, nếu thấy lượng ARP xuất hiện nhiều liên tục thì 90% đó là ARP Poisoning. Còn ko thì cũng còn 1 cách cuối cùng là ...... học thuộc lòng MAC của con gateway, arp -a lên thấy khác thì chính là đang bị tấn cọng
Không phải lúc nào tỉ lệ ARP cũng lên cao khi đang có arp poisoning, vì chỉ cần gửi gói arp reply định kỳ 30s đến 1 phút là đủ, không cần flood (hình như Cain&Abel có option này). Thực tế trong mạng LAN vài chục máy hoạt động bình thường thì tỉ lệ arp nhiều hơn thế.
Cái bất thường ở đây là không gửi arp request mà lại nhận đc reply. Vậy giải pháp để phát hiện mình có bị poisoned không là tự sniff mình xem có đều đặn nhận arp reply từ 1 máy nào đó không.
Giải pháp chung cho toàn mạng để phát hiện các "táy máy" về MAC/IP mà tớ dùng cũng chỉ là arpwatch thôi. |
|
|
|
|
[Question] Sniffing For Dummies |
13/12/2006 13:20:16 (+0700) | #24 | 30244 |
thangdiablo
HVA Friend
|
Joined: 11/05/2003 17:31:58
Messages: 734
Offline
|
|
Tôi đặt trường hợp sau khi một attacker kết thúc quá trình sniff hệ thống LAN thì việc sniff của attacker này có để lại dấu vết gì không ?
Có cơ hội nào phát hiện +bằng chứng về việc hệ thống của mình bị sniff không ? |
|
Hãy sống có Tuệ Giác. |
|
|
|
[Question] Sniffing For Dummies |
13/12/2006 14:32:19 (+0700) | #25 | 30250 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
Tôi đặt trường hợp sau khi một attacker kết thúc quá trình sniff hệ thống LAN thì việc sniff của attacker này có để lại dấu vết gì không ?
Có cơ hội nào phát hiện +bằng chứng về việc hệ thống của mình bị sniff không ?
Có lẽ phải nhờ bác nào có kinh nghiệm thực tế về triển khai IDS/IDP system vào đây nói đôi lời mới đc, mình thì ko có laB nên ko dám nói phét |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Sniffing For Dummies |
13/12/2006 18:44:49 (+0700) | #26 | 30261 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
mudzot wrote:
Không phải lúc nào tỉ lệ ARP cũng lên cao khi đang có arp poisoning, vì chỉ cần gửi gói arp reply định kỳ 30s đến 1 phút là đủ, không cần flood (hình như Cain&Abel có option này). Thực tế trong mạng LAN vài chục máy hoạt động bình thường thì tỉ lệ arp nhiều hơn thế.
Cái bất thường ở đây là không gửi arp request mà lại nhận đc reply. Vậy giải pháp để phát hiện mình có bị poisoned không là tự sniff mình xem có đều đặn nhận arp reply từ 1 máy nào đó không.
Giải pháp chung cho toàn mạng để phát hiện các "táy máy" về MAC/IP mà tớ dùng cũng chỉ là arpwatch thôi.
Thứ 1, ARP poisoning ít nhất là phải "phun" ít nhất là 1 gói ARP Relay với tốc độc 30s/packet (vì phải tấn công ít nhất là 1 máy chứ ) ), mà chỉ cần tấn công với tốc độ vậy thì lượng ARP cũng đủ để thấy "bất thường" rồi, vì trên thực tế lượng ARP là khá ít do cơ chế ARP dùng cache nên đâu phải lúc nào nó cũng request.
Thứ 2 là tấn công ARP Poisoning hiếm khi nào attacker chỉ tấn công 1 ai đó, thường là họ poison cả network vì thế khả năng lượng ARP cao là thường xảy ra, còn việc chỉ nhận arp reply mà ko có request tuy là bất thường nhưng đều đó khó kiểm chứng, chả lẽ mỗi lần bạn ra dv hay ở cty đều phải bật sniff lên rồi ngồi phân tích mà ko làm gì khác à )
Tôi đặt trường hợp sau khi một attacker kết thúc quá trình sniff hệ thống LAN thì việc sniff của attacker này có để lại dấu vết gì không ?
Có cơ hội nào phát hiện +bằng chứng về việc hệ thống của mình bị sniff không ?
Theo như mình biết, nếu ngay sau khi attacker kết thúc quá trình tấn công (tức attacker ngưng "phun" ARP replay để poison) thì vẫn còn chút hy vọng để phát hiện đó là xem cache ARP của router, vì nếu chưa đến 30s thì cache vẫn chưa xoá , do đó cái cache bị đầu độc vẫn còn => MAC mà mình đầu độc chính là MAC của attacker. Còn nếu sau 1 khoảng thời gian mà ARP cache bị xoá thì mình pó tay, chưa tìm được giải pháp ) |
|
|
|
|
[Question] Sniffing For Dummies |
13/12/2006 19:06:04 (+0700) | #27 | 30262 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
thangdiablo wrote:
Tôi đặt trường hợp sau khi một attacker kết thúc quá trình sniff hệ thống LAN thì việc sniff của attacker này có để lại dấu vết gì không ?
Có cơ hội nào phát hiện +bằng chứng về việc hệ thống của mình bị sniff không ?
Thông thường thì cực kỳ khó phát hiện hành động sniff (đang xảy ra). Bởi vì sniff là "passive action", nó chỉ lắng nghe và không tạo một ảnh hưởng gì để có thể phát hiện, nhất là trong môi trường hub (dumb) ). Tuy nhiên, trong môi trường switch, nhất là managed switch, admin có thể detect tình trạng các NIC gắn vào switch. Khi một NIC được dùng để sniff, nó nằm ở tình trạng "promisuous" cho nên dễ detect.
Cách thủ công để detect một promisuous NIC là gởi một "non-broadcast" ARP đi đến các NIC trong subnet. NIC nào trong subnet ở tình trạng promiscuous sẽ cache ARP entry này. Sau đó, mình đổi MAC adddress nhưng giữ lại IP của máy (vừa gởi non-broadcast ARP) và gởi 1 broadcast ping đi. Các máy có NIC không ở tình trạng promiscuous sẽ respond cú ping này, các máy có NIC ở tình trạng promiscuous sẽ không trả lời (vì nó dã cache MAC address cũ của máy mình dùng để gởi non-broadcast ARP).
Một cách có độ chính xác thấp hơn là detect ping response time của một máy trên subnet. Khi máy này sniff, nó phải tốn CPU để parse payload và NIC phải bận rộn với khối lượng packet đang đi xuyên qua. Nếu ping response cao hơn hẳn mức trung bình của các máy khác trong subnet thì cơ hội xác định được máy nào dùng để sniff rất cao. Ít nhất cũng có thể giới hạn được vài host "bị nghi ngờ" để điều tra thêm.
Riêng với tình trạng đã sniff xong thì không có cách gì detect đâu bởi vì nó không lưu lại dấu hiệu gì hết ngoài một mớ packet dump được save ở đâu đó. Nhưng tìm hồ sơ lưu packet dump trên một network thì chẳng khác gì mò kim đáy biển.
Thân. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: Sniffing For Dummies |
14/12/2006 01:13:26 (+0700) | #28 | 30304 |
prof
Moderator
|
Joined: 23/11/2004 01:08:55
Messages: 205
Offline
|
|
Chào cả nhà,
Hôm nay mới để ý thấy topic này đang bàn luận sôi nổi quá, tôi cũng xin được góp vài lời.
Về bản chất, kiểu tấn công “ARP poisoning” là một trường hợp riêng của ARP spoofing attack. Cách hoạt động ARP Table poisoning như thế nào thì các bạn đã thảo luận rất rõ rồi.
Thanks anh em !
Tớ thấy một vấn đề nữa .
Mặc dù Web Server Cty tớ có hỗ trợ SSL .
Email Server thì có hỗ trợ SSL và SPA . Vậy mà khi tớ sniff thử thì vẫn thấy password toàn cleartext .
Tất nhiên tool của tớ có hỗ trợ ARP-HTTPS . Không lẽ SSL cũng thiếu an toàn đến vậy cơ à ?
Không chỉ SSL mà còn SSH, PPTP đều có thể bị sniff và bị giải mã (tham khảo thêm trong Ettercap).
gamma95 wrote:
...
tôi xin vd, tui là 1 thằng Admin trong LAN xài switch, tui nghi ngờ máy A nó dính Virus hay spyware gì đấy khiến A có thể biến thành Zombie, lúc đó tôi không có đk để đến trực tiếp máy A để quét virus chảng hạn, lúc đó tôi ngồi máy C và bắt đầu sử dụng ARP poisoning máy A để sau đó Sniff các gói packet từ máy A và phân tích xem các gói Packet đó có dấu hiệu của Zombie ko?? lúc đó máy tôi là máy C ko nhất thiết phải forward các gói tin từ máy A --> gateway thực vì ko cần thiết, làm thế khác nào tiếp tay cho spyware ?? Mục đích của tui lúc bấy giờ chỉ là "sniff một chiều" (theo các bạn định nghĩa :lol ) để khẳng định là máy A bị dính virus. Chỉ có vậy thôi, các bác cứ nghĩ sniff là phải hack hiếc là sao chời ?
ps: các bác cứ bàn về phương pháp chống đi, nhất là cách phát hiện ARP reply ko hợp lệ
Về cách sử dụng ARP Poisoning mà bạn gamma95 đề nghị để kiểm tra xem máy nào trong LAN bị nhiễm virus cũng rất thú vị. Thật sự cho đến nay tôi cũng chưa thấy ai dùng cách này để troubleshoot bao giờ! Theo tôi biết, hiện tại trên hầu hết các CISCO Switch đều hỗ trợ SPAN port để thực hiện việc sniff toàn bộ các gói tin cần thiết ra/vào một port nào đó, thậm chỉ cả trunk port (cho mục đích sniff VLANs). Nếu muốn sử dụng chức năng SPAN này, các bạn hoàn toàn có thể tham khảo các tài liệu đi kèm trên các Catalyst Switch tương ứng để cấu hình cho phù hợp.
Về cách chống ARP spoofing nói chung và ARP poisoning nói riêng, cho đến nay thật sự chưa có một giải pháp hoàn hảo nào. Các cách phòng chống theo như tôi được biết đều phải kết hợp nhiều biện pháp khác nhau. Nếu chỉ áp dụng cách nhập ARP entries “bằng tay” thì tôi e rằng sẽ quá sức đối với một admin quản lý một hệ thống mạng tầm trung. Thông thường trước đây tôi cũng chỉ áp dụng cách này đối với routers & servers trên các mạng LAN qui mô nhỏ mà thôi.
Tôi cũng xin giới thiệu công cụ http://www.securityfocus.com/tools/3517 cho môi trường Windows, bên cạnh Arpwatch (cho *NIX) mà bạn vietwow đã đề nghị. Tuy nhiên, Arpwatch thường không thích hợp đ/v mạng sử dụng DHCP. Nguyên nhân vì sao thì các bạn có thể tự tìm hiểu thêm nếu có hứng thú.
Gần đây có https://www.arp-guard.com/index.epl.en?set=1 và http://sguil.sourceforge.net/index.php?page=download cho *nix. Cơ chế hoạt động của Arp-Guard có phần dựa trên cách thức hoạt động của các hệ thống IDS. Đó là dựa trên các LAN sensors để kiểm soát các thông tin lien quan đến ARP. Thực sự thì tôi cũng chưa có dịp sử dụng công cụ này. Bạn có thể dùng nó nếu thấy hiệu quả.
Hiện nay, theo tôi được biết thì có một nhóm phát triển S-ARP (Secure ARP). Nếu các bạn quan tâm, các bạn có thể tìm đọc tài liệu: http://www.acsac.org/2003/papers/111.pdf. Biết đâu lại giúp ích được gì đó cho bạn.
Chúc vui.
|
|
|
|
|
|