Μετάβαση στο περιεχόμενο
  • ChatBox

    ChatBox

    Chatroom Rules

    • Το GreekHacking.Gr είναι ένα ελληνικό forum και επιτρέπεται μόνο η χρήση της Ελληνική Γλώσσας (ούτε greeklish).
    • Δεν επιτρέπονται οι βρισιές και γενικά η χρήση χυδαίας γλώσσας.
    • Απαγορεύεται αυστηρά το πορνογραφικό, προσβλητικό και βίαιο περιεχόμενο.
    • Μην χρησιμοποιείτε κεφαλαία γράμματα η σύμβολα.
Clipper

Παίζοντας με το ARP (Address Resolution Protocol)

Recommended Posts

Clipper

Παίζοντας με το ARP (Address Resolution Protocol)

Οι δοκιμές που θα παρουσιαστούν έχουν γίνει σε λίγο παλαιότερα λειτουργικά συστήματα (Windows XP & Vista), αλλά πολύ θα ήθελα, το άρθρο αυτό να λειτουργήσει σαν οδηγός για εσάς, ώστε να δοκιμάσετε και μόνοι σας, αν όσα παρουσιάζονται, μπορούν να λειτουργήσουν ακόμα σε Windows 10 και 11 ή (ακόμα καλύτερα) τι mod/s (hacks) χρειάζονται για να "λειτουργήσουν"... ;)

Επίσης, το αρθράκι αυτό έχει δημοσιευτεί και αλλού (από εμένα), οπότε μην ακούσω χαρωπά σχόλια για αντιγραφές χωρίς την αναφορά στον αρχικό δημιουργό, κλπ... :)

Θα παρουσιάσω τον τρόπο που μπορεί κάποιος να παραποιήσει τα δεδομένα που ξέρει ο router για κάποιο υπολογιστή του δικτύου (ARP Poisoning) με αποτέλεσμα την άρνηση εξυπηρέτησης ή αλλιώς το γνωστό Denial Of Service ή ακόμα πιο "λαϊκά": Να μην έχει internet!!
Επίσης θα δείξω πώς η παραπάνω μέθοδος θα μπορούσε (με μια μικρή αλλαγή) να χρησιμοποιηθεί και για επιθέσεις Man In The Middle. Γενικά θα δούμε την λειτουργία του ARP Poisoning στην πράξη. Δεν θα χρησιμοποιήσω κάποιο έτοιμο εργαλείο. Ούτε καν θα γράψω κάποιο πρόγραμμα. Την αλλοίωση του πίνακα ARP μαζί με ότι αυτό συνεπάγεται, θα την πραγματοποιήσω με τον πατροπαράδοτο παλιό καλό τρόπο: Χειροκίνητα!

Για να καταλάβουμε πως ακριβώς θα λειτουργήσει η επίθεση θα πρέπει να μιλήσω πρώτα για ένα πρόγραμμα που μας δίνεται μαζί με τα Windows. Ένα πρόγραμμα που τρέχει από την γραμμή εντολών του λειτουργικού συστήματος, και που «ακούει» στο όνομα ARP.EXE και βρίσκεται (που αλλού;) στον κατάλογο c:\windows\system32. Το πρόγραμμα αυτό μόλις εκτελεστεί με την παράμετρο "-a" θα μας δείξει τα περιεχόμενα του πίνακα ARP (εικόνα 1).

ARPII_pic01.PNG.0cb93ba62c2ee17f7e745d20756a40a2.PNG
Εικόνα 1: Τα περιεχόμενα του πίνακα ARP

O πίνακας ARP περιέχει την σύνδεση μεταξύ της IP address ενός υπολογιστή (ή πιο σωστά, ενός network interface) στο δίκτυο και της MAC Address του. Για τους πιο θεωρητικούς, πρόκειται για μια σύνδεση μεταξύ του OSI layer level 2 (Data Link Layer – όπως η MAC Address) με το OSI layer 3 (Network Layer – όπως η IP Address).
Αυτός ο πίνακας "ζει" και ανανεώνεται στην μνήμη του κάθε ένα υπολογιστή. Στο παράδειγμα της εικόνας 1, βλέπουμε ότι στον τρέχον υπολογιστή στο interface με IP 192.168.1.66 είναι καταχωρημένες εφτά συσκευές, ή για να είμαι πιο ακριβής, εφτά network interfaces (θα το εξηγήσω αυτό περισσότερο στην επόμενη παράγραφο). Η πρώτη στήλη είναι η IP address (Internet address) η δεύτερη στήλη είναι η MAC address και η τρίτη στήλη αναφέρει αν η συγκεκριμένη καταχώρηση είναι στατική ή δυναμική. Οι δυναμικές καταχωρήσεις εισάγονται αυτόματα (όταν γίνει αναφορά κάποιας διεύθυνσης που δεν είναι ήδη καταχωρημένη) από ένα πρόγραμμα που δίνεται μαζί με το λειτουργικό σύστημα και ονομάζεται DHCP server. Π.χ. Αν κάνω ένα ping σε κάποια μη καταχωρημένη διεύθυνση, τότε αυτή εισάγεται ή αν υπάρχει ήδη τότε ενημερώνεται (εφόσον δεν είναι στατική!!). Οι Στατικές καταχωρήσεις μπορούν να εισάγονται από προγράμματα ή από τον ίδιο τον χρήστη. Αυτές έχουν προτεραιότητα έναντι των δυναμικών. Κρατήστε το αυτό! Θα μας χρειαστεί λίγο αργότερα.

