News

News

Δευτέρα
Δεκέμβριος, 11

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

Προχωράμε με αυτό το εισαγωγικό πολεμικό παίγνιο και σε αυτό το επίπεδο θα μάθουμε περισσότερα για το λειτουργικό σύστημα Linux. Μπορείτε να μελετήσετε τη λύση μας από το προηγούμενο επίπεδο από το σύνδεσμο «Πολεμικά παίγνια: OTW Λεβιάθαν #0». Όπως αναφέρουμε σε όλα τα άρθρα μας σε αυτή τη κατηγορία, το πιο σημαντικό είναι να δοκιμάζετε μόνοι σας κάθε επίπεδο προτού μελετήσετε άλλες λύσεις όπως οι δικές μας. Βλέπετε ακόμα μία αναπαράσταση του μυθικού τέρατος της Παλαιάς Διαθήκης, Λεβιάθαν, παρακάτω.

Πηγή: Blackwell-Art.DeviantArt.com

Οπότε συνδεόμαστε στο επόμενο επίπεδο με τα στοιχεία πρόσβασης που αποκτήσαμε από το προηγούμενο και εκτελούμε την εντολή «ls» για να δούμε τι υπάρχει μέσα στο περιβάλλον του χρήστη μας.

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

Βλέπουμε κάτι πολύ ενδιαφέρον. Ένα αρχείο με όνομα «check» που ανήκει στο χρήστη «leviathan2» αλλά μπορεί να το εκτελέσει οποιοσδήποτε από την ομάδα χρηστών «leviathan1». Επίσης, αριστερά βλέπουμε ότι έχει δικαιώματα «x» (execute, εκτελέσιμο) που σημαίνει ότι είναι εκτελέσιμο αρχείο. Ένα πρόγραμμα δηλαδή. Τέλος, βλέπουμε ότι έχει και δικαιώματα «s», δηλαδή SGID (Set Group Identifier, Ορισμός αναγνωριστικού ομάδας). Αυτό σημαίνει ότι παρότι εκτελείται με τα δικαιώματα του χρήστη «leviathan1», το SGID του δίνει τη δυνατότητα να έχει πρόσβαση και στα δικαιώματα του χρήστη «leviathan2». Για αυτό το λόγο το σύστημα το έχει υπογραμμίσει με κόκκινο χρώμα. Γιατί είναι μία πολύ επικίνδυνη πρακτική που μπορεί να δώσει πρόσβαση στον ένα χρήστη στο περιβάλλον του άλλου. Για να το εκτελέσουμε θα βάλουμε μπροστά από το όνομα του τους χαρακτήρες «./». Ο λόγος είναι ότι σε περιβάλλοντα UNIX, η τελεία υποδηλώνει το σημείο στο οποίο βρισκόμαστε. Οπότε με απλά λόγια η εντολή «./check» λέει στο σύστημα: Στο σημείο στο οποίο βρισκόμαστε υπάρχει ένα αρχείο με όνομα «check» και θέλω να το εκτελέσεις.

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

Όπως βλέπουμε το αρχείο ζήτησε να βάλουμε ένα κωδικό πρόσβασης, το κάναμε και έγραψε «Wrong passsword, Good Bye …» (Λάθος κωδικός πρόσβασης, Αντίο …). Υποθέτουμε ότι το πρόγραμμα χρησιμοποιεί κάποιες βοηθητικές βιβλιοθήκες για να δουλέψει. Αυτό μπορούμε να το επιβεβαιώσουμε με την εντολή «ldd» (list dynamic dependencies, εμφάνιση των δυναμικά χρησιμοποιούμενων εξαρτήσεων). Όπως βλέπετε παρακάτω το πρόγραμμα «check» χρησιμοποιεί τρεις βιβλιοθήκες βοηθητικών λειτουργιών, ανάμεσα τους και τη «libc.so.6» (Library C Shared Object, Κοινής χρήσης αντικείμενο της βιβλιοθήκης της γλώσσας προγραμματισμού C). Κάτι που υποδεικνύει ότι το πρόγραμμα είναι γραμμένο στη γλώσσα προγραμματισμού C.

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

