Social Icons

.

Πέμπτη 15 Αυγούστου 2013

Πώς βρίσκουμε το λειτουργικό σύστημα ενός υπολογιστή

Το να γνωρίζουμε το λειτουργικό σύστημα από κάποιο απομακρυσμένο μηχάνημα που θέλουμε να επιτεθούμε είναι ένα από τα βασικά στοιχεία και αυτό γιατί γνωρίζοντας το λειτουργικό που τρέχει μπορούμε να βρούμε πιο εύκολα και τις αδυναμίες του.
Ποιοί τρόποι υπάρχουν?
Υπάρχουνε αρκετοί τρόποι για να βρούμε το λειτουργικό σύστημα ενός μηχανήματος.Ο πιο απλός είναι μέσω banner-grabbing στον οποίο ουσιαστικά προσπαθούμε να συνδεθούμε σε κάποιες υπηρεσίες που τρέχει το μηχάνημα όπως FTP,Telnet,HTTP,SMTP κτλ. και από τις πληροφορίες που θα μας εμφανιστούν στην οθόνη μας ακόμα και αν δεν συνδεθούμε θα μπορέσουμε να καταλάβουμε αν τρέχει Windows,Linux κτλ.
Υπάρχει όμως και μία άλλη τεχνική για ανίχνευση του λειτουργικού συστήματος η οποία λέγεται Active Stack Fingerprinting.Η τεχνική αυτήν εστιάζει στο TCP/IP stack του κάθε λειτουργικού συστήματος το οποίο και διαφέρει από λειτουργικό σε λειτουργικό.Αλλιώς δηλαδή είναι το TCP/IP stack της Microsoft αλλιώς των MacOS και αλλιώς των Linux. 
Για να έχει αξιοπιστία η τεχνική αυτήν χρειάζεται να υπάρχει τουλάχιστον ένα ανοιχτό port στο απομακρυσμένο μηχάνημα.Διότι από τα services που τρέχουν και από τα ports που είναι ανοιχτά θα γίνει και ο εντοπισμός του λειτουργικού.
Από ποιά στοιχεία γίνεται η αναγνώριση του λειτουργικού?
Ουσιαστικά τα προγράμματα που είναι για ανίχνευση ενός λειτουργικού συστήματος καταλαβαίνουν το αν είναι Windows ή Linux ή MacOS από τις αποκρίσεις που πέρνουν όταν στέλουν διάφορα πακέτα.Πιο συγκεκριμένα εάν σταλεί ένα FIN πακέτο σε ένα ανοιχτό port και το λειτουργικό σύστημα αποκριθεί με ένα FIN/ACK τότε το πρόγραμμα που τρέχουμε για ανίχνευση καταλαβαίνει ότι πρόκειται για Windows λειτουργικό.Αναλύτικα η αναγνώριση ενός λειτουργικού γίνεται από τα εξής:
FIN
Bonus Flag
Initial Sequence Number (ISN)
Fragment bit
TCP Initial Window Size
ACK value
ICMP message quoting
ICMP error message quenching
ICMP error message – echoing integrity
TOS (Type of Service)
Fragmentation Handling
TCP Options
Ποιά εργαλεία θα χρειαστούμε?
Δύο είναι τα πιο ακριβή εργαλεία που μπορούν να εντοπίσουν το λειτουργικό σύστημα από ένα απομακρυσμένο host.Το ένα είναι το nmap και το άλλο είναι το queso.Το καλό με το nmap είναι ότι υποστηρίζεται από αρκετές πλατφόρμες (Windows,Linux,MacOS) σε αντίθεση με το queso που είναι μόνο για linux.Επίσης για όσους δεν γνωρίζουν τo nmap είναι ένα port scanner αλλά με δυνατότητα ανίχνευσης λειτουργικού συστήματος ενώ το queso είναι μόνο ένα εργαλείο για να εντοπίζει λειτουργικά συστήματα απομακρυσμένων host.
Που θα τα βρούμε?
Και τα δύο αυτά τα προγράμματα διατίθενται δωρεάν από τις ακόλουθες ιστοσελίδες.
Nmap:
http://nmap.org/download.html
Queso:
http://dir.filewatcher.com/d/OpenBSD/3.3/i386/queso-980922.tgz.15765.html
Πώς τα δουλεύουμε?
Η λειτουργία τους είναι αρκετά απλή.Το nmap στην τελευταία του έκδοση και για τους χρήστες Windows υποστηρίζει πλέον και GUI interface ενώ έχει και αρκετά καλό help file.Ωστόσο η εντολή σε περίπτωση που το τρέξουμε είτε από γραμμή εντολών είτε από Linux είναι η εξής:
nmap -O IP
ενώ για το queso πληκτρολογούμε το εξής:
[root] queso IP
Παράδειγμα:
Ανίχνευση του λειτουργικού από το nmap