Netcat: οδηγός χρήσης και βασικές εντολές

Netcat οδηγός χρήσης και βασικές εντολές

Το Netcat είναι ένα βοηθητικό πρόγραμμα δικτύου για ανάγνωση και εγγραφή σε συνδέσεις δικτύου χρησιμοποιώντας τα πρωτόκολλα TCP και UPD. Θα το έχετε ακούσει συχνά ως τον ελβετικό σουγιά των εργαλείων δικτύωσης. Σήμερα θα δούμε έναν βασικό οδηγό χρήσης με τις βασικές παραμέτρους και εντολές που χρησιμοποιούνται από μηχανικούς δικτύου, ασφάλειας αλλά και hackers.

Η πιο συνηθισμένη χρήση του Netcat όταν πρόκειται για hacking είναι η δημιουργία reverse / bind shells, για piping και ανακατεύθυνση της ροής του δικτύου ή port listening. Επίσης αρκετά προγράμματα εντοπισμού σφαλμάτων και scripts, το χρησιμοποιούν για ανάλυση σύνδεση και πληροφοριών δικτύου. Σε αυτόν τον οδηγό θα μάθουμε πώς να χρησιμοποιούμε τα βασικά χαρακτηριστικά από το Netcat όπως:

  • Banner grabbing
  • Raw connections
  • Webserver interaction
  • File transfers

Banner Grabbing, raw connections και webserver interaction

Τα Service banners χρησιμοποιούνται συχνά από τους διαχειριστές συστημάτων για τη λήψη πληροφοριών των συστημάτων και υπηρεσιών στο δίκτυο. Τα service banners προσδιορίζουν την τρέχουσα υπηρεσία και συχνά την έκδοση της υπηρεσία που τρέχει.

Το Banner grabbing είναι μια τεχνική για την ανάκτηση αυτών των πληροφοριών από μια ανοιχτή θύρα και μπορεί να χρησιμοποιηθεί κατά τη διενέργεια δοκιμής διείσδυσης και την εκτίμηση της ευπάθειας. Όταν λοιπόν χρησιμοποιείτε το Netcat για banner grabbing, στην ουσία πραγματοποιείτε σύνδεση με έναν συγκεκριμένο host σε συγκεκριμένη θύρα. Όταν είναι διαθέσιμο ένα banner, εκτυπώνεται στην κονσόλα. Ας δούμε πώς λειτουργεί αυτό στην πράξη.

Για την εγκατάστασή του ανατρέξτε στον διαχειριστή πακέτων της διανομής σας και αναζητήστε το ως «netcat».

Advertisements

Netcat banner grabbing

Η βασική χρήση του Netcat συνοψίζεται ως εξής :

nc [παράμετροι] [διεύθυνση ip] [θύρα]

Ας υποθέσουμε τώρα ότι έχουμε έναν FTP server στη θύρα 21:

nc 192.168.100.100 21
220 (vsFTPd 2.3.4)

Το nc [ip] [θύρα] θα δημιουργήσει μια σύνδεση, η οποία θα επιστρέψει ένα banner εφόσον είναι διαθέσιμο. Το ίδιο μπορείτε να το δοκιμάσετε και στην θύρα 80.

Netcat raw connection

Για να δείξουμε πώς λειτουργεί μια raw connection, θα δώσουμε ορισμένες εντολές FTP αφού συνδεθούμε με τον απομακρυσμένο server στην υπηρεσία FTP.

Ας δούμε αν επιτρέπεται η ανώνυμη πρόσβαση σε αυτόν τον διακομιστή FTP δίνοντας την εντολή USER anonymous και για password PASS.

nc ftp.otenet.gr 21

USER anonymous
331 Please specify the password.
PASS
230 Login successful.
SYST
215 UNIX Type: L8
pwd
257 "/"
stat
211-FTP server status:
     Logged in as ftp
     TYPE: ASCII
     No session bandwidth limit
     Session timeout in seconds is 600
     Control connection is plain text
     Data connections will be plain text
     At session startup, client count was 58
     vsFTPd 2.0.5 - secure, fast, stable
211 End of status
quit

