macOS Perl Applications Injection
Last updated
Last updated
Μάθετε & εξασκηθείτε στο Hacking του AWS:Εκπαίδευση HackTricks AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο Hacking του GCP: Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)
PERL5OPT
& PERL5LIB
Χρησιμοποιώντας τη μεταβλητή περιβάλλοντος PERL5OPT είναι δυνατή η εκτέλεση αυθαίρετων εντολών από το perl. Για παράδειγμα, δημιουργήστε αυτό το σενάριο:
Τώρα εξαγάγετε τη μεταβλητή περιβάλλοντος και εκτελέστε το σενάριο perl:
Μια άλλη επιλογή είναι να δημιουργήσετε ένα Perl module (π.χ. /tmp/pmod.pm
):
Και στη συνέχεια χρησιμοποιήστε τις μεταβλητές περιβάλλοντος:
Είναι δυνατόν να αναφέρουμε τη σειρά του φακέλου εξαρτήσεων του Perl που εκτελείται:
Που θα επιστρέψει κάτι σαν:
Μερικοί από τους φακέλους που επιστρέφονται δεν υπάρχουν καν, ωστόσο, το /Library/Perl/5.30
υπάρχει, δεν είναι προστατευμένο από το SIP και βρίσκεται πριν από τους φακέλους που προστατεύονται από το SIP. Συνεπώς, κάποιος θα μπορούσε να εκμεταλλευτεί αυτόν τον φάκελο για να προσθέσει εξαρτήσεις σε scripts εκεί, έτσι ώστε ένα Perl script υψηλής προνομιακής πρόσβασης να τις φορτώσει.
Ωστόσο, σημειώστε ότι χρειάζεστε δικαιώματα ρίζας για να γράψετε σε αυτόν τον φάκελο και σήμερα θα λάβετε αυτό το TCC prompt:
Για παράδειγμα, αν ένα script εισάγει το use File::Basename;
θα ήταν δυνατόν να δημιουργηθεί το /Library/Perl/5.30/File/Basename.pm
για να εκτελέσει αυθαίρετο κώδικα.