როგორ ჩავჭრათ მოძრაობა. კალმის ტესტერის საუკეთესო ხელსაწყოები: სნიფერი და პაკეტის მანიპულირება

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

ამ ქსელებს აქვს თავისებურება - ისინი ხშირად ღია Wi-Fi ქსელებია, რომლებთან დაკავშირება არ საჭიროებს პაროლს. არსებობს რაიმე დამატებითი უსაფრთხოების წესები ასეთ ქსელებთან მუშაობისთვის?

დიახ, ღია Wi-Fi ქსელის გამოყენებისას კარგად უნდა გესმოდეთ, რომ:

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

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

რაც შეეხება მეორე პუნქტს, აუცილებელია განვმარტოთ გადაცემული მონაცემების დაშიფვრა. მაგალითად, თუ თქვენ გახსნით ნებისმიერ საიტს, რომელიც იყენებს HTTPS პროტოკოლს (ანუ უსაფრთხო პროტოკოლს), მაგალითად, საიტს, მაშინ ამ საიტიდან თქვენამდე გადაცემული მონაცემები დაშიფრულია. თუ თქვენ გახსნით ვებსაიტს HTTP პროტოკოლის გამოყენებით, მაშინ ყველა გადაცემული მონაცემი: რომელ გვერდებს ეწვიეთ, რომელი კომენტარები დატოვეთ, რომელი ქუქი-ფაილები მიიღო თქვენს ბრაუზერში - ეს მონაცემები გადაიცემა დაშიფრული ფორმით. ასე რომ, თუ დაკავშირებული ხართ Wi-Fi წვდომის წერტილთან, რომელიც საჭიროებს პაროლს, მაშინ გადაცემული ტრაფიკი კვლავ დაშიფრულია. ანუ, თუ თქვენ გახსნით ვებსაიტს HTTPS პროტოკოლზე, გადაცემული ტრაფიკი ორჯერ დაშიფრულია (პირველად ბრაუზერიდან ვებ სერვერზე გადატანისას და საპირისპირო მიმართულებით, მეორედ თქვენი მოწყობილობიდან გადასვლისას. წვდომის წერტილი, ასევე საპირისპირო მიმართულება). და თუ თქვენ გახსნით ვებსაიტს HTTP პროტოკოლზე, მაშინ გადაცემული ტრაფიკი დაშიფრულია მხოლოდ ერთხელ (მხოლოდ თქვენი მოწყობილობიდან წვდომის წერტილში გადაცემის დროს და პირიქით).

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

ასე რომ: უნდა გახსოვდეთ, რომ ღია უკაბელო ქსელები მიდრეკილია მოსმენისკენ.

ტრაფიკის ჩარევა ღია Wi-Fi ქსელებში

წარმატებული თავდასხმისთვის გჭირდებათ Linux კომპიუტერი (მაგალითად, Kali Linux ან BlackArch), ასევე Wi-Fi ბარათი.

დავიწყოთ უკაბელო ინტერფეისების სახელების გადახედვით:

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

ჩვენ გადავცემთ უკაბელო ინტერფეისს მონიტორის რეჟიმში:

Sudo ip ბმულის დაყენება INTERFACE ქვემოთ sudo iw INTERFACE კომპლექტი მონიტორის კონტროლი sudo ip link დაყენება INTERFACE up

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

Sudo ip link set wlp0s20f0u2 down sudo iw wlp0s20f0u2 მონიტორის დაყენება კონტროლი sudo ip link set wlp0s20f0u2 up

გახსენით გადაღებული მონაცემთა ფაილი Wireshark-ში.

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

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

Მაგალითად:

Tcp.analysis.duplicate_ack_num == 1

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

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

Tcp.analysis.ack_lost_segment

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

კადრების ჩვენება, რომლებიც ხელახლა გადაცემულია (ხელახლა გაგზავნილი):

Tcp.analysis.retransmission

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

ფილტრის გამოყენება

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

ფილტრის გამოყენება

თქვენ შეგიძლიათ ნახოთ ყველა გაგზავნილი DNS მოთხოვნა.

ამ მოთხოვნების წყალობით, შეგიძლიათ გაიგოთ, თუ რომელ საიტებს ეწვივნენ მომხმარებლები (მაშინაც კი, თუ ეს საიტები იყენებენ HTTPS!), ასევე, რომელ ონლაინ სერვისებზე იყო მოთხოვნა.

მაგალითად, ეკრანის სურათზე შეგიძლიათ იხილოთ ონლაინ კინოთეატრის Netflix, Facebook, სხვადასხვა Google სერვისების მისამართები.

HTTP ტრაფიკის გასაფილტრად, ფილტრი:

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

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

ინტერნეტში გადმოწერილი და გახსნილი ფაილები ჩანს:

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

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

ვიღაც აახლებს Windows-ს:

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

ფილტრის გამოყენება

Http.cookie

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

თანაც ფილტრით

Http.set_cookie

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

მეზობლები ჩამოტვირთავენ უცნაურ ტორენტებს:

ასევე ჩანს POST მეთოდით გადაცემული მონაცემები:

ნებისმიერი ატვირთული სურათის მოსაძებნად:

Http.content_type შეიცავს "სურათს"

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

Http.content_type შეიცავს "gif" http.content_type შეიცავს "jpeg" http.content_type შეიცავს "png"

კონკრეტული ტიპის ფაილების მოსაძებნად:

Http.content_type შეიცავს "ტექსტს" http.content_type შეიცავს "xml" http.content_type შეიცავს "html" http.content_type შეიცავს "json" http.content_type შეიცავს "javascript" http.content_type შეიცავს "x-www-form-urlencode" http. content_type შეიცავს "შეკუმშულ" http.content_type შეიცავს "აპლიკაციას"

ეძებს Wireshark-ს მოთხოვნებს გარკვეული ტიპის ფაილების მისაღებად. მაგალითად, გადაცემული ZIP არქივების მოსაძებნად:

Http.request.uri შეიცავს "zip"-ს

Მაგივრად http.request.uriფილტრები შეიძლება გამოყენებულ იქნას უფრო დიდი სიზუსტისთვის http.request.uri.pathან http.request.uri.query, მაგალითად, JPG ფაილების ჩამოტვირთვის მოთხოვნების მოსაძებნად (სურათების ბმულები):

Http.request.uri.path შეიცავს "jpg"

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

Http.request.method == "POST"

ფილტრი, რომელიც აჩვენებს მხოლოდ GET მეთოდით გაგზავნილ მონაცემებს:

Http.request.method == "GET"

მოძებნეთ მოთხოვნები კონკრეტულ საიტზე (მასპინძელზე):

Http.host == " "

მოძებნეთ მოთხოვნები კონკრეტულ საიტზე სახელის ნაწილის მიხედვით:

Http.host შეიცავს "here.partial.name"

დასკვნა

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

საიტებსაც კი, რომლებიც იყენებენ HTTPS-ს, შეუძლიათ სპონტანურად გაამჟღავნონ მონაცემები. Მაგალითად:

ჩანს, რომ booking.com-ზე მონაცემები გადაცემულია მომხმარებლისგან დაშიფრული ფორმით, ამიტომ ამ ბმულის ჩაჭრა შესაძლებელია.

