Το Open Vulnerability Assessment System ή απλά OpenVAS, είναι μια ευέλικτη πλατφόρμα για την ανίχνευση και τη διαχείριση αδυναμιών ασφαλείας σε λειτουργικά συστήματα και υπηρεσίες.

Στο παρόν άρθρο γνωρίζουμε το OpenVAS παίζοντας μαζί του μέσα από το Kali Linux, την κατεξοχήν διανομή για penetration testing και digital forensics. Από τη σελίδα με τα downloads του Kali επιλέξτε την εκδοχή που προτιμάτε και κατεβάστε τη. Εμείς, π.χ., πήραμε εκείνη με το περιβάλλον γραφικών του GNOME, για συστήματα με επεξεργαστή αρχιτεκτονικής x86-64 (torrent ή direct download). Μετά την ολοκλήρωση της λήψης θα έχετε το ISO image του Kali Linux 2019.2. Αν δεν σκοπεύετε να το εγκαταστήσετε σε εικονικό αλλά σε φυσικό υπολογιστή, προτείνουμε να περάσετε το ISO σε USB stick και να ξεκινήσετε τον υπολογιστή απ’ αυτό (χρησιμοποιήστε, π.χ., το Rufus ή το Unetbootin).

Η περιγραφή της διαδικασίας εγκατάστασης του Kali ξεφεύγει από το σκοπό του παρόντος. Σημειώνουμε μόνο ότι μετά το πέρας της –και σίγουρα πριν στρέψουμε την προσοχή μας στο OpenVAS–, καλό είναι να φρεσκάρουμε τα repositories της διανομής και μετά να εφαρμόσουμε τις όποιες διαθέσιμες αναβαθμίσεις. Από ένα παράθυρο τερματικού, πληκτρολογήστε διαδοχικά apt update και apt upgrade. Αναλόγως του χρόνου που έχει μεσολαβήσει από το προηγούμενο upgrade, η διαδικασία ενδέχεται να ολοκληρωθεί σε μερικά δευτερόλεπτα έως και αρκετά λεπτά. Μετά το πέρας της προσέξτε για την περίπτωση που έχει αναβαθμιστεί κι ο πυρήνας του λειτουργικού. Αν πράγματι έχει, κάντε μια επανεκκίνηση του συστήματος.

Εγκατάσταση και σύνδεση στο web panel

Για την εγκατάσταση του OpenVAS, σε ένα παράθυρο τερματικού αρκεί να πληκτρολογήσουμε apt install openvas.

Το OpenVAS χρειάζεται αρκετά άλλα πακέτα για να λειτουργήσει σωστά. Όλες αυτές τις εξαρτήσεις (dependencies) τις τακτοποιεί αυτόματα το apt. Από τη μεριά μας δεν έχουμε παρά να δεχτούμε την πρότασή του, για τα πακέτα που πρέπει να εγκατασταθούν.Το OpenVAS χρειάζεται αρκετά άλλα πακέτα για να λειτουργήσει σωστά. Όλες αυτές τις εξαρτήσεις (dependencies) τις τακτοποιεί αυτόματα το apt. Από τη μεριά μας δεν έχουμε παρά να δεχτούμε την πρότασή του, για τα πακέτα που πρέπει να εγκατασταθούν.

Αμέσως μετά την εγκατάσταση του OpenVAS, πληκτρολογούμε openvas-setup. Το εργαλείο openvas-setup α) κατεβάζει μια πληθώρα Network Vulnerability Tests (NVTs), με βάση τα οποία η πλατφόρμα είναι σε θέση να αναγνωρίζει αδυναμίες, β) δημιουργεί έναν χρήστη με δικαιώματα διαχειριστή (για το OpenVAS, όχι για το Kali), ενώ γ) ξεκινά και τις υπηρεσίες (services) που χρειάζεται το OpenVAS προκειμένου να λειτουργεί σωστά. Έχετε υπόψη ότι ειδικά την πρώτη φορά που θα τρέξετε το openvas-setup, θα χρειαστεί αρκετό χρόνο για να ολοκληρώσει τις εργασίες του. Γενικά, ο χρόνος αυτός είναι πρωτίστως ανάλογος της ταχύτητας της ιντερνετικής σύνδεσης. Δευτερευόντως, εξαρτάται από τους πόρους του εικονικού/φυσικού υπολογιστή με το Kali.

