ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

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».

Netcat banner grabbing

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

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

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

12nc 192.168.100.100 21220 (vsFTPd 2.3.4)

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

Netcat raw connection

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

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

12345678910111213141516171819202122nc ftp.otenet.gr 21 USER anonymous331 Please specify the password.PASS230 Login successful.SYST215 UNIX Type: L8pwd257 "/"stat211-FTP server status:Logged in as ftpTYPE: ASCIINo session bandwidth limitSession timeout in seconds is 600Control connection is plain textData connections will be plain textAt session startup, client count was 58vsFTPd 2.0.5 - secure, fast, stable211 End of statusquit

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

Web server interaction

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

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

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

1nc 66.135.196.249 80

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

12345678910111213HEAD / HTTP/1.1 HTTP/1.1 302 FoundX-Content-Type-Options: nosniffStrict-Transport-Security: max-age=31536000x-xss-protection: 1; mode=blockx-frame-options: SAMEORIGINLocation: http://pages.ebay.com/messages/page_not_found.htmlVary: AcceptContent-Length: 0rlogid: undefinedDate: Fri, 29 Nov 2019 11:15:36 GMTConnection: keep-alive

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

File transfers με Netcat

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

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

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

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

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

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

Ping Ports με Netcat

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

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

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

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

Επίλογος

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

Πηγή άρθρου: https://cerebrux.net/

Leave a Comment