Σας χρωστάω όμως μια εξήγηση. Προηγουμένως ήθελα να είμαι ακριβής και ανάφερα ότι στον πίνακα ARP καταχωρούνται interfaces και όχι κατ' ανάγκη συσκευές μεμονωμένες. Θα δώσω ένα παράδειγμα μια και πρόκειται για ένα θέμα που δεν είναι συχνά ξεκάθαρο σε πολλούς: Το laptop μου όταν συνδέεται μέσω ethernet καλωδίου (RJ-45) έχει ενεργό τόσο το ασύρματο interface όσο και το ενσύρματο. Ο DHCP server δίνει διαφορετική IP σε κάθε interface και φυσικά έχουν και διαφορετική MAC address μια και πρόκειται για διαφορετικές κάρτες δικτύου. Μια τέτοια κατάσταση απεικονίζεται στον πίνακα ARP σαν δύο διαφορετικές εγγραφές (συσκευές) η κάθε μια με την δική της IP. Αυτό είναι απολύτως  φυσιολογικό αφού ο πίνακας ARP κρατά interfaces και όχι συσκευές (π.χ. υπολογιστές). Στο δικό μας box, στην εικόνα 1, βλέπουμε τρία διαφορετικά interfaces για τον τρέχοντα υπολογιστή που τρέξαμε την εντολή "arp -a". To κάθε ένα με τις δικές του καταχωρήσεις.

Και τώρα που τα καταλάβαμε όλα και είμαστε γεμάτοι γνώσεις και ενθουσιασμό, ας προχωρήσουμε στην πράξη!

