Заден вход (backdoor) в WordPress възстановява изтрит зловреден код за секунди, превръщайки рутинното почистване в цикъл от повторно заразяване. Наречена SC, инфекцията разпространява работните си части из файловете на уебсайта, базата данни и оперативната памет на сървъра, позволявайки на оцелелите компоненти да възстановят премахнатите.

Разследването не установява първоначалната точка на проникване или броя на засегнатите уебсайтове. След като бъде инсталиран обаче, SC злоупотребява с функции за ранно зареждане, теми и разширения (plugins), за да поддържа достъп. Подобен скрит зловреден код в WordPress разширения показва защо проверката само на контролния панел може да пропусне инфекция.

Анализаторите от Sucuri идентифицираха SC по време на скорошна работа по почистване на уебсайт, документирайки констатациите си на 30 септември 2026 г. От Sucuri заявиха в доклад, споделен с Cyber Security News (CSN), че задният вход заема най-малко осем локации и може да се възстанови сам, след като видимите файлове бъдат премахнати.

Въздействието надхвърля повторно появяващите се злонамерени файлове. Задният вход може да крие администраторски профили, да събира активни сесийни токени на администратори, да премахва разширения за сигурност и да доставя браузърни скриптове, които биха могли да позволят кражба на плащания. Докладът описва тези възможности, но не количествено определя потвърдените финансови загуби.

WordPress Malware Comes Back After Removal

SC оцелява чрез мрежа от компоненти, които се поправят един друг. Конфигурационна директива стартира зареждащ модул (loader) преди обичайните PHP заявки, включително заявки, които никога не стигат до WordPress.

Видим посредник след това зарежда скрит код, поддържайки механизма за влизане стабилен, докато прикрива основния зареждащ модул. Зареждащият модул възстановява фалшиво разширение от съществуващо копие, кодиран резервен кеш или компресиран пакет за възстановяване.

Идентични копия на задния вход се намират в обичайните и в автоматично зарежданите среди за разширения. Убедителна страница с настройки помага на злонамереното разширение да изглежда като легитимен инструмент за кеширане.

Два компонента за ранно зареждане осигуряват допълнителни пътища за възстановяване. Единият вгражда пълния зловреден код като компресирани, кодирани данни. Другият търси копия на разширението, споделена памет, архиви за възстановяване и базата данни.

Инжектиран блок в темата също пресъздава разширението всеки път, когато неговото копие изчезне. Това прави изтриването на файлове непълен отговор. Базата данни съдържа друго пълно копие на зловредния код, докато поддържаните сървъри запазват копие в споделената памет.

Предишни устойчиви задни входове в базата данни на WordPress също илюстрират как злонамереният код може да оцелее при почистване, фокусирано само върху файлове. Планираните задачи (scheduled tasks) осигуряват друг път за повторно внедряване.

Задният вход също така се крие от списъците с разширения и проверките за актуализации. Той укрива привилегирован профил от администраторския изглед и може да фалшифицира бисквитки за автентификация, позволявайки на оператора си да се влезе без парола. Свързани варианти на SC използват тригери в базата данни, за да пресъздадат администраторски достъп.

За дистанционни инструкции SC прави запитвания към интелигентни договори (smart contracts) през около двадесет публични шлюза на Ethereum, вместо да разчита на един фиксиран сървър.

Тези легитимни услуги действат как пренос. Блокирането само на един наблюдаван шлюз оставя алтернативните пътища налични, така че защитниците трябва да се справят с пълния използван набор.

След като определи своя команден адрес, зловредният софтуер изпраща криптирана колекция от детайли за сайта и сесийни токени на администратора. Отговорите могат да доставят заместващ PHP, браузърни скриптове или инструкции за изтриване на разширения за сигурност. Тази гъвкавост позволява на атакуващия да променя инфекцията, без да изгражда наново мрежата за поддържане на достъпа.

Cleanup and Prevention

От Sucuri препоръчват да се спре изпълнението, преди да се премахват компоненти. Първо заменете целевия зареждащ модул в конфигурацията с инертно съдържание, след което премахнете директивата.

PHP може да кешира тази настройка за до 300 секунди, така че незабавното изтриване на целта може да прекъсне всяка PHP заявка в профила. След това премахнете зловредния код от базата данни, контролните настройки, временно съхранените стойности и копията в споделената памет.

Изчистете злонамерените планирани задачи и инспектирайте тригерите в базата данни, преди да изтриете скритите администратори. За разлика от зловреден софтуер, представящ се за защита, който се възстановява чрез планирано изпълнение, SC комбинира няколко независими механизма за възстановяване. Клиентите на споделен хостинг може да се нуждаят от съдействието на своя доставчик.

Премахнете и двете копия на разширението, зареждащите модули, архивите за възстановяване и злонамерените файлове за ранно зареждане с един координиран ход. Премахнете само инжектирания блок от легитимната тема.