Την πρώτη φορά που θα το τρέξουμε, το openvas-setup θα χρειαστεί αρκετό χρόνο πριν ολοκληρώσει τις εργασίες του.Την πρώτη φορά που θα το τρέξουμε, το openvas-setup θα χρειαστεί αρκετό χρόνο πριν ολοκληρώσει τις εργασίες του.

Αφού το openvas-setup τελειώσει τις δουλειές του, παρουσιάζει το password που έχει αντιστοιχίσει στο χρήστη admin. Το συγκεκριμένο συνθηματικό το χρειαζόμαστε προκειμένου να συνδεθούμε στο web panel της πλατφόρμας.

Δεν το λες κι αδύναμο το password που έχει βάλει στο λογαριασμό του χρήστη admin, το openvas-setup. Σημειώστε το κάπου γιατί σε λίγο θα το χρειαστείτε -- αλλά έχετε υπόψη ότι μπορείτε και να ορίσετε το δικό σας password.Δεν το λες κι αδύναμο το password που έχει βάλει στο λογαριασμό του χρήστη admin, το openvas-setup. Σημειώστε το κάπου γιατί σε λίγο θα το χρειαστείτε – αλλά έχετε υπόψη ότι μπορείτε και να ορίσετε το δικό σας password.

Αν το αυτόματα δημιουργημένο password σάς φαίνεται περιττά περίπλοκο –ή τέλος πάντων θέλετε να ορίσετε το δικό σας–, αλλάξτε το με το εργαλείο openvasmd:

openvasmd --user=admin --new-password=eyjafjallajokull

Όπως είπαμε πριν λίγο, το openvas-setup ξεκινά συγκεκριμένες υπηρεσίες που είναι απαραίτητες για τη λειτουργία της πλατφόρμας. Οι υπηρεσίες αυτές είναι οι ακόλουθες τρεις:

  • openvas-manager, υπηρεσία διαχείρισης των user configurations καθώς και των αποτελεσμάτων που παράγουν οι σαρώσεις (πρακτικά στέκεται ανάμεσα σε χρήστες και scanners)
  • openvas-scanner, η μηχανή που πραγματοποιεί τα network vulnerability tests
  • greenbone-security-assistant, παρέχει πρόσβαση στον Greenbone Security Assistant, ένα εύχρηστο web panel για το OpenVAS

Αν με το εργαλείο systemctl ζητήσετε να δείτε το status καθεμιάς εκ των προαναφερθέντων υπηρεσιών, θα διαπιστώσετε ότι αν και είναι ενεργή (active ή running) την ίδια στιγμή είναι απενεργοποιημένη (disabled). Tι ακριβώς σημαίνει για μια ενεργή υπηρεσία να ‘ναι ταυτόχρονα απενεργοποιημένη, διαβάστε στο άρθρο μας περί Systemd.

Το openvas-setup φροντίζει και ξεκινά τις υπηρεσίες που το OpenVAS χρειάζεται, δεν τις ενεργοποιεί όμως (στην εικόνα φαίνεται μία από τις τρεις υπηρεσίες).Το openvas-setup φροντίζει και ξεκινά τις υπηρεσίες που το OpenVAS χρειάζεται, δεν τις ενεργοποιεί όμως (στην εικόνα φαίνεται μία από τις τρεις υπηρεσίες).

Για τη σύνδεση στο web panel του OpenVAS, από έναν web browser αρκεί να επισκεφτούμε τη διεύθυνση https://127.0.0.1:9392. Την πρώτη φορά θα λάβουμε ειδοποίηση για self-signed πιστοποιητικό, δημιουργούμε όμως μια εξαίρεση στον browser και συνεχίζουμε.

Το πιστοποιητικό για το web panel του OpenVAS (Greenbone Security Assistant) είναι self-signed, γι' αυτό κι ο Firefox διαμαρτύρεται. Δημιουργώντας μια εξαίρεση δεν βλέπουμε ξανά ανάλογες ειδοποιήσεις -- τουλάχιστον όχι για το συγκεκριμένο site.Το πιστοποιητικό για το web panel του OpenVAS (Greenbone Security Assistant) είναι self-signed, γι’ αυτό κι ο Firefox διαμαρτύρεται. Δημιουργώντας μια εξαίρεση δεν βλέπουμε ξανά ανάλογες ειδοποιήσεις – τουλάχιστον όχι για το συγκεκριμένο site.

