macOS Perl Applications Injection
Über PERL5OPT
& PERL5LIB
Umgebungsvariable
PERL5OPT
& PERL5LIB
UmgebungsvariableMit der Umgebungsvariable PERL5OPT ist es möglich, Perl dazu zu bringen, beliebige Befehle auszuführen. Erstellen Sie beispielsweise dieses Skript:
Jetzt exportieren Sie die Umgebungsvariable und führen Sie das Perl-Skript aus:
Eine weitere Option besteht darin, ein Perl-Modul zu erstellen (z. B. /tmp/pmod.pm
):
Und verwenden Sie dann die Umgebungsvariablen:
Über Abhängigkeiten
Es ist möglich, die Abhängigkeiten des Perl-Laufs in der Reihenfolge des Ordners aufzulisten:
Was etwas zurückgeben wird, wie:
Einige der zurückgegebenen Ordner existieren nicht einmal, jedoch existiert /Library/Perl/5.30
, es ist nicht durch SIP geschützt und es befindet sich vor den von SIP geschützten Ordnern. Daher könnte jemand diesen Ordner missbrauchen, um Skriptabhängigkeiten hinzuzufügen, damit ein Perl-Skript mit hohen Berechtigungen es lädt.
Beachten Sie jedoch, dass Sie Root-Rechte benötigen, um in diesen Ordner zu schreiben, und heutzutage erhalten Sie diese TCC-Aufforderung:
Zum Beispiel, wenn ein Skript use File::Basename;
importiert, wäre es möglich, /Library/Perl/5.30/File/Basename.pm
zu erstellen, um beliebigen Code auszuführen.
Referenzen
Last updated