News

News

Πέμπτη
Ιούνιος, 1

Πολεμικά Παίγνια: OTW Λεβιάθαν #5

Αυτό το επίπεδο έχει αρκετά κοινά με τα προηγούμενα αλλά παραμένει ένα ενδιαφέρον μέσο εκμάθησης ασφάλειας για το λειτουργικό σύστημα Linux. Να θυμάστε, το πιο σημαντικό είναι να δοκιμάζετε μόνοι σας κάθε επίπεδο προτού μελετήσετε άλλες λύσεις όπως οι δικές μας. Παρακάτω είναι τα αντίστοιχα άρθρα μας για τα προηγούμενα επίπεδα, και επίσης βλέπετε μία αναπαράσταση του μυθικού τέρατος της Παλαιάς Διαθήκης, Λεβιάθαν, από όπου πήρε το όνομα του το παιχνίδι.

Πηγή: Pinterest.com

Όπως και με τα προηγούμενα επίπεδα, έτσι και εδώ ξεκινάμε χρησιμοποιώντας το κωδικό πρόσβασης που αποκτήσαμε στο προηγούμενο επίπεδο για να συνδεθούμε μέσω SSH στο πέμπτο επίπεδο του παιχνιδιού. Βλέπετε παρακάτω το τερματικό μετά τη σύνδεση μας σε αυτό το επίπεδο.

Πηγή: Προσωπικό αρχείο

Όπως έχουμε συνηθίσει μέχρι τώρα, στο φάκελο του χρήστη μας βλέπουμε ένα πρόγραμμα με όνομα «leviathan5» που έχει κόκκινη υπογράμμιση καθώς έχει το «s» (setuid) στα δικαιώματα του. Έτσι μπορεί να έχει πρόσβαση στο χρήστη leviathan6 (το επόμενο επίπεδο) αν και εκτελείται από το δικό μας χρήστη, το χρήστη leviathan5.

Πηγή: Προσωπικό αρχείο

Εάν εκτελέσουμε αυτό το πρόγραμμα θα δούμε ότι μας τυπώνει ένα μήνυμα σφάλματος στην οθόνη λέγοντας ότι δε μπορεί να εντοπίσει το αρχείο «/tmp/file.log» και σταματάει την εκτέλεση.

Πηγή: Προσωπικό αρχείο

Το πιο απλό που μπορούμε να δοκιμάσουμε είναι να δημιουργήσουμε αυτό το αρχείο που λείπει και έπειτα να εκτελέσουμε και πάλι το πρόγραμμα «leviathan5». Αυτό και κάνουμε στη συνέχεια χρησιμοποιώντας την εντολή συστήματος «touch». Εδώ όμως βλέπουμε κάτι πολύ περίεργο. Μετά την εκτέλεση του προγράμματος «leviathan5» το αρχείο «/tmp/file.log» που δημιουργήσαμε δεν υπάρχει πια εάν προσπαθήσουμε να διαβάσουμε τα περιεχόμενα του με την εντολή συστήματος «cat».

Πηγή: Προσωπικό αρχείο

Για να κατανοήσουμε καλύτερα τι συμβαίνει θα χρησιμοποιήσουμε την εντολή «ltrace» που είχαμε δει και στο παρελθόν. Η εντολή «ltrace» (library trace, εντοπισμός βιβλιοθηκών) θα μας δείξει όλες τις κλήσεις βιβλιοθηκών που κάνει το πρόγραμμα «leviathan5». Πριν από αυτό όμως θέλουμε να δημιουργήσουμε ξανά το αρχείο «/tmp/file.log» που διεγράφη. Άρα θα εκτελέσουμε το συνδυασμό εντολών «touch /tmp/file.log && ltrace ./leviathan5». Το «&&» μεταφράζεται ως «ΚΑΙ». Με απλά λόγια λέμε στη γραμμή εντολών να δημιουργήσει το αρχείο «/tmp/file.log» και εάν αυτό πετύχει να εκτελέσει την εντολή «ltrace ./leviathan5».

Πηγή: Προσωπικό αρχείο