Μπορούμε τώρα να συνδεθούμε στο web panel – και συγκεκριμένα στο λογαριασμό του χρήστη με username το admin. Το password είναι είτε αυτό που ετοίμασε για εμάς το openvas-setup, είτε εκείνο που ορίσαμε με την εντολή openvasmd. Αφού λοιπόν συνδεθούμε, σίγουρα θα θέλουμε να κάνουμε το πρώτο μας scan για vulnerabilities. Πώς ακριβώς δουλεύουμε;

Κυνήγι αδυναμιών

Ο καλύτερος τρόπος προκειμένου να μάθουμε το OpenVAS αλλά και να εκτιμήσουμε τις δυνατότητες και τους περιορισμούς του, είναι να δούμε, αναλυτικά και βήμα προς βήμα, πώς σκανάρουμε ένα σύστημα για αδυναμίες. Σε γενικές γραμμές η πρώτη μας δουλειά είναι να ορίσουμε ένα target, μ’ άλλα λόγια ένα ή περισσότερα μηχανήματα που θέλουμε να σκανάρουμε. Μετά τον ορισμό target ορίζουμε κι ένα task, το οποίο χρησιμοποιεί το προαναφερθέν target προκειμένου να τρέξει μια σειρά από network vulnerability tests.

Το OpenVAS κάλλιστα μπορεί και σκανάρει απομακρυσμένα hosts στο Internet, όσο και τοπικά hosts εντός του LAN. Καλό είναι πάντως να μη σκανάρουμε απομακρυσμένα hosts, εκτός κι αν έχουμε πάρει σχετική άδεια από τους υπευθύνους. Ας δούμε λοιπόν πώς ψάχνουμε για αδυναμίες σε ένα host μέσα από το LAN, στο οποίο βρίσκεται και το Kali Linux μας. Ένας γρήγορος κι αξιόπιστος τρόπος για να βρίσκουμε τις διευθύνσεις IP όλων των hosts που είναι ενεργά εντός του LAN, είναι με χρήση του εργαλείου netdiscover:

netdiscover -P -r 192.168.178.0/24

Ανίχνευση ενεργών hosts εντός του τοπικού δικτύου που βρίσκεται το Kali Linux. Τα μηχανήματα του LAN παίρνουν διευθύνσεις IP της μορφής 192.168.178.xyz.Ανίχνευση ενεργών hosts εντός του τοπικού δικτύου που βρίσκεται το Kali Linux. Τα μηχανήματα του LAN παίρνουν διευθύνσεις IP της μορφής 192.168.178.xyz.

Από τα μηχανήματα που εντόπισε το netdiscover, ας σκανάρουμε εκείνο με IP το 192.168.178.57 (τρέχει Linux). Αν στο σημείο αυτό θέλουμε να κάνουμε κι ένα reverse DNS lookup, ώστε να βρούμε το FQDN (Fully Qualified Domain Name) του μηχανήματος-στόχου, αρκεί να πληκτρολογήσουμε:

dig -x 192.168.178.57 +short

Παράδειγμα reverse DNS lookup με το εργαλείο dig. Στο τοπικό μας δίκτυο, το FQDN του 192.168.178.57 είναι olafsvik.fritz.box. Παρεμπιπτόντως, το λειτουργικό σύστημα του host είναι κάποια διανομή του Linux.Παράδειγμα reverse DNS lookup με το εργαλείο dig. Στο τοπικό μας δίκτυο, το FQDN του 192.168.178.57 είναι olafsvik.fritz.box. Παρεμπιπτόντως, το λειτουργικό σύστημα του host είναι κάποια διανομή του Linux.