Για να δούμε όμως όλο το "σκηνικό" αυτό στην πράξη και μάλιστα τι ακριβώς γίνεται "behind the scenes" καλό θα ήταν να ανοίξουμε τον αγαπημένο μας sniffer (http://www.wireshark.org/ - εικόνα 2).

ARPII_pic02.thumb.PNG.20cface59cfab91174bbdf67cab722e0.PNG
Εικόνα 2: Επιλογή network interface με τον γνωστό wireshark sniffer.

Ανοίγω τον sniffer και επιλέγω network interface (εικόνα 2). Διαλέγω το interface εκείνο που "βλέπει" την IP 192.168.1.68 το οποίο αντιστοιχεί στην ενσύρματα κάρτα δικτύου μου. Να τονίσω ότι αν εσείς δοκιμάσετε κάτι αντίστοιχο, το πιθανότερο είναι να έχετε μια εντελώς διαφορετική εικόνα, αφού η κάρτα δικτύου σας μπορεί να αντιστοιχεί σε μια εντελώς διαφορετική IP από την δική μου.
Πριν πατήσω το button start, πάμε να ρίξουμε μια ματιά στα options (εικόνα 3). Πρέπει να έχετε ενεργοποιημένο το checkbox: Capture packets in promiscuous mode. Αυτό σημαίνει ότι ο sniffer μας θα συλλαμβάνει και τα πακέτα δεδομένων που διακινούνται στο LAN μας τα οποία δεν προορίζονται μόνο για εμάς, δηλαδή μόνο για τον 192.168.1.68. Μετά από αυτό μπορώ πλέον με χαρά να πατήσω το κουμπί start αν θέλω να αρχίσω να παρακολουθώ την κίνηση των πακέτων δεδομένων στο LAN.

ARPII_pic03.PNG.919af3630263bccbf3627fabf2718b06.PNG
Εικόνα 3: Η επιλογές της κάρτας δικτύου για την παρακολούθηση των πακέτων.

Επίσης, μην ξεχάσω να δω ποια είναι η MAC Address μου ώστε να την χρησιμοποιήσω αργότερα όταν θα "χαλάσω" το box θύμα. Δίνω λοιπόν, την παρακάτω εντολή (φυσικά από την γραμμή εντολών!):

C:> ipconfig /all |more


To αποτέλεσμα το βλέπουμε στην εικόνα 4. Παρατηρείστε ότι η παραπάνω εντολή μας εμφανίζει όλα τα network interfaces με πρώτο και καλύτερο αυτό της ασύρματης κάρτας το οποίο είναι επίσης ενεργό. Βλέπουμε ότι κάθε interface έχει την δική του IP και την δική του MAC address. Μην ακούσω λοιπόν ποτέ ξανά κανέναν να ισχυρίζεται οτι σε ένα box δεν είναι δυνατόν να έχουμε παραπάνω από μια MAC address ή IP!
Παρατηρούμε λοιπόν, ότι η MAC διεύθυνση για την ενσύρματη κάρτα δικτύου μου είναι η 14-49-62-80-E2-AA.

ARPII_pic04.PNG.03e5fc6978b397d6dc84539ddf0abbb4.PNG
Εικόνα 4: Τσεκάροντας τo network interface μας και την MAC address του.

Επίσης δώστε βάση και στην τιμή "DNS servers" (192.168.1.254). Είναι η IP του router μου! Μην την ξεχάσετε... θα μας χρειαστεί!

Είμαι τώρα έτοιμος να κάνω την επίθεση. Αυτό που θα κάνω είναι να τρέξω στο box του "θύματος" την εντολή arp με τέτοιες παραμέτρους ώστε
1.Να διαγράψω τις τιμές που γνωρίζει ήδη για τα άλλα boxes του δικτύου και
2.Να βάλω τις δικές μου τιμές. Με στόχο να μπερδέψω το "θύμα", σαν δική μου τιμή θα βάλω το εξής: Θα δηλώσω στον πίνακα ARP του θύματος ότι η IP του router συνδέεται με την δική μου MAC address! Αυτό θα έχει σαν αποτέλεσμα, κάθε κλήση στο internet που θα κάνει το θύμα, να αποστέλλεται στο δικό μου box. Μήπως αυτό σας θυμίζει το 1ο βήμα μιας επίθεση MITM; Ναι, ίσως είναι. Αλλά αυτό και μόνο το βήμα είναι αρκετό για να "μπλοκάρει" την σύνδεση του θύματος με το διαδίκτυο, μιας και όλες η κλήσεις του προς οποιονδήποτε server θα στέλνονται στο δικό μου box το οποίο και... θα τις αγνοεί παραδειγματικά!
Τα 1 και 2 υλοποιούνται πάρα, μα πάρα πολύ εύκολα με δυο εντολές (εικόνα 5):
Για το 1 τρέχουμε την εντολή

C:> arp -d *


για να διαγράψουμε όλες τις αναφορές του πίνακα ARP. Μην τρομάζετε όμως, αυτό δεν είναι και τόσο κακό αφού με κάθε κλήση σε κάποια άλλη διεύθυνση ο Κος "Δρομολογητής" μας θα ενημερώσει αμέσως τον πίνακα ARP... εκτός κι αν τον προλάβουμε και τρέξουμε το παρακάτω:

C:> arp -s 192.168.1.254 14-49-62-80-e2-aa


Εδώ βρίσκεται όλο του "ζουμί" αυτού του άρθρου! Με την εντολή αυτή εισάγω στον πίνακα ARP μια εγγραφή η οποία λέει: Ο router (192.168.1.254) έχει mac address την 14-49-62-80-e2-aa, που είναι η δική μου mac address! Μάλιστα παρατηρώ ότι η παραπάνω εντολή δημιουργεί μια εγγραφή στον πίνακα ARP τύπου static (εκόνα 5)! Μάλιστα. Η εγγραφή πια δεν αλλάζει εκτός κι αν τρέξει κάποιος το arp -d *

ARPII_pic05.PNG.03d38af30ec995cc4e1eae60e95f301c.PNG
Εικόνα 5: Η επίθεση σε εξέλιξη στον υπολογιστή θύμα!

Ένας κακόβουλος χρήστης μπορεί να υλοποιήσει τα παραπάνω με πολλούς τρόπους. Κατ' αρχάς βάζει τις παραπάνω εντολές σε ένα batch file και μετά:
1. Μπορεί να μπει στον υπολογιστή σας όσο λείπετε και να το εκτελέσει από ένα memory stick.
2. Μπορεί να μπει στον υπολογιστή σας όσο λείπετε, να ανοίξει ένα command prompt και να εκτελέσει απλά τις εντολές.
3. Να σας στείλει ένα mail με τίτλο "Κοίτα τι όμορφο πρόγραμμα βρήκα" ή "Έλα Αλέκο βρήκα το πρόγραμμα που μου ζήτησες..." και να έχει attach το batch file που να σας προτρέπει να το πατήσετε.
4.Να μπει με metasploit εκμεταλλευόμενος κάποια αδυναμία του λειτουργικού συστήματος σας καλώντας ένα reverse shell οπότε μετά απλά μπορεί να εκτελέσει τις παραπάνω εντολές.
Οι τρόποι είναι πάρα πολλοί. Τόσοι, όσοι μπορείτε να σκεφτείτε αν αναρωτηθείτε πως είναι δυνατόν κάποιος να τρέξει εντολές στο PC σας με τη θέληση σας ή με την άγνοια σας ή με ότι άλλο φανταστείτε τόσο εσείς όσο κι εγώ B)