iPhone აპლიკაცია მუდმივად ჩამოტვირთავს ზოგიერთ (აუდიო?) ფაილს უსაფრთხო კავშირის გამოყენების გარეშე:

პოპულარული (ზოგიერთ რეგიონში) qq.com ან არ იყენებს დაშიფვრას, ან იყენებს საკუთარ ალგორითმს:

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

ქსელის ტრაფიკის ჩარევის მეთოდები

ქსელის მოსმენა ქსელის ანალიზატორის პროგრამების გამოყენებით არის პირველი, უმარტივესი გზა მონაცემთა გადასაჭრელად.

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

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

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

ორ A და B ჰოსტს შორის ქსელური კომუნიკაციის პროცესის ჩასაჭრელად და დახურვის მიზნით, თავდამსხმელს შეუძლია გააფუჭოს ინტერაქტიული ჰოსტების IP მისამართები საკუთარი IP მისამართით ARP და B ჰოსტებისთვის ყალბი ARP (Address Resolution Protocol) შეტყობინებების გაგზავნით.

ბრინჯი. 1 გააფუჭეთ ARP მოთხოვნა

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

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

  • თავდამსხმელი განსაზღვრავს A და B ჰოსტების MAC მისამართებს, მაგალითად, W2RK პაკეტიდან nbtstat ბრძანების გამოყენებით.
  • თავდამსხმელი აგზავნის შეტყობინებებს A და B ჰოსტების იდენტიფიცირებულ MAC მისამართებზე, რომლებიც არის ყალბი ARP პასუხები ჰოსტების IP მისამართების კომპიუტერების MAC მისამართებში გადაჭრის მოთხოვნებზე. ჰოსტი A არის ინფორმირებული, რომ B ჰოსტის IP მისამართი შეესაბამება თავდამსხმელის კომპიუტერის MAC მისამართს; ჰოსტ B-ს ეუბნება, რომ ჰოსტის A-ს IP მისამართი ასევე ემთხვევა თავდამსხმელის MAC მისამართს.
  • ჰოსტები A და B შეაქვთ მიღებულ MAC მისამართებს თავიანთ ARP ქეშებში და შემდეგ იყენებენ მათ ერთმანეთისთვის შეტყობინებების გასაგზავნად. ვინაიდან A და B IP მისამართები შეესაბამება თავდამსხმელის კომპიუტერის MAC მისამართს, ჰოსტები A და B, რაიმე ეჭვის გარეშე, ურთიერთობენ შუამავლის საშუალებით, რომელსაც შეუძლია გააკეთოს ის, რაც მათ სურთ თავიანთი შეტყობინებებით.

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

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

ქსელური ტრაფიკის გადასაჭრელად, თავდამსხმელს შეუძლია გააფუჭოს ქსელის როუტერის რეალური IP მისამართი საკუთარი IP მისამართით, მაგალითად, ყალბი ICMP Redirect შეტყობინებების გამოყენებით. ჰოსტ A-მ, RFC-1122-ის მიხედვით, უნდა განმარტოს მიღებული გადამისამართების შეტყობინება, როგორც პასუხი სხვა ჰოსტზე გაგზავნილ მონაცემთაგრამაზე, მაგალითად, B. ჰოსტი A განსაზღვრავს თავის მოქმედებებს გადამისამართების შეტყობინებაზე მიღებული გადამისამართების შეტყობინების შიგთავსის საფუძველზე. და თუ Datagram-ის გადამისამართება დაყენებულია გადამისამართებაში A-დან B-მდე ახალ მარშრუტზე, ამას გააკეთებს ჰოსტი A.

ბრინჯი. 2 ცრუ მარშრუტიზაცია

ცრუ მარშრუტიზაციის შესასრულებლად, თავდამსხმელმა უნდა იცოდეს გარკვეული დეტალები ლოკალური ქსელის ორგანიზაციის შესახებ, რომელშიც მდებარეობს A ჰოსტი, კერძოდ, როუტერის IP მისამართი, რომლის მეშვეობითაც ტრაფიკი იგზავნება ჰოსტ A-დან B-მდე. ამის ცოდნა თავდამსხმელმა. გამოიმუშავებს IP დატაგრამას, რომელშიც IP - გამგზავნის მისამართი განისაზღვრება როგორც როუტერის IP მისამართი, ხოლო მიმღები არის ჰოსტი A. ასევე, დატაგრამა შეიცავს ICMP გადამისამართების შეტყობინებას ახალი როუტერის მისამართის ველით დაყენებული, როგორც IP მისამართი. თავდამსხმელის კომპიუტერი. ასეთი შეტყობინების მიღებისთანავე, ჰოსტი A გაუგზავნის ყველა შეტყობინებას თავდამსხმელის კომპიუტერის IP მისამართზე.

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

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

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

TCP კავშირის გატაცება

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

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

TCP (Transmission Control Protocol) არის OSI სატრანსპორტო ფენის ერთ-ერთი ძირითადი პროტოკოლი, რომელიც იძლევა ლოგიკური კავშირების დამყარების საშუალებას ვირტუალურ საკომუნიკაციო არხზე. ამ არხის მეშვეობით ხდება პაკეტების გადაცემა და მიღება მათი თანმიმდევრობის აღრიცხვით, კონტროლდება პაკეტების ნაკადი, ორგანიზებულია დაზიანებული პაკეტების ხელახალი გადაცემა და სესიის ბოლოს წყდება საკომუნიკაციო არხი. TCP არის ერთადერთი ძირითადი პროტოკოლი TCP/IP ოჯახში, რომელსაც აქვს მოწინავე შეტყობინებები და კავშირის იდენტიფიკაციის სისტემა.

მიმოხილვა პროგრამული უზრუნველყოფის სურათების sniffers

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

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

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

ერთ-ერთი პრობლემა, რომელსაც შეიძლება შეხვდნენ პაკეტის ანალიზატორები, არის პროტოკოლის სწორად იდენტიფიცირების შეუძლებლობა ნაგულისხმევი პორტის გარდა სხვა პორტის გამოყენებით. მაგალითად, უსაფრთხოების გასაუმჯობესებლად, ზოგიერთი ცნობილი აპლიკაციის კონფიგურაცია შესაძლებელია ნაგულისხმევი პორტების გამოსაყენებლად. ასე რომ, ვებ სერვერისთვის რეზერვირებული ტრადიციული პორტის 80-ის ნაცვლად, ამ სერვერის იძულებით კონფიგურაცია შესაძლებელია 8088 პორტზე ან ნებისმიერ სხვაზე. ზოგიერთ პაკეტების ანალიზატორს ასეთ სიტუაციაში არ შეუძლია სწორად განსაზღვროს პროტოკოლი და აჩვენებს მხოლოდ ინფორმაციას ქვედა ფენის პროტოკოლის შესახებ (TCP ან UDP).

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

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

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

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

ნაბიჯი 1. დააინსტალირეთ და გაუშვით Wireshark ტრაფიკის დასაფიქსირებლად

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

მოძრაობის აღება დაიწყო.

ნაბიჯი 2. გადაღებული POST ტრაფიკის გაფილტვრა