Στρέφουμε τώρα την προσοχή μας στο web panel του OpenVAS. Αν δεν είμαστε ήδη συνδεδεμένοι, από τον Firefox πηγαίνουμε στη διεύθυνση https://127.0.0.1:9392 και μπαίνουμε στο λογαριασμό του χρήστη admin. Αμέσως μετά φτιάχνουμε ένα νέο target, επιλέγοντας Configuration / Targets: στη σελίδα που εμφανίζεται κάνουμε κλικ στο γαλάζιο εικονίδιο με το λευκό αστερίσκο, πάνω αριστερά. Παρουσιάζεται τότε ένα pop-up με όνομα New Target.

Για το νέο μας στόχο πληκτρολογούμε ένα όνομα, καθώς και μια σχετική περιγραφή (1). Στην περιοχή Hosts, από κάτω, αφήνουμε επιλεγμένο το Manual και στη θυρίδα δεξιά γράφουμε τη διεύθυνση IP του στόχου (2). Παρατηρήστε ότι υπάρχει δυνατότητα καθορισμού πολλών στόχων μαζί, οι διευθύνσεις των οποίων παρατίθενται σε αρχείο (βλ. From file). Για την πρώτη μας δοκιμή, στις παραμέτρους Port List και Alive Test αφήνουμε τις προεπιλεγμένες τιμές (3). Προσοχή, όμως: Για το Alive Τest ίσως αξίζει να επιλέξουμε το Consider Alive, αφού ο στόχος ίσως φαίνεται offline για το OpenVAS ακόμη κι αν στην πραγματικότητα είναι online. Ο καθορισμός του στόχου ολοκληρώνεται με ένα κλικ στο κουμπί Create, κάτω δεξιά.
Για το νέο μας στόχο πληκτρολογούμε ένα όνομα, καθώς και μια σχετική περιγραφή (1). Στην περιοχή Hosts, από κάτω, αφήνουμε επιλεγμένο το Manual και στη θυρίδα δεξιά γράφουμε τη διεύθυνση IP του στόχου (2). Παρατηρήστε ότι υπάρχει δυνατότητα καθορισμού πολλών στόχων μαζί, οι διευθύνσεις των οποίων παρατίθενται σε αρχείο (βλ. From file). Για την πρώτη μας δοκιμή, στις παραμέτρους Port List και Alive Test αφήνουμε τις προεπιλεγμένες τιμές (3). Προσοχή, όμως: Για το Alive Τest ίσως αξίζει να επιλέξουμε το Consider Alive, αφού ο στόχος ίσως φαίνεται offline για το OpenVAS ακόμη κι αν στην πραγματικότητα είναι online. Ο καθορισμός του στόχου ολοκληρώνεται με ένα κλικ στο κουμπί Create, κάτω δεξιά.

Ιδού οι στόχοι που έχουμε καθορίσει. Εντάξει, προς το παρόν έχουμε μόνον έναν.Ιδού οι στόχοι που έχουμε καθορίσει. Εντάξει, προς το παρόν έχουμε μόνον έναν.

Μετά τον ορισμό target οφείλουμε να ορίσουμε κι ένα task, το οποίο θα αφορά στο προαναφερθέν target. Στο web panel του OpenVAS επιλέγουμε Scans / Tasks. Εμφανίζεται ένα πληροφοριακό pop-up, το οποίο παραμένει για δέκα δευτερόλεπτα. Δεν χρειάζεται φυσικά να περιμένουμε. Απλά πατάμε στο [x], πάνω δεξιά, και το κλείνουμε. Για άλλη μια φορά κάνουμε κλικ στο εικονίδιο με τον αστερίσκο, πάνω αριστερά.

Για τη νέα μας εργασία πληκτρολογούμε ένα χαρακτηριστικό όνομα και μια σχετική περιγραφή (1). Στο πεδίο Scan Targets επιλέγουμε το στόχο ή τους στόχους στους οποίους αφορά η εργασία (2). Προς το παρόν διαθέτουμε έναν μόνο στόχο -- και στο πλαίσιο της παρουσίασής μας τον έχουμε ονομάσει olafsvik. Για όλες τις άλλες παραμέτρους αφήνουμε τις προκαθορισμένες τιμές. Δείτε λίγο τις τιμές που επιδέχονται οι παράμετροι Scanner και Scan Config. Για αρχή, πάντως, μπορείτε να αφήσετε τις προεπιλεγμένες. Η νέα εργασία δημιουργείται με ένα κλικ στο κουμπί Create, κάτω δεξιά.Για τη νέα μας εργασία πληκτρολογούμε ένα χαρακτηριστικό όνομα και μια σχετική περιγραφή (1). Στο πεδίο Scan Targets επιλέγουμε το στόχο ή τους στόχους στους οποίους αφορά η εργασία (2). Προς το παρόν διαθέτουμε έναν μόνο στόχο – και στο πλαίσιο της παρουσίασής μας τον έχουμε ονομάσει olafsvik. Για όλες τις άλλες παραμέτρους αφήνουμε τις προκαθορισμένες τιμές. Δείτε λίγο τις τιμές που επιδέχονται οι παράμετροι Scanner και Scan Config. Για αρχή, πάντως, μπορείτε να αφήσετε τις προεπιλεγμένες. Η νέα εργασία δημιουργείται με ένα κλικ στο κουμπί Create, κάτω δεξιά.