Από την στιγμή που θα τρέξουν η δύο παραπάνω εντολές, όλες κλήσεις προς στο internet στον υπολογιστή "θύμα" θα πέφτουν σε εμένα (στην δική μου IP)... ή αλλιώς στο κενό (εικόνα 6).

ARPII_pic06.PNG.2c22435ac952ca00c557aae00f237da2.PNG
Εικόνα 6: Αχρηστεύοντας προσωρινά το internet του φίλου μας!

Έχω υποσχεθεί και μια παρακολούθηση, όμως ε? Μάλιστα βλέπω στον sniffer, πακέτα που προέρχεται από την IP του θύματος (192.168.1.69) να προσπαθεί μάταια να δει το travel link του site www.msn.com (εικόνα 7).

ARPII_pic07.thumb.PNG.a42eeac40bfe9f8932f4c19244a64957.PNG
Εικόνα 7: Το θύμα προσπαθεί να επισκεφτεί ένα link "επί ματαίω" κι εγώ τον παρακολουθώ!

Θα μπορούσα (όπως είπα στην αρχή), σε αυτό το σημείο να κάνω και κάτι άλλο, σαν επέκταση τις επίθεσης: Μόλις λαμβάνω τα πακέτα δεδομένων από το θύμα, να τα στέλνω στον router αντί να τα "πνίγω" και μετά αφού ο router μας απαντούσε να έστελνα την απάντηση πίσω στο θύμα. Ακριβώς! Καλά το καταλάβατε. Σε αυτήν την περίπτωση θα είχα υλοποιήσει μια επίθεση Man In The Middle - ΜΙΤΜ κλέβοντας και παρακολουθώντας όλες τις κινήσεις του θύματος στο internet, με ότι αυτό συνεπάγεται. Γενικά θα έλεγα (με υψηλή πιθανότητα επιτυχίας), ότι θα προέκυπτε μια καθόλου ευχάριστη κατάσταση για το "θύμα"...

Χμ... Έχει μείνει ακόμα ένα σκοτεινό σημείο: Αν το "θύμα" έκανε restart τον υπολογιστή του, θα την γλίτωνε; Θα καθάριζε ο ARP table ακόμα κι από τις στατικές καταχωρήσεις;
Η απάντηση είναι: ΝΑΙ!
Με το restart το ARP table γίνεται clear τόσο από δυναμικές όσο και από στατικές καταχωρήσεις.

Όλα αυτά που παρουσίασα δεν έχουν στόχο μόνο την εκπαίδευση αλλά και την προστασία μας αφού το ρητό "η γνώση είναι δύναμη" επαληθεύεται ακόμα και πίσω από την αρχή:
"Μάθε πως σκέφτεται ο επιτιθέμενος. Η γνώση αυτή θα σου χρειαστεί για να προφυλαχτείς καλύτερα".

Happy ARPing! 

Edited by Clipper

Κατά τον δαίμονα εαυτού...

Μοιράσου αυτή την δημοσίευση


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Απάντηση στο θέμα...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



ChatBox

ChatBox

Chatroom Rules

  • Το GreekHacking.Gr είναι ένα ελληνικό forum και επιτρέπεται μόνο η χρήση της Ελληνική Γλώσσας (ούτε greeklish).
  • Δεν επιτρέπονται οι βρισιές και γενικά η χρήση χυδαίας γλώσσας.
  • Απαγορεύεται αυστηρά το πορνογραφικό, προσβλητικό και βίαιο περιεχόμενο.
  • Μην χρησιμοποιείτε κεφαλαία γράμματα η σύμβολα.
×
×
  • Create New...