ჩვენ ვხსნით ბრაუზერს და ვცდილობთ შევიდეთ ნებისმიერ რესურსში მომხმარებლის სახელისა და პაროლის გამოყენებით. ავტორიზაციის პროცესის დასრულების და საიტის გახსნის შემდეგ, ჩვენ ვწყვეტთ ტრაფიკის აღებას Wireshark-ში. შემდეგ გახსენით პროტოკოლის ანალიზატორი და ნახეთ პაკეტების დიდი რაოდენობა. სწორედ ამ ეტაპზეა, რომ IT პროფესიონალების უმეტესობა უარს ამბობს, რადგან არ იციან რა გააკეთონ შემდეგ. მაგრამ ჩვენ ვიცით და გვაინტერესებს კონკრეტული პაკეტები, რომლებიც შეიცავს POST მონაცემებს, რომლებიც გენერირებულია ჩვენს ადგილობრივ აპარატზე, როდესაც ავსებს ფორმას ეკრანზე და იგზავნება დისტანციურ სერვერზე, როდესაც დააჭირეთ ღილაკს "შესვლა" ან "ავტორიზაცია" ბრაუზერი.

შემოიღეთ სპეციალური ფილტრი ფანჯარაში დაჭერილი პაკეტების საჩვენებლად: http.მოთხოვნა.მეთოდი == “პოსტი"

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

ნაბიჯი 3. იპოვეთ მომხმარებლის სახელი და პაროლი

დააწკაპუნეთ მაუსის მარჯვენა ღილაკით და აირჩიეთ ელემენტი მენიუდან მიჰყევით TCP Steam-ს


ამის შემდეგ, ტექსტი გამოჩნდება ახალ ფანჯარაში, რომელიც კოდში აღადგენს გვერდის შინაარსს. მოვძებნოთ ველები „პაროლი“ და „მომხმარებელი“, რომლებიც შეესაბამება პაროლს და მომხმარებლის სახელს. ზოგიერთ შემთხვევაში, ორივე ველი ადვილად იკითხება და არც კი დაშიფრული, მაგრამ თუ ჩვენ ვცდილობთ ტრაფიკის აღებას ძალიან ცნობილ რესურსებზე წვდომისას, როგორიცაა Mail.ru, Facebook, Vkontakte და ა.შ., მაშინ პაროლი დაშიფრული იქნება:

HTTP / 1.1 302 ნაპოვნია

სერვერი: Apache / 2.2.15 (CentOS)

X-Powered-By: PHP / 5.3.3

P3P: CP = "NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

Set-Cookie: პაროლი = ; იწურება = ხუთ, 07-ნოე-2024 23:52:21 GMT; გზა =/

ადგილმდებარეობა: loggedin.php

შინაარსი-სიგრძე: 0

კავშირი: დახურვა

შინაარსი-ტიპი: ტექსტი / html; სიმბოლოების ნაკრები = UTF-8

ამრიგად, ჩვენს შემთხვევაში:

მომხმარებლის სახელი: networkguru

პაროლი:

ნაბიჯი 4. პაროლის გაშიფვრისთვის კოდირების ტიპის განსაზღვრა

მივდივართ, მაგალითად, საიტზე http://www.onlinehashcrack.com/hash-identification.php#res და საიდენტიფიკაციო ფანჯარაში შევიყვანთ ჩვენს პაროლს. მე მომცეს კოდირების პროტოკოლების სია პრიორიტეტის მიხედვით:

ნაბიჯი 5. მომხმარებლის პაროლის გაშიფვრა

ამ ეტაპზე ჩვენ შეგვიძლია გამოვიყენოთ ჰეშკატის პროგრამა:

~ # hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

გამოსავალზე მივიღეთ გაშიფრული პაროლი: simplepassword

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

  • POP პროტოკოლი და ფილტრი ასე გამოიყურება: pop.request.command == "USER" || pop.request.command == "PASS"
  • IMAP და ფილტრი იქნება: imap.request შეიცავს "შესვლას"
  • SMTP პროტოკოლი და თქვენ უნდა შეიყვანოთ შემდეგი ფილტრი: smtp.req.command == "AUTH"

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

ნაბიჯი 6. რა მოხდება, თუ ტრაფიკი დაშიფრულია და იყენებს HTTPS-ს?

ამ კითხვაზე პასუხის რამდენიმე ვარიანტი არსებობს.

ვარიანტი 1. დაკავშირება მომხმარებლისა და სერვერის კავშირის გასაწყვეტად და კავშირის დამყარების მომენტში ტრაფიკის დასაფიქსირებლად (SSL Handshake). როდესაც კავშირი დამყარდება, შეგიძლიათ სესიის გასაღების ჩაჭრა.

ვარიანტი 2. შეგიძლიათ გაშიფროთ HTTPS ტრაფიკი Firefox-ის ან Chrome-ის მიერ ჩაწერილი სესიის გასაღების ჟურნალის ფაილის გამოყენებით. ამისათვის ბრაუზერი უნდა იყოს კონფიგურირებული ისე, რომ ჩაწეროს ეს დაშიფვრის გასაღებები ჟურნალის ფაილში (მაგალითი FireFox-ზე დაფუძნებული) და თქვენ უნდა მიიღოთ ეს ჟურნალის ფაილი. არსებითად, თქვენ უნდა მოიპაროთ სესიის გასაღების ფაილი სხვა მომხმარებლის მყარი დისკიდან (რაც უკანონოა). კარგად, მაშინ დააფიქსირეთ ტრაფიკი და გამოიყენეთ მიღებული გასაღები მის გასაშიფრად.

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

1 ან 2 ვარიანტის გასაღებების მიღების შემდეგ, თქვენ უნდა დაარეგისტრიროთ ისინი WireShark-ში:

  1. გადადით მენიუში Edit - Preferences - Protocols - SSL.
  2. დააყენეთ დროშა "SSL ჩანაწერების ხელახლა შეკრება, რომლებიც მოიცავს მრავალ TCP სეგმენტს".
  3. "RSA გასაღებების სია" და დააწკაპუნეთ რედაქტირება.
  4. ყველა ველში შევიყვანთ მონაცემებს და გასაღებით ვწერთ ფაილში გზას

WireShark-ს შეუძლია RSA ალგორითმის გამოყენებით დაშიფრული პაკეტების გაშიფვრა. თუ DHE / ECDHE, FS, ECC ალგორითმები გამოიყენება, სნაიფერი არ არის ჩვენი დამხმარე.

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

ბონუსი

ვიდეო: Wireshark Packet Sniffing მომხმარებლის სახელები, პაროლები და ვებ გვერდები


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

ქსელის ყნოსვა

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

ყნოსვის ტექნოლოგიის დემონსტრირებისთვის ჩვენ გამოვიყენებთ ძალიან პოპულარულ სნიფერ პროგრამას SpyNetრომელიც შეგიძლიათ ნახოთ ბევრ ვებსაიტზე. პროგრამის ოფიციალური საიტი SpyNetმდებარეობს http://members.xoom.com/layrentiu2/, სადაც შეგიძლიათ ჩამოტვირთოთ პროგრამის დემო ვერსია.

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