Το πρώτο μας task, το οποίο αφορά σε target με έναν μόνο host, είναι έτοιμο! Για να ξεκινήσει αρκεί ένα κλικ στο πράσινο κουμπάκι "play", στα δεξιά της γραμμής.Το πρώτο μας task, το οποίο αφορά σε target με έναν μόνο host, είναι έτοιμο! Για να ξεκινήσει αρκεί ένα κλικ στο πράσινο κουμπάκι “play”, στα δεξιά της γραμμής.

Παρεμπιπτόντως, αξίζει να αλλάξουμε την τιμή στο λευκό πεδίο που βρίσκεται στην οριζόντια πράσινη μπάρα (πάνω), του Greenbone Security Assistant. Εμείς, π.χ., έχουμε βάλει εκεί την τιμή Refresh every 30 Sec., ώστε κάθε 30 δευτερόλεπτα να ανανεώνονται τα περιεχόμενα της σελίδας κι έτσι να παρακολουθούμε –σχεδόν ζωντανά– την πρόοδο του task ή των tasks που έχουμε ξεκινήσει. Όση ώρα διαρκεί το scanning, αν θέλουμε μπορούμε να εξερευνήσουμε άλλες σελίδες του web panel. Το task θα εκτελείται στο background – μάλιστα ακόμη κι αν αποσυνδεθούμε από τον Security Assistant. Για να τσεκάρουμε αν έχει ολοκληρωθεί η διαδικασία ή πώς εξελίσσεται, τέλος πάντων, επιλέγουμε Scans / Tasks. Όταν το scanning τελειώνει, στη στήλη Status και στη γραμμή του αντίστοιχου task βλέπουμε μια γαλάζια μπάρα που γράφει Done. Με κλικ πάνω της εμφανίζονται τα αποτελέσματα του task.

Ο έλεγχος του olafsvik για αδυναμίες ολοκληρώθηκε. Στη στήλη Severity το score είναι 10 (High), γεγονός που μας προϊδεάζει για σοβαρά ζητήματα ασφαλείας. Τα αποτελέσματα του ελέγχου τα βλέπουμε με ένα κλικ πάνω στο Done, στη στήλη Status.Ο έλεγχος του olafsvik για αδυναμίες ολοκληρώθηκε. Στη στήλη Severity το score είναι 10 (High), γεγονός που μας προϊδεάζει για σοβαρά ζητήματα ασφαλείας. Τα αποτελέσματα του ελέγχου τα βλέπουμε με ένα κλικ πάνω στο Done, στη στήλη Status.

Ιδού η λίστα με τα προβλήματα ασφαλείας που αφορούν στο olafsvik. Τα σοβαρότερα απ' όλα αφορούν στην υπηρεσία ProFTPD, καθώς και στην πλατφόρμα του Drupal.Ιδού η λίστα με τα προβλήματα ασφαλείας που αφορούν στο olafsvik. Τα σοβαρότερα απ’ όλα αφορούν στην υπηρεσία ProFTPD, καθώς και στην πλατφόρμα του Drupal.

