Đọcnộidungbạn chat trongmạng
LAN
Thật ra thì cách dễ nhất để đọcchat của người khác là…lén đứng sau lưng người
ta mà nhìn , nhưng mà tôi sẽ không chịu trách nhiệm nếu bạn bị người đó phát
hiện, hậu quả bạn tự gánh chịu lấy nhé . Thôi, nóilan man vậy đủ rồi, let’s go.
Phần 1: Lý thuyết
Giả sử tôi có mô hình mạng như bên dưới:
Ở đây, tôi đóng vai 1 Attacker và muốn “nghe lén” cuộc “nói chuyện” giữa 2 máy
A và B. Nếu bạn nào có biết qua về mạng máy tính thì sẽ biết 1 máy tính có 1 địa
chỉ IP và 1 địa chỉ MAC (nó tương tự như số nhà bạn ấy mà), các địa chỉ này dùng
để nhận diện 1 máy tính trên mạng. Giả sử A muốn nói chuyện với B nhưng nó chỉ
biết địa chỉ IP của B mà không biết địa chỉ MAC của B, A lập tức gửi 1 gói tin
ARP Request ra toàn mạng và hỏi rằng: “Ê, ku nào có địa chỉ IP là x.y.z.t nói tao
biết địa chỉ MAC của mày là nhiêu?”. Khi đó, cả máy B lẫn máy Attacker đều
nhận được gói tin này, nhưng chỉ có B hồi đáp lại cho A bằng 1 gói tin ARP
Reply, báo cho A biết địa chỉ MAC của mình.
Khi đã có đủ thông tin về địa chỉ IP và MAC của máy B, A bắt đầu trao đổi dữ
liệu với B. Địa chỉ MAC của B sẽ được A lưu lại trong Cache để lần sau nếu có
trao đổi dữ liệu với B thì không cần phải hỏi địa chỉ MAC nữa. Tuy nhiên, vấn đề
nằm ở chỗ giao thức ARP hoạt động ở tầng 2, trong khi địa chỉ IP lại nằm ở tầng 3
(trong mô hình 7 tầng OSI) nên A sẽ không thể kiểm chứng được thông tin có
đúng là máy B với địa IP x.y.z.t có địa chỉ MAC như vậy không. Bây giờ,
Attacker chỉ cần gửi 1 gói tin ARP Reply cho A và báo rằng: “Ê, tao B nè. Giờ địa
chỉ MAC của tao là a-b-c-d chứ không giống hồi nãy nữa nha”. Vì không thể kiểm
chứng được thông tin này nên A cũng nhắm mắt đưa chân ghi thông tin này vào
Cache, đè lên thông tin chính xác về B đã ghi nhận ở bước trước. He he, như vậy,
bây giờ mỗi lần thay vì A gửi dữ liệu cho B thì nó lại gửi đến máy Attacker.
Nhưng một vấn đề khác lại xảy ra: nếu thông tin không đến được máy B thì máy B
đâu có biết mà trả lời máy A, vậy sao gọi là “nghe lén” A và B “nói chuyện”
được? Cách đơn giản là Attacker đánh lừa luôn cả B để B tưởng máy Attacker là
máy A, khi dữ liệu từ A gửi đến B (nhưng thực ra là đến Attacker), Attacker sẽ giữ
lại 1 bản và chuyển tiếp đến cho B. Khi B trả lời lại cho A (cũng lại đến Attacker),
Attacker cũng sẽ giữ lại 1 bản và chuyển tiếp đến cho A. Đến đây thì chắc các bạn
cũng hình dung ra cách mà Attacker nghe lén A và B nói chuyện rồi há. Attacker
trong trường hợp này được gọi là “Man-in-the-middle”.
Phần 2: Thực hành
Đọc xong phần lý thuyết trên, có bạn sẽ théc méc: “Ủa, sao ông nói ông chỉ tui
cách đọcchat Yahoo của người khác mà sao từ nãy giờ toàn nói gì mà máy A,
máy B, rồi máy Attacker tùm lum hết trơn, chả thấy nói tới Yahoo đâu hết”. “Bình
tĩnh nào bạn, tui gợi ý nhé: dù cho bạn có chat với ai đi nữa, thì nộidungchat của
bạn cũng phải đi từ máy bạn đến cái modem ADSL để ra internet chứ phải không
nào?”. “À, hình như tui có vẻ hiểu hiểu rồi đó. Có phải là cái máy mình muốn đọc
nội dungchat sẽ đóng vai trò máy A, còn modem ADSL sẽ đóng vai trò máy B
trong mô hình trên không?”. “Hoan hô, đúng rồi đó. Tui biết bạn thông minh lắm
mà. Nhưng mà đó chỉ là lý thuyết thôi, chúng ta không thể tay không mà bắt giặc
được. Bạn cần chuẩn bị cho tôi mấy thứ đồ nghề sau:
1. Cain & Abel: lấy ở www.oxid.it
2. Yahoo Messenger Monitor Sniffer: lấy
ở http://www.immonitor.com/download/yahoomonitor.exe
OK. Nhớ là cài đặt đầy đủ vô máy nhé (đừng có hỏi tui là cài làm sao, cái này bạn
phải tự biết). Let’s go.
Một vài hình ảnh trước khi bắt đầu tấn công:
Hình trên là ARP cache (để xem dùng lệnh apr -a) của máy A trước khi bị tấn
công. Internet Address chính là địa chỉ IP, còn Physical Address chính là địa chỉ
MAC. Địa chỉ 192.168.1.1 là địa chỉ IP của modem ADSL (đóng vai trò máy B),
có địa chỉ MAC là 00-01-38-56-fc-eb, còn địa chỉ 192.168.1.3 là địa chỉ IP của
máy Attacker (máy tui nè), có MAC là 00-16-d3-fd-99-a2. Địa chỉ IP của máy A
là 192.168.1.2 (ở dòng Interface đó ).
Bây giờ chạy Cain & Abel. Giao diện Cain nè:
OK. Nếu máy bạn chỉ có 1 card mạng thì không cần làm bước bên dưới. Vì máy
tôi có nhiều card mạng nên cần phải chỉ định card mạng sẽ dùng. Bấm vào menu
Configure để mở cửa sổ Configuration và chọn card mạng (chọn cái nào có IP
trùng với IP mình đang có). Bấm OK.
Tiếp theo, chọn tab Sniffer ở trên, sau đó chọn tiếp tab Hosts ở dưới. Bấm tiếp vào
biểu tượng thứ 2 từ bên trái qua, ngay bên dưới cái logo Cain (bạn sẽ thấy nó lõm
vào). Bấm tiếp vào dấu cộng (+) màu xanh. Cửa sổ MAC Address Scanner hiện ra.
Để mặc định và bấm OK. Bước này ta sẽ quét tất cả các địa chỉ IP và địa chỉ MAC
của tất cả các máy trong cùng mạngLAN
. Đọc nội dung bạn chat trong mạng
LAN
Thật ra thì cách dễ nhất để đọc chat của người khác là…lén đứng sau lưng. đâu hết”. “Bình
tĩnh nào bạn, tui gợi ý nhé: dù cho bạn có chat với ai đi nữa, thì nội dung chat của
bạn cũng phải đi từ máy bạn đến cái modem ADSL để