macOS Perl Applications Injection
Μέσω των μεταβλητών περιβάλλοντος PERL5OPT
& PERL5LIB
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
για να εκτελέσει αυθαίρετο κώδικα.
Αναφορές
Last updated