Αν θέλουμε όλα τα αποτελέσματα ενός task, ακόμη και τα πληροφοριακά μηνύματα που απλά καταγράφονται στο log, τότε επιλέγουμε Scans / Reports και κάνουμε κλικ στο όνομα του task. Στη νέα σελίδα που εμφανίζεται πατάμε πάνω στον αριθμό στα δεξιά της γραμμής Results. Παρατηρήστε ότι τα αποτελέσματα μπορούμε να τα ταξινομούμε με βάση το Severity. Χρήσιμα είναι και τα γραφήματα στο πάνω μέρος της σελίδας, καθώς και το word cloud. Πράγματι, με μια ματιά βλέπουμε πόσο κρίσιμη είναι η κατάσταση, καθώς και σε τι αφορούν τα όποια προβλήματα έχουν εντοπιστεί.Αν θέλουμε όλα τα αποτελέσματα ενός task, ακόμη και τα πληροφοριακά μηνύματα που απλά καταγράφονται στο log, τότε επιλέγουμε Scans / Reports και κάνουμε κλικ στο όνομα του task. Στη νέα σελίδα που εμφανίζεται πατάμε πάνω στον αριθμό στα δεξιά της γραμμής Results. Παρατηρήστε ότι τα αποτελέσματα μπορούμε να τα ταξινομούμε με βάση το Severity. Χρήσιμα είναι και τα γραφήματα στο πάνω μέρος της σελίδας, καθώς και το word cloud. Πράγματι, με μια ματιά βλέπουμε πόσο κρίσιμη είναι η κατάσταση, καθώς και σε τι αφορούν τα όποια προβλήματα έχουν εντοπιστεί.

Με κλικ σε μια οποιαδήποτε καταχώρηση της στήλης Vulnerability φορτώνει μια νέα σελίδα, με πολλές περισσότερες πληροφορίες για την αντίστοιχη αδυναμία καθώς και με προτάσεις για την αντιμετώπισή της. Στο screenshot βλέπουμε τους αδύναμους αλγορίθμους κρυπτογράφησης που υποστηρίζει ο SSH server του στόχου, καθώς κι έναν --προφανή, για τη συγκεκριμένη περίπτωση-- τρόπο αντιμετώπισης του προβλήματος.Με κλικ σε μια οποιαδήποτε καταχώρηση της στήλης Vulnerability φορτώνει μια νέα σελίδα, με πολλές περισσότερες πληροφορίες για την αντίστοιχη αδυναμία καθώς και με προτάσεις για την αντιμετώπισή της. Στο screenshot βλέπουμε τους αδύναμους αλγορίθμους κρυπτογράφησης που υποστηρίζει ο SSH server του στόχου, καθώς κι έναν –προφανή, για τη συγκεκριμένη περίπτωση– τρόπο αντιμετώπισης του προβλήματος.

Ιδού κι ένα παράδειγμα αδυναμίας χαμηλού ρίσκου, η οποία αφορά στα λεγόμενα TCP timestamps. Εξαιτίας τους είναι δυνατόν να υπολογιστεί ο χρόνος κατά τον οποίο ο στόχος είναι ενεργός (uptime). Σε κάποια σενάρια δεν θέλουμε να συνάγεται αυτή η πληροφορία, οπότε η λύση είναι να απενεργοποιήσουμε τα TCP timestamps. Στο πλαίσιο Solution περιγράφεται το τι πρέπει να κάνουμε αν το μηχάνημα τρέχει Linux ή Windows.Ιδού κι ένα παράδειγμα αδυναμίας χαμηλού ρίσκου, η οποία αφορά στα λεγόμενα TCP timestamps. Εξαιτίας τους είναι δυνατόν να υπολογιστεί ο χρόνος κατά τον οποίο ο στόχος είναι ενεργός (uptime). Σε κάποια σενάρια δεν θέλουμε να συνάγεται αυτή η πληροφορία, οπότε η λύση είναι να απενεργοποιήσουμε τα TCP timestamps. Στο πλαίσιο Solution περιγράφεται το τι πρέπει να κάνουμε αν το μηχάνημα τρέχει Linux ή Windows.

Είναι τα πράγματα χειρότερα απ’ όσο δείχνουν;

