Το πρωτόκολλο SMB χρησιμοποιείται για την απαρίθμηση του δικτύου χρησιμοποιώντας ένα εργαλείο που ονομάζεται nbtscan το οποίο και εκτελείται στο δίκτυο που είναι το 10.0.2.20/24 με την εντολή nbtscan -v -s : 10.0.2.20/24. Το αποτέλεσμα αυτής της εντολής είναι να δημιουργήσει μια λίστα με τα συστήματα που είναι ενεργά στο δίκτυο και το netbios όνομα που διαθέτουν. Ο αριθμός και το επίθημα γραμμάτων του ονόματος netbios παρέχει μια ένδειξη της χρήσης. Αυτοί οι κωδικοί περιλαμβάνουν το 00U για σταθμό εργασίας, το 00G για όνομα τομέα, το 20U για μια υπηρεσία διακομιστή αρχείων και το 1DU και το 01G που αφορούν την περιήγηση. Ο πλήρης κατάλογος των κωδικών μπορεί να βρεθεί στην ιστοσελίδα δικτύωσης των Windows.
Υπάρχει δυνατότητα με τη χρήση του nbtscan να γίνει εμφάνιση των πληροφορίων netbios ενός κεντρικού υπολογιστή. Υπάρχει επίσης η δυνατότητα να απαριθμηθούν μεμονωμένοι πόροι συστήματος χρησιμοποιώντας SMB nmap script. Ως παράδειγμα θα εκτελεσθεί ένα script για την απαρίθμηση του λειτουργικού συστήματος SMB. Η εντολή nmap –script smb-os-discovery <διεύθηνση IP> θα επιστρέψει ως αποτέλεσμα τις ανοιχτές θύρες στο σύστημα Windows 7, το οποίο βρίσκεται στο δίκτυο δοκιμών και δείχνει τις λεπτομέρειες του λειτουργικού συστήματος.
[adinserter block=”2″]
Υπάρχει η δυνατότητα εκτέλεσης της ίδιας εντολής και για υπολογιστές Linux. Ως παράδειγμα θα δοκιμαστεί το εικονικό σύστημα Metasploitable που από τα αποτελέσματα φαίνεται ότι πρόκειται για έναν υπολογιστή Debian στον οποίο εκτελείται το Samba και μια πληθώρα από ανοιχτές υπηρεσίες.
Τα εργαλεία SMB map αποτελούν ένα δημοφιλή απαρίθμησης samba. Διατίθεται από το μενού εφαρμογών Kali, στο υπομενού SMB της συλλογής πληροφοριών τα οποία εκτελούνται και από τη γραμμή εντολών. Θα γίνει εκτέλεση των εντολών προς ένα σύστημα Windows 7 όπου έχει δημιουργηθεί ένας λογαριασμός για τον σκοπό αυτό και δημιουργείται μια συνεδρία SMB που απαριθμεί τους κοινόχρηστους φακέλους.
Γίνεται εκτέλεση των εντολών και για την εικονική μηχανή metasploitable με μια μηδενική συνεδρία δηλαδή χωρίς όνομα χρήστη και κωδικό πρόσβασης και η σύνταξη της εντολής είναι εντολή smbmap -u ‘ ‘ -p ‘ ‘ -H <Διεύθυνση IP>. Εμφανίζονται οι κοινόχρηστοι φάκελοι, συμπεριλαμβανομένου του φακέλου temp με πλήρη πρόσβαση ανάγνωσης και εγγραφής. Με τη χρήση της επιλογής -r γίνεται λήψη της πραγματικής λίστας αρχείων στον προσβάσιμο κοινόχρηστο φάκελο temp.
Υπάρχει επίσης ένα εργαλείο για το λειτουργικό Kali που μπορεί να χρησιμοποιηθεί για την απαρίθμηση των δικαιωμάτων κοινόχρηστων φακέλων καθώς και αρχεία σε κεντρικούς υπολογιστές Windows και Linux. Το εργαλείο αυτό ονομάζεται shareenum και δεν είναι προεγκατεστημένο στο kali linux. Θα πρέπει να γίνει λήψη και εγκατάσταση από το github μετά από μια απλή αναζήτηση στο διαδίκτυο. Αν γίνει εκτέλεση της εντολής χωρίς παραμέτρους θα εμφανιστεί η βοήθεια της εντολής με τις δυνατές παραμέτρους.
[adinserter block=”3″]
Εκτελώντας την εντολή προς το Metasploitable σύστημα με μηδενική συνεδρία για την αποκάλυψη των κοινόχρηστων φακέλων θα χρησιμοποιήσουμε την εντολή shareenum -o shares1.txt <διεύθυνση IP>. Τα αποτελέσματα αποθηκεύονται στο αρχείο shares1.txt. Για να γίνει εμφάνιση των περιεχομένων – αποτελεσμάτων η εντολή είναι cat shares1.txt.
Τέλος, ένα χρήσιμο εργαλείο για την απαρίθμηση SMB λειτουργικών συστημάτων Windows από λειτουργικό Linux είναι το RPC Client το οποίο περιλαμβάνεται ως μέρος ενός συνόλου εργαλείων με όνομα Samba. Για τη χρήση του εργαλείου απαιτείται η γνώση του ονόματος χρήστη και του κωδικού πρόσβασης ενός εκ των χρηστών συστήματος που θα γίνει η σύνδεση μέσω RPC. Στο εικονικό σύστημα θα δημιουργηθεί ένας νέος χρήστης με δικαιώματα διαχειριστή, όνομα useradmin και κωδικό user. Εκτελείται η εντολή σύνδεσης rpcclient <διεύθυνση IP> -U <όνομα χρήστη> και στη συνέχεια εισάγεται και ο κωδικός πρόσβασης.
Το σύστημα που θα γίνει η απαρίθμηση είναι ένα σύστημα με λειτουργικό Windows 10 στο όποιο έχει επιτευχθεί η σύνδεση και πρώτη εντολή είναι η εντολή srvinfo που ως αποτέλεσμα έχει την εμφάνιση των πληροφοριών διακομιστή.
Στις πληροφορίες που εμφανίζονται παρατηρείται ότι ο διακομιστής έχει αναγνωριστεί ως σύστημα Windows 10. Με την πληκτρολόγηση της εντολής help, εμφανίζεται το εύρος των εντολών που μπορούν να χρησιμοποιηθούν στον πελάτη RPC. Με την εντολή getusername επιστρέφεται η πληροφορία με ποιον χρήστη υπάρχει σύνδεση που σε αυτή την περίπτωση είναι ο χρήστης useradmin.
Υπάρχει η δυνατότητα να ζητηθούν πληροφορίες σχετικά με τους υπόλοιπους χρήστες του συστήματος. Προϋπόθεση για αυτό είναι να είναι γνωστό το RID και αυτό μπορεί να βρεθεί απαριθμώντας τους χρήστες του συστήματος με την εντολή enumdomusers.
Έχοντας εξάγει τους χρήστες με την προηγούμενη εντολή εμφανίζεται το μοναδικό αναγνωριστικό του χρήστη RID σε δεκαεξαδική μορφή. Με αυτό το αναγνωριστικό μπορεί να γίνει η απαρίθμηση του λογαριασμού διαχειριστή (Administrator) με την εντολή queryuser <HEX RID>. Εναλλακτικά μπορεί να εισαχθεί για RID το 500 που είναι το αντίστοιχο σε δεκαδική μορφή (Decimal). Στα αποτελέσματα εμφανίζονται πολλές χρήσιμες πληροφορίες. Με είσοδο για RID το 501 εμφανίζονται οι πληροφορίες για το λογαριασμό επισκέπτη (guest account).
[adinserter block=”4″]
Συνεχίζοντας την απαρίθμηση εμφανίζεται το σύνολο των προνομίων στο σύστημα με την εντολή emuprivs και στη συνέχεια απαριθμούνται οι κύριες και οι υπόλοιπες ομάδες με την εντολή emudomgroups και enumalsgroups builtin.
Για την απαρίθμηση των κοινοχρήστων φακέλων του χρήστη γίνεται χρήση της εντολής netshareenum, ενώ για τους κοινόχρηστους φακέλους όλων των χρηστών είναι η εντολή netshareenumall. Τέλος με την εντολή enumprinters γίνεται και η απαρίθμηση των εκτυπωτών.
Προφύλαξη και αντιμετώπιση της απαρίθμησης
Απαρίθμηση είναι η ανάκτηση πληροφοριών ενός συστήματος. Αυτό σημαίνει ότι οι πληροφορίες που μπορεί να αποσπάσει ένας χρήστης είναι αυτές που διατίθενται από το ίδιο το σύστημα και ως μέτρο προστασίας είναι η απενεργοποίηση υπηρεσιών και συγκεκριμένα της υπηρεσίας SMB και ενδεχόμενος και την εγκατάσταση ειδικών συσκευών τείχους ασφάλειας που φιλτράρουν την κίνηση του δικτύου.