Εδώ βλέπουμε μία αρκετά ενδιαφέρουσα λειτουργία του προγράμματος «leviathan5» που εν συντομία γράφει τα εξής.

  • fopen(): Άνοιγμα του αρχείου /tmp/file.log για ανάγνωση
  • fgetc(): Ανάγνωση των περιεχομένων του αρχείου
  • feof(): Εύρεση του τέλους των περιεχομένων του αρχείου
  • fclose(): Κλείσιμο του αρχείου /tmp/file.log
  • getuid(): Εντοπισμός αναγνωριστικού χρήστη
  • setuid(): Αλλαγή σε χρήστη leviathan6
  • unlink(): Διαγραφή του αρχείου /tmp/file.log

Άρα εμείς πρέπει κάπως να εξαπατήσουμε το πρόγραμμα «leviathan5» ώστε να νομίζει ότι διαβάζει το αρχείο «/tmp/file.log» αλλά να διαβάσει το αρχείο με το κωδικό πρόσβασης από το επόμενο επίπεδο, το αρχείο «/etc/leviathan_pass/leviathan6». Καθώς το πρόγραμμα «leviathan5» δεν ελέγχει εάν το αρχείο «/tmp/file.log» είναι πραγματικό αρχείο ή συντόμευση αρχείου, θα εκμεταλλευτούμε αυτό το κενό ασφαλείας. Με την εντολή «ln» (link, σύνδεσμος) θα δημιουργήσουμε μία συντόμευση με όνομα «/tmp/file.log» που θα οδηγεί στο αρχείο «/etc/leviathan_pass/leviathan6». Αυτό το κάνουμε με την εντολή που βλέπετε παρακάτω.

Πηγή: Προσωπικό αρχείο

Άρα τώρα θα εκτελέσουμε ξανά το πρόγραμμα «leviathan5» το οποίο θα βρει το αρχείο «/tmp/file.log», αλλά όταν θα το ανοίξει για να το διαβάσει θα διαβάζει το αρχείο «/etc/leviathan_pass/leviathan6» που περιέχει το κωδικό που αναζητούμε. Το βλέπετε αυτό στη πράξη παρακάτω.

Πηγή: Προσωπικό αρχείο

Και κάπως έτσι ολοκληρώσαμε και αυτό το επίπεδο και πλέον μπορούμε να προχωρήσουμε στο έκτο επίπεδο με το κωδικό πρόσβασης που μόλις ανακαλύψαμε.

το βρήκαμε εδώ

Leviathan
#Πολεμικά #Παίγνια #OTW #Λεβιάθαν

Latest articles

Find us on

Latest articles

Related articles

Προσβολή στόχων με έμμεσα πυρά (αποστολή βολής) – commandos.gr...

Για την εκτέλεση παρατηρούμενης έμμεσης βολής ακολουθούνται τα εξής τρία στάδια: Εντοπισμός του στόχου (εξακρίβωση της θέσης του). αίτηση πυρών με...

Σχολή Υποβρύχιων Καταστροφών – commandos.gr – Ειδικές Δυνάμεις

των Περικλή Ζορζοβίλη και Δημήτρη Μανακανάτα, ΠΕΡΙΠΟΛΟΣ Ανοιξη 2006 Από την εποχή της συγκρότησής της, το 1953 μέχρι...

Σχολείο Υποβρυχίων Καταστροφών (ΣΥΚ) – Θέματα για τις Ελληνικές...

Η Ελλάδα εισήλθε στη συμμαχία ΝΑΤΟ στις 18 Φεβρουαρίου 1952 και σύντομα ξεκίνησαν οι συνεκπαιδεύσεις και ανταλλαγή...

Πυρομαχικό SMArt 155 (DM702) – commandos.gr – Ειδικές Δυνάμεις

To SMArt 155 είναι ένα έξυπνο, αυτόνομο και αποτελεσματικό πυρομαχικό Πυροβολικού τύπου «fire and forget», το...

Σωστικά μέσα ιπταμένων – commandos.gr – Ειδικές Δυνάμεις

Ατομικό Σωσίβιο Ιπταμένου LPU – 10/P Φοριέται κάτω από το life jacket, με τους ασκούς στην εξωτε­ρική μεριά...

Στρατιωτική Ελεύθερη Πτώση – commandos.gr – Ειδικές Δυνάμεις

Οι επιχειρήσεις Στρατιωτικής Ελεύθερης Πτώσης χαρακτηρί­ζονται γενικά από πτήσεις πάνω ή δίπλα από τον Αντικειμενικό Σκοπό (ΑΝΣΚ)...