Στην πραγματική ζωή συχνά είναι, άρα ίσως να ‘ναι και στο τεχνολογικό σύμπαν. Από την άλλη ίσως και να κάνουμε λάθος, αλλά γιατί ν’ αναρωτιόμαστε; Προτείνουμε να δοκιμάσουμε και μετά ο καθένας ας βγάλει τα δικά του συμπεράσματα. Στο πλαίσιο της παρουσίασής μας, λοιπόν, λέμε να σκανάρουμε ξανά το olafsvik για αδυναμίες, αυτή τη φορά όμως με τη γνώση των credentials ενός απλού χρήστη του συστήματος. Σημειώστε ότι κατά την εξέλιξη μιας επίσημης διαδικασίας pen-testing, τα credentials ενός ή περισσότερων χρηστών δεν θα χρειαζόταν καν να τα μάθουμε “πλαγίως”. Πολύ απλά, θα μπορούσαμε να ρωτήσουμε τους υπεύθυνους διαχειριστές συστημάτων, οι οποίοι από τη στιγμή που συνεργάζονταν μαζί μας δεν θα είχαν θέμα να μας βοηθήσουν. Το ζητούμενο άλλωστε είναι να δημιουργήσουμε όσο το δυνατόν ακριβέστερες ή/και λεπτομερέστερες αναφορές ασφαλείας. Για το παράδειγμα που εξετάζουμε, στο μηχάνημα-στόχο υπάρχει ένας λογαριασμός απλού χρήστη με username το vagrant και password επίσης το vagrant. Ο χρήστης αυτός έχει απομακρυσμένη πρόσβαση στο μηχάνημα μέσω SSH, οπότε από τη στιγμή θα δώσουμε τα αντίστοιχα credentials στο OpenVAS θα έχει κι εκείνο πρόσβαση μέσω SSH.

Γενικά, στο OpenVAS έχουμε τη δυνατότητα να δημιουργούμε credentials της μορφής username/password κι ένα ή περισσότερα από αυτά τα ζεύγη να τα αντιστοιχίζουμε σε έναν ή σε περισσότερους στόχους. Μετά φτιάχνουμε αντίστοιχα tasks τα οποία και τρέχουμε, πραγματοποιώντας security scans κατά τα οποία επιτυγχάνονται συνδέσεις σε user accounts των στόχων. Έτσι, το OpenVAS συλλέγει πολλές περισσότερες πληροφορίες για λειτουργικά συστήματα και υπηρεσίες, συνεπώς τα reports που παράγει είναι πολύ περισσότερο αναλυτικά. Για να δούμε, λοιπόν, τι περισσότερο θα μπορέσουμε –αν μπορέσουμε– να βρούμε για το olafsvik. Ξεκινάμε την εργασία μας ως ακολούθως:

  • Από το web panel του OpenVAS επιλέγουμε Configuration / Credentials.
  • Στη σελίδα που εμφανίζεται κάνουμε κλικ στο γαλάζιο κουτάκι με τον αστερίσκο, πάνω αριστερά (New Credential).
  • Στο νέο παράθυρο που παρουσιάζεται δίνουμε το username (vagrant) και το password (επίσης vagrant) του χρήστη στο οlafsvik.

Ορισμός των credentials, δηλαδή του username και του password, του χρήστη vagrant στο μηχάνημα-στόχο.Ορισμός των credentials, δηλαδή του username και του password, του χρήστη vagrant στο μηχάνημα-στόχο.

Ιδού τα credentials που έως τώρα γνωρίζει το OpenVAS.Ιδού τα credentials που έως τώρα γνωρίζει το OpenVAS.

Πάντα στο web panel του OpenVAS, δίνουμε Configuration / Targets. Για άλλη μια φορά πατάμε στο γαλάζιο κουτάκι με τον αστερίσκο, πάνω αριστερά (New Target). Στο παράθυρο που εμφανίζεται ορίζουμε, κατά τα γνωστά, νέο στόχο που περιλαμβάνει ένα μόνο μηχάνημα, με IP αυτό του olafsvik. Δεν ξεχνάμε να υποδείξουμε τα credentials για τις συνδέσεις SSH. Παρατηρήστε ότι υπάρχει το προκαθορισμένο port για το SSH, δηλαδή το 22/TCP. Αν στο συγκεκριμένο στόχο η υπηρεσία του OpenSSH χρησιμοποιεί άλλο port, το υποδεικνύουμε εδώ.