სამწუხაროდ, დემო ვერსიაში SpyNetშესაძლებლობები PipeNetშემოიფარგლება HTTP პაკეტის დემო კონსტრუქციით, ამიტომ ჩვენ არ შეგვიძლია იმის დემონსტრირება, თუ როგორ მუშაობს იგი SpyNetსრულად. თუმცა, ჩვენ გამოვავლენთ ქსელის სნიფის შესაძლებლობებს. SpyNetჩვენი ექსპერიმენტული ქსელის მაგალითზე, ტექსტური ფაილის გადატანა ჰოსტიდან ხმალი-2000წთითო მასპინძელზე ალექს-ზრეგულარული Windows Explorer-ის გამოყენებით. ერთდროულად კომპიუტერზე A1ex-1ჩვენ გავუშვით პროგრამა CaptureNet, რომელიც გადასცემს გადაცემულ პაკეტებს და საშუალებას მოგცემთ წაიკითხოთ გადაცემული ფაილის შინაარსი Ethernet-ის ჩარჩოებში. ნახ. 1 აჩვენებს საიდუმლო შეტყობინების ტექსტს ფაილში საიდუმლო.txt; ჩვენ შევეცდებით ვიპოვოთ ეს ტექსტი გადაღებულ Ethernet ჩარჩოებში.

ბრინჯი. 1. საიდუმლო შეტყობინების ტექსტი Notepad ფანჯარაში

მიჰყევით ამ ნაბიჯებს Ethernet ჩარჩოების გადასაღებად.

Კომპიუტერზე ალექს-ზგაუშვით პროგრამა CaptureNet... პროგრამის გამოჩენილ სამუშაო ფანჯარაში აირჩიეთ მენიუს ბრძანება გადაღება * დაწყება(Capture * Start) და დაიწყეთ ქსელის ფრეიმების აღების პროცესი.

Windows Explorer-ის გამოყენებით დააკოპირეთ Security.txt ფაილი თქვენი კომპიუტერიდან ხმალი-2000წზე A1ex-3.

Secret.txt ფაილის გადაცემის შემდეგ აირჩიეთ მენიუს ბრძანება გადაღება * გაჩერება(გადაიღეთ * Stop) და შეაჩერეთ თვალთვალის პროცესი.

გადაღებული Ethernet ჩარჩოები გამოჩნდება პროგრამის სამუშაო ფანჯრის მარჯვენა ნაწილში. CaptureNet(ნახ. 2), ზედა სიაში თითოეული ხაზი წარმოადგენს Ethernet ჩარჩოს, ხოლო სიის ქვემოთ ნაჩვენებია შერჩეული ჩარჩოს შინაარსი.

ბრინჯი. 2. Ethernet ჩარჩო შეიცავს საიდუმლო შეტყობინების ტექსტს

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

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

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

ქსელის ტრაფიკის ჩარევის მეთოდები

