Открит е червей 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 е реализация на червей, който разпространява зловреден код към компрометиран сървър.
  • Притежаван - отговаря за свързването със сървъри, които вече изпълняват зловреден код.
  • Assemble - сглобява файл в паметта от отделно прехвърлени блокове.
  • Antivir - модул за потискане на конкурентен зловреден софтуер, идентифицира и прекратява процеси с низа "xmr", които консумират ресурси на процесора.
  • Libexec е модул за копаене на криптовалута Monero.

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

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

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

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

Добавяне на нов коментар