Γνωρίζοντας τα παραπάνω μπορούμε να υποθέσουμε ότι κάποια στιγμή το πρόγραμμα θα προσπαθεί να εξακριβώσει εάν ο κωδικός που δώσαμε ταιριάζει με το κανονικό, πιθανότατα με χρήση κάποιας συνάρτησης από τη βιβλιοθήκη της γλώσσας προγραμματισμού C. Άρα μπορούμε να χρησιμοποιήσουμε την εντολή «ltrace» (library trace, εντοπισμός βιβλιοθήκης) που θα μας δείξει όλες τις κλήσεις που κάνει το πρόγραμμα σε διάφορες βιβλιοθήκες μαζί με τις τιμές τους. Βλέπετε το αποτέλεσμα παρακάτω.

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

Βλέπουμε ότι η πρώτη κλήση ήταν στη συνάρτηση __libc_start_main (Library C start main, εκκίνηση του βασικού προγράμματος από τη βιβλιοθήκη της γλώσσας προγραμματισμού C) για εκκίνηση του προγράμματος. Έπειτα στη συνάρτηση printf (print formatted, τύπωσε με διαμόρφωση εμφάνισης) για να εμφανίσει το μήνυμα εισαγωγής του κωδικού, εν συνεχεία στη συνάρτηση getchar (get character, διάβασε το χαρακτήρα κειμένου) για να διαβάσει το κωδικό πρόσβασης που πληκτρολογούμε, και εν συνεχεία στη συνάρτηση strcmp (string comparison, σύγκρινε την ακολουθία χαρακτήρων) για να δει εάν ο κωδικός μας ταιριάζει με αυτό που περίμενε. Εδώ βλέπουμε ότι προσπάθησε να συγκρίνει μόνο τους τρεις πρώτους χαρακτήρες από το κωδικό που δώσαμε, δηλαδή το «def», με τη λέξη «sex». Άρα ο κωδικός για αυτό το πρόγραμμα πρέπει να είναι η λέξη «sex». Ας το δοκιμάσουμε.

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

Βλέπουμε ότι μας εμφάνισε μία διαφορετική γραμμή εντολών αλλά δε βλέπουμε κάτι ουσιαστικό. Εάν εκτελέσουμε όμως την εντολή «id» (identity, ταυτότητα) θα παρατηρήσουμε ότι παρότι η ομάδα χρηστών μας (GID – Group Identity) είναι ακόμα «leviathan1» η ταυτότητα του χρήστη (UID – User Identity) είναι πλέον «leaviathan2». Οπότε είμαστε συνδεδεμένοι με μία γραμμή εντολών που έχει τα δικαιώματα του χρήστη «leviathan2».

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

Χρησιμοποιώντας τις πληροφορίες από τη περιγραφή του παιχνιδιού που είδαμε στο προηγούμενο επίπεδο γνωρίζουμε ότι οι κωδικοί πρόσβασης είναι διαθέσιμοι στο φάκελο /etc/leviathan_pass οπότε απλά διαβάζουμε το περιεχόμενο του αντίστοιχου επιπέδου με την εντολή «cat».

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

Και σε αυτό το επίπεδο μάθαμε πολλά νέα πράγματα για το περιβάλλον Linux. Ενδεικτικά, μάθαμε τα ακόλουθα.

  • Εισαγωγή σε χρήστες και δικαιώματα
  • Τι είναι το SGID
  • Εκτέλεση αρχείων
  • Εντολή «ldd»
  • Εντολή «ltrace»
  • Εντολή «id»
  • Εισαγωγή στη βιβλιοθήκη C

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

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 – Ειδικές Δυνάμεις

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