Σε αυτό το παράδειγμα έχουμε χρησιμοποιήσει μια υπηρεσία FTP αλλά αυτό λειτουργεί επίσης και σε άλλες υπηρεσίες, όπως υπηρεσίες SMTP και HTTP.

Web server interaction

Το Netcat μπορεί επίσης να χρησιμοποιηθεί για να αλληλεπιδράσει με webservers μέσω αιτημάτων HTTP. Για παράδειγμα ας δούμε την IP του ebay.com:

ping ebay.com

PING ebay.com (66.135.196.249) 56(84) bytes of data

Οπότε μπορούμε τώρα να δοκιμάσουμε το παρακάτω:

nc 66.135.196.249 80

Στη συνέχεια, εκτελέστε αυτό το αίτημα HTTP ακριβώς από κάτω και πατήστε enter:

HEAD / HTTP/1.1

HTTP/1.1 302 Found
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
x-xss-protection: 1; mode=block
x-frame-options: SAMEORIGIN
Location: http://pages.ebay.com/messages/page_not_found.html
Vary: Accept
Content-Length: 0
rlogid: undefined
Date: Fri, 29 Nov 2019 11:15:36 GMT
Connection: keep-alive

Βλέπουμε λοιπόν ότι με το netcat μπορούμε να εκτελέσουμε κάποια http request όπως κάνει ο browser μας και να συλλέξουμε πληροφορίες

File transfers με Netcat

Σε αυτό το παράδειγμα θα χρησιμοποιήσουμε μια σύνδεση Netcat για να μεταφέρουμε ένα αρχείο κειμένου.

Ας υποθέσουμε ότι έχουμε μια απομακρυσμένη σύνδεση σε υπολογιστή και θέλουμε να μεταφέρουμε ένα αρχείο από τον δικό μας. Πρώτα χρειάζεται να δημιουργήσουμε έναν listener στον απομακρυσμένο και να συνδεθούμε με αυτό από τον δικό μας. Θα χρησιμοποιήσουμε τη θύρα 8080 για αυτό το σκοπό και θα μεταφέρουμε το αρχείο στην επιφάνεια εργασίας:

nc -lvp 8080 > /root/Desktop/transfer.txt

Στον δικό μας υπολογιστή συνδεόμαστε στη θύρα 8080 και στείλουμε ένα όνομα αρχείου transfer.txt:

nc 192.168.100.107 8080 < /root/Desktop/transfer.txt

Στη συνέχεια, πατάμε Ctrl + C για να εμφανίσουμε τα περιεχόμενα του αρχείου τόσο στο δικό μας όσο και στον απομακρυσμένο υπολογιστή.

Ping Ports με Netcat

Έστω ότι έχουμε τον απομακρυσμένο server example.com και θέλουμε να μάθουμε ποιες θύρες από το 1 έως 100 είναι διαθέσιμες. Θα κάνουμε σάρωση των ports και θα εξάγουμε το αποτέλεσμα σε ένα αρχείο που ονομάζεται output.txt. Μπορούμε να το κάνουμε αυτό χρησιμοποιώντας την ακόλουθη εντολή:

nc -vv -z example.com 1-100 > /tmp/output.txt 2>&1

Αυτή η εντολή εξάγει όλο το αποτέλεσμα από τη σάρωση της θύρας στο αρχείο output.txt. Μπορούμε να περιορίσουμε το περιεχόμενο του αρχείου, αγνοώντας τις μη επιτυχημένες συνδέσεις συνδυάζοντας την με την Grep. :

nc -vv -z example.com 1-100 2>&1 | grep succeeded > /tmp/output.txt

Επίλογος

Με το παρόν οδηγό για το netcat απλώς πήραμε μια γεύση, ενώ οι δυνατότητές του δεν τελειώνουν εδώ. Μπορείτε με man netcat να δείτε όλες τις παραμέτρους και τους συνδυασμούς που μπορείτε να κάνετε. Ελπίζουμε αυτές οι βασικές εντολές στον οδηγό για το netcat να σας κινήσει την περιέργεια ώστε να μάθετε περισσότερα για αυτό το σπουδαίο εργαλείο δικτύων.

Μια σκέψη σχετικά μέ το “Netcat: οδηγός χρήσης και βασικές εντολές

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Google

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.