Ορισμός νέου target που περιλαμβάνει ένα μόνο μηχάνημα (με IP το 192.168.178.57), καθώς και τα credentials ενός (απλού) χρήστη του συστήματος-στόχου.Ορισμός νέου target που περιλαμβάνει ένα μόνο μηχάνημα (με IP το 192.168.178.57), καθώς και τα credentials ενός (απλού) χρήστη του συστήματος-στόχου.

Οι στόχοι που έχουμε ορίσει ως τώρα. Παρατηρήστε ότι για το νέο στόχο, με όνομα olafsvik-creds, υπάρχουν πλέον και τα credentials για απομακρυσμένες συνδέσεις μέσω SSH.Οι στόχοι που έχουμε ορίσει ως τώρα. Παρατηρήστε ότι για το νέο στόχο, με όνομα olafsvik-creds, υπάρχουν πλέον και τα credentials για απομακρυσμένες συνδέσεις μέσω SSH.

Μένει τώρα να ορίσουμε ένα καινούργιο task, το οποίο θα αφορά στο στόχο που μόλις δημιουργήσαμε. Δίνουμε Scans / Tasks, πατάμε στο γαλάζιο κουμπάκι με τον αστερίσκο και φτιάχνουμε το νέο μας task κατά τα γνωστά.

Kατά τη δημιουργία νέου task φροντίζουμε ώστε να υποδείξουμε το target με τα credentials, δηλαδή αυτό που καθορίσαμε πριν λίγο.Kατά τη δημιουργία νέου task φροντίζουμε ώστε να υποδείξουμε το target με τα credentials, δηλαδή αυτό που καθορίσαμε πριν λίγο.

Το νέο task είναι έτοιμο και μπορούμε να το τρέξουμε: κλικ στο πράσινο τετραγωνάκι με το σύμβολο του "play", λοιπόν.Το νέο task είναι έτοιμο και μπορούμε να το τρέξουμε: κλικ στο πράσινο τετραγωνάκι με το σύμβολο του “play”, λοιπόν.

Το νέο task για το scanning του olafsvik –με γνωστά τα credentials για σύνδεση στην υπηρεσία του SSH– θα χρειαστεί αρκετό χρόνο για να ολοκληρωθεί. Μετά το πέρας της διαδικασίας διαπιστώνουμε ότι το Severity score του olafsvik είναι και πάλι 10, ωστόσο οι αδυναμίες που τώρα βρέθηκαν είναι πολλές περισσότερες. Δείτε περισσότερα στα δύο screenshots που ακολουθούν, διαβάστε και τις αντίστοιχες περιγραφές. Επίσης: Πειραματιστείτε και χαρείτε το OpenVAS, τον νέο σας αγαπημένο vulnerability scanner.

Το δεύτερο vulnerability scanning του olafsvik έχει ολοκληρωθεί. Αυτή τη φορά γνωρίζαμε τα credentials ενός απλού χρήστη του συστήματος-στόχου, έτσι το OpenVAS είχε τη δυνατότητα να τρέξει περισσότερα tests (μέσω SSH). Τα αποτελέσματα δεν χρειάζονται ιδιαίτερο σχολιασμό.Το δεύτερο vulnerability scanning του olafsvik έχει ολοκληρωθεί. Αυτή τη φορά γνωρίζαμε τα credentials ενός απλού χρήστη του συστήματος-στόχου, έτσι το OpenVAS είχε τη δυνατότητα να τρέξει περισσότερα tests (μέσω SSH). Τα αποτελέσματα δεν χρειάζονται ιδιαίτερο σχολιασμό.

Μεταξύ των προβλημάτων ασφαλείας που εντόπισε το OpenVAS στο υπό εξέταση σύστημα, συγκαταλέγονται αδυναμίες στον πυρήνα (kernel) αλλά και στη Java. Όρεξη να 'χουμε να διαβάζουμε λεπτομέρειες για τα vulnerabilities -- αλλά και για τρόπους αντιμετώπισής τους.Μεταξύ των προβλημάτων ασφαλείας που εντόπισε το OpenVAS στο υπό εξέταση σύστημα, συγκαταλέγονται αδυναμίες στον πυρήνα (kernel) αλλά και στη Java. Όρεξη να ‘χουμε να διαβάζουμε λεπτομέρειες για τα vulnerabilities – αλλά και για τρόπους αντιμετώπισής τους.