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

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

Изтекъл контролен панел съдържаше приблизително 50 000 реални данни за достъп от страна на сървъра в около 37 000 домейна, включително стотици AWS ключове, които атакуващите са потвърдили като активни. Изследователите от LevelBlue идентифицираха набора от инструменти чрез преглед на изходния код, обратен инженеринг и контролирано тестване.

LevelBlue съобщи в доклад, споделен с Cyber Security News (CSN), че неговите компоненти комбинират сканиране на WordPress, събиране на незащитени конфигурации, възстановяване на пароли за имейл и сканиране на JavaScript.

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

Изложени резервни копия на WordPress

TIKTOUK използва два Python компонента и Linux робот (crawler), написан на Go. Всеки от тях извлича задачи от централна HTTP услуга и връща намерени данни или доклади за състоянието.

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

Компонентът за сканиране първо извлича целите и идентифицира сайтовете на WordPress. След това той изпраща REST партидни заявки (batch requests), комбиниращи невалиден URL адрес с операции за изтриване и рендиране на параграфи.

Когато JSON заявките получат отговор за отказан достъп (forbidden), той опитва отново с multipart кодиране и получава успешни отговори, което дава на специалистите по защита отличителна последователност за разследване.

Отделен компонент за събиране извлича изложено резервно копие на конфигурацията на WordPress и извлича идентификационни данни за базата данни и ключове за сигурност.

Той също така изисква настройки на средата, конфигурация на хранилището, резервни копия на бази данни и логове за отладка (debug logs), търсейки идентификационни данни, оставени достъпни чрез обикновени уеб заявки.

Вложените партидни заявки съдържат изрази, предназначени да извличат стойности на опции от базата данни. Компонентът първо изисква името на таблицата с опции, след което използва върнатото име в последващи заявки.

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

Облачният риск надхвърля първоначалния уебсайт. Изтеклият панел включва AWS ключове с потенциал за злоупотреба, свързана с доставяне на имейли, изчислителни ресурси и услуги за изкуствен интелект.

Предишни доклади за все още активни данни за достъп до AWS също показаха как изложените ключове могат да запазят разширен достъп дълго след разкриването им.

Възстановяване на пароли и откриване

Компонентът за събиране поддържа криптирани настройки от WP Mail SMTP, Easy WP SMTP и FluentSMTP. Изследвачите потвърдиха, че той е възстановил идентификационни данни в чист текст, използвайки съответните ключове за криптиране или конфигурационни материали на WordPress.

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

Компонентът за събиране може да изведе имейл парола за Amazon SES от предоставен тайен ключ на AWS, превръщайки облачните ключове в данни за достъп, подходящи за имейл услугата.

JavaScript роботът извлича страници и реферирани скриптове, сканира тяхното съдържание и изпраща съвпаденията към централния сървър. Намерените данни включват шаблони, свързани със SendGrid, Anthropic, Bedrock и AWS.

Опасността наподобява пробива на идентификационни данни в облака на Beacon, където публично изложен AWS ключ в JavaScript е овластил кражбата на база данни.

LevelBlue свърза структурите на заявките с CVE-2026-60137 и CVE-2026-63030, но не съобщава за потвърдена успешна експлоатация.

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

Бюлетинът за сигурност относно партидните маршрути идентифицира засегнати версии на WordPress 6.9.x преди 6.9.5 и 7.0.x преди 7.0.2. Лабораторните резултати установяват поведението на компонентите, а не потвърден пробив на реален сайт.

Те не потвърждават независимо откраднатите данни за достъп, събрани по време на симулирани изпълнения, нито демонстрират успешна експлоатация срещу реална инсталация на WordPress в производствена среда.

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

LevelBlue препоръчва да се проверяват хешовете на образците заедно с HTTP активността и да се потвърждават инцидентите спрямо локалните записи. Самостоятелните отделни пътища или параметри не удостоверяват съществуването на злонамерена дейност.

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

ТипИндикаторОписание
SHA-256c6b8d0cdb53da98a5d15e79b7bb9e9f4c272c4f9592acdc291089f126f892f45Компонент за сканиране на WordPress.
SHA-2560d8ea89a63070f68286249aa437aece0e040c1609b8c5c0950ebbc90e6f70f02Компонент за събиране на идентификационни данни.
SHA-2561e22fde68d3277ed0fe7a8a7b554f0ae118260a2fa143f8e1bdc84c994ebbe90Сканер за поверителни данни в JavaScript.
SHA-19903f4576980ff7cfd560ca57c665a4b59b3c30dСвързан двоичен файл на ботнет на Go с възможност за отдалечено изпълнение на команди.
IP адрес193.32.162[.]134Допълнителен контролен панел на TIKTOUK.
IP адрес195.178.110[.]209Допълнителен контролен панел на TIKTOUK.
IP адрес31.56.58[.]59Хост на зловреден код и контролер, наблюдавани в телеметрията на инцидента.
Име на файлwp2s_poll.pyPython компонент, който сканира цели на WordPress и съобщава за класификации и съвпадения на поверителни данни.
Име на файлwp2s_crack.pyPython компонент, който събира конфигурационни данни и възстановява идентификационни данни.
Име на файлjscrawl-amd64Изпълним файл за Linux на базата на Go, който сканира рефериран JavaScript за поверителни данни.
Целеви файлwp-config.php.bakИзложено резервно копие на конфигурацията на WordPress, анализирано за данни за достъп до база данни и ключове.
Целеви файл.envКонфигурационен файл на средата, изискван по време на събиране на чувствителни данни.
Път до целеви файл.git/configКонфигурация на хранилището, изисквана по време на събирането.
Целеви файлbackup.sqlРезервно копие на базата данни, изисквано по време на събирането.
Път до целеви файлwp-content/debug.logЛог за отладка на WordPress, изискван по време на събирането.
Път на REST заявка/wp/v2/categories/0Маршрут, насочен с операцията DELETE в партидни сканирания.
Път на REST заявка/wp/v2/block-renderer/core/paragraphМаршрут, насочен с операцията POST в партидни сканирания.
Крайна точка за отчитане/v1/ingestПолучава констатации от компонента за сканиране и JavaScript робота.
Крайна точка за отчитане/api/crack/reportПолучава записи за всяка цел от компонента за събиране на идентификационни данни.
Артефакт на невалиден URL адресhttp://:Невалиден път, включен в REST партидни заявки; контекстуална следа за откриване, а не самостоятелен индикатор за компрометиране.

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