Завършете, като сканирате отново, следите за завръщащи се компоненти, затворите първоначалната точка на проникване и промените компрометираните идентификационни данни.

Превенцията изисква своевременни обновления, защитна стена за уеб приложения (WAF) и редовен преглед на настройките на базата данни, планираните задачи, тригерите и потребителските профили. Всеки завръщащ се файл трябва да се третира като доказателство за незавършено почистване, а не като причина за повторение на същото изтриване.

Индикатори за компрометиране (IoCs):-

ТипИндикаторОписание
Конфигурационен файл.user.iniЗлоупотребява се за конфигуриране на изпълнението на зареждаща програма (loader) преди PHP заявки. Самото му присъствие не потвърждава компрометиране.
Конфигурационен файлphp.iniПроверете за неоторизирана директива prepend, реферираща към злонамерената зареждаща програма.
Конфигурационен файл.htaccessМоже да съдържа злонамерени настройки за prepend, регенерирани от задната врата (backdoor).
Конфигурационна директиваauto_prepend_fileСъмнителна е, когато е конфигурирана да изпълнява неоторизирана зареждаща програма или скрит PHP файл.
Път до файлwp-content/c1b12371.phpЗабелязан видим междинен файл, който включва скритата зареждаща програма. Името на файла варира според сайта.
Път до файлwp-content/.c1b12371.phpЗабелязана скрита зареждаща програма с таблица от низове (string-table loader), която възстановява злонамерения плъгин. Името на файла варира според сайта.
Път до файлwp-content/db.phpКомпрометиран компонент за ранно зареждане, съдържащ компресирания и кодиран злонамерен код (payload) на задната врата.
Път до файлwp-content/advanced-cache.phpКомпрометиран компонент за кеширане, който възстановява злонамерения код от няколко независими източника.
Път до файлwp-content/themes/khorshidi/functions.phpЗабелязан файл на тема, съдържащ добавен блок, който възстановява злонамерения плъгин.
Име на файлfunctions.phpПроверете файла на активната тема за неоторизиран блок, ограничен от маркери за начало и край.
Път до файлwp-content/mu-plugins/hyper-engine-kit.phpЗабелязано автоматично зареждащо се копие на задната врата. Името на файла варира според сайта.
Път до файлwp-content/plugins/hyper-engine-kit/hyper-engine-kit.phpЗабелязано дублиращо копие на задната врата, маскирано като плъгин за кеширане. Името на файла варира според сайта.
Директорияwp-content/mu-pluginsПроверете за фалшив плъгин, съвпадащ с друго копие в обикновената директория за плъгини.
Директорияwp-content/pluginsМестоположение на излишното копие в обикновената директория за плъгини.
Директорияwp-contentЗабелязано местоположение за зареждащи програми и ZIP пакети за възстановяване със случайно избрани имена.
Директорияwp-content/uploadsДруго местоположение, където могат да бъдат скрити ZIP пакети за възстановяване със случайно избрани имена.
Кодов маркерSC_Префикс, свързан с инжектираните маркери за начало. По-новите компоненти могат да пропускат разпознаваеми маркери.
Защитна константаSC_AUTO_PREPENDКонстанта, идентифицирана в таблицата с компоненти на изходния код за скритата зареждаща програма.
Префикс на база данниsc_Префикс, свързан със злонамерени опции за управление и временни данни (transients).
Артефакт в базата данниRandomly named options row containing a large gzip and base64 blobСъхранява пълен злонамерен код, способен да възстанови инфекцията. Не е предоставено точно име на опцията.
Архив за възстановяванеZIP bundle with a random hexadecimal filenameИзточник за възстановяване на злонамерения код, намерен в директориите content, uploads или themes. Не е предоставено точно име на файла с архива.
Артефакт в паметтаSystem V shared-memory segment containing readable PHPКопие на злонамерения код извън диска, което оцелява след изтриване на файлове. Докладът не разкрива неговия числов ключ.
Артефакт в акаунтHidden fully privileged administratorМоже да липсва в списъците на контролния панел (dashboard) и да е свързан с изоставена опция, съдържаща ID на акаунта.
Артефакт за поддържане на достъп (persistence)Malicious cron hooks and administrator-recreating database triggersПланираните куки (cron hooks) поддържат повторното внедряване; свързаните SC варианти използват тригери за възстановяване на администраторския достъп.
Мрежово поведениеOutbound requests to public Ethereum RPC gatewaysАктивност по команден канал, базирана на блокчейн. Докладът не предоставя точни URL адреси или адреси на шлюзове.

Забележка: IP адресите и домейните са нарочно деактивирани (defanged, напр. [.]), за да се предотврати случайно разрешаване на имена или хипервръзки. Възстановете ги само в контролирани платформи за разузнаване на заплахи като MISP, VirusTotal или вашата SIEM система.