ქსელის სნიფერი ზემოაღნიშნულის მსგავსი ქსელის სნაიფერებით CaptureNet, არის პირველი, უმარტივესი გზა მონაცემთა გადასაჭრელად. გარდა ამისა SpyNetქსელის ამოცნობისთვის გამოიყენება მრავალი ინსტრუმენტი, რომელიც თავდაპირველად შეიქმნა ქსელის აქტივობის ანალიზისთვის, ქსელების დიაგნოსტიკისთვის, ტრაფიკის არჩევისთვის მითითებული კრიტერიუმების მიხედვით და ქსელის ადმინისტრირების სხვა ამოცანების მიხედვით. ასეთი პროგრამის მაგალითია tcpdump (http://www.tcpdump.org), რომელიც საშუალებას გაძლევთ ჩაწეროთ ქსელის ტრაფიკი სპეციალურ ჟურნალში შემდგომი ანალიზისთვის.

ქსელის მოსმენისგან დასაცავად გამოიყენება სპეციალური პროგრამები, მაგალითად, ანტისნიფი (http://www.securitysoftwaretech.com/antisniff), რომლებსაც შეუძლიათ ქსელში არსებული კომპიუტერების იდენტიფიცირება, რომლებიც დაკავებულნი არიან ქსელის ტრაფიკის მოსმენით. Antisnifer პროგრამები მათი პრობლემების გადასაჭრელად იყენებენ სპეციალურ ნიშანს ქსელში მოსასმენი მოწყობილობების არსებობის შესახებ - სნაიფერის კომპიუტერის ქსელის ბარათი უნდა იყოს სპეციალური მოსმენის რეჟიმში. მოსმენის რეჟიმში ყოფნისას, ქსელური კომპიუტერები რეაგირებენ სპეციალური გზით IP მონაცემთა გრამაზე, რომელიც გაგზავნილია ტესტირებადი ჰოსტის მისამართზე. მაგალითად, მოსასმენი ჰოსტები, როგორც წესი, ამუშავებენ ყველა შემომავალ ტრაფიკს, არ შემოიფარგლება ჰოსტის მისამართზე გაგზავნილი დატაგრამებით. არსებობს მასპინძლის საეჭვო ქცევის სხვა ნიშნები, რომლებსაც პროგრამა შეუძლია ამოიცნოს. ანტისნიფი.

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

გააფუჭეთ ARP მოთხოვნები

ორ A და B ჰოსტს შორის ქსელური კომუნიკაციის პროცესის ჩასაჭრელად და დახურვის მიზნით, თავდამსხმელს შეუძლია გააფუჭოს ინტერაქტიული ჰოსტების IP მისამართები საკუთარი IP მისამართით ARP და B ჰოსტებისთვის ყალბი ARP (Address Resolution Protocol) შეტყობინებების გაგზავნით. თქვენ შეგიძლიათ შეიტყოთ მეტი ARP-ის შესახებ დანართში D, რომელიც აღწერს, თუ როგორ უნდა გადაწყვიტოთ (თარგმნოთ) ჰოსტის IP მისამართი აპარატის მისამართად (MAC მისამართი), რომელიც ჩართულია ჰოსტის NIC-ში. ვნახოთ, როგორ შეუძლია ჰაკერს გამოიყენოს ARP ქსელური კომუნიკაციის ჩასარიცხად ჰოსტებს შორის A და B.

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

თავდამსხმელი განსაზღვრავს A და B ჰოსტების MAC მისამართებს, მაგალითად, ბრძანების გამოყენებით nbtstatპაკეტიდან W2RK.

თავდამსხმელი აგზავნის შეტყობინებებს A და B ჰოსტების იდენტიფიცირებულ MAC მისამართებზე, რომლებიც არის ყალბი ARP პასუხები ჰოსტების IP მისამართების კომპიუტერების MAC მისამართებში გადაჭრის მოთხოვნებზე. ჰოსტი A არის ინფორმირებული, რომ B ჰოსტის IP მისამართი შეესაბამება თავდამსხმელის კომპიუტერის MAC მისამართს; ჰოსტ B-ს ეუბნება, რომ ჰოსტის A-ს IP მისამართი ასევე ემთხვევა თავდამსხმელის MAC მისამართს.

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

ასეთი თავდასხმებისგან თავის დასაცავად, ქსელის ადმინისტრატორებმა უნდა შეინარჩუნონ მონაცემთა ბაზა MAC მისამართების და მათი ქსელური კომპიუტერების IP მისამართების რუკების ცხრილით. გარდა ამისა, სპეციალური პროგრამული უზრუნველყოფის გამოყენებით, მაგალითად, კომუნალური arpwatch (ftp://ftp.ee.lbl.gov/arpwatch-2.lab.tar.gz), შეგიძლიათ პერიოდულად გამოიკვლიოთ ქსელი და დაადგინოთ შეუსაბამობები.

UNIX ქსელებზე, ამ სახის ყალბი ARP შეტევა შეიძლება განხორციელდეს სისტემის კომუნალური საშუალებების გამოყენებით ქსელის ტრაფიკის მონიტორინგისა და კონტროლისთვის, როგორიცაა arpredirect... სამწუხაროდ, ასეთი საიმედო საშუალებები აშკარად არ არის დანერგილი Windows 2000 / XP ქსელებში. მაგალითად, NTsecurity ვებსაიტზე ( http://www.ntsecurity.nu) შეგიძლიათ ჩამოტვირთოთ პროგრამა GrabitAII, წარმოდგენილია როგორც ქსელის ჰოსტებს შორის ტრაფიკის გადამისამართების საშუალება. თუმცა, პროგრამის ფუნქციონირების ელემენტარული შემოწმება GrabitAIIაჩვენებს, რომ ის ჯერ კიდევ შორს არის სრულფასოვანი წარმატებისგან თავისი ფუნქციების განხორციელებაში.

ცრუ მარშრუტიზაცია

ქსელური ტრაფიკის გადასაჭრელად, თავდამსხმელს შეუძლია გააფუჭოს ქსელის როუტერის რეალური IP მისამართი საკუთარი IP მისამართით, მაგალითად, ყალბი ICMP Redirect შეტყობინებების გამოყენებით. ჰოსტ A-მ, RFC-1122-ის მიხედვით, უნდა განმარტოს მიღებული გადამისამართების შეტყობინება, როგორც პასუხი სხვა ჰოსტზე გაგზავნილ მონაცემთაგრამაზე, მაგალითად, B. ჰოსტი A განსაზღვრავს თავის მოქმედებებს გადამისამართების შეტყობინებაზე მიღებული გადამისამართების შეტყობინების შიგთავსის საფუძველზე. და თუ Datagram-ის გადამისამართება დაყენებულია გადამისამართებაში A-დან B-მდე ახალ მარშრუტზე, ამას გააკეთებს ჰოსტი A.

ცრუ მარშრუტიზაციის შესასრულებლად, თავდამსხმელმა უნდა იცოდეს გარკვეული დეტალები ლოკალური ქსელის ორგანიზაციის შესახებ, რომელშიც მდებარეობს A ჰოსტი, კერძოდ, როუტერის IP მისამართი, რომლის მეშვეობითაც ტრაფიკი იგზავნება ჰოსტ A-დან B-მდე. ამის ცოდნა თავდამსხმელმა. გამოიმუშავებს IP დატაგრამას, რომელშიც IP - გამგზავნის მისამართი განისაზღვრება როგორც როუტერის IP მისამართი, ხოლო მიმღები არის ჰოსტი A. ასევე, დატაგრამა შეიცავს ICMP გადამისამართების შეტყობინებას ახალი როუტერის მისამართის ველით დაყენებული, როგორც IP მისამართი. თავდამსხმელის კომპიუტერი. ასეთი შეტყობინების მიღებისთანავე, ჰოსტი A გაუგზავნის ყველა შეტყობინებას თავდამსხმელის კომპიუტერის IP მისამართზე.

ასეთი შეტევისგან თავის დასაცავად, A ჰოსტზე გამორთეთ ICMP გადამისამართების შეტყობინებების დამუშავება და ბრძანება (მაგალითად, firewall-ის გამოყენებით). ტრასერტი(უნიქსზე ეს არის tracerout ბრძანება). ამ კომუნალურ კომპანიებს შეუძლიათ იპოვონ დამატებითი მარშრუტი, რომელიც გამოჩნდა ადგილობრივ ქსელში, რომელიც არ იყო გათვალისწინებული ინსტალაციის დროს, თუ, რა თქმა უნდა, ქსელის ადმინისტრატორი ფხიზლად არის.

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

ვირტუალური პირადი ქსელები (VPN) უზრუნველყოფენ პრაქტიკულ განხორციელებას მე-4 თავში აღწერილი კომუნიკაციების უსაფრთხოების ყველა კრიპტოგრაფიული მეთოდისთვის. კრიპტოგრაფიული დაცვის პრინციპებისა და მეთოდების მოკლე მიმოხილვა შეგიძლიათ იხილოთ დანართ E-ში და აპლიკაციის მიერ მოწოდებული კრიპტოგრაფიული დაცვის დეტალური აღწერაში. PGP დესკტოპის უსაფრთხოება (http://www.pgp.com).

TCP კავშირის გატაცება

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

შემუშავებულია რამდენიმე ეფექტური პროგრამა TCP კავშირის გატაცების შეტევების განსახორციელებლად, მაგრამ ისინი ყველა დანერგილია Unix პლატფორმისთვის და ეს უტილიტები წარმოდგენილია მხოლოდ წყაროს კოდით ვებ საიტებზე. ამრიგად, ჩვენთვის, როგორც ჰაკერების კეთილშობილურ საქმეში დარწმუნებული პრაქტიკოსებისთვის, TCP კავშირის ჩარევით შეტევები ნაკლებად გამოსადეგია. (მათ ვისაც სურს სხვისი პროგრამის კოდის გაგება, შეუძლია მიმართოს საიტს http://www.cri.cz/~kra/index.htmlსადაც შეგიძლიათ ჩამოტვირთოთ ცნობილი TCP კავშირის ჩარევის პროგრამის წყაროს კოდი Ნადირობისპაველ კრაუზისგან).

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

TCP (Transmission Control Protocol) არის OSI სატრანსპორტო ფენის ერთ-ერთი ძირითადი პროტოკოლი, რომელიც იძლევა ლოგიკური კავშირების დამყარების საშუალებას ვირტუალურ საკომუნიკაციო არხზე. ამ არხის მეშვეობით ხდება პაკეტების გადაცემა და მიღება მათი თანმიმდევრობის აღრიცხვით, კონტროლდება პაკეტების ნაკადი, ორგანიზებულია დაზიანებული პაკეტების ხელახალი გადაცემა და სესიის ბოლოს წყდება საკომუნიკაციო არხი. TCP არის ერთადერთი ძირითადი პროტოკოლი TCP/IP ოჯახში, რომელსაც აქვს მოწინავე შეტყობინებები და კავშირის იდენტიფიკაციის სისტემა.

TCP პაკეტის იდენტიფიცირებისთვის TCP სათაურში არის ორი 32-ბიტიანი იდენტიფიკატორი, რომელიც ასევე მოქმედებს როგორც პაკეტის მრიცხველი, რომელსაც ეწოდება მიმდევრობის ნომერი და დადასტურების ნომერი. ჩვენ ასევე დავინტერესდებით TCP პაკეტის სხვა ველით, რომელსაც ეწოდება საკონტროლო ბიტები. ეს 6-ბიტიანი ველი შეიცავს შემდეგ საკონტროლო ბიტებს (მიმდევრობით მარცხნიდან მარჯვნივ):

URG - სასწრაფო დროშა;

ACK - დადასტურების დროშა;

PSH - ტარება დროშა;

RST - კავშირის აღდგენის დროშა;

SYN - სინქრონიზაციის დროშა;

FIN - კავშირის შეწყვეტის დროშა.

მოდით შევხედოთ როგორ შევქმნათ TCP კავშირი.

1. თუ ჰოსტ A-ს სჭირდება TCP კავშირის დამყარება ჰოსტ B-თან, ჰოსტი A უგზავნის ჰოსტ B შემდეგ შეტყობინებას:

A -> B: SYN, ISsa

ეს ნიშნავს, რომ A ჰოსტის მიერ გაგზავნილ შეტყობინებას აქვს SYN (Synchronize sequence number) დროშა დაყენებული და მიმდევრობის ნომრის ველი დაყენებულია 32-ბიტიან საწყის მიმდევრობის ნომერზე (ISSa).

2. ჰოსტი A-სგან მიღებული მოთხოვნის საპასუხოდ, ჰოსტი B პასუხობს შეტყობინებით, რომელშიც დაყენებულია SYN ბიტი და დაყენებულია ACK ბიტი. მიმდევრობის ნომრის ველში ჰოსტი B ადგენს თავის საწყის მრიცხველს - ISSb; დადასტურების ნომრის ველი შეიცავს ISSa მნიშვნელობას, რომელიც მიიღეს პირველ პაკეტში ჰოსტ A-დან, გაზრდილი ერთით. ამრიგად, მასპინძელი B პასუხობს შემდეგი შეტყობინებით:

B -> A: SYN, ACK, ISSb, ACK (ISSa + 1)

3. ბოლოს ჰოსტი A უგზავნის შეტყობინებას B ჰოსტს, რომელშიც მითითებულია: bit ჰკითხეთ; რიგითი ველი შეიცავს მნიშვნელობას ISsa + 1; დადასტურების ნომრის ველი შეიცავს მნიშვნელობას ISSb + 1... ამის შემდეგ TCP კავშირი ჰოსტებს შორის და დაარსებულად ითვლება:

A -> B: ACK, ISSa + 1, ACK (ISSb + 1)

4. ახლა მასპინძელი შეუძლია მონაცემთა პაკეტების გაგზავნა ჰოსტში ახლად შექმნილ ვირტუალურ TCP არხზე:

A -> B: ACK, ISSa + 1, ACK (ISSb + 1); DATA

Აქ DATAაღნიშნავს მონაცემებს.

TCP კავშირის შექმნის ზემოაღნიშნული ალგორითმიდან ჩანს, რომ TCP აბონენტებისა და TCP კავშირების ერთადერთი იდენტიფიკატორი არის მიმდევრობის ნომრის ორი 32-ბიტიანი პარამეტრი და დადასტურების ნომერი - ISSaდა ISSb... ამიტომ, თუ ჰაკერი მოახერხებს ველების მიმდინარე მნიშვნელობების გარკვევას ISSaდა ISSb, მაშინ არაფერი შეუშლის მას ყალბი TCP პაკეტის ჩამოყალიბებაში. ეს ნიშნავს, რომ ჰაკერისთვის საკმარისია პარამეტრების მიმდინარე მნიშვნელობების პოვნა. ISSaდა ISSb TCP პაკეტი მოცემული TCP კავშირისთვის, გაგზავნეთ პაკეტი ნებისმიერი ჰოსტიდან ინტერნეტში კლიენტის სახელით მოცემული TCP კავშირისთვის და ეს პაკეტი მიიღება როგორც მოქმედი!

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

გარდა ამისა, რადგან FTP და TELNET პროტოკოლები არ ამოწმებენ შეტყობინებების გამგზავნის IP მისამართებს, ყალბი პაკეტის მიღების შემდეგ, FTP ან TELNET სერვერები აგზავნიან საპასუხო შეტყობინებას ყალბ პაკეტში მითითებულ ჰაკერის ჰოსტის IP მისამართზე. . ამის შემდეგ, ჰაკერული ჰოსტი დაიწყებს მუშაობას FTP ან TELNET სერვერთან თავისი IP მისამართიდან, მაგრამ ლეგალურად დაკავშირებული მომხმარებლის უფლებებით, რომელიც, თავის მხრივ, დაკარგავს კავშირს სერვერთან მრიცხველების შეუსაბამობის გამო.

ამრიგად, ზემოთ აღწერილი შეტევის განსახორციელებლად აუცილებელი და საკმარისი პირობაა ორი მიმდინარე 32-ბიტიანი პარამეტრის ცოდნა. ISSaდა ISSb TCP კავშირის იდენტიფიცირება. განვიხილოთ მათი მოპოვების შესაძლო გზები. იმ შემთხვევაში, როდესაც ჰაკერული ჰოსტი დაკავშირებულია თავდასხმულ ქსელის სეგმენტთან, მნიშვნელობების მოპოვების ამოცანაა ISSaდა ISSbტრივიალურია და წყდება ქსელის ტრაფიკის ანალიზით. ამიტომ, მკაფიოდ უნდა გვესმოდეს, რომ TCP პროტოკოლი, პრინციპში, საშუალებას აძლევს დაიცვას კავშირი მხოლოდ იმ შემთხვევაში, თუ თავდამსხმელს არ შეუძლია ამ კავშირზე გადაცემული შეტყობინებების ჩაჭრა, ანუ მხოლოდ იმ შემთხვევაში, თუ ჰაკერის ჰოსტი დაკავშირებულია ქსელის სეგმენტთან, რომელიც განსხვავდება აბონენტის TCP კავშირის სეგმენტი.

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

TCP კავშირის პარამეტრების საწყისი მნიშვნელობის მათემატიკური პროგნოზირება წინა მნიშვნელობების ექსტრაპოლაციით ISSaდა ISSb.

დაუცველობის გამოყენება Unix rsh სერვერებზე TCP კავშირის აბონენტების იდენტიფიცირებისთვის.

პირველი პრობლემა მოგვარებულია TCP პროტოკოლის დანერგვის სიღრმისეული შესწავლით სხვადასხვა ოპერაციულ სისტემაში და ახლა წმინდა თეორიული ღირებულება აქვს. მეორე პრობლემა მოგვარებულია Unix სისტემის დაუცველობების გამოყენებით სანდო ჰოსტების იდენტიფიცირებისთვის. (ნდობა მოცემული მასპინძლის მიმართ დაურეკა ქსელის მასპინძელს რომლის მომხმარებელს შეუძლია ჰოსტთან დაკავშირება არ არის ავტორიზაცია ჰოსტის r-სერვისით ). TCP პაკეტების პარამეტრებით მანიპულირებით, ჰაკერს შეუძლია სცადოს სანდო ჰოსტის თავისებურება და შეაჩეროს TCP კავშირი თავდასხმულ ჰოსტთან.

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

დასკვნა

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

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

ორიგინალი: Network sniffing
ავტორი: პოლ კობო
გამოქვეყნების თარიღი: 2015 წლის 12 მარტი
თარგმანი: ა.პანინი
გადაცემის თარიღი: 2015 წლის 1 აპრილი

თავი 23. ქსელის ტრაფიკის აღება

ქსელის ადმინისტრატორს უნდა შეეძლოს გამოიყენოს sniffer, როგორიცაა wireshark ან tcpdump, ქსელის პრობლემების დიაგნოსტიკისთვის.

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

23.1. Wireshark აპლიკაცია

23.1.1. Wireshark-ის დაყენება

ეს მაგალითი იძლევა ბრძანებას Wireshark-ის ინსტალაციისთვის დისტრიბუციებზე, რომლებიც იყენებენ პროგრამულ პაკეტებს .deb გაფართოებით (Debian, Mint, Xubuntu და სხვა დისტრიბუციების ჩათვლით).

[ელფოსტა დაცულია]: ~ # პაკეტის სიების წაკითხვა შესრულებულია.

დისტრიბუციებზე, რომლებიც იყენებენ .rpm პროგრამულ პაკეტებს, როგორიცაა CentOS, RHEL და Fedora, yum შეიძლება გამოყენებულ იქნას wireshark-ის დასაყენებლად.

# yum install wireshark ჩატვირთული დანამატები: fastestmirror სარკის სიჩქარის ჩატვირთვა ქეშირებული მასპინძლის ფაილიდან ... (გამომავალი შემცირებულია)

23.1.2. ქსელის ინტერფეისის შერჩევა

Wireshark-ის პირველად გაშვებისას, მოგიწევთ ქსელის ინტერფეისის არჩევა. თქვენ დაინახავთ დიალოგს, რომელიც ჰგავს ქვემოთ მოცემულ ილუსტრაციას.

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

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

23.1.3. ტრაფიკის მინიმიზაცია

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

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

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

23.1.4. პინგ უტილიტის მიერ წარმოქმნილი ტრაფიკის ჩარევა

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

[ელფოსტა დაცულია]:~# ping -c2 ns1.paul.local PING ns1.paul.local (10.104.33.30) 56 (84) ბაიტი მონაცემები. 64 ბაიტი 10.104.33.30-დან: icmp_req = 1 ttl = 64 დრო = 0.010 ms 64 ბაიტი 10.104.33.30-დან: icmp_req = 2 ttl = 64 დრო = 0.023 ms. , 2 მიღებული, 0% პაკეტის დაკარგვა, დრო 1001ms rtt min / avg / max / mdev = 0.010 / 0.016 / 0.023 / 0.007 ms [ელფოსტა დაცულია]:~# ping -c3 linux-training.be PING linux-training.be (188.93.155.87) 56 (84) ბაიტი მონაცემები. 64 ბაიტი antares.ginsys.net-დან (188.93.155.87): icmp_req = 1 ttl = 56 დრო = 15.6 ms 64 ბაიტი antares.ginsys.net-დან (188.93.155.87): icmp_req = 2 ტტლ = 7 დრო. antares.ginsys.net-დან (188.93.155.87): icmp_req = 3 ttl = 56 დრო = 14.7 ms --- linux-training.be ping სტატისტიკა --- 3 პაკეტი გადაცემული, 3 მიღებული, 0% პაკეტის დაკარგვა, დრო 2003ms rtt წთ / საშუალო / მაქსიმუმ / mdev = 14.756 / 16.110 / 17.881 / 1.309 ms [ელფოსტა დაცულია]:~# ping -c1 centos7.paul.local PING centos7.paul.local (10.104.33.31) 56 (84) ბაიტი მონაცემები. 64 ბაიტი 10.104.33.31-დან: icmp_req = 1 ttl = 64 დრო = 0.590 ms --- centos7.paul.local ping სტატისტიკა --- 1 პაკეტი გადაცემული, 1 მიღებული, 0% პაკეტის დაკარგვა, დრო 0ms rtt min / avg / max / mdev = 0.590 / 0.590 / 0.590 / 0.000 ms

საერთო ჯამში, 200-ზე მეტი პაკეტი იქნა აღებული ქსელიდან. ყველაფერი ბევრად უფრო აშკარა გახდება, თუ ფილტრის ველში შეიყვანთ ხაზს icmp და დააჭირეთ ღილაკს "Apply".

23.1.5. ping უტილიტისა და dns კლიენტის მიერ გენერირებული ტრაფიკის ჩარევა

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

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

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

მსგავსი სიტუაცია შეინიშნება 31 და 32 პაკეტების შემთხვევაში, რადგან ping უტილიტის გამოყენებით, პაკეტები იგზავნება იმ სამუშაო სისტემაში, რომელზედაც მუშაობს ეს პროგრამა.

23.1.6. კონკრეტული IP მისამართი

ამ შემთხვევაში, პაკეტების ფილტრაცია, რომლებიც დაკავშირებულია DNS პროტოკოლთან და შეიცავს კონკრეტულ IP მისამართს. ფილტრად გამოიყენება სტრიქონი "ip.addr == 10.104.33.30 და dns". და დირექტივა ეუბნება აპლიკაციას, აჩვენოს ინფორმაცია თითოეული პაკეტის შესახებ, რომელიც აკმაყოფილებს ორ პირობას.

პაკეტი 93 შეიცავს DNS მოთხოვნას linux-training.be დომენის A ტიპის ჩანაწერის მისაღებად. პაკეტი 98 შეიცავს პასუხს DNS სერვერიდან. როგორ ფიქრობთ, რა მოხდა 93-ე პაკეტის გაგზავნის შემდეგ და 98-ე პაკეტის მიღებამდე? შეეცადეთ უპასუხოთ ამ კითხვას მომდევნო განყოფილების წაკითხვამდე (სხვადასხვა სისტემებთან მუშაობისას ყოველთვის სასარგებლოა წინასწარ განსაზღვროთ რა მოხდება და შეამოწმოთ თქვენი პროგნოზების სისწორე).

23.1.7. ჩარჩოზე დაფუძნებული ფილტრაცია

ამოღებული პაკეტის სწორი ტერმინი არის ჩარჩო (იმის გამო, რომ ჩვენ ვიღებთ პაკეტებს OSI ქსელის მოდელის მე-2 ფენაზე). ამგვარად, კონკრეტული ნომრების მქონე პაკეტების შესახებ ინფორმაციის საჩვენებლად, გამოიყენეთ frame.number დირექტივა ფილტრის ველში.

23.1.8. პაკეტების შიგთავსის შემოწმება

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

ქვემოთ მოყვანილი ილუსტრაცია აჩვენებს სნაიფერის ფანჯრის შუა პანელს ჩემი ლეპტოპის არჩეული მისამართით.

გაითვალისწინეთ, რომ ზემოაღნიშნული ტექნიკა მშვენივრად მუშაობს ერთი ქსელის ინტერფეისზე ტრაფიკის დასაფიქსირებლად. თუ თქვენ გადაჭრით ტრაფიკს, მაგალითად, tcpdump -i ნებისმიერი ბრძანების გამოყენებით, თქვენ წააწყდებით "Linux cooked capture" პაკეტის დაჭერის მეთოდს.

23.1.9. მეტი ფილტრის მაგალითები

თქვენ შეგიძლიათ დააკავშიროთ ორი პროტოკოლის აღწერა მათ შორის ლოგიკური ან ("OR") დირექტივის გამოყენებით. ქვემოთ მოყვანილი ილუსტრაცია გვიჩვენებს, თუ როგორ უნდა დაიჭიროთ მხოლოდ ARP და BOOTP (ან DHCP) პაკეტები.

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

23.2. Tcpdump უტილიტა

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

tcpdump ჰოსტის $ ip ბრძანების გამოყენებით გამოჩნდება ინფორმაცია კონკრეტულ ჰოსტთან დაკავშირებული ყველა ტრაფიკის შესახებ (ამ შემთხვევაში, IP მისამართით 192.168.1.38).

[ელფოსტა დაცულია]: ~ # tcpdump ჰოსტი 192.168.1.38 tcpdump: სიტყვიერი გამომავალი ჩახშობილი, გამოიყენეთ -v ან -vv სრული პროტოკოლის გაშიფვრისთვის eth0 მოსმენისთვის, ბმულის ტიპის EN10MB (Ethernet), გადაღების ზომა 96 ბაიტი

ტრაფიკი, რომელიც ექსკლუზიურად არის დაკავშირებული ssh პროტოკოლთან (TCP პროტოკოლი, პორტი 22) შეიძლება ჩაითვალოს tcpdump tcp port $ port ბრძანების გამოყენებით. გამომავალი ხაზები შემცირდა 76 სიმბოლომდე უკეთესი წაკითხვისთვის.

[ელფოსტა დაცულია]: ~ # tcpdump tcp პორტი 22 tcpdump: სიტყვიერი გამომავალი ჩახშობილი, გამოიყენეთ -v ან -vv სრული პროტოკოლის დეკოდირების მოსასმენად eth1-ზე, ბმულის ტიპის EN10MB (Ethernet), გადაღების ზომა 96 ბაიტი 14: 22: 20.7163013 deco.b. > rhel53.local.ssh: P 666050963: 66605 14: 22: 20.719936 IP rhel53.local.ssh> deb503.local.37973: P 1:49 (48) ack 48 14:207. deb503.local.37973: P 49: 113 (64) ack 14: 22: 20.721321 IP rhel53.local.ssh> deb503.local.37973: P 113: 161 (48) ack 28:1202 IP. 37973> rhel53.local.ssh:. ack 161 win 200 14: 22: 20.722492 IP rhel53.local.ssh> deb503.local.37973: P 161: 225 (64) ack 14: 22: 20.760602 IP debcal.local.37973. ack 225 win 200 14: 22: 23.108106 IP deb503.local.54424> ubuntu910.local.ssh: P 467252637: 46 14: 22: 23.116804 23.116804 IP deb503.local.54091 ) ack 14: 22: 23.116844 IP deb503.local.54424> ubuntu910.local.ssh:. ack 81 win 2 ^ C 10 პაკეტი დაიპყრო 10 პაკეტი მიღებული ფილტრით 0 პაკეტი დაეცა ბირთვის მიერ

იგივე ოპერაცია, მაგრამ გადაღებული მონაცემების ფაილში ჩაწერით, შეიძლება შესრულდეს tcpdump -w $ filename ბრძანების გამოყენებით.

[ელფოსტა დაცულია]: ~ # tcpdump -w sshdump.tcpdump tcp პორტი 22 tcpdump: მოსმენა eth0-ზე, ბმულის ტიპი EN10MB (Ethernet), გადაღების ზომა 96 ბაიტი ^ C 17 პაკეტი დაჭერილი 17 პაკეტი მიღებული ფილტრით 0 პაკეტი ჩამოიშალა კერის მიერ

tcpdump -r $ filename ბრძანებას შეუძლია აჩვენოს წინა მაგალითში შექმნილი ფაილის შინაარსი.

[ელფოსტა დაცულია]: ~ # tcpdump -r sshdump.tcpdump

ამ პროგრამის გამოყენების მრავალი სხვა მაგალითი შეგიძლიათ იხილოთ tcpdump man გვერდზე.

23.3. პრაქტიკული აქტივობა: ქსელის ტრაფიკის აღკვეთა

23.4. სწორი პრაქტიკის პროცედურა: ქსელის ტრაფიკის ჩარევა

1. დააინსტალირეთ wireshark თქვენს სისტემაზე (არ მუშაობს ვირტუალურ მანქანაში).

Debain / Ubuntu დისტრიბუციებზე: aptitude install wireshark

Red Hat / Mandriva / Fedora დისტრიბუციებზე: yum install wireshark

2. გამოიყენეთ ping უტილიტა თქვენსა და სხვა კომპიუტერებს შორის ტრაფიკის შესაქმნელად.

Ping $ ip_address

3. დაიწყეთ ქსელის ტრაფიკის აღება.

(სუდო) მავთულხლართი

აირჩიეთ თქვენი ქსელის ინტერფეისი (ალბათ eth0)

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

ფილტრის ველში შეიყვანეთ "icmp" (ბრჭყალების გარეშე) და დააჭირეთ ღილაკს "Apply".

5. ახლა გადაიტანეთ დომენის სახელი (როგორიცაა www.linux-training.be) პინგზე და შეეცადეთ დაიჭიროთ DNS მოთხოვნა და პასუხის პაკეტები. რა DNS სერვერი იყო გამოყენებული? გამოიყენებოდა თუ არა TCP ან UDP პროტოკოლი მოთხოვნისა და პასუხის გადასაცემად?

ჯერ დაიწყეთ სნაიფერი.

ფილტრის ველში შეიყვანეთ "dns" და დააჭირეთ ღილაკს "Apply".

[ელფოსტა დაცულია]: ~ # ping www.linux-training.be PING www.linux-training.be (88.151.243.8) 56 (84) ბაიტი მონაცემები. 64 ბაიტი fosfor.openminds.be-დან (88.151.243.8): icmp_seq = 1 ttl = 58 დრო = 14.9 ms 64 ბაიტი fosfor.openminds.be-დან (88.151.243.8): icmp_seq = 6.8 ტტლ = 5 ^ დრო --- www.linux-training.be ping სტატისტიკა --- 2 პაკეტი გადაცემული, 2 მიღებული, 0% პაკეტის დაკარგვა, დრო 1002ms rtt min / avg / max / mdev = 14.984 / 15.539 / 16.095 / 0.569 ms

Wireshark ფანჯარა უნდა გამოიყურებოდეს მსგავსი.

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

6. იპოვეთ დახურული ვებსაიტი, რომელსაც აქვს პაროლის მოთხოვნის ფორმა. შეეცადეთ შეხვიდეთ მომხმარებლის სახელით "paul" და პაროლით "hunter2", სანამ sniffer მუშაობს. ახლა შეეცადეთ იპოვოთ შეყვანილი მომხმარებლის სახელი და პაროლი სნაიფერის მიერ დაფიქსირებულ მონაცემებში.

გააზიარეთ ეს