Όταν ένας web server και οι υπηρεσίες έχουν παραβιαστεί, είναι σημαντικό να διασφαλιστεί η ασφαλής πρόσβαση του hacker. Αυτό επιτυγχάνεται συνήθως με τη βοήθεια ενός web shell, δηλαδή ενός μικρού προγράμματος που μας παρέχει πρόσβαση και μας επιτρέπει να τρέχουμε εντολές στο απομακρυσμένο σύατημά μας.
Η διανομή Kali έρχεται με πολλά προεγκατεστημένα web shells. Στον συγκεκριμένο οδηγό θα χρησιμοποιήσουμε ένα δημοφιλές web shell PHP που ονομάζεται Weevely.
Το Weevely προσομοιώνει ένα Telnet session και επιτρέπει στον hacker να εκμεταλλευτεί περισσότερα από 30 modules μετά το exploitation για:
- Περιήγηση στο παραβιασμένο σύστημα
- Μεταφορά αρχείων από και προς το παραβιασμένο σύστημα
- Δημιουργία reverse TCP shells
- Εκτέλεση εντολών σε απομακρυσμένα συστήματα που έχουν παραβιαστεί, ακόμα κι αν έχουν εφαρμοστεί περιορισμοί ασφαλείας στην PHP
Τέλος, το Weevely προσπαθεί να κρύψει τις επικοινωνίες μέσα σε ένα HTTP cookie για να αποφύγει τον εντοπισμό του.
Για να δημιουργήσετε ένα php backdoor στο Weevely, πληκτρολογήστε την ακόλουθη εντολή στο τερματικό σας:
Εντολή: weevely generate
Η εντολή αυτή θα δημιουργήσει ένα αρχείο weevely.php στην επιφάνειας εργασίας. Παρακάτω θα δούμε ένα παράδειγμα backdoor php με executing commands σε απομακρυσμένα συστήματα που έχουν παραβιαστεί, ακόμη και αν σε αυτά έχουν εφαρμοστεί κανόνες ασφαλείας:
Έτσι λοιπόν αφού φτιάξτε το δικό σας backdoor.php, ανεβάστε το στον παραβιασμένο ιστότοπο που έχετε βρει κάποιο κενό ασφαλείας.
Για να επικοινωνήσετε με το web shell, απλώς πληκτρολογήστε την ακόλουθη εντολή στο τερματικό σας, διασφαλίζοντας ότι οι μεταβλητές της διεύθυνσης IP του καταλόγου και του κωδικού πρόσβασης του παραβιασμένου μηχανήματος, αλλάζουν με αυτές του παραβιασμένου συστήματος:
Εντολή: weevely http://
Στο παράδειγμα που φαίνεται στο παραπάνω στιγμιότυπο οθόνης, έχουμε επαληθεύσει ότι είμαστε συνδεδεμένοι στο web shell, χρησιμοποιώντας την εντολή uname -a και την εντολή pwd.
Η εντολή cat/etc/password χρησιμοποιήθηκε για την προβολή των κωδικών πρόσβασης.
Τέλος το web shell μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία μιας reverse shell σύνδεσης, χρησιμοποιώντας είτε το Netcat είτε το Metasploit Framework σαν τοπικό listener.