[LAN ATTACK] Man In The Middle

Discussion in 'Networking' started by Mickey, Dec 9, 2017.

  1. Mickey

    Mickey Hacking For Hacker Staff Member




    Phương pháp tấn công đc hình dung qua chính cái tên gọi của nó.Là một phương pháp cơ bản và làm nền tảng chung cho nhiều kĩ thuật tấn công.Ở đây attacker đóng vai trò là người trung gian,đứng giữa,giả mạo trong phiên làm việc giữa victim và một máy chủ nào đó.Mọi gói tin xuất phát từ victim đến máy chủ hay ngược lại đề đi qua máy attacker ,nếu đc attacker forward .
    Xem mô hình dưới đây:

    [​IMG]

    Ta thấy attacker đã chèn vào giữa phiên giao dịch của victim và máy chủ.Vậy làm sao attacker làm đc điều này.Và các công cụ sniffer dùng phương pháp MITM như thế nào.
    Đầu tiên nói sơ qua cơ chế giao tiếp bình thường giữa victim và máy chủ khi attacker chưa tác động lên hệ thống.Khi 2 host giao tiếp với nhau,chúng cần địa chỉ nguồn và địa chỉ đích đến.Và do hiện nay người ta dùng các giao thức khác nhau trên tầng giao vận(IP,IPX) ,chính vì thế dẫn đến việc không thống nhất đối với các thiết bị .Có thể thiết bị này tương thích nhưng thiết bị khác lại không.Chính vì vậy sinh ra việc dùng ip MAC.Xem như là một tiêu chuẩn chung tương thích với các thiết bị khác nhau.Nhưng làm sao để từ IP có thể phiên ra ip MAC và ngược lại.Việc phiên dịch này là do giao thức ARP (address resolution protocol) thực hiện.
    Ta xem xét một bản tin ARP để thấy được việc phiên dịch IP-MAC.Một bản tin arp gồm các trường sau:

    [​IMG]

    Hardware type :Qui định kiểu của phần cứng.
    HW addr length : Cho biết độ dài của địa chỉ MAC ( ghi bằng mã hex)
    Protocol type : Cho biết kiểu của giao thức.
    Protocol addr length : Cho biết độ dài của địa chỉ IP
    Opcode : thể hiện đây là bản tin request (1) hay là bản tin reply (2)
    Các trường còn lại như source hardware address ,source protocol address,destination hardware addres ,destination protocol addresss cho biết địa chị vật lí và địa chỉ ip của máy nguồn và máy đích.

    Một bản tin arp với thông tin cụ thể có dạng như sau:

    [​IMG]
    Ở ví dụ này miêu tả một bản tin của một máy có IP là 192.168.1.1 gửi một bản tin request đến máy có ip là 192.168.1.2
    Quá trình đi của gói tin như sau.Máy có ip LÀ 192.168.1.1 gửi một request trong đó có chứ ip và mac của nó,kèm với ip đích đến. Module address resolution sẽ có nhiệm vụ chuyển địa chỉ logic của đích đến thành địa chỉ vật lí.Tiếp tục nó so sánh cặp địa chỉ này với bảng ánh xạ lưu trên ARP cache.Nếu trung lặp thì nó ghi các giá trị này vào ,rồi gửi lại về máy chủ dưới dạng bản tin reply .Nếu không trùng lặp thì nó sẽ gửi tiếp bản tin ARP request đến địa chỉ đích là địa chỉ broadcast (để có thể hỏi hết tất cả máy có trong mạng lan).

    Hình thức tấn công này chỉ có tác dụng thực trên mạng LAN.Vì nếu trên mạng WAN,Tại các nut mạng router nó có khả năng ngăn chặn các gói tin broadcast.

    [​IMG]

    Căn cứ vào cơ chế như vậy.Attacker đứng giữa.Liên tục gửi những gói arp reply cho máy chủ và liên tục gửi các gói arp request cho victim.Làm cho cả máy chủ lẫn victim đều hiểu nhầm đối tượng mình đang giao tiếp là ai.

    Hiện nay có rất nhiều tool dùng nguyên lí này để sniff các thông tin .Ví dụ như dsnif,ettercap,cain ,sniffer pro,wireshark,Network Monitor,Ethereal.
    Chúng ta sẽ demo các công cụ này.
    Đây tiên là demo giả mạo arp trên backtrack [ Phần này mình lấy từ blog capuchino cho nhanh ]


    Đầu tiên mở terminal lên.
    sửa lại file ip_forward bằng lệnh echo và toán tử viết chèn vào cuối file >> (để cho phép ip đc forward)
    sudo echo 1 >> /proc/sys/net/ipv4/ip_forward
    xong rồi đọc lại file này xem đã ghi thành công chưa nhé,nếu nhận đc là 1 thì là oke
    cat /proc/sys/net/ipv4/ip_forward
    giả sử ip của victim là 192.168.201.129
    trong đó gateway là 192.168.201.2

    ta tiếp tục
    arpspoof -i eth0 -t 192.168.201.2 192.168.201.129
    (nó update lại bản arp cache)
    sau khi nó chạy,thì terminal này bị busy,ta ko thể thao tác lệnh tiếp,vì nó phải giữ session lại.
    Rất may trên backtrack cho phép ta thao tác đa nhiệm.
    Mở 1 terminal khác lên,gõ screen rồi enter .


    trên terminal mới tiếp tục
    arpspoof -i eth0 -t 192.168.201.129 192.168.201.2

    [​IMG]

    lúc này thì 2 terminal trong nó như vậy.

    tiếp tục do terminal này bận nên ta tiếp tục mở 1 terminal khác,type screen và enter.
    trên terminal mới ta mở trình driftnet lên
    type:sudo driftnet -i eth0.

    [​IMG]

    tiếp tục mở terminal mới,type screen rồi type tiêp
    sudo urlsnarf -i eth0
    bây giờ nó sẽ lắng nghe trên các port 80,8080 hoặc 3128


    Giải sử bi giờ trên victim vào trang google tìm với từ khóa capuchino chẳng hạn nha
    thì trên driftnet của mình sẽ bắt đc gói tin hình ảnh truyền về ip 192.168.201.129


    đây là hình ảnh trên victim:

    [​IMG]

    đây là hình ảnh get đc và hiện lên driftnet:

    [​IMG]

    ương tự như thế,đối với các trang khác mình cũng xem đc thông tin.biết đc victim làm gì.Xem trên terminal.
    Chẳng hạn như xem hình dưới đây,ta thấy victim đang lượn lờ trong vhbsystem

    [​IMG]

    Cain and Abel:

    Mình demo bộ tool này trên win7.
    đầu tiên down Cain and Abel về ở đây http://www.softpedia.com/progDownload/Cain-and-Abel-Download-38678.html
    trước khi cài đặt Cain cần cài đặt WinPcap trước,để tí nữa nó tự tìm card mạng cho mình.Tải WinPcap về ở đây http://www.winpcap.org/install/default.htm
    Sau khi cài đặt ,trước khi chạy thì ta chú ý tắt tường lửa đi.Vì để tường lửa có thể sẽ không thực hiện đc.
    Mở cain lên chúng ta thấy giao diện ban đầu của nó như sau :
    [​IMG]

    Đầu tiên cần phải config cho nó,ta vào Configure chọn Netword Adapter thích hợp

    [​IMG]

    Sau đó chúng ta scan danh sách host có trong mạng nội bộ.Ấn vào biểu tưởng dấu + màu xanh (hoặc chọn trên thành menu File -Add to list).Rồi Ok

    [​IMG]

    CHuyển sang tab ARP

    [​IMG]

    Kích lên khung trống rồi chọn tiếp biểu tượng + màu xanh để add host victim cần tấn công vào (File - Add to list )

    Ta kích chọn vào địa chỉ default gateway đầu tiên rồi Add để add tất cả các host trong mạng nội bộ vào.Tiếp theo chọn victim cần tấn công giả mạo ARP rồi ok.Victim mình chọn ở đây có IP là 192.168.247.128 .

    [​IMG]

    ta kích tiếp vào đối tượng ta vừa add vào rồi chọn Start Arp [​IMG]

    [​IMG]

    Ta sẽ thấy từ chế độ idle nó sẽ chuyển sang chế độ Poisonning

    [​IMG]

    bây giờ ta sẽ chờ đợi lắng nghe và bắt các gói tin khi victim giao tiếp với máy chủ.Ví dụ như trên máy victim thực hiện một giao tiếp với giao thức http .Ta bắt được như sau

    [​IMG]

    tương tự với nhiều gói tin khác cũng thế.Căn bản của việc dùng cain là vậy.Có thời gian các bạn nên nghiên cứu kĩ hơn.Các chức năng mà cain tích hợp.Có rất nhiều lựa chọn làm đa dạng quá trình tấn công,ví dụ như có các option giúp chúng ta chọn một IP hoặc MAC giả mạo,hoặc có thể dùng chính địa chỉ của chúng ta.Vân Vân.
    Ettercap:Bộ công cụ được mệnh danh là Lord of the tokenring.

    Trên thực tế thì đây là bộ công cụ dùng để phân tích các gói tin đc trao đổi với máy tính.Nguyên tắc làm việc của nó cũng là giả danh địa chi MAC để cho máy đích và máy nguồn nhầm tưởng là đang trao đổi thông tin với nhau.Nhưng thực chất là qua máy có cài ettercap.
    Mình sẽ trình bày demo về ettercap với Backtrack .Nếu không có bạn có thể tải về và chạy trên mọi hệ điều hành.
    Bộ ettercap đc hỗ trợ nhiều interface khác nhau.
    ở đây có 4 interface,mình demo với curses GUI và GTK+GUI
    để vào giao diện curses GUI ta gõ dòng lệnh
    #ettercap -C
    Giao diện xuất hiện như thế này

    [​IMG]
    Ta cấu hình cho nó như sau
    Đầu tiên vào Sniff - Unified sniffing để chọn card mạng

    [​IMG]

    [​IMG]

    Lúc này đang ở chế độ lắng nghe.Nếu trên mạng nội bộ có một máy nào đó thao tác giao tiếp với mạng,Thì ta có thể bắt đc các bản tin này.

    [​IMG]

    ở đây cho thấy có một victim trong mạng lan và máy đich có địa chỉ ip 115.77.208.206 có trao đổi các gói tin với nhau với nội dung thông tin có chứa user và pass.Đây là chúng ta bắt gói tin một cách tràn lan trên mạng nội bộ.Muốn bắt đc chính xác từ một victim nào đó.Mà chúng ta mục đích sẵn.Thì đầu tiên ta scan host
    Trên menu bar chọn Hosts - Scan for host
    Nó sẽ scan toàn bộ netmask cho chúng ta.Tiếp theo ta chọn tấn công theo hình thức giả mạo ARP .Vào menu MITM - Arp poisoning

    [​IMG]

    Chọn xong nó sẽ hiện ra khung báo chọn parameter,ta bỏ qua không chọn nhấn enter.Nhận đc User messages như sau:

    [​IMG]

    Để tìm tên victim chúng ta muốn bắt bản tin tao vào Menu :View -Connections

    [​IMG]

    Gói host nào đang ở chế độ active thì ta có thể bắt đc.Và xem nó bằng cách kick vào host đấy,bản tin xem được đc viết dưới dạng đã mã hóa

    [​IMG]

    Để lưu lại thì ta chọn Logging - Log all packets and infos....
    để sau này ta có thể xem lại.

    Đối với interface dùng GTK+GUI thì dễ dùng hơn.Mở lên bằng lệnh
    #ettercap -G

    [​IMG]


    Chọn card mạng

    [​IMG]

    Scan host:Hosts->Scan for hosts

    [​IMG]

    Chọn tiếp :Hosts ->host list hiện ra như sau

    [​IMG]

    Add gateway vào target 2 và victim vào target 1 , rồichọn Mitm -Arp Poisoning , hiện ra optional parameters

    [​IMG]

    tiếp theo Start - Start sniffing để bắt đầu sniff thôi .
    Đây là một bản tin có chứa user và pass ta sniff đc từ victim

    [​IMG]

    ---------- Post added at 01:15 PM ---------- Previous post was at 01:11 PM ----------

    Bộ công cụ test wireshark (Phần này lấy từ blog capuchino .Lần trứoc hướng dẫn capuchino,nên giờ lấy lại công gõ).

    đầu tiên ta tải bộ công cụ scan wireshark ở trang chủ wireshark.org về cài đặt.Trước khi cài đặt cái này thì phải tại winPcap về đã.Để tí nữa nó tìm card mạng cho mình [ trang chủ của winPcap ở đây nhé http://www.winpcap.org/install/default.htm ].
    Tải xong về mở lên thì đại loại nó có giao diện như thế này

    [​IMG]

    Ta kích vào Interface list để hiện ra danh sách card mạng.
    Chọn card mạng mình cần scan.

    [​IMG]

    Sau khi khung capture Interfaces hiện lên thì chọn card [ hoặc network cần scan nhé ].
    Bấm start.
    Sau khi scan một lúc thì cho nó dừng lại.Scan vừa đủ thôi,chứ chờ nó xong lâu lắm.Tùy lúc mà cho nó dừng lại .

    ta thấy các session mà nó scan đc,thông qua các giao thức khác nhau .

    [​IMG]

    Ta mở khung search lên để dễ tìm thấy mục tiêu (Ctrl f)
    hoặc Edit /Find packages

    Mở lên rồi ta chọn các tùy chọn như search string,Package details

    http://4.bp.blogspot.com/-2F3nRbE8Pg0/UUJTgxvsuII/AAAAAAAAAaA/lYxvnZYdRK8/s320/04.png

    rồi nhập vào chữ datr (cái này là kinh nghiệm thôi,trong cookie facebook nó có chữ này ấy mà.

    sau khi seach xong
    ta tìm đc một đối tượng như sau

    [IMG]http://1.bp.blogspot.com/-c2VV0K5phPQ/UUJVn78vKTI/AAAAAAAAAaI/RQhilXJOF1w/s320/05.png

    ta thấy ngay dòng [truncated ] cookie:datr.....
    copy dòng này ra notepad,lấy 2 trường sau,cho vào addon cookie manage của firefox
    c_user=100004847377632; xs=60%3AWKLE4Ztc9cjSBg%3A0%3A1363298090
    để copy đc thì ta kích chuột phải chọn copy/bytes/Printable text only

    [IMG]http://1.bp.blogspot.com/-4xQLx0-SjF0/UUJXhpUTufI/AAAAAAAAAaQ/V90pVeewylI/s640/06.png

    sau đó add các trường này vào cookie manager

    [​IMG]

    bấm add ,tương tự nhập cho trường xs

    [​IMG]

    f5 và xem thành quả
     

Share This Page