Открит е червейът FritzFrog, който атакува сървъри по SSH и изгражда децентрализирано ботнет

Компанията Guardicore, специализирана в защитата на дата центрове и облачни системи, установи новото високотехнологично злонамерено ПО FritzFrog, което напада Linux базирани сървъри. FritzFrog комбинира червей, който се разпространява чрез bruteforce атака на сървъри с отворен SSH порт, и компоненти за изграждане на децентрализирана ботнет мрежа, работеща без управляващи възли и без единична точка на провал.

За изграждане на ботнет мрежата се използва собствен P2P протокол, в който узлите си взаимодействат помежду си, координират атаките, поддържат работата на мрежата и следят състоянието помежду си. Нови жертви се намират чрез провеждане на bruteforce атака на сървъри, приемащи SSH заявки. Когато бъде открит нов сървър, следва пробиване по речник на типични комбинации от потребителски имена и пароли. Управлението може да се извършва чрез който и да е възел, което усложнява откритията и блокирането на операторите на ботнет мрежата.

Според данните на изследователите ботнетът вече наброява около 500 възела, сред които са сървъри на няколко университета и голяма железопътна компания. Отбелязва се, че основната цел на атаката са мрежите на образователни институции, медицински центрове, държавни учреждения, банки и телекомуникационни компании. След компрометирането на сървъра се организира процес на копаене на криптовалутата Monero. Активността на разглежданото злонамерено софтуерно приложение се проследява от януари 2020 година.

Особеност на FritzFrog е, че той съхранява всички данни и изпълняем код само в паметта. Промените на диска се свеждат само до добавяне на нов SSH ключ в файла authorized_keys, който по-късно се използва за достъп до сървера. Системните файлове не се променят, което прави червея незабележим за системи, проверяващи целостта чрез контролни суми. В паметта се съхраняват и речници за разбиване на пароли, както и данни за копаене, които се синхронизират между възлите посредством P2P протокол.

Вредоносните компоненти се маскират като процеси «ifconfig», «libexec», «php-fpm» и «nginx». Възлите на ботнетата следят състоянието на съседите и в случай на рестартиране на сървъра или дори преинсталация на ОС (ако в новата система е прехвърлен модифициран файл authorized_keys) отново активират вредоносните компоненти на хоста. За комуникация се използва стандартен SSH — вредоносният софтуер допълнително стартира локален «netcat», който се свързва с интерфейса localhost и слуша трафика на порт 1234, до който външните възли се обръщат чрез SSH тунел, използвайки за свързване ключа от authorized_keys.

Открит е червейът FritzFrog, който атакува сървъри по SSH и изгражда децентрализирано ботнет

Кодът на компонентите FritzFrog е написан на езика Go и работи в многопоточен режим. Вредоносният софтуер включва няколко модула, които се изпълняват в различни нишки:

  • Cracker — извършва подбиране на пароли на атакуваните сървъри.
  • CryptoComm + Parser — организира криптирано P2P-соединение.
  • CastVotes — механизъм за съвместен избор на целеви хостове за атака.
  • TargetFeed — получава списък с възли за атака от съседни възли.
  • DeployMgmt — реализира червей, който разпространява вредоносен код на компрометиран сървър.
  • Owned — отговаря за свързването със сървъри, на които вече е стартиран зловреден код.
  • Assemble — събира файл в паметта от отделно предавани блокове.
  • Antivir — модул за потискане на конкуриращи зловредни програми, определя и прекратява процеси с низ «xmr», които консумират ресурси на CPU.
  • Libexec — модул за копаене на криптовалутата Monero.

Приложеният в FritzFrog P2P-протокол поддържа около 30 команди, отговарящи за предаване на данни между възли, стартиране на скриптове, предаване на компоненти на зловреден софтуер, запитване за състояние, обмен на логове, стартиране на прокси и др. Информацията се предава по отделен криптиран канал с сериализация във формат JSON. За криптиране се използва асиметричен шифър AES и кодиране Base64. За обмен на ключове се използва протокол DH (Diffie-Hellman). За определяне на състоянието възлите постоянно обменят ping-заявки.

Всички възли на ботнета поддържат разпределена БД с информация за атакуваните и компрометирани системи. Целите за атака се синхронизират в целия ботнет – всеки възел атакува отделна цел, т.е. два различни възла на ботнета не ще атакуват един и същи хост. Възлите също така събират и предават на съседите локална статистика, като размер на свободната памет, време на работа, натоварване на CPU и активност на входовете по SSH. Тази информация се използва за вземане на решение относно стартиране на процеса на копаене или използване на възела само за атака на други системи (например, копаенето не се стартира на натоварени системи или системи с чест достъп на администратора).

За откриване на FritzFrog изследователите предлагат прост shell скрипт. За определяне на компрометиране на системата
може да се използват такива признаци като наличие на слушаещо съединение на порт 1234, присъствие на зловреден ключ в authorized_keys (на всички възли се инсталира еднакъв SSH-ключ) и наличието в паметта на стартирани процеси «ifconfig», «libexec», «php-fpm» и «nginx», които нямат свързани изпълними файлове («/proc//exe» указва на отдалечен файл). Признак също може да е наличието на трафик на мрежов порт 5555, възникващ при обращение на злонамерен софтуер към типовия пул web.xmrpool.eu в процеса на копаене на криптовалутата Monero.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster